@mrclrchtr/supi-claude-md 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/README.md +73 -0
  2. package/node_modules/@mrclrchtr/supi-core/README.md +90 -0
  3. package/node_modules/@mrclrchtr/supi-core/package.json +30 -0
  4. package/node_modules/@mrclrchtr/supi-core/src/config-settings.ts +76 -0
  5. package/node_modules/@mrclrchtr/supi-core/src/config.ts +186 -0
  6. package/node_modules/@mrclrchtr/supi-core/src/context-messages.ts +119 -0
  7. package/node_modules/@mrclrchtr/supi-core/src/context-provider-registry.ts +36 -0
  8. package/node_modules/@mrclrchtr/supi-core/src/context-tag.ts +31 -0
  9. package/node_modules/@mrclrchtr/supi-core/src/debug-registry.ts +255 -0
  10. package/node_modules/@mrclrchtr/supi-core/src/index.ts +83 -0
  11. package/node_modules/@mrclrchtr/supi-core/src/project-roots.ts +170 -0
  12. package/node_modules/@mrclrchtr/supi-core/src/registry-utils.ts +54 -0
  13. package/node_modules/@mrclrchtr/supi-core/src/session-utils.ts +29 -0
  14. package/node_modules/@mrclrchtr/supi-core/src/settings-command.ts +15 -0
  15. package/node_modules/@mrclrchtr/supi-core/src/settings-registry.ts +41 -0
  16. package/node_modules/@mrclrchtr/supi-core/src/settings-ui.ts +226 -0
  17. package/node_modules/@mrclrchtr/supi-core/src/terminal.ts +60 -0
  18. package/package.json +44 -0
  19. package/skills/claude-md-improver/SKILL.md +253 -0
  20. package/skills/claude-md-improver/references/quality-criteria.md +114 -0
  21. package/skills/claude-md-improver/references/templates.md +300 -0
  22. package/skills/claude-md-improver/references/update-guidelines.md +218 -0
  23. package/skills/claude-md-revision/SKILL.md +126 -0
  24. package/skills/claude-md-revision/evals/evals.json +43 -0
  25. package/skills/claude-md-revision/references/quality-criteria.md +114 -0
  26. package/skills/claude-md-revision/references/templates.md +300 -0
  27. package/skills/claude-md-revision/references/update-guidelines.md +218 -0
  28. package/src/claude-md.ts +163 -0
  29. package/src/config.ts +33 -0
  30. package/src/discovery.ts +133 -0
  31. package/src/index.ts +1 -0
  32. package/src/settings-registration.ts +119 -0
  33. package/src/state.ts +94 -0
  34. package/src/subdirectory.ts +84 -0
