
generate-modes
by SteveBronder
SKILL.md
name: generate-modes description: Generates three project-specific behavioral mode skills (planner, debugger, qa-tester) from project memories and bundled templates, and makes them selectable via switching-modes. Use when creating project-local agent modes for a repository.
Generate modes
Goal
Create three project-specific, behavioral mode skills under ./.{AGENT_NAME}/skills/:
{slug}-mode-planner{slug}-mode-debugger{slug}-mode-qa-tester
Each mode must:
- Always state acceptance criteria and how to verify locally.
- Never change or weaken existing tests without explicit approval.
- When drafting skills, follow the Agent Skills spec (valid frontmatter; keep
SKILL.mdunder ~500 lines; use progressive disclosure).
The modes must be written so they do not reference any specific benchmark, puzzle set, or domain-specific toy terms. They must read as general-purpose operating procedures.
For concrete “golden” examples of what the generated mode SKILL.md files should look like after adaptation, see references/examples.md.
Quick start
-
Activate memories
- Run
$activating-memories. - Ensure baseline memory skills exist under
./.{AGENT_NAME}/skills/memories/ - If memories are missing or stale, update them before generating modes.
- Run
-
Choose a project slug
- Prefer a slug stated in
project_overview. - Otherwise derive from the repository folder name.
- Slug rules: lowercase, digits, hyphens; no leading/trailing hyphen; no consecutive hyphens.
- Length rule (spec compliance): generated skill
namemust be ≤ 64 chars and match its directory name.- Longest suffix is
-mode-qa-tester(15 chars), so{slug}must be ≤ 49 chars.
- Longest suffix is
- Prefer a slug stated in
-
Read the bundled templates
- Read:
assets/planner-template.mdassets/debugger-template.mdassets/qa-tester-template.md
- Read:
-
Generate three mode skills For each template:
- Adapt it to the project by adding:
- the
{slug}mode name - links to relevant memories (do not paste memory contents)
- project-specific verification commands (link to
suggested_commands-sklfor the canonical list)
- the
- Write the resulting skill to:
./.{AGENT_NAME}/skills/{slug}-mode-planner/SKILL.md./.{AGENT_NAME}/skills/{slug}-mode-debugger/SKILL.md./.{AGENT_NAME}/skills/{slug}-mode-qa-tester/SKILL.md
- Adapt it to the project by adding:
-
Make the modes selectable via
$switching-modes- If
./.{AGENT_NAME}/skills/switching-modes/exists, update its mode registry to include the three new modes.- Prefer editing an explicit “Mode registry” list in
./.{AGENT_NAME}/skills/switching-modes/SKILL.md(if present).
- Prefer editing an explicit “Mode registry” list in
- If it does not exist, create a project-local
./.{AGENT_NAME}/skills/switching-modes/SKILL.mdthat:- writes
./.{AGENT_NAME}/state.jsonwith{ "mode": "<mode-name>" } - documents both baseline modes (if used) and the three new project modes
- start from
assets/switching-modes-stub.mdto avoid bikeshedding
- writes
- After this, switching is done by running:
$switching-modes {slug}-mode-planner$switching-modes {slug}-mode-debugger$switching-modes {slug}-mode-qa-tester
- If
-
Validate the generated skills
- Minimum manual checks:
- Each generated directory name exactly matches its SKILL frontmatter
name. - Each generated
descriptionis third-person and includes “Use when …”.
- Each generated directory name exactly matches its SKILL frontmatter
- Optional (if available): run
skills-ref validateon each generated skill directory.
- Minimum manual checks:
Required structure of each generated mode skill
Each mode skill must be a valid Agent Skill.
Frontmatter
Example for planner:
---
name: {slug}-mode-planner
description: Behavioral mode for planning and design work in {slug}. Use when scoping changes, producing design docs, or deciding between approaches.
---
Body
Include these sections (in any order):
- When to use (triggers)
- Operating loop (the step-by-step behavior)
- Question protocol (how to ask questions; allow questions in all modes)
- Output discipline (acceptance criteria + local verification; test-change guardrail)
- Project context pointers (links to memories)
Keep the body concise. If the mode needs lengthy reference material, create references/ files and link them.
Adaptation rules
When adapting templates:
- Prefer links to memories, e.g.
../memories/project_overview-skl/SKILL.md, not copy/paste. - Use the project’s terminology: module names, CLI names, test runner names, etc.
- Avoid generic fluff. Encode actionable guardrails, checks, and concrete steps.
- Ensure the mode is usable standalone by a future agent who has access to the memories.
Failure modes and how to handle them
- Unknown
{AGENT_NAME}: infer from the local agent folder present (e.g..claude,.codex). If none exist, ask the user what agent folder to use. - Mode name collisions: if a target directory already exists, do not overwrite silently. Either append a suffix (e.g.
-v2) or ask the user which to keep. - No reliable test commands: link to
suggested_commands-skland ask the user to confirm the correct test command(s) if missing.
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon