34c9653f46
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
96 lines
2.7 KiB
Markdown
96 lines
2.7 KiB
Markdown
# Claude Shorthand Cheat-Sheet
|
|
|
|
## Core Operators
|
|
|
|
| Pattern | Meaning | Example |
|
|
|---------|---------|---------|
|
|
| `→` | then (sequential) | `ssh pve173 → zpool status` |
|
|
| `+` | and (parallel) | `check caddy + check pihole` |
|
|
| `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/caddy/` |
|
|
| `re:` | regarding | `fix re: tank degraded drive` |
|
|
| `=` | set/assign | `port=3000, lang=python` |
|
|
| `~` | approximately / like | `~50 lines, ~yesterday` |
|
|
| `>>` | output to / save to | `results >> /tmp/report.txt` |
|
|
| `<-` | from / source | `data <- freshrss 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 printer-automation directory
|
|
that connects to the FreshRSS API, fetches today's articles, formats
|
|
them for the receipt printer, and runs as a systemd service"
|
|
|
|
# After (~20 tokens):
|
|
feat: daily print @ printer-automation/
|
|
- freshrss API → format → receipt printer
|
|
- systemd service
|
|
```
|
|
|
|
**Infra task:**
|
|
```
|
|
# Before (~50 tokens):
|
|
"SSH into pve173, check if any drives in the tank pool are degraded,
|
|
and if so tell me which ones need replacement"
|
|
|
|
# After (~12 tokens):
|
|
pve173 → tank degraded drives? → list replacements
|
|
```
|
|
|
|
**Multi-step:**
|
|
```
|
|
# Before (~60 tokens):
|
|
"First read the Caddyfile, then add a new reverse proxy entry for
|
|
wiki.sethpc.xyz pointing to 192.168.0.160 port 3000, and also
|
|
add it to the Pi-hole DNS"
|
|
|
|
# After (~15 tokens):
|
|
add wiki.sethpc.xyz → .160:3000 to caddy + pihole
|
|
```
|
|
|
|
**Conditional:**
|
|
```
|
|
# Before (~45 tokens):
|
|
"Check if ollama is running on pve197. If it is, test the qwen model.
|
|
If it's not running, start it first then test."
|
|
|
|
# After (~15 tokens):
|
|
pve197: ollama running ? test qwen : start → test
|
|
```
|
|
|
|
## Anchors (use known names)
|
|
|
|
| Say | Not |
|
|
|-----|-----|
|
|
| `pve173` | "the PowerEdge node at 192.168.0.173" |
|
|
| `tank` | "the ZFS pool on node-173" |
|
|
| `caddy` | "the reverse proxy in CT 600" |
|
|
| `pihole` | "the DNS server at 192.168.0.153" |
|
|
| `steel141` | "this machine, my gaming PC" |
|
|
| `ollama` | "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
|