
method
by tkersey
public dot files
SKILL.md
name: method description: Create a new skill that encodes a team’s bead-implementation method and packages it as a .skill. Use only when the user explicitly says "$method".
Method
Overview
Turn a team’s bead-implementation method (defaults + per-bead intake questions) into a new Codex skill, then package it as a .skill in the current directory.
Workflow (step-by-step)
0) Gate on explicit invocation
Proceed only if the user explicitly says $method.
1) Elicit the method (discover, then ask)
Before asking the user anything, try to discover what you can from the repo:
- Read any
AGENTS.mdin scope. - Skim
README*,CONTRIBUTING*, and the nearest "how to test" docs. - Identify the toolchain + entrypoints:
Makefile,justfile,Taskfile.yml,package.json,pyproject.toml,Cargo.toml,go.mod, CI config, etc. - Write down a short Snapshot so you don’t re-ask discoverable facts.
Then ask the remaining judgment calls as a numbered block and wait for answers.
Use this exact heading:
METHOD: HUMAN INPUT REQUIRED
1. ...
Ask these in order.
Answer format expectations:
- Reply with numbered answers.
- For commands, give copy-pastable commands.
- If you don’t know, say "unknown" (don’t guess).
Inference rule:
- Do not ask the user to pick “safety vs speed”; infer default posture from required signals + autonomy + invariants. Ask explicitly only if still unclear.
Core questions (ask these first; always):
- Goal: What does “properly implement a bead” mean for your team? (1–3 sentences)
- Skill boundary: Default: implement one bead end-to-end (including git/PR). If you want protocol-only (no git/PR unless explicitly requested), say so.
- Triggering + non-triggering: Give 3–5 example prompts that SHOULD trigger the new skill, and 1–2 that should NOT.
- Target user: Who is the target user (agent type, experience level, typical use cases)?
- Runtime intake (hybrid): At the start of each bead, what questions should the skill ask before editing code? (Aim for 5–10. Include feature/refactor/bugfix-specific ones if different.)
- Source of truth: Where do requirements live for a bead? (beads/issue tracker, spec doc paths, tests, design docs)
- Definition of done: What must be true before the bead is done? Include your git policy (commit/push/PR), docs requirements, and any CI gates.
- Proof commands: Provide exact commands (or canonical entrypoints) for each category:
- formatter
- lint/typecheck
- build/package
- fastest credible test signal
- full test suite (if different)
- Autonomy gate: When may the agent proceed without asking vs must stop? Give 2 concrete examples of each.
- Feature beads: What is the preferred implementation strategy? (e.g., smallest vertical slice, UI expectations, backwards compat)
- Refactor beads: What constraints apply? (semantics-preserving, characterization tests required, API stability)
- Bugfix beads: What is the preferred debugging strategy? (repro-first? characterization tests? instrumentation?) Any rollback/release posture?
Optional deepeners (ask only if still ambiguous):
13. Scope / no-go: What is explicitly out of scope? (no-go directories/files; forbidden refactors; forbidden dependency changes)
14. Invariants: What invariants must remain true across feature/refactor work? (compat guarantees, data integrity rules, public API stability)
15. Architecture boundaries: Where should changes live, and what dependencies/layers are forbidden?
16. Data model (if applicable): Where is schema defined? Are migrations allowed? What’s the compatibility policy?
17. Error handling posture: Fail-fast vs recover; logging/telemetry requirements; user-visible behavior.
18. Performance / latency (if applicable): Any budgets, SLOs, or known hotspots to avoid?
19. Security / compliance (if applicable): secrets/PII rules, authz expectations, audit logging, approved deps.
20. Tooling constraints: must-use tools (e.g., uv, jj, gh), formatters/linters, CI gates, and any banned/destructive commands.
21. Influences: Which existing skills should influence this method? (e.g., $sp, $fix, $close-the-loop, $commit, $beads) For each: align / adapt / diverge.
22. Output format: What should the skill output every run? (patch summary, file list, commands run, proof block, PR link, etc.)
23. Bead ledger (optional; ask only if the repo uses one): If the repo uses bd (beads) or another work ledger, what updates are required during/after the run? (status updates, comments, close reason, linking discovered work)
2) Derive the new skill spec
From the answers, define:
- Skill name (lowercase, hyphenated)
- Frontmatter description with explicit trigger conditions
- Core doctrine/values (short, directive)
- Runtime intake questions (what the skill asks before editing)
- Autonomy gate (when it may proceed vs must ask)
- Deliverable expectations (what the skill must output each run)
- Guardrails (what it must not do)
2.5) Confirm the spec (don’t skip)
Before creating files, present a 1-page summary:
- Proposed skill name + frontmatter description
- Workflow outline (major sections)
- Guardrails + deliverable format
- Planned
scripts//references//assets/(if any)
Ask for an explicit “go ahead” before running init_skill.py.
3) Plan reusable contents
Decide whether to add:
scripts/for repeatable automationreferences/for detailed doctrine or policiesassets/for templates or boilerplate
Keep SKILL.md lean; move depth into references only if it will be reused.
4) Initialize the skill
Create the new skill with the system script:
uv run codex/skills/.system/skill-creator/scripts/init_skill.py <skill-name> --path codex/skills
Create resource directories only if needed.
5) Write SKILL.md for the new skill
- Use imperative/infinitive form.
- Encode the method as a concrete workflow with clear guardrails.
- Include the explicit trigger rule in frontmatter description.
- Include the example triggers/non-triggers provided by the user.
- If influenced by $sp or $trace, reference them by name only; do not copy their contents.
Suggested structure:
- Overview
- Core doctrine / values
- Workflow (step-by-step)
- Guardrails
- Deliverable format
6) Package the skill
Package into the current directory and report the path:
uv run codex/skills/.system/skill-creator/scripts/package_skill.py codex/skills/<skill-name> .
Confirm the output file name (e.g., ./<skill-name>.skill).
Guardrails
- Do not proceed without explicit
$methodinvocation. - Do not create extra docs (README/CHANGELOG/etc.).
- Do not invent values; only encode what the user states.
- Keep SKILL.md frontmatter valid (
namehyphen-case <= 64 chars;description<= 1024 chars; no<or>in description). - Keep changes minimal and reversible.
Deliverable
- A packaged
.skillin the current directory. - A short summary of what the new skill encodes and how it should be triggered.
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です