superspecs 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.
@@ -0,0 +1,168 @@
1
+ ---
2
+ name: execute-tdd
3
+ description: Enforce RED-GREEN-REFACTOR for every implementation task. Write failing test, watch it fail, write minimal code, watch it pass, commit. Delete code written before tests. Activates during implementation. Triggers on /tdd, when a task starts, or when code is being written without a test.
4
+ slash_command: tdd
5
+ phase: "2.4 — Execute › TDD"
6
+ ---
7
+
8
+ # Skill: execute-tdd
9
+
10
+ You are enforcing test-driven development. This skill activates during every implementation task.
11
+
12
+ ## The Law
13
+
14
+ ```
15
+ RED → GREEN → REFACTOR
16
+ ```
17
+
18
+ This is not a suggestion. It is the only permitted order of operations.
19
+
20
+ Code written before a failing test exists gets **deleted**.
21
+
22
+ ## Steps
23
+
24
+ ### RED Phase
25
+
26
+ #### 1. Read the task's test requirement
27
+
28
+ Every task in `tasks.md` has a `Test requirement:` field. Read it before touching any implementation file.
29
+
30
+ #### 2. Write the test
31
+
32
+ Write a test that:
33
+ - Tests the **behavior** described in the task (not implementation details)
34
+ - Is specific enough to fail for the right reason
35
+ - Uses the same test framework as the rest of the project (detect from existing test files)
36
+
37
+ The test should read like documentation: *given this setup, when I do this, I expect this outcome.*
38
+
39
+ #### 3. Run the test — confirm RED
40
+
41
+ ```bash
42
+ # Run ONLY the new test (not the full suite)
43
+ <test-runner> <test-file> -t "<test-name>"
44
+ ```
45
+
46
+ **Expected: FAIL**
47
+
48
+ Check the failure reason:
49
+ - ✅ Right reason: the feature doesn't exist yet → proceed
50
+ - ❌ Wrong reason: import error, syntax error, test setup problem → fix the test, not the implementation
51
+ - ❌ Passes immediately: the test is wrong — it's not testing anything new → rewrite it
52
+
53
+ Do not proceed to GREEN until the test fails for the right reason.
54
+
55
+ ### GREEN Phase
56
+
57
+ #### 4. Write the minimum implementation
58
+
59
+ Write the smallest amount of code that makes the test pass. That's it.
60
+
61
+ Rules:
62
+ - No code that isn't needed for this test
63
+ - No "I'll need this later" additions (YAGNI)
64
+ - No refactoring yet (that's REFACTOR phase)
65
+ - No changing the test to make it pass easier
66
+
67
+ #### 5. Run the test — confirm GREEN
68
+
69
+ ```bash
70
+ <test-runner> <test-file> -t "<test-name>"
71
+ ```
72
+
73
+ **Expected: PASS**
74
+
75
+ If it fails, fix the implementation. Do not touch the test.
76
+
77
+ #### 6. Run the full suite — confirm no regressions
78
+
79
+ ```bash
80
+ <test-runner>
81
+ ```
82
+
83
+ **Expected: all previously-passing tests still pass**
84
+
85
+ If regressions exist: fix them before proceeding. A new feature that breaks existing behavior is not done.
86
+
87
+ ### REFACTOR Phase
88
+
89
+ #### 7. Improve without changing behavior
90
+
91
+ Look for:
92
+ - Duplication (same logic in 2+ places) → extract
93
+ - Unclear naming → rename
94
+ - Unnecessary complexity → simplify
95
+ - Inconsistency with project patterns → align
96
+
97
+ Rules:
98
+ - Tests stay green throughout
99
+ - No new functionality
100
+ - No changes that aren't improvements
101
+
102
+ Run the full suite after each refactor step.
103
+
104
+ #### 8. Commit
105
+
106
+ ```bash
107
+ git add <changed files>
108
+ git commit -m "task <task-id>: <description>
109
+
110
+ - test: <what the test verifies>
111
+ - impl: <what was implemented>
112
+ "
113
+ ```
114
+
115
+ ## Violations
116
+
117
+ ### Code before test
118
+
119
+ If implementation code was written before the test:
120
+
121
+ ```
122
+ ⚠️ Code found without test coverage.
123
+
124
+ Files affected: <list>
125
+ Action required: Delete implementation, write test first.
126
+
127
+ The RED-GREEN-REFACTOR cycle must start from RED.
128
+ ```
129
+
130
+ Delete the untested code. Start from RED.
131
+
132
+ ### Skipped tests
133
+
134
+ If a test is skipped (`xit`, `skip`, `@pytest.mark.skip`, etc.):
135
+
136
+ ```
137
+ ⚠️ Skipped test found: <test name>
138
+
139
+ Skipped tests do not count. Either:
140
+ 1. Remove the skip and make it pass
141
+ 2. Delete the test if it's no longer relevant
142
+ ```
143
+
144
+ ### Pending tests (test written, no implementation)
145
+
146
+ This is acceptable as a planning step, but a task is not DONE until the test passes green.
147
+
148
+ ## Progress Report Format
149
+
150
+ After each completed task:
151
+
152
+ ```
153
+ ✅ Task <id> — RED-GREEN-REFACTOR complete
154
+
155
+ RED: <test name> — failed (reason: <right reason>)
156
+ GREEN: <test name> — passing
157
+ SUITE: X tests passing, 0 failing, 0 skipped
158
+
159
+ Commit: <short SHA> — "task <id>: <description>"
160
+ ```
161
+
162
+ ## What NOT to do
163
+
164
+ - Do not write `// TODO: add test later`
165
+ - Do not mock away the behavior being tested
166
+ - Do not test implementation details (private methods, internal state)
167
+ - Do not mark a task done while any test is red or skipped
168
+ - Do not proceed to the next task before committing the current one
@@ -0,0 +1,147 @@
1
+ ---
2
+ name: plan-discuss
3
+ description: Capture implementation decisions BEFORE any spec is written. Triggers on /discuss, "what are we building", "let's plan", "I want to build X", "new feature". Always runs before /spec.
4
+ slash_command: discuss
5
+ phase: "1.1 — Plan › Discuss"
6
+ ---
7
+
8
+ # Skill: plan-discuss
9
+
10
+ You are opening the discussion phase. This happens **before any spec is written**.
11
+
12
+ The goal is to capture every decision, assumption, constraint, and open question so the spec that follows is grounded — not guessed.
13
+
14
+ ## Why this step exists
15
+
16
+ Decisions made during planning are cheap. Decisions discovered during implementation are expensive. This step makes the cheap ones explicit before they become expensive ones.
17
+
18
+ ## Steps
19
+
20
+ ### 1. Orient with the wiki
21
+
22
+ Before asking anything, check `superspec/wiki/`:
23
+ - Read `_index.md`
24
+ - Scan domain folders relevant to what's being described
25
+ - Note: existing patterns, past decisions, anything that should inform this discussion
26
+
27
+ Report what you found (or "wiki is empty / nothing relevant").
28
+
29
+ ### 2. Understand the rough idea
30
+
31
+ Ask the user to describe what they want to build. Keep it conversational. One question at a time. Cover:
32
+
33
+ **What**
34
+ - What does this feature do from the user's perspective?
35
+ - What problem does it solve?
36
+
37
+ **Why now**
38
+ - What's the trigger for building this?
39
+ - What happens if we don't build it?
40
+
41
+ **Constraints**
42
+ - Technical constraints (existing stack, performance requirements, etc.)
43
+ - Scope constraints (what's explicitly NOT included?)
44
+ - Time or complexity constraints?
45
+
46
+ **Success**
47
+ - How do we know this is done?
48
+ - What does "working" look like?
49
+
50
+ **Risks**
51
+ - What could go wrong?
52
+ - What are we uncertain about?
53
+
54
+ Do not ask all questions at once. Read the answers and ask follow-ups. Stop when you have enough to write the discussion doc.
55
+
56
+ ### 3. Write DISCUSS.md
57
+
58
+ Create `superspec/specs/<slug>/DISCUSS.md`:
59
+
60
+ ```markdown
61
+ # Discussion: <Feature Name>
62
+
63
+ Date: <today>
64
+ Participants: human + AI
65
+
66
+ ## What We're Building
67
+
68
+ <1-2 paragraph summary in plain language>
69
+
70
+ ## Goals
71
+ - <Goal>
72
+ - <Goal>
73
+
74
+ ## Non-Goals (explicitly out of scope)
75
+ - <Non-goal>
76
+ - <Non-goal>
77
+
78
+ ## Constraints
79
+ - **Technical:** <constraint>
80
+ - **Scope:** <constraint>
81
+ - **Other:** <constraint>
82
+
83
+ ## Key Decisions Made
84
+
85
+ ### Decision: <Topic>
86
+ **We will:** <chosen approach>
87
+ **Because:** <reason>
88
+ **We won't:** <rejected alternative>
89
+
90
+ [Repeat for each significant decision]
91
+
92
+ ## Open Questions
93
+ - [ ] <Question that needs resolution before or during implementation>
94
+
95
+ ## Success Criteria
96
+ - [ ] <Measurable outcome>
97
+ - [ ] <Measurable outcome>
98
+
99
+ ## Risks
100
+ - **<Risk>:** <Mitigation or acceptance>
101
+
102
+ ## Wiki References
103
+ <Links to relevant existing wiki pages, or "None">
104
+ ```
105
+
106
+ ### 4. Create the spec directory and status file
107
+
108
+ Create `superspec/specs/<slug>/status.md`:
109
+
110
+ ```markdown
111
+ # <Feature Name> — Status
112
+
113
+ ## Phase
114
+ 1.1 — Plan › Discuss ✅
115
+
116
+ ## Checklist
117
+ - [x] Discussion complete (DISCUSS.md)
118
+ - [ ] Spec written
119
+ - [ ] Spec fits context window
120
+ - [ ] Branch created
121
+ - [ ] Subagent execution complete
122
+ - [ ] All tests passing
123
+ - [ ] Code review passed (no Critical findings)
124
+ - [ ] Wiki imported
125
+ - [ ] PR created
126
+ - [ ] Archived
127
+
128
+ ## Slug
129
+ <slug>
130
+
131
+ ## Started
132
+ <date>
133
+ ```
134
+
135
+ ### 5. Confirm and hand off
136
+
137
+ Show the DISCUSS.md. Say:
138
+
139
+ > "Discussion captured. Ready to write the spec? → `/spec <slug>`"
140
+
141
+ Do not write the spec automatically. The user confirms first.
142
+
143
+ ## Output
144
+
145
+ - `superspec/specs/<slug>/DISCUSS.md`
146
+ - `superspec/specs/<slug>/status.md`
147
+ - A clear handoff prompt to `/spec`
@@ -0,0 +1,193 @@
1
+ ---
2
+ name: plan-spec
3
+ description: Write an OpenSpec-style spec from the discussion document. Triggers on /spec, "write the spec", "create spec". Requires DISCUSS.md to exist. The spec must fit a fresh 200k context window.
4
+ slash_command: spec
5
+ phase: "1.2 — Plan › Spec"
6
+ ---
7
+
8
+ # Skill: plan-spec
9
+
10
+ You are writing the feature spec. This is the contract between planning and execution.
11
+
12
+ **Prerequisite:** `superspec/specs/<slug>/DISCUSS.md` must exist. If it doesn't, stop and say: *"Run `/discuss` first to capture decisions before writing the spec."*
13
+
14
+ ## What a spec is
15
+
16
+ A spec is a precise description of system behavior — not implementation details. It answers: *what must the system do?* Not: *how does it do it?*
17
+
18
+ It uses SHALL for requirements. It uses GIVEN/WHEN/THEN for scenarios. Every requirement is testable.
19
+
20
+ ## The 200k Context Window Constraint
21
+
22
+ The complete spec — plus the implementation context — must fit in a fresh 200k-token context window. This is not optional. It's what makes parallel execution possible: each executor starts clean.
23
+
24
+ **Target:** spec.md under ~3,000 words. If you find yourself writing more, the feature is too large. Decompose it.
25
+
26
+ ## Steps
27
+
28
+ ### 1. Read DISCUSS.md completely
29
+
30
+ Read `superspec/specs/<slug>/DISCUSS.md`. Do not proceed without understanding it fully.
31
+
32
+ ### 2. Check for existing specs in this domain
33
+
34
+ Read `superspec/wiki/_index.md` and any related specs in `superspec/specs/`. Note:
35
+ - Patterns already established (naming, structure, error formats)
36
+ - Decisions already made that this spec should be consistent with
37
+
38
+ ### 3. Write spec.md
39
+
40
+ Create `superspec/specs/<slug>/spec.md`:
41
+
42
+ ```markdown
43
+ # <Feature Name> Specification
44
+
45
+ **Slug:** <slug>
46
+ **Status:** draft
47
+ **Depends on:** <other spec slugs, or "none">
48
+
49
+ ## Purpose
50
+
51
+ One paragraph: what this feature does and why it exists. Written from the user/system perspective, not the implementation perspective.
52
+
53
+ ## Requirements
54
+
55
+ ### Requirement: <Requirement Name>
56
+ The system SHALL <behavior>.
57
+
58
+ #### Scenario: <Scenario Name>
59
+ - GIVEN <precondition>
60
+ - WHEN <action or event>
61
+ - THEN <expected outcome>
62
+ - AND <additional outcome> (if needed)
63
+
64
+ #### Scenario: <Edge case>
65
+ - GIVEN <setup>
66
+ - WHEN <unusual input or condition>
67
+ - THEN <expected safe behavior>
68
+
69
+ [Each requirement gets at least one happy-path scenario and at least one edge/error scenario]
70
+
71
+ ## Error Behavior
72
+
73
+ Explicit SHALL statements for error cases:
74
+ - The system SHALL return <error format> when <condition>
75
+ - The system SHALL NOT <prohibited behavior>
76
+
77
+ ## Non-Functional Requirements (if applicable)
78
+ - Performance: The system SHALL <behavior> within <timeframe>
79
+ - The system SHALL handle <load> without <failure mode>
80
+
81
+ ## Out of Scope
82
+ - <Explicit exclusion>
83
+ - <Explicit exclusion>
84
+
85
+ ## Glossary (if terms need definition)
86
+ - **<Term>:** <Definition>
87
+ ```
88
+
89
+ ### 4. Write tasks.md
90
+
91
+ Decompose into concrete implementation tasks. Each task is small enough for one subagent with a fresh context.
92
+
93
+ Create `superspec/specs/<slug>/tasks.md`:
94
+
95
+ ```markdown
96
+ # Implementation Tasks: <Feature Name>
97
+
98
+ ## Context Window Budget
99
+ Estimated spec + task tokens: ~<N>k / 200k ✅
100
+
101
+ ## Wave 1 — Foundation
102
+ Tasks that must complete before Wave 2 can start.
103
+
104
+ ### Task 1.1: <Name>
105
+ **What:** <Precise description>
106
+ **Files to create/modify:** <list>
107
+ **Test requirement:** Write a test for <specific behavior> that fails before implementation
108
+ **Done when:** Test passes, no regressions
109
+
110
+ ### Task 1.2: <Name>
111
+ **What:** <Precise description>
112
+ **Files to create/modify:** <list>
113
+ **Test requirement:** <behavior to test>
114
+ **Done when:** Test passes, no regressions
115
+
116
+ ## Wave 2 — Core Logic
117
+ Tasks runnable in parallel once Wave 1 is complete.
118
+
119
+ ### Task 2.1: <Name>
120
+ ...
121
+
122
+ ### Task 2.2: <Name>
123
+ ...
124
+
125
+ ## Wave 3 — Integration
126
+ Final integration tasks.
127
+
128
+ ### Task 3.1: <Name>
129
+ ...
130
+
131
+ ## Done Criteria
132
+ The feature is DONE when:
133
+ - [ ] All tasks complete
134
+ - [ ] All tests passing (zero skipped, zero pending)
135
+ - [ ] Every scenario in spec.md has a corresponding passing test
136
+ - [ ] Code review passed with no Critical findings
137
+ - [ ] No regressions in unrelated tests
138
+ ```
139
+
140
+ ### 5. Context window check
141
+
142
+ Estimate the token count of spec.md + tasks.md combined.
143
+
144
+ - Under 50k tokens: ✅ Excellent
145
+ - 50k–100k tokens: ✅ Fine
146
+ - 100k–150k tokens: ⚠️ Consider trimming
147
+ - Over 150k tokens: ❌ Too large — decompose into sub-specs
148
+
149
+ Report: `Context estimate: ~Xk tokens / 200k window ✅`
150
+
151
+ If over 150k, stop and propose decomposition before proceeding.
152
+
153
+ ### 6. Update status.md
154
+
155
+ ```markdown
156
+ ## Phase
157
+ 1.2 — Plan › Spec ✅
158
+
159
+ ## Checklist
160
+ - [x] Discussion complete (DISCUSS.md)
161
+ - [x] Spec written
162
+ - [x] Spec fits context window (~Xk / 200k)
163
+ - [ ] Branch created
164
+ ...
165
+ ```
166
+
167
+ ### 7. Handoff
168
+
169
+ Show spec summary:
170
+
171
+ ```
172
+ Spec ready: <slug>
173
+
174
+ Requirements: X
175
+ Scenarios: Y
176
+ Tasks: Z across W waves
177
+ Context estimate: ~Xk / 200k ✅
178
+
179
+ Next: /pick-spec <slug>
180
+ ```
181
+
182
+ ## Output
183
+
184
+ - `superspec/specs/<slug>/spec.md`
185
+ - `superspec/specs/<slug>/tasks.md`
186
+ - Updated `superspec/specs/<slug>/status.md`
187
+
188
+ ## What NOT to do
189
+
190
+ - Do not write implementation details in the spec (no code, no file paths, no library choices)
191
+ - Do not write spec.md without reading DISCUSS.md first
192
+ - Do not proceed if the spec exceeds the context window budget — decompose instead
193
+ - Do not invent requirements not discussed in DISCUSS.md
@@ -0,0 +1,150 @@
1
+ ---
2
+ name: ship
3
+ description: Create the PR, write the changelog entry, archive the phase directory, mark the spec complete, and trigger the next cycle. Triggers on /ship, "create PR", "ship it", "merge". Final step in the SuperSpecs lifecycle.
4
+ slash_command: ship
5
+ phase: "4 — Ship"
6
+ ---
7
+
8
+ # Skill: ship
9
+
10
+ You are shipping the feature. Final step.
11
+
12
+ **Preconditions — verify before proceeding:**
13
+ - [ ] All tests passing (Phase 3.1 complete)
14
+ - [ ] Wiki imported (Phase 3.2 complete)
15
+ - [ ] No open Critical review findings
16
+ - [ ] Branch is on `superspec/<slug>` with all commits
17
+
18
+ If any precondition fails, stop and name the missing step.
19
+
20
+ ## Steps
21
+
22
+ ### 1. Final diff review
23
+
24
+ ```bash
25
+ git log main..superspec/<slug> --oneline
26
+ git diff main..superspec/<slug> --stat
27
+ ```
28
+
29
+ Show a summary: how many files changed, how many commits. No surprises.
30
+
31
+ ### 2. Write the PR description
32
+
33
+ ```markdown
34
+ ## <Feature Name>
35
+
36
+ ### What
37
+ <1–2 paragraphs: what was built, from the user/system perspective>
38
+
39
+ ### Why
40
+ <The problem this solves, from DISCUSS.md>
41
+
42
+ ### How it works
43
+ <Brief technical summary — key decisions, architecture shape>
44
+
45
+ ### Tests
46
+ - Suite: X tests, all passing
47
+ - New tests: Y (covering N spec scenarios)
48
+
49
+ ### Spec
50
+ `superspec/specs/<slug>/spec.md`
51
+
52
+ ### Wiki
53
+ <links to new wiki pages>
54
+
55
+ ### Checklist
56
+ - [x] Tests passing
57
+ - [x] Spec scenarios covered
58
+ - [x] Code review passed
59
+ - [x] Wiki updated
60
+ - [x] No regressions
61
+ ```
62
+
63
+ ### 3. Create the PR
64
+
65
+ Instruct the user (or if gh CLI is available):
66
+
67
+ ```bash
68
+ gh pr create \
69
+ --base main \
70
+ --head superspec/<slug> \
71
+ --title "<Feature Name>" \
72
+ --body-file /tmp/pr-body.md
73
+ ```
74
+
75
+ Or: output the PR body and say *"Create the PR with this description."*
76
+
77
+ ### 4. Write changelog entry
78
+
79
+ If the project has a `CHANGELOG.md`:
80
+
81
+ ```markdown
82
+ ## [Unreleased]
83
+
84
+ ### Added
85
+ - <Feature description> (closes #<issue if applicable>)
86
+ ```
87
+
88
+ ### 5. Archive the phase directory
89
+
90
+ ```bash
91
+ mkdir -p superspec/archive
92
+ mv superspec/phases/<slug>-execute superspec/archive/<slug>-execute
93
+ ```
94
+
95
+ ### 6. Mark spec complete
96
+
97
+ Update `superspec/specs/<slug>/status.md`:
98
+
99
+ ```markdown
100
+ ## Phase
101
+ 4 — Shipped ✅
102
+
103
+ ## Completed
104
+ <date>
105
+
106
+ ## PR
107
+ <PR URL or number>
108
+
109
+ ## Checklist
110
+ - [x] Discussion complete (DISCUSS.md)
111
+ - [x] Spec written
112
+ - [x] Spec fits context window
113
+ - [x] Branch created
114
+ - [x] Subagent execution complete
115
+ - [x] All tests passing
116
+ - [x] Code review passed (no Critical findings)
117
+ - [x] Wiki imported
118
+ - [x] PR created
119
+ - [x] Archived
120
+
121
+ ## Wiki Pages
122
+ - [[superspec/wiki/<domain>/<page>]] — <description>
123
+ ```
124
+
125
+ ### 7. Trigger next cycle
126
+
127
+ ```
128
+ Shipped: <slug> ✅
129
+
130
+ PR: <url or "ready to create">
131
+ Tests: X passing
132
+ Wiki: Y pages
133
+ Archive: superspec/archive/<slug>-execute/
134
+
135
+ ─────────────────────────────────
136
+ What's next?
137
+
138
+ Available specs ready to execute:
139
+ <list specs in planning or proposed state>
140
+
141
+ Or start a new feature: /discuss
142
+ ```
143
+
144
+ ## Output
145
+
146
+ - PR created (or PR body ready)
147
+ - `CHANGELOG.md` updated
148
+ - `superspec/phases/<slug>-execute/` → `superspec/archive/<slug>-execute/`
149
+ - `superspec/specs/<slug>/status.md` marked complete
150
+ - Prompt to start next cycle
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: skill-creator
3
+ description: Create a new SuperSpecs skill. Use when the user wants to extend the framework with a new workflow step or tool.
4
+ slash_command: skill-creator
5
+ ---
6
+
7
+ # Skill: skill-creator
8
+
9
+ Create a new SuperSpecs skill.
10
+
11
+ ## A skill is
12
+
13
+ A markdown file in `.skills/<skill-name>/SKILL.md` that an AI agent reads when triggered. Skills are instruction sets, not code.
14
+
15
+ ## Structure
16
+
17
+ ```markdown
18
+ ---
19
+ name: <skill-name>
20
+ description: <One sentence: what this skill does and when it triggers. Include trigger phrases.>
21
+ slash_command: <command:name>
22
+ ---
23
+
24
+ # Skill: <skill-name>
25
+
26
+ Brief intro: what you're doing in this phase.
27
+
28
+ ## Inputs
29
+ What files or context the agent needs to read first.
30
+
31
+ ## Steps
32
+ Numbered, concrete steps. Include:
33
+ - What to read
34
+ - What to write
35
+ - What to verify
36
+ - What to report to the user
37
+
38
+ ## Output
39
+ What files are created/updated.
40
+
41
+ ## What NOT to do
42
+ Explicit prohibitions.
43
+ ```
44
+
45
+ ## Good skill design
46
+
47
+ - **Concrete steps, not vague instructions.** "Read `tasks.md` completely" not "understand the plan".
48
+ - **Explicit output.** List every file created or modified.
49
+ - **Stopping conditions.** When should the skill ask for input before proceeding?
50
+ - **Verification steps.** What does "done" look like?
51
+ - **Non-negotiables.** What must never be skipped?
52
+
53
+ ## After creating
54
+
55
+ 1. Place file in `.skills/<skill-name>/SKILL.md`
56
+ 2. Run `setup.sh` to symlink into agent directories
57
+ 3. Test: open your agent and say "tell me about <skill-name>"
58
+
59
+ ## Integration with SuperSpecs lifecycle
60
+
61
+ If the new skill fits into the lifecycle, add it to:
62
+ - `README.md` skill reference table
63
+ - `CLAUDE.md` skills list
64
+ - `AGENTS.md` lifecycle overview