Define reusable skills with YAML frontmatter and markdown
Skills in Pro Workflow are reusable, self-contained procedures defined in markdown with YAML frontmatter. They can be invoked by users, agents, or preloaded into agent context.
---name: api-conventionsdescription: REST API design patternsuser-invocable: false---# API Conventions- Use camelCase for JSON- Use snake_case for database- Bearer token auth
Usage: Loaded into agent context at startup via skills: ["api-conventions"]
---name: replay-learningsdescription: Surface relevant past learningsuser-invocable: truecontext: fork---# Replay LearningsSearch database for relevant learnings without polluting main context.
Usage:/replay-learnings or Claude invokes when needed
---name: developdescription: Multi-phase feature developmentagent: orchestrator---# DevelopDelegate to orchestrator agent for Research > Plan > Implement workflow.
Usage:/develop <feature> delegates to orchestrator agent
---name: wrap-updescription: End-of-session ritual that audits changes, runs quality checks, captures learnings, and produces a session summary. Use when saying "wrap up", "done for the day", "finish coding", or ending a coding session.user-invocable: trueallowed-tools: ["Read", "Bash"]---# Wrap-Up RitualEnd your coding session with intention.## Workflow1. **Changes Audit** — What files were modified? Anything uncommitted? TODOs left in code?2. **Quality Check** — Run lint, typecheck, and tests. All passing? Any warnings?3. **Learning Capture** — What mistakes were made? What patterns worked well? Format as `[LEARN] Category: Rule`4. **Next Session Context** — What's the next logical task? Any blockers? Context to preserve?5. **Summary** — One paragraph: what was accomplished, current state, what's next.## Commands\`\`\`bashgit statusgit diff --statnpm run lint 2>&1 | head -20npm run typecheck 2>&1 | head -20npm test -- --changed --passWithNoTests\`\`\`## Output- Modified file list with uncommitted changes highlighted- Quality gate results- Captured learnings (if any)- One-paragraph session summary- Next session resume contextAfter completing checklist, ask: "Ready to end session?"
Orchestrate Skill
---name: orchestratedescription: Wire Commands, Agents, and Skills together for complex features. Use when building features that need research, planning, and implementation phases.user-invocable: trueagent: orchestrator---# Orchestrate - Multi-Phase Feature DevelopmentDelegate to orchestrator agent for structured feature development.## The Pattern\`\`\`text/develop <feature> │ ├── Phase 1: Research (orchestrator agent) │ └── Score confidence → GO/HOLD │ ├── Phase 2: Plan (orchestrator agent) │ └── Present plan → wait for approval │ ├── Phase 3: Implement (orchestrator agent) │ └── Execute plan → quality gates │ └── Phase 4: Review (reviewer agent) └── Code review → commit\`\`\`## UsageWhen asked to build a feature:1. **Start with research**: Delegate to orchestrator agent2. **Wait for GO/HOLD**: Don't proceed if confidence < 703. **Present a plan**: List all files, approach, risks4. **Get approval**: Never implement without explicit "proceed"5. **Implement step by step**: Quality gates every 5 edits6. **Review before commit**: Run reviewer agent
Replay Learnings Skill
---name: replay-learningsdescription: Surface relevant past learnings for the current taskuser-invocable: truecontext: forkallowed-tools: ["Bash"]---# Replay LearningsSurface relevant learnings without polluting main context.## Workflow1. Ask user what they're working on2. Search learnings database for relevant patterns3. Present top 5 matches4. Ask if user wants to apply any## Search\`\`\`bashnode -e "const { createStore, searchLearnings } = require('pro-workflow');const store = createStore();const results = searchLearnings(store.db, process.argv[1], { limit: 5 });if (results.length > 0) { console.log('Relevant learnings:'); for (const r of results) { console.log('\\n#' + r.id + ' [' + r.category + '] ' + r.rule); if (r.mistake) console.log(' Mistake: ' + r.mistake); if (r.correction) console.log(' Correction: ' + r.correction); console.log(' Applied: ' + r.times_applied + 'x'); }}store.close();" "<query>"\`\`\`