Skip to content

Instantly share code, notes, and snippets.

@batpigandme
batpigandme / claude-code-cowork-syncing.md
Last active June 18, 2026 12:24
How to set up a project (AGENTS/CLAUDE.md, skills, etc) if you're working on it in both Claude Code and Claude Cowork.

One-liner

If you're authoring shared instructions across both Claude Code and Cowork from the same repo, bridge AGENTS.md → CLAUDE.md with a symlink, not an @import — Code expands @AGENTS.md, Cowork treats it as literal text. Discovered the hard way; fix is ln -s AGENTS.md CLAUDE.md.

Context. Spent yesterday refactoring a combo repo to work cleanly across Code + Cowork — extracting procedures into skills, trimming AGENTS.md, putting an audit on quarterly cadence. Found 5 Code/Cowork asymmetries that matter for anyone using both surfaces on the same repo.

1. CLAUDE.md @import doesn't work in Cowork. The Anthropic memory docs recommend a CLAUDE.md containing @AGENTS.md to bridge naming conventions. Code expands this directive on load. Cowork treats it as literal text. Result: instructions silently disappear in Cowork while your Code session looks fine.

Fix: replace the import with a symlink.

@batpigandme
batpigandme / tl-stdlib-warp.md
Created December 23, 2025 14:59
WARP.md generated for stdlib monorepo (2025-12-22) with `/init` and almost no configuration (save some `.warpindexingignore` to reduce number of files indexed).

WARP.md

This file provides guidance to WARP (warp.dev) when working with code in this repository.

Project Overview

stdlib is a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computation. It provides a comprehensive collection of robust, high performance libraries for mathematics, statistics, data processing, streams, and more. The library is fully decomposable, allowing individual packages to be consumed independently.

Architecture

animal date
cow 05-05-2021
chicken 06-05-2021
horse 07-05-2021
dog 08-05-2021
@batpigandme
batpigandme / crssuggest_example.R
Last active March 5, 2020 12:38
Playing w/ Kyle E. Walker's crssuggest package.
# {crssuggest} by Kyle E Walker
# Get appropriate CRS suggestions for your spatial data in R
# src: https://github.com/walkerke/crsuggest
# remotes::install_github("walkerke/crsuggest")
## Use case 1: Analyzing unprojected data
library(tigris)
library(sf)
options(tigris_class = "sf")
@batpigandme
batpigandme / rowwise_pmin_pmap_dbl.R
Last active February 27, 2020 02:48
Same operation done using: rowwise(), pmin(), pmap_dbl()
library(tidyverse)
set.seed(406)
df <- tibble(x = runif(3), y = runif(3), z = runif(3))
df %>% rowwise() %>% mutate(m = min(c(x, y, z)))
df %>% mutate(m = pmin(x, y, z))
df %>% mutate(m = pmap_dbl(list(x, y, z), min))
@batpigandme
batpigandme / belchers_listcol.R
Last active March 5, 2023 17:39
Example of using `tidyr::hoist()`.
library(tidyverse)
family <- list(
list(
"name" = "Bob",
"age" = 46,
"mother" = NA,
"father" = "Big Bob",
"siblings" = list(NA),
"children" = list("Tina", "Gene", "Louise"),
Verifying my Blockstack ID is secured with the address 1BTT3yHBiFJV5Qa4Eu8Sn1HFnaDf7vi5jP https://explorer.blockstack.org/address/1BTT3yHBiFJV5Qa4Eu8Sn1HFnaDf7vi5jP
@batpigandme
batpigandme / R.snippets
Created April 18, 2019 13:33
snippet for overwriting data object
snippet aa
${1:dataset} <- ${1:dataset} %>% ${0}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!-- Generated by: TmTheme-Editor -->
<!-- ============================================ -->
<!-- app: http://tmtheme-editor.herokuapp.com -->
<!-- code: https://github.com/aziz/tmTheme-Editor -->
<plist version="1.0">
<dict>
<key>name</key>
<string>LisaFrankentheme</string>
## Decoding lyrics — @pprevos
## https://github.com/pprevos/r.prevos.net/blob/master/Miscellaneous/lyrics.R
library(tidyverse)
library(tidytext)
library(reshape2)
library(rvest)
get_lyrics <- function(artist, song) {
artist <- gsub("[^A-Za-z0-9]+", "", tolower(artist))