| name | clawdoodles |
| description | Manage Clawdoodle packs and templates. Create new templates, manage packs, audit quality, and switch the active pack. Triggers on "clawdoodle", "template", "pack", "add template", "create pack", "switch pack". |
Clawdoodles — Pack & Template Management
Clawdoodles are agent templates organized into packs. Each pack is a themed set of 9+ templates across difficulty tiers (beginner, advanced, recipe). One pack is active at a time — its templates show in the web UI's + menu.
Directory Structure
clawdoodles/
├── blocks/ # Reusable building blocks (platform primitives)
├── fragments/ # Structural scaffolding for templates
├── packs/
│ ├── starter/ # Default pack (active)
│ │ ├── pack.json # Pack metadata + achievement definitions
│ │ ├── morning-vibes/
│ │ ├── deal-hunter/
│ │ └── ...
│ └── team-ops/ # Engineering team workflows
│ ├── pack.json
│ └── ...
├── generator-prompt.md # System prompt for AI template generation
└── manifest.json # Active pack pointer + block registry
Commands
Parse the user's request to determine which operation:
/clawdoodles list — Show packs and templates
- Read
clawdoodles/manifest.json for active pack
- List all packs in
clawdoodles/packs/ with their pack.json metadata
- For the active pack, show all templates grouped by tier
- Show achievement definitions from the active pack's pack.json
/clawdoodles switch [pack] — Change active pack
- Verify the pack exists in
clawdoodles/packs/
- Update
manifest.json → activePack field
- Confirm: the web UI will show the new pack's templates on next load
- Remind:
npm run build is NOT needed — manifest is read at runtime
/clawdoodles create pack [name] — Create a new pack
- Ask: "What's this pack for?" (theme, audience, purpose)
- Ask: "How many templates?" (recommend 9 — 3 per tier)
- Ask: "What information should be collected during onboarding?" — these become
setup fields in pack.json. The web UI renders them as a wizard before showing templates. Values are saved to groups/global/user-config.json and merged into every new group's agent-config.json.
- Each step has a title, subtitle, and array of fields
- Fields have: key, label, placeholder, type (text/timezone/secret), required (boolean)
- The Starter Pack only asks for name + timezone
- Team Ops asks for name, role, team, org, Atlassian, GitHub, GitLab
- Never collect secrets in setup fields — use
request_credential MCP tool at runtime instead
- Design achievement definitions for the pack:
- Group into categories (e.g., "first_steps", "core_skills", "mastery")
- Each achievement needs: id, name, description, xp
- Achievements should tell a progression story
- Create
clawdoodles/packs/{name}/pack.json with metadata, setup, and achievements
- Scaffold empty template directories
/clawdoodles add [template] — Add a template to the active pack
- Ask: "What does this template teach?" (which platform concepts)
- Ask: "What tier?" (beginner / advanced / recipe)
- Ask: "Describe the scenario" (what the agent does)
- Check which blocks are relevant (read
clawdoodles/blocks/)
- Create the template:
meta.json — name, description, tier
agent-config.example.json — default config fields
CLAUDE.md — full agent instructions using blocks as reference
- CLAUDE.md requirements:
- First-run config check + guided onboarding
- Achievement hooks from the pack's pack.json (reference by category)
- Interactive commands table
- Event logging via event-log.sh
- Progressive discovery suggestions
- Files section
- At least 150 lines
- Update pack.json if new achievements are needed
/clawdoodles fix [template] — Improve a template
- Read the template's CLAUDE.md
- Check against quality standards (below)
- Fix issues: stale tool names, missing achievements, weak onboarding
- Verify all referenced tools exist in
clawdoodles/blocks/
/clawdoodles audit — Quality check all templates in active pack
For each template in the active pack:
- Achievement coverage — every achievement in pack.json is referenced by at least one template
- Tool references — all tools/scripts in CLAUDE.md exist in blocks
- File paths —
/workspace/group/, /workspace/scripts/ match container reality
- Onboarding flow — has config check, guided setup, achievement unlocks
- Rich output — uses :::blocks::: for structured content
- Event logging — has event-log.sh examples
- Interactive commands — has a commands table
- Progressive discovery — suggests next steps
- Length — CLAUDE.md is 150+ lines
Report as a table with pass/fail per check.
/clawdoodles generate [description] — AI-generate a template
- Read the blocks library and generator-prompt.md
- Use the description to generate a complete template (meta.json, CLAUDE.md, agent-config)
- Write to the active pack
- Review and adjust before committing
Pack Design Guidelines
Achievement Design
Each pack defines achievements in pack.json grouped into categories:
{
"achievements": {
"first_steps": [
{ "id": "first_contact", "name": "First Contact", "description": "...", "xp": 10 }
],
"core_skills": [...],
"mastery": [...]
}
}
- Categories tell a story: first_steps → core_skills → mastery
- XP increases with difficulty: 10-15 for basics, 20-25 for skills, 30+ for mastery
- Every template should unlock 4-7 achievements
- Achievements should feel earned, not given away — unlock at moments of genuine progress
Template Quality Standards
- CLAUDE.md 150+ lines with real depth
- First-run config check with guided one-at-a-time onboarding
- Achievement hooks with explicit pack category references
- Rich output blocks for all structured content
- Event logging for key domain events
- Interactive commands table
- Progressive discovery (suggest features + other templates)
- References only tools that exist in the blocks library
Pack Sizing
- Standard: 9 templates (3 per tier)
- Mini: 3-6 templates (focused theme)
- Full: 12+ templates (comprehensive coverage)
- Every pack needs a pack.json with achievements