@@ -0,0 +1,300 @@
1
+ # CLAUDE.md Templates
2
+
3
+ ## Key Principles
4
+
5
+ - **Concise**: Dense, human-readable content; one line per concept when possible
6
+ - **Actionable**: Commands should be copy-paste ready
7
+ - **Project-specific**: Document patterns unique to this project, not generic advice
8
+ - **Current**: All info should reflect actual codebase state
9
+
10
+ ---
11
+
12
+ ## Recommended Sections
13
+
14
+ Use only the sections relevant to the project. Not all sections are needed.
15
+
16
+ ### Commands
17
+
18
+ Document the essential commands for working with the project.
19
+
20
+ ```markdown
21
+ ## Commands
22
+
23
+ | Command | Description |
24
+ |---------|-------------|
25
+ | `<install command>` | Install dependencies |
26
+ | `<dev command>` | Start development server |
27
+ | `<build command>` | Production build |
28
+ | `<test command>` | Run tests |
29
+ | `<lint command>` | Lint/format code |
30
+ ```
31
+
32
+ ### Architecture
33
+
34
+ Describe the project structure so Claude understands where things live.
35
+
36
+ ```markdown
37
+ ## Architecture
38
+
39
+ ```
40
+ <root>/
41
+ <dir>/ # <purpose>
42
+ <dir>/ # <purpose>
43
+ <dir>/ # <purpose>
44
+ ```
45
+ ```
46
+
47
+ ### Key Files
48
+
49
+ List important files that Claude should know about.
50
+
51
+ ```markdown
52
+ ## Key Files
53
+
54
+ - `<path>` - <purpose>
55
+ - `<path>` - <purpose>
56
+ ```
57
+
58
+ ### Code Style
59
+
60
+ Document project-specific coding conventions.
61
+
62
+ ```markdown
63
+ ## Code Style
64
+
65
+ - <convention>
66
+ - <convention>
67
+ - <preference over alternative>
68
+ ```
69
+
70
+ ### Environment
71
+
72
+ Document required environment variables and setup.
73
+
74
+ ```markdown
75
+ ## Environment
76
+
77
+ Required:
78
+ - `<VAR_NAME>` - <purpose>
79
+ - `<VAR_NAME>` - <purpose>
80
+
81
+ Setup:
82
+ - <setup step>
83
+ ```
84
+
85
+ ### Testing
86
+
87
+ Document testing approach and commands.
88
+
89
+ ```markdown
90
+ ## Testing
91
+
92
+ - `<test command>` - <what it tests>
93
+ - <testing convention or pattern>
94
+ ```
95
+
96
+ ### Gotchas
97
+
98
+ Document non-obvious patterns, quirks, and warnings.
99
+
100
+ ```markdown
101
+ ## Gotchas
102
+
103
+ - <non-obvious thing that causes issues>
104
+ - <ordering dependency or prerequisite>
105
+ - <common mistake to avoid>
106
+ ```
107
+
108
+ ### Workflow
109
+
110
+ Document development workflow patterns.
111
+
112
+ ```markdown
113
+ ## Workflow
114
+
115
+ - <when to do X>
116
+ - <preferred approach for Y>
117
+ ```
118
+
119
+ ---
120
+
121
+ ## Template: Project Root (Minimal)
122
+
123
+ ```markdown
124
+ # <Project Name>
125
+
126
+ <One-line description>
127
+
128
+ ## Commands
129
+
130
+ | Command | Description |
131
+ |---------|-------------|
132
+ | `<command>` | <description> |
133
+
134
+ ## Architecture
135
+
136
+ ```
137
+ <structure>
138
+ ```
139
+
140
+ ## Gotchas
141
+
142
+ - <gotcha>
143
+ ```
144
+
145
+ ---
146
+
147
+ ## Template: Project Root (Comprehensive)
148
+
149
+ ```markdown
150
+ # <Project Name>
151
+
152
+ <One-line description>
153
+
154
+ ## Commands
155
+
156
+ | Command | Description |
157
+ |---------|-------------|
158
+ | `<command>` | <description> |
159
+
160
+ ## Architecture
161
+
162
+ ```
163
+ <structure with descriptions>
164
+ ```
165
+
166
+ ## Key Files
167
+
168
+ - `<path>` - <purpose>
169
+
170
+ ## Code Style
171
+
172
+ - <convention>
173
+
174
+ ## Environment
175
+
176
+ - `<VAR>` - <purpose>
177
+
178
+ ## Testing
179
+
180
+ - `<command>` - <scope>
181
+
182
+ ## Gotchas
183
+
184
+ - <gotcha>
185
+ ```
186
+
187
+ ---
188
+
189
+ ## Template: Package/Module
190
+
191
+ For packages within a monorepo or distinct modules.
192
+
193
+ ```markdown
194
+ # <Package Name>
195
+
196
+ <Purpose of this package>
197
+
198
+ ## Usage
199
+
200
+ ```
201
+ <import/usage example>
202
+ ```
203
+
204
+ ## Key Exports
205
+
206
+ - `<export>` - <purpose>
207
+
208
+ ## Dependencies
209
+
210
+ - `<dependency>` - <why needed>
211
+
212
+ ## Notes
213
+
214
+ - <important note>
215
+ ```
216
+
217
+ ---
218
+
219
+ ## Template: Monorepo Root
220
+
221
+ ```markdown
222
+ # <Monorepo Name>
223
+
224
+ <Description>
225
+
226
+ ## Packages
227
+
228
+ | Package | Description | Path |
229
+ |---------|-------------|------|
230
+ | `<name>` | <purpose> | `<path>` |
231
+
232
+ ## Commands
233
+
234
+ | Command | Description |
235
+ |---------|-------------|
236
+ | `<command>` | <description> |
237
+
238
+ ## Cross-Package Patterns
239
+
240
+ - <shared pattern>
241
+ - <generation/sync pattern>
242
+ ```
243
+
244
+ > ⚠️ **When SuPi is active:** The `## Packages` table in this template is auto-generated by `code_intel brief` on the first turn. Consider omitting it or replacing it with `## Start Here` and `## Cross-Package Patterns` sections that capture conventions not visible in manifests.
245
+
246
+ ---
247
+
248
+ ## Template: SuPi-Optimized Project Root
249
+
250
+ For projects using SuPi extensions (`code-intelligence`, `claude-md`). Omits sections that extensions auto-deliver and favors compressed human-only guidance after a baseline overlap review.
251
+
252
+ ```markdown
253
+ # <Project Name>
254
+
255
+ <One-line description — what makes this project unique>
256
+
257
+ ## Commands
258
+
259
+ | Command | Description |
260
+ |---------|-------------|
261
+ | `<command>` | <description> |
262
+
263
+ ## Start Here
264
+
265
+ - <where to begin for the most common task>
266
+ - <entry point or file to read first>
267
+
268
+ ## Cross-Package Patterns
269
+
270
+ - <pattern that isn't obvious from code>
271
+ - <convention that required a decision>
272
+
273
+ ## Gotchas
274
+
275
+ - <non-obvious thing that causes issues>
276
+ - <ordering dependency or prerequisite>
277
+
278
+ ## Workflow
279
+
280
+ - <when to do X>
281
+ - <preferred approach for Y>
282
+ ```
283
+
284
+ **What's intentionally absent:**
285
+ - `## Modules` / `## Packages` — `code_intel brief` generates this
286
+ - Large root `## Project structure` / `## Architecture` directory trees that just restate the workspace layout
287
+ - `## Dependencies` table — derivable from `package.json`
288
+
289
+ If you keep any structure section in a SuPi-enabled root doc, make it short and opinionated: explain where to start, why boundaries exist, or which exception matters. After the baseline review, split the redundant tree/inventory portion from the unique guidance portion instead of keeping both together. Do not paste the tree unless the tree itself carries human-only meaning.
290
+
291
+ ---
292
+
293
+ ## Update Principles
294
+
295
+ When updating any CLAUDE.md:
296
+
297
+ 1. **Be specific**: Use actual file paths, real commands from this project
298
+ 2. **Be current**: Verify info against the actual codebase
299
+ 3. **Be brief**: One line per concept when possible
300
+ 4. **Be useful**: Would this help a new Claude session understand the project?
@@ -0,0 +1,218 @@
1
+ # CLAUDE.md Update Guidelines
2
+
3
+ ## Core Principle
4
+
5
+ Only add information that will genuinely help future Claude sessions. The context window is precious - every line must earn its place.
6
+
7
+ ## What TO Add
8
+
9
+ ### 1. Commands/Workflows Discovered
10
+
11
+ ```markdown
12
+ ## Build
13
+
14
+ `npm run build:prod` - Full production build with optimization
15
+ `npm run build:dev` - Fast dev build (no minification)
16
+ ```
17
+
18
+ Why: Saves future sessions from discovering these again.
19
+
20
+ ### 2. Gotchas and Non-Obvious Patterns
21
+
22
+ ```markdown
23
+ ## Gotchas
24
+
25
+ - Tests must run sequentially (`--runInBand`) due to shared DB state
26
+ - `yarn.lock` is authoritative; delete `node_modules` if deps mismatch
27
+ ```
28
+
29
+ Why: Prevents repeating debugging sessions.
30
+
31
+ ### 3. Package Relationships
32
+
33
+ ```markdown
34
+ ## Dependencies
35
+
36
+ The `auth` module depends on `crypto` being initialized first.
37
+ Import order matters in `src/bootstrap.ts`.
38
+ ```
39
+
40
+ Why: Architecture knowledge that isn't obvious from code.
41
+
42
+ ### 4. Testing Approaches That Worked
43
+
44
+ ```markdown
45
+ ## Testing
46
+
47
+ For API endpoints: Use `supertest` with the test helper in `tests/setup.ts`
48
+ Mocking: Factory functions in `tests/factories/` (not inline mocks)
49
+ ```
50
+
51
+ Why: Establishes patterns that work.
52
+
53
+ ### 5. Configuration Quirks
54
+
55
+ ```markdown
56
+ ## Config
57
+
58
+ - `NEXT_PUBLIC_*` vars must be set at build time, not runtime
59
+ - Redis connection requires `?family=0` suffix for IPv6
60
+ ```
61
+
62
+ Why: Environment-specific knowledge.
63
+
64
+ ## What SuPi Extensions Already Deliver
65
+
66
+ When auditing or updating CLAUDE.md in a project using SuPi extensions, these sections are redundant because they're auto-injected on every session:
67
+
68
+ | Extension | What It Injects | When |
69
+ |-----------|----------------|------|
70
+ | `supi-code-intelligence` | Workspace module graph (names, descriptions, paths, dependency edges) | First `before_agent_start` per session |
71
+ | `supi-claude-md` | Subdirectory `CLAUDE.md` files wrapped in `<extension-context>` | On `read`/`edit`/`lsp`/`tree_sitter` to subdirectories |
72
+ | `supi-core` | `findProjectRoot`, `walkProject`, XML `<extension-context>` tagging | Available to all extensions |
73
+
74
+ **Implication:** A root CLAUDE.md doesn't need to document what `code_intel brief` would say. Focus instead on:
75
+ - Commands and workflows
76
+ - Cross-package conventions and patterns
77
+ - Gotchas that aren't in code
78
+ - Human-curated guidance ("start here for X")
79
+
80
+ When SuPi is active, do a quick baseline review first: compare the CLAUDE.md against `code_intel brief` and other known injected context, then separate each section into overlap vs unique value. If a root `## Project structure` / `## Architecture` section mostly restates the workspace tree, treat that portion as redundant and keep only the orientation, boundary rules, or exceptions that the generated overview cannot supply.
81
+
82
+ ## What NOT to Add
83
+
84
+ ### 1. Obvious Code Info
85
+
86
+ Bad:
87
+ ```markdown
88
+ The `UserService` class handles user operations.
89
+ ```
90
+
91
+ The class name already tells us this.
92
+
93
+ ### 2. Generic Best Practices
94
+
95
+ Bad:
96
+ ```markdown
97
+ Always write tests for new features.
98
+ Use meaningful variable names.
99
+ ```
100
+
101
+ This is universal advice, not project-specific.
102
+
103
+ ### 3. One-Off Fixes
104
+
105
+ Bad:
106
+ ```markdown
107
+ We fixed a bug in commit abc123 where the login button didn't work.
108
+ ```
109
+
110
+ Won't recur; clutters the file.
111
+
112
+ ### 4. Verbose Explanations
113
+
114
+ Bad:
115
+ ```markdown
116
+ The authentication system uses JWT tokens. JWT (JSON Web Tokens) are
117
+ an open standard (RFC 7519) that defines a compact and self-contained
118
+ way for securely transmitting information between parties as a JSON
119
+ object. In our implementation, we use the HS256 algorithm which...
120
+ ```
121
+
122
+ Good:
123
+ ```markdown
124
+ Auth: JWT with HS256, tokens in `Authorization: Bearer <token>` header.
125
+ ```
126
+
127
+ ## Diff Format for Updates
128
+
129
+ For each suggested change:
130
+
131
+ ### 1. Identify the File
132
+
133
+ ```
134
+ File: ./CLAUDE.md
135
+ Section: Commands (new section after ## Architecture)
136
+ ```
137
+
138
+ ### 2. Show the Change
139
+
140
+ ```diff
141
+ ## Architecture
142
+ ...
143
+
144
+ +## Commands
145
+ +
146
+ +| Command | Purpose |
147
+ +|---------|---------|
148
+ +| `npm run dev` | Dev server with HMR |
149
+ +| `npm run build` | Production build |
150
+ +| `npm test` | Run test suite |
151
+ ```
152
+
153
+ ### 3. Explain Why
154
+
155
+ > **Why this helps:** The build commands weren't documented, causing
156
+ > confusion about how to run the project. This saves future sessions
157
+ > from needing to inspect `package.json`.
158
+
159
+ ## What NOT to Add (SuPi Projects)
160
+
161
+ In addition to the existing guidelines, avoid these when SuPi is active:
162
+
163
+ **Redundant: Package/module inventory**
164
+ ```markdown
165
+ Bad:
166
+ ## Packages
167
+ | Package | Description | Path |
168
+ |---------|-------------|------|
169
+ | `api` | REST API | `packages/api/` |
170
+
171
+ Better: Skip entirely, or if relationships are non-obvious:
172
+ ## Cross-Package Patterns
173
+ The `api` package must be initialized before `worker` due to shared DB migrations.
174
+ ```
175
+
176
+ **Redundant: High-level dependency graph**
177
+ ```markdown
178
+ Bad:
179
+ ## Dependencies
180
+ - `api` depends on `db`, `auth`
181
+ - `web` depends on `api`
182
+
183
+ Better: Skip — `code_intel brief` shows this live.
184
+ ```
185
+
186
+ **Partially redundant: Root project structure section with both overlap and unique value**
187
+ ```markdown
188
+ Overlap portion:
189
+ ## Project structure
190
+ - `apps/web` — frontend
191
+ - `apps/api` — backend
192
+ - `packages/db` — shared database code
193
+ - `packages/ui` — shared components
194
+
195
+ Keep portion:
196
+ - `packages/db` owns schema changes; app packages consume generated clients only
197
+ - API request flow starts at `apps/api/src/routes/` and drops into `packages/db/`
198
+
199
+ Better rewrite:
200
+ ## Start Here
201
+ - Web changes usually start in `apps/web/src/app/`
202
+ - API request flow starts at `apps/api/src/routes/` and drops into `packages/db/`
203
+
204
+ ## Cross-Package Patterns
205
+ - `packages/db` owns schema changes; app packages consume generated clients only
206
+ ```
207
+
208
+ ## Validation Checklist
209
+
210
+ Before finalizing an update, verify:
211
+
212
+ - [ ] Each addition is project-specific
213
+ - [ ] No generic advice or obvious info
214
+ - [ ] Commands are tested and work
215
+ - [ ] File paths are accurate
216
+ - [ ] Would a new Claude session find this helpful?
217
+ - [ ] Is this the most concise way to express the info?
218
+ - [ ] No overlap with SuPi auto-delivered content (when SuPi is active)
@@ -0,0 +1,126 @@
1
+ ---
2
+ name: claude-md-revision
3
+ description: "Update CLAUDE.md, .claude.local.md, or AGENTS.md files with project-specific context for future agent sessions. Trigger ONLY when the user explicitly mentions CLAUDE.md, .claude.local.md, AGENTS.md, project memory, or agent context files. Also trigger on direct phrases like 'add this to CLAUDE.md', 'remember this for next time', 'update project memory', or 'document this pattern'. Do NOT trigger for general documentation requests, bug reports, session summaries, or user-facing docs — those are unrelated to agent instruction files."
4
+ license: MIT
5
+ ---
6
+
7
+ # Revise CLAUDE.md with Session Learnings
8
+
9
+ Review the current session for actionable learnings and update the project's CLAUDE.md or .claude.local.md files. The goal is concise, durable context that helps future sessions work more effectively in this codebase.
10
+
11
+ ## Workflow
12
+
13
+ ### Step 1: Reflect
14
+
15
+ Identify what context would have helped this session go smoother. Scan the conversation for learnings worth preserving.
16
+
17
+ **What TO capture:**
18
+ - **Commands/workflows** discovered or used repeatedly
19
+ - **Gotchas and non-obvious patterns** (deprecated APIs, common pitfalls, tricky behaviors)
20
+ - **Package relationships** or ordering dependencies not obvious from code
21
+ - **Testing approaches** that worked (or didn't)
22
+ - **Configuration quirks** (env vars, build tools, path oddities)
23
+
24
+ **What NOT to capture:**
25
+ - Obvious info already clear from code or naming
26
+ - Generic best practices ("write tests", "use meaningful names")
27
+ - One-off fixes unlikely to recur ("fixed typo on line 42")
28
+ - Verbose explanations — one line per concept; link to docs for detail
29
+ - Content that SuPi extensions already auto-deliver (package tables, module graphs, dependency lists from manifests — see update guidelines)
30
+
31
+ Filter ruthlessly. CLAUDE.md is part of the prompt — brevity directly improves future sessions.
32
+
33
+ > See also: [detailed update guidelines](references/update-guidelines.md) and [quality criteria](references/quality-criteria.md)
34
+
35
+ ### Step 2: Find Context Files
36
+
37
+ Find existing CLAUDE.md and .claude.local.md files in the project:
38
+
39
+ ```bash
40
+ find . -name "CLAUDE.md" -o -name ".claude.local.md" 2>/dev/null | head -20
41
+ ```
42
+
43
+ For each file found, decide if the new content belongs there:
44
+
45
+ | File | Purpose |
46
+ |------|---------|
47
+ | `CLAUDE.md` | Team-shared context. Check into git. Use for patterns, commands, and gotchas that any teammate would benefit from. |
48
+ | `.claude.local.md` | Personal/local only. Gitignored. Use for personal preferences, local environment quirks, or experimental notes. |
49
+
50
+ If no CLAUDE.md exists at the project root and the learnings are team-relevant, create one.
51
+
52
+ ### Step 3: Draft Additions
53
+
54
+ **Keep it concise** — one line per concept. Use this format:
55
+
56
+ ```
57
+ <command or pattern> — <brief description>
58
+ ```
59
+
60
+ Examples:
61
+
62
+ ```
63
+ `pnpm vitest run packages/<pkg>/` — run tests for a single workspace package
64
+ `os.homedir()` cannot be mocked in ESM — pass `homeDir` parameter for testability
65
+ Root context files are never re-injected by extensions; use `/reload` to refresh
66
+ ```
67
+
68
+ Avoid:
69
+ - Verbose explanations (link to docs if detail is needed)
70
+ - Obvious information ("JavaScript uses `const` for constants")
71
+ - One-off fixes unlikely to recur ("Fixed typo in variable name on line 42")
72
+ - Duplicating existing content (read the file first)
73
+
74
+ ### Step 4: Propose Changes
75
+
76
+ For each addition, present it in this format:
77
+
78
+ ```markdown
79
+ ### Update: ./path/to/CLAUDE.md
80
+
81
+ **Why:** [one-line reason this belongs here]
82
+
83
+ ```diff
84
+ + [the addition — keep it brief]
85
+ ```
86
+ ```
87
+
88
+ Group related additions under a single heading. If multiple files need updates, show each separately.
89
+
90
+ **Diff structure:**
91
+ 1. **Identify the file and section** — existing heading, or note if new
92
+ 2. **Show the change** — concise diff or quoted block
93
+ 3. **Explain why** — one sentence on how this helps future sessions
94
+
95
+ ### Step 5: Apply with Approval
96
+
97
+ Ask the user if they want to apply the changes. Only edit files they approve.
98
+
99
+ If the user approves:
100
+ - Append new content in the appropriate section, or create the section if it doesn't exist
101
+ - Maintain alphabetical or logical ordering within sections
102
+ - Run `git diff` (or equivalent) after editing to confirm the change looks correct
103
+
104
+ If the user rejects or modifies a proposal, adjust and re-present.
105
+
106
+ **Validation checklist** — before finalizing, verify:
107
+ - [ ] Each addition is project-specific, not generic advice
108
+ - [ ] No duplication with existing content (read the file first)
109
+ - [ ] Commands are tested and work
110
+ - [ ] File paths are accurate
111
+ - [ ] Team-shared vs. personal-local scope is respected
112
+ - [ ] This is the most concise way to express the info
113
+
114
+ ## Guidelines
115
+
116
+ - **Brevity is the priority** — CLAUDE.md content is injected into every prompt. Long files hurt performance.
117
+ - **Actionability** — each line should save future sessions time or prevent a mistake.
118
+ - **No duplication** — read the existing file before adding; merge with existing entries when possible.
119
+ - **Respect scope** — team-shared vs. personal-local. Don't put machine-specific paths in CLAUDE.md.
120
+ - **Format consistency** — match the existing format in the target file. If the file uses backticks for commands, use backticks. If it uses bullet points, use bullet points.
121
+
122
+ ## References
123
+
124
+ - [Update guidelines](references/update-guidelines.md) — detailed rubric for what to add and what to skip
125
+ - [Quality criteria](references/quality-criteria.md) — scoring rubric for assessing CLAUDE.md quality
126
+ - [Templates](references/templates.md) — section templates for creating new CLAUDE.md files
@@ -0,0 +1,43 @@
1
+ {
2
+ "skill_name": "claude-md-revision",
3
+ "evals": [
4
+ {
5
+ "id": 1,
6
+ "prompt": "I just spent way too long figuring out that `pnpm exec biome check --write --unsafe` is the only way to auto-fix unused imports in this repo. The regular `--write` doesn't catch them. Can you add this to the project memory so I don't waste time on it again?",
7
+ "expected_output": "Updates CLAUDE.md with a concise entry about biome's --unsafe flag for fixing unused imports, presented as a diff for approval",
8
+ "files": [],
9
+ "expectations": [
10
+ "The assistant finds the project's CLAUDE.md file",
11
+ "The proposed addition is concise (one line)",
12
+ "The addition uses the format `command` — description",
13
+ "The assistant asks for approval before editing",
14
+ "The addition is specific and actionable"
15
+ ]
16
+ },
17
+ {
18
+ "id": 2,
19
+ "prompt": "This session taught me that `os.homedir()` can't be mocked in ESM, so we have to pass `homeDir` as a parameter to config functions for testability. Also, `ctx.ui.theme` doesn't expose an 'info' color — you have to use 'accent' or 'dim' instead. Update the project docs with these gotchas.",
20
+ "expected_output": "Updates CLAUDE.md with two concise entries covering the os.homedir() mocking issue and the missing 'info' color in ctx.ui.theme",
21
+ "files": [],
22
+ "expectations": [
23
+ "Both gotchas are captured",
24
+ "Each entry is one line",
25
+ "Entries are formatted consistently",
26
+ "The assistant asks for approval before editing",
27
+ "No verbose explanations are added"
28
+ ]
29
+ },
30
+ {
31
+ "id": 3,
32
+ "prompt": "Remember for next time: the pre-push hook in this repo runs `pnpm verify`, which includes both linting and tests. Don't try to run them separately.",
33
+ "expected_output": "Updates CLAUDE.md with a brief note about the pre-push hook running pnpm verify",
34
+ "files": [],
35
+ "expectations": [
36
+ "The addition mentions the pre-push hook",
37
+ "The addition mentions `pnpm verify`",
38
+ "The entry is concise",
39
+ "The assistant asks for approval before editing"
40
+ ]
41
+ }
42
+ ]
43
+ }