ai-engineering-kit 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.
- package/LICENSE +21 -0
- package/NOTICE +33 -0
- package/README.md +65 -0
- package/dist/cli.js +675 -0
- package/package.json +56 -0
- package/template/agents/claude-code.CLAUDE.md +88 -0
- package/template/agents/codex.AGENTS.md +82 -0
- package/template/ai-workspace/brainstorms/.gitkeep +0 -0
- package/template/ai-workspace/plans/.gitkeep +0 -0
- package/template/ai-workspace/prds/.gitkeep +0 -0
- package/template/ai-workspace/research/.gitkeep +0 -0
- package/template/ai-workspace/reviews/.gitkeep +0 -0
- package/template/ai-workspace/runbooks/.gitkeep +0 -0
- package/template/ai-workspace/templates/.gitkeep +0 -0
- package/template/docs/foundations/product-vision.md +21 -0
- package/template/docs/foundations/project-guidelines.md +19 -0
- package/template/docs/foundations/technical-decisions.md +50 -0
- package/template/docs/foundations/testing-principles.md +13 -0
- package/template/skills/core-workflow/audit-architecture/REFERENCE.md +78 -0
- package/template/skills/core-workflow/audit-architecture/SKILL.md +76 -0
- package/template/skills/core-workflow/explore-design/SKILL.md +94 -0
- package/template/skills/core-workflow/implement/SKILL.md +107 -0
- package/template/skills/core-workflow/implement/deep-modules.md +33 -0
- package/template/skills/core-workflow/implement/interface-design.md +31 -0
- package/template/skills/core-workflow/implement/mocking.md +59 -0
- package/template/skills/core-workflow/implement/refactoring.md +10 -0
- package/template/skills/core-workflow/implement/tests.md +61 -0
- package/template/skills/core-workflow/investigate-bug/SKILL.md +104 -0
- package/template/skills/core-workflow/kickoff/SKILL.md +10 -0
- package/template/skills/core-workflow/load-context/SKILL.md +26 -0
- package/template/skills/core-workflow/plan-feature/SKILL.md +107 -0
- package/template/skills/core-workflow/plan-refactor/SKILL.md +68 -0
- package/template/skills/core-workflow/review/SKILL.md +127 -0
- package/template/skills/core-workflow/setup-foundations/SKILL.md +58 -0
- package/template/skills/core-workflow/verify-completion/SKILL.md +20 -0
- package/template/skills/core-workflow/write-prd/SKILL.md +74 -0
- package/template/skills/core-workflow/write-skill/SKILL.md +117 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: review
|
|
3
|
+
description: Two-axis review of the diff between HEAD and a user-supplied fixed point — Standards (does the code follow the active guidelines under docs/foundations/ plus CLAUDE.md?) and Spec (does the code faithfully implement the originating PRD/plan in ai/prds/ and ai/plans/?). Runs both axes as parallel sub-agents and writes the aggregated report to a new file in ai/reviews/. Use when the user wants to review a branch, work-in-progress changes, or asks to "review since X".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Review
|
|
7
|
+
|
|
8
|
+
Two-axis review of the diff between `HEAD` and a fixed point the user supplies:
|
|
9
|
+
|
|
10
|
+
- **Standards** — does the code conform to this repo's documented standards?
|
|
11
|
+
- **Spec** — does the code faithfully implement the originating PRD / plan?
|
|
12
|
+
|
|
13
|
+
Both axes run as **parallel sub-agents** so they don't pollute each other's context. Findings are aggregated into a new file in `ai/reviews/`.
|
|
14
|
+
|
|
15
|
+
This project does not use GitHub issues for specs — PRDs live in `ai/prds/`, plans in `ai/plans/`, brainstorms in `ai/brainstorms/`. The Spec axis reads those files, not an issue tracker.
|
|
16
|
+
|
|
17
|
+
## Process
|
|
18
|
+
|
|
19
|
+
### 1. Pin the fixed point
|
|
20
|
+
|
|
21
|
+
Ask: "Review against what — a branch, a commit SHA, or a tag?" Do not proceed without an answer. Do not assume `main`.
|
|
22
|
+
|
|
23
|
+
Capture once:
|
|
24
|
+
|
|
25
|
+
- Diff: `git diff <fixed-point>...HEAD` (three-dot, against merge-base)
|
|
26
|
+
- Commits: `git log <fixed-point>..HEAD --oneline`
|
|
27
|
+
- Current branch: `git rev-parse --abbrev-ref HEAD`
|
|
28
|
+
|
|
29
|
+
### 2. Identify the spec sources
|
|
30
|
+
|
|
31
|
+
Match the current branch slug against filenames in `ai/prds/` and `ai/plans/`:
|
|
32
|
+
|
|
33
|
+
- Strip prefixes like `feat/`, `fix/`, `refactor/`, `chore/` from the branch name.
|
|
34
|
+
- Look for any file in `ai/prds/` or `ai/plans/` whose name contains the slug.
|
|
35
|
+
- If nothing matches there, check `ai/brainstorms/`.
|
|
36
|
+
|
|
37
|
+
If multiple files match (typical — a PRD plus its plan), use **all** of them. If nothing matches, ask the user where the spec is. If they confirm there isn't one, skip the Spec sub-agent and note "no spec available" in the report.
|
|
38
|
+
|
|
39
|
+
### 3. Identify the standards sources
|
|
40
|
+
|
|
41
|
+
The Standards sub-agent always reads:
|
|
42
|
+
|
|
43
|
+
- `CLAUDE.md`
|
|
44
|
+
- `docs/foundations/project-guidelines.md`
|
|
45
|
+
- `docs/foundations/testing-principles.md`
|
|
46
|
+
|
|
47
|
+
And conditionally, based on what the diff touches:
|
|
48
|
+
|
|
49
|
+
- `docs/foundations/technical-decisions.md` — when the change picks a new technology, pattern, or architectural shape, or contradicts an existing decision.
|
|
50
|
+
- Any other reference docs the project ships under `docs/` (e.g. domain rules, audit-event conventions, security or compliance policies, vendor references) that the diff touches.
|
|
51
|
+
|
|
52
|
+
Do **not** re-check what tooling already enforces (`pnpm lint`, `pnpm typecheck`, `pnpm lint:deps`).
|
|
53
|
+
|
|
54
|
+
### 4. Spawn both sub-agents in parallel
|
|
55
|
+
|
|
56
|
+
Send a single message with two `Agent` tool calls (`subagent_type=general-purpose`).
|
|
57
|
+
|
|
58
|
+
**Standards sub-agent prompt** — include the diff command, the commit list, the list of standards-source files, and this brief:
|
|
59
|
+
|
|
60
|
+
> Read the standards docs listed. Then read the diff. For every place the diff violates a documented standard, output one entry in this format:
|
|
61
|
+
>
|
|
62
|
+
> ```
|
|
63
|
+
> ### `<relative/path>:<line>`
|
|
64
|
+
>
|
|
65
|
+
> ```<lang>
|
|
66
|
+
> <2–3 lines of the offending code>
|
|
67
|
+
> ```
|
|
68
|
+
>
|
|
69
|
+
> <one paragraph: cite the standard (doc + rule) and say what to change>
|
|
70
|
+
> ```
|
|
71
|
+
>
|
|
72
|
+
> Prefix judgement calls with `[judgement]`. Skip anything tooling enforces (lint, typecheck, dep-cruiser). Under 500 words total.
|
|
73
|
+
|
|
74
|
+
**Spec sub-agent prompt** — include the diff command, the commit list, the paths and contents of the matched PRD/plan/brainstorm files, and this brief:
|
|
75
|
+
|
|
76
|
+
> Read the spec(s) listed. Then read the diff. Use the same `### \`<file>:<line>\`` entry format. Group findings into three buckets, each as its own H3 section:
|
|
77
|
+
>
|
|
78
|
+
> - **Missing** — requirements the spec asked for that are missing or partial
|
|
79
|
+
> - **Scope creep** — behaviour in the diff that wasn't asked for
|
|
80
|
+
> - **Wrong** — requirements that look implemented but where the implementation doesn't match the spec
|
|
81
|
+
>
|
|
82
|
+
> Quote the relevant spec line (with the spec file path) for each finding. Under 500 words total.
|
|
83
|
+
|
|
84
|
+
If step 2 found no spec, skip this sub-agent.
|
|
85
|
+
|
|
86
|
+
### 5. Write the review file
|
|
87
|
+
|
|
88
|
+
Create `ai/reviews/` if it doesn't exist. Write the report to `ai/reviews/<YYYY-MM-DD>-<branch-slug>.md` using the template below. Do **not** overwrite an existing file — if one with the same name already exists, append `-2`, `-3`, etc.
|
|
89
|
+
|
|
90
|
+
<review-template>
|
|
91
|
+
# Review: `<branch>` against `<fixed-point>`
|
|
92
|
+
|
|
93
|
+
> Date: <YYYY-MM-DD>
|
|
94
|
+
> Branch: `<branch>`
|
|
95
|
+
> Base: `<fixed-point>`
|
|
96
|
+
> Spec sources: <list of matched ai/prds + ai/plans paths, or "none">
|
|
97
|
+
> Standards sources: CLAUDE.md, docs/foundations/project-guidelines.md, docs/foundations/testing-principles.md<, plus any conditional docs>
|
|
98
|
+
|
|
99
|
+
<!-- For coding agents: address each entry by editing the referenced file:line, then delete the entry. -->
|
|
100
|
+
|
|
101
|
+
## Standards
|
|
102
|
+
|
|
103
|
+
<standards sub-agent output verbatim, or "No findings.">
|
|
104
|
+
|
|
105
|
+
## Spec
|
|
106
|
+
|
|
107
|
+
<spec sub-agent output verbatim, or "No spec source matched the branch — Spec axis skipped.">
|
|
108
|
+
|
|
109
|
+
## Summary
|
|
110
|
+
|
|
111
|
+
- Standards: <N> findings (<M> hard, <K> judgement)
|
|
112
|
+
- Spec: <N> findings (missing: <m>, scope creep: <s>, wrong: <w>)
|
|
113
|
+
- Worst single issue: <one-line description, or "none">
|
|
114
|
+
</review-template>
|
|
115
|
+
|
|
116
|
+
### 6. Report inline
|
|
117
|
+
|
|
118
|
+
Print the path of the new review file and the **Summary** block to the user. Do not paste the full report back into the conversation — it lives in the file so an agent can address findings later by editing each `file:line` and deleting the entry.
|
|
119
|
+
|
|
120
|
+
## Why two axes
|
|
121
|
+
|
|
122
|
+
A change can pass one axis and fail the other:
|
|
123
|
+
|
|
124
|
+
- Code that follows every standard but implements the wrong thing → **Standards pass, Spec fail.**
|
|
125
|
+
- Code that does exactly what the spec asked for but breaks project conventions → **Spec pass, Standards fail.**
|
|
126
|
+
|
|
127
|
+
Reporting them separately stops one axis from masking the other.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: setup-foundations
|
|
3
|
+
description: Define a new project's foundation docs — product vision, seed technical decisions, code guidelines, and testing principles — through a guided interview that reads the kickoff brainstorm. Use right after kickoff and before the first PRD, or when a project's docs/foundations/ are still stubs.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Setup Foundations
|
|
7
|
+
|
|
8
|
+
Run once near the start of a project — after `kickoff` and before `write-prd` —
|
|
9
|
+
to turn the empty `docs/foundations/` stubs into real, project-specific docs.
|
|
10
|
+
Works for any stack; never assume TypeScript/Node.
|
|
11
|
+
|
|
12
|
+
## Read first
|
|
13
|
+
|
|
14
|
+
1. The most recent brainstorm in `ai/brainstorms/` — the MVP exploration and the
|
|
15
|
+
primary context, since this skill runs before any PRD exists.
|
|
16
|
+
2. Any PRD in `ai/prds/` — usually none yet on the first run; present only if the
|
|
17
|
+
skill is re-run later in the project's life.
|
|
18
|
+
3. The current stub docs in `docs/foundations/` — fill them in place; keep useful
|
|
19
|
+
structure rather than clobbering it.
|
|
20
|
+
4. The existing source tree, when the workspace was added to a project that
|
|
21
|
+
already has code — explore it for stack, conventions, and structure so the
|
|
22
|
+
docs describe the real codebase, not a greenfield ideal.
|
|
23
|
+
|
|
24
|
+
## Produce, in order
|
|
25
|
+
|
|
26
|
+
Interview one question at a time, recommending an answer for each. Each doc builds
|
|
27
|
+
on the previous one. Present each finished doc to the user for confirmation before
|
|
28
|
+
moving to the next. Where a question can be answered from the brainstorm, answer it
|
|
29
|
+
instead of asking.
|
|
30
|
+
|
|
31
|
+
### 1. docs/foundations/product-vision.md
|
|
32
|
+
|
|
33
|
+
Confirm and fill: what we're building, users, core surfaces, constraints, out of
|
|
34
|
+
scope. Distil from the kickoff brainstorm; ask only where it is silent or ambiguous.
|
|
35
|
+
|
|
36
|
+
### 2. docs/foundations/technical-decisions.md
|
|
37
|
+
|
|
38
|
+
Interview on the stack and the first architectural choices: language/runtime,
|
|
39
|
+
framework, datastore and ORM, testing tools, deployment model, and any major
|
|
40
|
+
patterns. Capture each as a dated ADR entry (Context / Decision / Consequences)
|
|
41
|
+
using the format already in the file, replacing the example placeholder entry.
|
|
42
|
+
|
|
43
|
+
### 3. docs/foundations/project-guidelines.md
|
|
44
|
+
|
|
45
|
+
Draft from the decisions above: project structure, layering and dependency rules,
|
|
46
|
+
naming conventions, error handling, interfaces vs types, and the non-negotiable
|
|
47
|
+
rules. Keep it lean — a greenfield project's guidelines start small and grow.
|
|
48
|
+
|
|
49
|
+
### 4. docs/foundations/testing-principles.md
|
|
50
|
+
|
|
51
|
+
Draft a test strategy by layer, what to mock versus exercise for real, test
|
|
52
|
+
structure and naming, and the non-negotiable testing rules — consistent with the
|
|
53
|
+
test tooling chosen in step 2.
|
|
54
|
+
|
|
55
|
+
## When done
|
|
56
|
+
|
|
57
|
+
Confirm the four docs read correctly together. The project is then ready for
|
|
58
|
+
`write-prd`.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: verify-completion
|
|
3
|
+
description: Validate that a task is truly complete before reporting it done. Use when about to claim a task, feature, or fix is complete — run pnpm verify, confirm interaction tests cover new service methods, and confirm no TODOs remain in changed files.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Verify Completion
|
|
7
|
+
|
|
8
|
+
Run this before declaring any task done. Never claim completion without passing all steps.
|
|
9
|
+
|
|
10
|
+
## Checklist
|
|
11
|
+
|
|
12
|
+
- [ ] Run `pnpm verify` (lint + typecheck + deps + tests) — must pass clean
|
|
13
|
+
- [ ] Every new or modified service method has at least one interaction test
|
|
14
|
+
- [ ] No `TODO`, `FIXME`, or `@ts-ignore` introduced in changed files
|
|
15
|
+
- [ ] Architecture boundaries respected — `pnpm lint:deps` passes
|
|
16
|
+
- [ ] Original task requirements are fully met (re-read the request before confirming)
|
|
17
|
+
|
|
18
|
+
## On failure
|
|
19
|
+
|
|
20
|
+
Fix the issue before reporting done. Do not skip steps or mark items complete without running them.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: write-prd
|
|
3
|
+
description: Create a PRD through user interview, codebase exploration, and module design, then save it as a local markdown file in ai/prds/. Use when user wants to write a PRD, create a product requirements document, or plan a new feature.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
This skill will be invoked when the user wants to create a PRD. You may skip steps if you don't consider them necessary.
|
|
7
|
+
|
|
8
|
+
1. Ask the user for a long, detailed description of the problem they want to solve and any potential ideas for solutions.
|
|
9
|
+
|
|
10
|
+
2. Explore the repo to verify their assertions and understand the current state of the codebase.
|
|
11
|
+
|
|
12
|
+
3. Interview the user relentlessly about every aspect of this plan until you reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one.
|
|
13
|
+
|
|
14
|
+
4. Sketch out the major modules you will need to build or modify to complete the implementation. Actively look for opportunities to extract deep modules that can be tested in isolation.
|
|
15
|
+
|
|
16
|
+
A deep module (as opposed to a shallow module) is one which encapsulates a lot of functionality in a simple, testable interface which rarely changes.
|
|
17
|
+
|
|
18
|
+
Check with the user that these modules match their expectations. Check with the user which modules they want tests written for.
|
|
19
|
+
|
|
20
|
+
5. Once you have a complete understanding of the problem and solution, use the template below to write the PRD. Save it to `ai/prds/<YYYY-MM-DD>-<slug>.md`. To track externally, run `gh issue create` (or your tracker's equivalent) on the file after.
|
|
21
|
+
|
|
22
|
+
<prd-template>
|
|
23
|
+
|
|
24
|
+
## Problem Statement
|
|
25
|
+
|
|
26
|
+
The problem that the user is facing, from the user's perspective.
|
|
27
|
+
|
|
28
|
+
## Solution
|
|
29
|
+
|
|
30
|
+
The solution to the problem, from the user's perspective.
|
|
31
|
+
|
|
32
|
+
## User Stories
|
|
33
|
+
|
|
34
|
+
A LONG, numbered list of user stories. Each user story should be in the format of:
|
|
35
|
+
|
|
36
|
+
1. As an <actor>, I want a <feature>, so that <benefit>
|
|
37
|
+
|
|
38
|
+
<user-story-example>
|
|
39
|
+
1. As a mobile bank customer, I want to see balance on my accounts, so that I can make better informed decisions about my spending
|
|
40
|
+
</user-story-example>
|
|
41
|
+
|
|
42
|
+
This list of user stories should be extremely extensive and cover all aspects of the feature.
|
|
43
|
+
|
|
44
|
+
## Implementation Decisions
|
|
45
|
+
|
|
46
|
+
A list of implementation decisions that were made. This can include:
|
|
47
|
+
|
|
48
|
+
- The modules that will be built/modified
|
|
49
|
+
- The interfaces of those modules that will be modified
|
|
50
|
+
- Technical clarifications from the developer
|
|
51
|
+
- Architectural decisions
|
|
52
|
+
- Schema changes
|
|
53
|
+
- API contracts
|
|
54
|
+
- Specific interactions
|
|
55
|
+
|
|
56
|
+
Do NOT include specific file paths or code snippets. They may end up being outdated very quickly.
|
|
57
|
+
|
|
58
|
+
## Testing Decisions
|
|
59
|
+
|
|
60
|
+
A list of testing decisions that were made. Include:
|
|
61
|
+
|
|
62
|
+
- A description of what makes a good test (only test external behavior, not implementation details)
|
|
63
|
+
- Which modules will be tested
|
|
64
|
+
- Prior art for the tests (i.e. similar types of tests in the codebase)
|
|
65
|
+
|
|
66
|
+
## Out of Scope
|
|
67
|
+
|
|
68
|
+
A description of the things that are out of scope for this PRD.
|
|
69
|
+
|
|
70
|
+
## Further Notes
|
|
71
|
+
|
|
72
|
+
Any further notes about the feature.
|
|
73
|
+
|
|
74
|
+
</prd-template>
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: write-skill
|
|
3
|
+
description: Create new agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, or build a new skill.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Writing Skills
|
|
7
|
+
|
|
8
|
+
## Process
|
|
9
|
+
|
|
10
|
+
1. **Gather requirements** - ask user about:
|
|
11
|
+
- What task/domain does the skill cover?
|
|
12
|
+
- What specific use cases should it handle?
|
|
13
|
+
- Does it need executable scripts or just instructions?
|
|
14
|
+
- Any reference materials to include?
|
|
15
|
+
|
|
16
|
+
2. **Draft the skill** - create:
|
|
17
|
+
- SKILL.md with concise instructions
|
|
18
|
+
- Additional reference files if content exceeds 500 lines
|
|
19
|
+
- Utility scripts if deterministic operations needed
|
|
20
|
+
|
|
21
|
+
3. **Review with user** - present draft and ask:
|
|
22
|
+
- Does this cover your use cases?
|
|
23
|
+
- Anything missing or unclear?
|
|
24
|
+
- Should any section be more/less detailed?
|
|
25
|
+
|
|
26
|
+
## Skill Structure
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
skill-name/
|
|
30
|
+
├── SKILL.md # Main instructions (required)
|
|
31
|
+
├── REFERENCE.md # Detailed docs (if needed)
|
|
32
|
+
├── EXAMPLES.md # Usage examples (if needed)
|
|
33
|
+
└── scripts/ # Utility scripts (if needed)
|
|
34
|
+
└── helper.js
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## SKILL.md Template
|
|
38
|
+
|
|
39
|
+
```md
|
|
40
|
+
---
|
|
41
|
+
name: skill-name
|
|
42
|
+
description: Brief description of capability. Use when [specific triggers].
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
# Skill Name
|
|
46
|
+
|
|
47
|
+
## Quick start
|
|
48
|
+
|
|
49
|
+
[Minimal working example]
|
|
50
|
+
|
|
51
|
+
## Workflows
|
|
52
|
+
|
|
53
|
+
[Step-by-step processes with checklists for complex tasks]
|
|
54
|
+
|
|
55
|
+
## Advanced features
|
|
56
|
+
|
|
57
|
+
[Link to separate files: See [REFERENCE.md](REFERENCE.md)]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Description Requirements
|
|
61
|
+
|
|
62
|
+
The description is **the only thing your agent sees** when deciding which skill to load. It's surfaced in the system prompt alongside all other installed skills. Your agent reads these descriptions and picks the relevant skill based on the user's request.
|
|
63
|
+
|
|
64
|
+
**Goal**: Give your agent just enough info to know:
|
|
65
|
+
|
|
66
|
+
1. What capability this skill provides
|
|
67
|
+
2. When/why to trigger it (specific keywords, contexts, file types)
|
|
68
|
+
|
|
69
|
+
**Format**:
|
|
70
|
+
|
|
71
|
+
- Max 1024 chars
|
|
72
|
+
- Write in third person
|
|
73
|
+
- First sentence: what it does
|
|
74
|
+
- Second sentence: "Use when [specific triggers]"
|
|
75
|
+
|
|
76
|
+
**Good example**:
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when user mentions PDFs, forms, or document extraction.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**Bad example**:
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
Helps with documents.
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
The bad example gives your agent no way to distinguish this from other document skills.
|
|
89
|
+
|
|
90
|
+
## When to Add Scripts
|
|
91
|
+
|
|
92
|
+
Add utility scripts when:
|
|
93
|
+
|
|
94
|
+
- Operation is deterministic (validation, formatting)
|
|
95
|
+
- Same code would be generated repeatedly
|
|
96
|
+
- Errors need explicit handling
|
|
97
|
+
|
|
98
|
+
Scripts save tokens and improve reliability vs generated code.
|
|
99
|
+
|
|
100
|
+
## When to Split Files
|
|
101
|
+
|
|
102
|
+
Split into separate files when:
|
|
103
|
+
|
|
104
|
+
- SKILL.md exceeds 100 lines
|
|
105
|
+
- Content has distinct domains (finance vs sales schemas)
|
|
106
|
+
- Advanced features are rarely needed
|
|
107
|
+
|
|
108
|
+
## Review Checklist
|
|
109
|
+
|
|
110
|
+
After drafting, verify:
|
|
111
|
+
|
|
112
|
+
- [ ] Description includes triggers ("Use when...")
|
|
113
|
+
- [ ] SKILL.md under 100 lines
|
|
114
|
+
- [ ] No time-sensitive info
|
|
115
|
+
- [ ] Consistent terminology
|
|
116
|
+
- [ ] Concrete examples included
|
|
117
|
+
- [ ] References one level deep
|