@@ -23,13 +23,34 @@ Followed by:
23234 . Add the skill name to the ` SKILLS ` array in ` setup `
24245 . Test it: run ` ./setup ` then try the trigger in Kiro CLI
2525
26+ ## Custom Skills (Personal Use)
27+
28+ Want to add your own skills without them being overwritten by ` git pull ` ?
29+
30+ Put them in the ` custom/ ` directory — it's gitignored:
31+
32+ ```
33+ kstack/
34+ ├── custom/ ← your personal skills (gitignored)
35+ │ └── my-custom-skill/
36+ │ └── SKILL.md
37+ ├── plan-product/ ← kstack skills (tracked by git)
38+ ...
39+ ```
40+
41+ Then symlink manually:
42+ ``` bash
43+ ln -sf ~ /.kiro/skills/kstack/custom/my-custom-skill ~ /.kiro/skills/my-custom-skill
44+ ```
45+
2646## Skill Design Rules
2747
2848- ** One skill = one cognitive mode.** Don't blend planning with review.
2949- ** Be opinionated.** Vague skills produce vague results.
3050- ** Include output format.** The agent needs to know what shape the response should take.
3151- ** No personal config.** Skills must work for any Kiro CLI user.
3252- ** No external dependencies.** Pure Markdown. No binaries, no npm, no API keys.
53+ - ** Defensive pre-flight.** Skills that depend on git should detect non-git environments gracefully.
3354
3455## Eval Test Cases
3556
@@ -43,6 +64,12 @@ Every skill must have evals. Format:
4364 - " Another expected behavior"
4465` ` `
4566
67+ Include adversarial test cases:
68+ - Vague or empty input
69+ - Wrong environment (e.g. non-git repo for ship)
70+ - Trivially correct input (e.g. clean code for code-review)
71+ - User trying to override safety checks
72+
4673Expectations should be:
4774- **Observable** — can be verified from the output
4875- **Specific** — not "does a good job" but "produced an ASCII diagram"
@@ -53,3 +80,11 @@ Expectations should be:
5380Manual: run each eval prompt through ` kiro-cli chat` and check expectations.
5481
5582Automated : use any LLM-as-judge framework that reads `test_cases.yaml`.
83+
84+ # # CI
85+
86+ Every push runs :
87+ 1. SKILL.md front matter validation (name + description required, name must match directory)
88+ 2. Eval YAML structure validation (id + prompt + expectations required)
89+ 3. Setup script syntax check
90+ 4. Setup install/verify/remove integration test
0 commit comments