Agent skill
generate-modes
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.
Install this agent skill to your Project
npx add-skill https://github.com/SteveBronder/skillrena/tree/main/skillrena/generate-modes
SKILL.md
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.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
generating-subtasks
Converts approved design documents into agent-executable XML subtasks. Use after a design doc is approved and ready for implementation.
recording-diary
Records session learnings and decisions before context compaction. Use before ending a long session or when the user asks to save session notes.
activating-memories
Loads project-specific memories at session start and triggers onboarding for new projects. Use when starting a new coding session or when the user says "activate" or asks about project context.
writing-memories
Writes or updates memory files with proper YAML frontmatter in the agent's memories directory. Use when saving new project learnings or updating existing memory files.
bootstrapping-design-docs
Creates design document infrastructure including templates, workflows, and a specific design doc skill. Use when setting up design docs for a new project or when the user mentions "bootstrapping-design-docs".
edit-article
Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.
Didn't find tool you were looking for?