一键导入
writing-skills
Use when creating a new skill or pattern for the dojo — guides the SKILL.md and PATTERN.md format, CSO lint rules, and index registration
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when creating a new skill or pattern for the dojo — guides the SKILL.md and PATTERN.md format, CSO lint rules, and index registration
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when a structured PRD document is needed for the ralph loop — generates prd.json and progress.txt
Use when task scope exceeds one context window and decomposes into independent pass/fail stories with clean iteration boundaries
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work — merge, PR, or cleanup
Use when starting feature work that needs isolation from the current workspace or before executing plans that could leave the branch in a broken state
Use when a hard problem was just solved and the solution should be captured as a learning for future reference
Use when 3+ distinct occurrences suggest a skill should be updated with a new trigger, anti-pattern, or verification step
| name | writing-skills |
| description | Use when creating a new skill or pattern for the dojo — guides the SKILL.md and PATTERN.md format, CSO lint rules, and index registration |
| tags | ["meta","authoring","skills"] |
| triggers | ["create skill","new skill","write skill","add skill","create pattern","new pattern","write pattern"] |
| chains_to | [] |
| priority | core |
| gate | false |
Create new skills or patterns following the exact format. Run the linter. Register in the index. Every skill must pass CSO lint before it ships.
propose-skill-update for ratchet additions)my-skill-namehelper, utility, misc---
name: my-skill-name
description: Use when [triggering conditions only — never workflow summaries]
tags: [relevant, tags]
triggers: [trigger1, trigger2, trigger3]
chains_to: [next-skill, optional-skill]
priority: core
gate: false
---
# Skill Name
## Quick Reference
[1-2 sentences: what to do first]
## When to Use
[Detailed trigger conditions]
## When NOT to Use
[Explicit exclusions — prevent false matches]
## Core Process
[Step-by-step process — this is what gets followed]
## Anti-Patterns
[Table of what NOT to do and why]
## Chaining
REQUIRED: syntaxninja-dojo:next-skill (always after this skill)
OPTIONAL: syntaxninja-dojo:conditional-skill (when X)
The description field has strict rules:
The name field:
skills/<skill-name>/SKILL.md
Optional supporting files:
skills/<skill-name>/
├── SKILL.md # Entry point (under 500 lines)
├── references/ # Detailed docs loaded on demand
├── scripts/ # Executable helpers
└── templates/ # Output templates
Run the index builder:
npx tsx scripts/build-index.ts
# or
bash scripts/build-index.sh
If lint fails, fix the errors. The index won't build with lint errors.
| Type | Use When |
|---|---|
library | How to use a specific library (zustand, react-query) |
structure | How to organize code (folder structure, naming) |
---
name: pattern-name
type: library
library: package-name
severity: p2
file-globs: ["*.ts", "*.tsx"]
detect: ["from 'package'", "import { thing }"]
signatures: ["apiCall(", "useHook("]
tags: [relevant, tags]
autofix: ""
---
# Pattern Name
## Preferred Pattern
[Concrete code example of the RIGHT way]
## Rules
[Bullet list of rules]
## Anti-Patterns
[Concrete code examples of the WRONG way]
## When to Apply
[When this pattern should be checked]
Library patterns need at least 2 of 3 signals:
Structure patterns typically have empty detect and signatures (they rely on file-globs only) and are checked only during file creation/moves.
| Severity | When | Default Action |
|---|---|---|
p1 | Correctness or safety issue | Blocks merge |
p2 | Maintainability issue | Should fix |
p3 | Style/taste preference | Nice to have |
Same as skills — run build-index.ts.
| Anti-Pattern | Why It's Wrong |
|---|---|
| Skills without "When NOT to Use" | False matches waste time |
| Vague descriptions ("Use for code stuff") | CSO lint will reject it. Be specific. |
| Skills over 500 lines | Split into SKILL.md + references/ |
| Patterns without code examples | Patterns must show the preferred way, concretely |
| All P1 severity | Only correctness/safety issues are P1. Most patterns are P2-P3. |
None — this is a terminal skill.