skills/using-skills/SKILL.md
Teaches agents how to discover, select, and invoke skills from the skill library. Use this skill whenever you're uncertain which skill applies to a task, when composing multiple skills for complex work, or when you need to understand what skills are available. This is your go-to when facing an ambiguous task and need to figure out the right approach before diving into implementation.
npx skillsauth add maestria-co/ai-playbook using-skillsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Agents use this skill to navigate the skill library at runtime. It teaches discovery, selection, invocation, and composition so agents can choose the right skill without human guidance.
skills/GUIDE.md — the master index with quick-selection table and task-type mappingskills/ directory — each subfolder contains a SKILL.mdskills/_shared/conventions.md — cross-cutting rules all skills followWhen facing a task:
Most tasks need exactly one skill. Pick it and go.
User asks: "Fix the login timeout bug"
→ implementing-features (clear bug fix with acceptance criteria)
Compose only when one skill's output feeds another skill's input.
User asks: "Design and implement a caching layer"
→ designing-systems (produces ADR with approach)
→ implementing-features (uses ADR as spec)
→ writing-tests (validates implementation)
When invoking a skill:
I'm using the [skill-name] skill to handle this task.
Pre-flight:
- [x] Condition 1 met
- [x] Condition 2 met
Proceeding with execution steps...
Skills execute one after another, each consuming the previous output.
planning-tasks → implementing-features → writing-tests
Rule: Only chain when output A is input B. Independent tasks run separately.
When planning reveals unknowns, fork into research before continuing.
planning-tasks
├── researching-options (unknown 1)
├── researching-options (unknown 2)
└── continue with implementing-features
When implementation requires an architecture decision, gate on design.
designing-systems (must complete first)
└── implementing-features (uses ADR as spec)
Setup and context management. Typically run once or periodically.
initialize-repo — set up .context/ for a new projectcontext-loader — how to read .context/ efficientlycontext-maintenance — keep .context/ accuratecontext-review — full codebase scan to sync docsDefine what to build and how. Run before implementation.
planning-tasks — break goals into task liststask-plan — canonical plan format for handoffsdesigning-systems — architecture decisions (ADRs)design-first — triage: design first or implement directly?researching-options — evaluate libraries/approachesBuild and validate. The core work loop.
implementing-features — write/modify codewriting-tests — write/run testssystematic-debugging — structured debugging processCross-cutting quality practices. Referenced during other skills.
common-constraints — universal agent rulesverification-checklist — pre-completion checklisttesting-discipline — TDD and test quality practicescommit-discipline — git commit conventionsReflection and improvement. Run after tasks complete.
task-retrospective — structured reflectionknowledge-graduation — promote patterns to permanent docsdevelopment
Writes and runs a test suite for a piece of code, covering happy path, edge cases, error cases, and security cases. Use when: implementation is complete and needs test coverage, a bug needs a reproduction test and fix validation, or code needs coverage before a refactor. Do not use when: the code under test is not yet implemented, or the spec is still unclear.
testing
Use when creating a new skill, editing an existing skill, or helping a user author a skill for this system. Covers structure, discoverability, quality, and discipline hardening.
development
Evidence-based verification process to run before marking any task complete. Use this skill every time you're about to report that work is done — for features, bug fixes, refactoring, or any code change. This catches the most common failure mode: declaring "done" without proof. If you're finishing up and about to tell the user the task is complete, run this checklist first.
development
Safely upgrade a language version, framework, or major dependency. Use when someone says "upgrade Node to v22", "migrate to React 19", "we need to get off this old version", "update our framework", or "how do we upgrade X?". Also triggers when a security advisory requires a version bump. Scope is infrastructure only: manifests, lock files, build configuration, and source changes required by the new version. Content drift discovered during an upgrade (outdated docs, stale patterns) is out of scope — delegate those to `context-maintenance`. Prevents the most common upgrade pitfalls: skipping migration guides, multi-major jumps, and losing rollback options.