Files
claude-shorthand/claude-shorthand.md
Mortdecai 77c2d4bfd3 chore: scrub personal infra from main cheat-sheet
All three docs now use generic examples only.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 23:02:15 -04:00

98 lines
2.7 KiB
Markdown

# Claude Shorthand Cheat-Sheet
## Core Operators
| Pattern | Meaning | Example |
|---------|---------|---------|
| `→` | then (sequential) | `ssh server → check status` |
| `+` | and (parallel) | `check proxy + check dns` |
| `X ? Y : Z` | if X then Y else Z | `port open ? connect : debug` |
| `!X` | don't / skip | `!error handling` |
| `w/` | with | `py script w/ argparse` |
| `@` | at path/location | `new config @ /etc/nginx/` |
| `re:` | regarding | `fix re: pool degraded drive` |
| `=` | set/assign | `port=3000, lang=python` |
| `~` | approximately / like | `~50 lines, ~yesterday` |
| `>>` | output to / save to | `results >> /tmp/report.txt` |
| `<-` | from / source | `data <- rss API` |
## Spec Block (complex tasks)
```
feat: <short description>
- lang: <language>
- deps: <dependencies>
- in: <input/source>
- out: <output/target>
- !: <things to skip>
```
## Examples
### Verbose → Compressed
**Service setup:**
```
# Before (~80 tokens):
"Please create a new Python service in the automation directory
that connects to the RSS API, fetches today's articles, formats
them for the printer, and runs as a systemd service"
# After (~20 tokens):
feat: daily print @ automation/
- rss API → format → printer
- systemd service
```
**Infra task:**
```
# Before (~50 tokens):
"SSH into the storage server, check if any drives in the pool are
degraded, and if so tell me which ones need replacement"
# After (~12 tokens):
storage-server → pool degraded drives? → list replacements
```
**Multi-step:**
```
# Before (~60 tokens):
"First read the proxy config, then add a new reverse proxy entry for
wiki.example.com pointing to the backend on port 3000, and also
add it to DNS"
# After (~15 tokens):
add wiki.example.com → backend:3000 to proxy + dns
```
**Conditional:**
```
# Before (~45 tokens):
"Check if the LLM service is running on the inference server. If it is,
test the model. If it's not running, start it first then test."
# After (~15 tokens):
inference: llm running ? test model : start → test
```
## Anchors (use known names)
Define short aliases in your CLAUDE.md, then use them everywhere:
| Say | Not |
|-----|-----|
| `db-server` | "the PostgreSQL database server at 10.0.1.50" |
| `pool` | "the ZFS storage pool on the NAS" |
| `proxy` | "the Caddy/nginx reverse proxy container" |
| `dns` | "the Pi-hole DNS server" |
| `workstation` | "this machine, my desktop PC" |
| `llm` | "the LLM inference service" |
## Quick Rules
1. Drop articles (a, the, an) — Claude doesn't need them
2. Drop politeness (please, could you, I'd like) — zero effect on output
3. Use aliases from CLAUDE.md — they're shared vocabulary
4. Bullets > paragraphs — less ambiguous, fewer tokens
5. Imply obvious steps — "add X to caddy" implies read/edit/save