CLAUDE.md · git:20260905.b06005f · 2026-09-05 · sha256 1ed3826a8a575016
CLAUDE.md git:20260905.b06005fA
Immutable. This exact content is served forever at /api/v1/blob/1ed3826a8a575016.
# Claude instructions Trade Stories: a semi-prescriptive DSL for trade setups, and the checks that find errors in them. Mostly natural language, formal enough for an agent to parse and act on. Writing and checking stories needs Node and nothing else. ## Opening a session When the trader's first message does not name a skill or a story, tell them what is here before answering: writing trade stories, and checking them for errors and for style. Point at `/write-story` first, and `/verify-story` after that. Two or three lines, once per session, and never once they have asked for something specific. ## The skills | Skill | What it does | |-------|--------------| | `/write-story` | Asks a trader through a setup and writes the story | | `/verify-story` | Structural and trade-setup errors | | `/lint-story` | Style and trade-design warnings | ## Where things are | Path | What | |------|------| | `dsl/` | The DSL: its rules, its worked examples and its checks. `dsl/README.md` says what each file is for | | `.claude/story-skills.md` | Rules shared by every story skill | | `.claude/reading-stories.md` | How to read a story and report on one, against the rules in `dsl/` | | `stories/` | A shared library of trade stories, in subfolders by subject | | `stories/your-stories/` | The trader's own stories. Gitignored | `npm test` runs the DSL test suite. **This project has no dependencies.** `dsl/src/parser.js` is generated from `dsl/grammar.peggy` and committed, so nothing needs installing or building — Node alone runs everything here. Changing the grammar is the one thing that needs a tool, and it is not declared here: ``` npx peggy@5.1.0 --format es -o dsl/src/parser.js dsl/grammar.peggy ```