
Find exact, version-correct library/API/framework docs through one lookup workflow. Use when the user says "look up docs", "how to use", "API for", "syntax for", "examples of", "show me the docs", mentions "ctx7"/"Context7", passes a `/org/project` library ID, or needs API signatures, config keys, syntax, examples, or versioned docs. NOT for comparisons, current-state or release-behavior questions, best-practice surveys, or recent ecosystem news — use researching-web.
Remove merged local branches and stale git worktrees. Use when the user says "cleanup branches", "prune worktrees", "tidy git", "remove merged branches", "delete merged branches", "gone branches", or wants to clean local git state. NOT for creating commits, creating worktrees, or configuring git hooks.
Structured stepwise reasoning with explicit revisions and branches. Use when the user says "think step by step", "sequential thinking", "plan this out", "reason through this", "branch this idea", or when tackling a hard multi-step problem (architecture decisions, ambiguous bugs, multi-constraint tradeoffs, plans that may need revision). NOT for trivial lookups, single-tool fetches, or tasks the model can answer directly without planning. NOT for open-ended option exploration or idea generation; use brainstorming-ideas. NOT for arguing a claim from both sides to prove or disprove it.
Audit and improve AI coding-agent configuration. Use when reviewing or changing Claude Code, Pi, Codex, skill, agent, hook, MCP, permission, package, or generated-export setup. Default is review-only; fixes require explicit user approval or --fix. NOT for score-only instruction review or prompt lint; use reviewing-instructions. NOT for application config, git hygiene, code bugs, ordinary docs, or generated files without their source.
Create normal git commits with logical grouping. Use when committing, saving changes, creating commits, or grouping work into commits. NOT for amending, rebasing, force-pushing, or rewriting history.
Use when asked to lint, audit, review, or score AI-facing instruction files such as SKILL.md, AGENT.md, AGENTS.md, CLAUDE.md, platform body.md files, prompt files, rules, policies, and agent-facing references. NOT for plugin manifests, application code review, harness configuration review, ordinary docs, tests, or generated build output.
Improve test design, speed, and coverage with behavior-focused tests, useful seams, characterization tests, TDD, and test refactoring. Use when improving tests, optimizing slow suites, adding coverage, refactoring brittle tests, removing test waste, or working test-first. NOT for fixing production bugs (use fixing-code), production-code refactors (use refactoring-code), or reviewing non-test code quality (use reviewing-code).
Support-only Playwright runtime/reference for browser-automation — dev-server detection, a Node.js script runner, quiet screenshot helpers, SPA readiness helpers, and custom HTTP headers. Use when browser-automation selects the bundled Playwright fallback; do not route user intent here directly.
Browser automation for rendered UI exploration, validation, screenshots, recordings, and end-to-end flows. Use when a task needs an actual browser or rendered DOM: inspect UI state, click/fill forms, debug frontend behavior, capture evidence, verify a feature, or run/generate browser tests. NOT for API checks or pure logic tests where curl, unit tests, or JSDOM is cheaper.
Use when asked to lint, audit, review, or score AI-facing instruction files such as SKILL.md, AGENT.md, AGENTS.md, CLAUDE.md, platform body.md files, prompt files, rules, policies, and agent-facing references. NOT for plugin manifests, application code review, harness configuration review, ordinary docs, tests, or generated build output.
Find exact, version-correct library/API/framework docs through one lookup workflow. Use when the user says "look up docs", "how to use", "API for", "syntax for", "examples of", "show me the docs", mentions "ctx7"/"Context7", passes a `/org/project` library ID, or needs API signatures, config keys, syntax, examples, or versioned docs. NOT for comparisons, current-state or release-behavior questions, best-practice surveys, or recent ecosystem news — use researching-web.
Structured stepwise reasoning with explicit revisions and branches. Use when the user says "think step by step", "sequential thinking", "plan this out", "reason through this", "branch this idea", or when tackling a hard multi-step problem (architecture decisions, ambiguous bugs, multi-constraint tradeoffs, plans that may need revision). NOT for trivial lookups, single-tool fetches, or tasks the model can answer directly without planning. NOT for open-ended option exploration or idea generation; use brainstorming-ideas. NOT for arguing a claim from both sides to prove or disprove it.
Fix code defects with a reproducible feedback loop, root-cause diagnosis, minimal patch, regression test, and clean verification. Use when debugging, diagnosing, or resolving lint/test/build failures. NOT for behavior-preserving refactors (use refactoring-code), test-suite cleanup without a production bug (use improving-tests), or code review findings without fixes (use reviewing-code).
Audit and improve AI coding-agent configuration. Use when reviewing or changing Claude Code, Pi, Codex, skill, agent, hook, MCP, permission, package, or generated-export setup. Default is review-only; fixes require explicit user approval or --fix. NOT for score-only instruction review or prompt lint; use reviewing-instructions. NOT for application config, git hygiene, code bugs, ordinary docs, or generated files without their source.
Validate infrastructure changes and, after explicit confirmation, apply Terraform, Helm, Kustomize, or Kubernetes deployments. Use when the user says "deploy", "deploy to staging", "terraform apply", "helm upgrade", "kubectl apply", "rollout", "deploy check", "validate deployment", or "validate infrastructure". Dockerfiles and GitHub Actions are validate-only here. NOT for ongoing service troubleshooting, cloud inspection, rollback investigation, or authoring infra from scratch; use operating-infra for those.
Browser automation for rendered UI exploration, validation, screenshots, recordings, and end-to-end flows. Use when a task needs an actual browser or rendered DOM: inspect UI state, click/fill forms, debug frontend behavior, capture evidence, verify a feature, or run/generate browser tests. NOT for API checks or pure logic tests where curl, unit tests, or JSDOM is cheaper.
Remove merged local branches and stale git worktrees. Use when the user says "cleanup branches", "prune worktrees", "tidy git", "remove merged branches", "delete merged branches", "gone branches", or wants to clean local git state. NOT for creating commits, creating worktrees, or configuring git hooks.
Author, inspect, troubleshoot, and review infrastructure across IaC, Kubernetes, cloud resources, containers, CI/CD, and Linux hosts. Use when changing Terraform/OpenTofu, Kubernetes, Helm, Kustomize, Dockerfiles, GitHub Actions workflow/job/permissions semantics, AWS, GCP, Cloud Run, BigQuery, IAM, logs, instances, or service health. NOT for deploy/apply/rollback workflows (see deploying-infra). NOT for shell scripts, generic command pipelines, or only the shell body inside `run:` steps (see writing-shell).
Idiomatic shell development for POSIX sh, Bash, Zsh, Fish, hooks, CI shell steps, and scriptable CLI glue. Use when writing or changing `.sh`, `.bash`, `.zsh`, `.fish`, `.bats`, shell functions, shell pipelines, CI `run:` shell bodies, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, Rust, TypeScript, Go, web code, or GitHub Actions workflow/job/permissions semantics; use operating-infra.
Use when reviewing changed code, PRs, diffs, or specific files. Finds evidence-backed defects in security, correctness, tests, reliability, performance, maintainability, and docs. Supports quick, standard, deep, team, and external-review modes. NOT for repo-wide architecture review, general codebase exploration, fixing issues (use fixing-code), improving tests without a code review (use improving-tests), or applying refactors (use refactoring-code).
Create normal git commits with logical grouping. Use when committing, saving changes, creating commits, or grouping work into commits. NOT for amending, rebasing, force-pushing, or rewriting history.
Brainstorm ideas and stress-test draft plans before coding. Use when brainstorming, exploring approaches, designing a feature/API/flow, grilling or debating a bounded plan, challenging assumptions, or resolving design-blocking terminology. NOT for implementation task breakdown. NOT for generic technology comparisons or best-practice research; use researching-web. NOT for docs updates; use documenting-code.
Structured stepwise reasoning with explicit revisions and branches. Use when the user says "think step by step", "sequential thinking", "plan this out", "reason through this", "branch this idea", or when tackling a hard multi-step problem (architecture decisions, ambiguous bugs, multi-constraint tradeoffs, plans that may need revision). NOT for trivial lookups, single-tool fetches, or tasks the model can answer directly without planning. NOT for open-ended option exploration or idea generation; use brainstorming-ideas. NOT for arguing a claim from both sides to prove or disprove it.
Idiomatic Go development. Use when writing Go code, designing APIs, reviewing Go implementations, or changing Go tests. Follow the module's target Go version. Prefer stdlib, concrete types, explicit errors, context propagation, fast feedback, and behavior tests. NOT for Python, Rust, TypeScript, shell scripts, or infra-only work.
Simple web development with HTML, CSS, JS, and HTMX. Use when working with .html, .css, or .htmx files, web templates, stylesheets, or vanilla JS scripts. NOT for React/Vue/Angular (use writing-typescript) or Node.js backends.
Creates isolated git worktrees for parallel development. Use when starting feature work needing isolation or working on multiple branches simultaneously. NOT for simple branch switching, bulk branch cleanup (use cleanup-git), or git hook/config setup (use configuring-git-hygiene).
Batch behavior-preserving refactors for multi-file, repeated-pattern, large-file, rename, move, extract, split, or restructure work. Use for "refactor across files", "batch rename", "update pattern everywhere", large files (500+ lines), or 5+ coordinated edits in one file. NOT for single targeted edits, behavior changes or bug fixes (use fixing-code), test-only refactors (use improving-tests), code review (use reviewing-code), or architecture redesign (use architecture-design/review).
Idiomatic modern Java and Kotlin JVM development. Use when writing `.java`, `.kt`, or `.kts` code; changing Gradle or Maven builds; or working on Spring, Micronaut, Quarkus, Ktor, Android JVM modules, JUnit, Mockito, Kotest, ktlint, detekt, or JVM CLI/services. Emphasizes JDK toolchains, null-safety, fast focused Gradle/Maven feedback, deterministic formatting, and minimal dependencies. NOT for JavaScript/TypeScript, C#/.NET, Python, shell scripts, or infra-only work.
Create or update human-facing docs, agent-facing instructions, architecture docs, API docs, README content, and useful code comments from implementation facts. Use when docs are stale, missing, or must reflect code changes. NOT for code-quality review, prompt scoring, speculative docs, or ADRs unless explicitly requested.
Simple web development with HTML, CSS, JS, and HTMX. Use when working with .html, .css, or .htmx files, web templates, stylesheets, or vanilla JS scripts. NOT for React/Vue/Angular (use writing-typescript) or Node.js backends.
Browser automation for rendered UI exploration, validation, screenshots, recordings, and end-to-end flows. Use when a task needs an actual browser or rendered DOM: inspect UI state, click/fill forms, debug frontend behavior, capture evidence, verify a feature, or run/generate browser tests. NOT for API checks or pure logic tests where curl, unit tests, or JSDOM is cheaper.
Create or update human-facing docs, agent-facing instructions, architecture docs, API docs, README content, and useful code comments from implementation facts. Use when docs are stale, missing, or must reflect code changes. NOT for code-quality review, prompt scoring, speculative docs, or ADRs unless explicitly requested.
Structured stepwise reasoning with explicit revisions and branches. Use when the user says "think step by step", "sequential thinking", "plan this out", "reason through this", "branch this idea", or when tackling a hard multi-step problem (architecture decisions, ambiguous bugs, multi-constraint tradeoffs, plans that may need revision). NOT for trivial lookups, single-tool fetches, or tasks the model can answer directly without planning. NOT for open-ended option exploration or idea generation; use brainstorming-ideas. NOT for arguing a claim from both sides to prove or disprove it.
Brainstorm ideas and stress-test draft plans before coding. Use when brainstorming, exploring approaches, designing a feature/API/flow, grilling or debating a bounded plan, challenging assumptions, or resolving design-blocking terminology. NOT for implementation task breakdown. NOT for generic technology comparisons or best-practice research; use researching-web. NOT for docs updates; use documenting-code.
Idiomatic C# /.NET development. Use when writing C# code, changing `.csproj` or `.sln`, or working on ASP.NET Core apps, libraries, CLIs, workers, and xUnit/NUnit/MSTest suites. Emphasizes nullable references, async/await, LINQ discipline, boundary validation, focused `dotnet` feedback, and minimal dependencies. NOT for Go, Python, TypeScript, shell scripts, or infra-only work.
Use when planning, executing, checkpointing, finishing, or inspecting lightweight spec-driven work. Runs one task at a time using `.spec/` markdown files and the bundled `specctl` helper. NOT for broad product discovery beyond a short requirement interview. NOT for generic implementation planning that does not read or write `.spec/` files.
Idiomatic Go development. Use when writing Go code, designing APIs, reviewing Go implementations, or changing Go tests. Follow the module's target Go version. Prefer stdlib, concrete types, explicit errors, context propagation, fast feedback, and behavior tests. NOT for Python, Rust, TypeScript, shell scripts, or infra-only work.
Idiomatic Python 3.12+ development. Use when writing Python code, CLI tools, scripts, or services. Emphasizes stdlib, type hints, fast pytest feedback, uv/ruff/pyright toolchain, and minimal dependencies. NOT for Go, Rust, TypeScript, or shell-only tasks.
Idiomatic Rust development. Use when writing Rust code, Cargo crates/workspaces, Rust tests, or rustfmt/clippy/cargo workflows. Emphasizes ownership, Result errors, small APIs, stdlib-first dependencies, fast cargo feedback, and behavior tests. NOT for Go, Python, TypeScript, shell scripts, or infra-only work.
Batch behavior-preserving refactors for multi-file, repeated-pattern, large-file, rename, move, extract, split, or restructure work. Use for "refactor across files", "batch rename", "update pattern everywhere", large files (500+ lines), or 5+ coordinated edits in one file. NOT for single targeted edits, behavior changes or bug fixes (use fixing-code), test-only refactors (use improving-tests), code review (use reviewing-code), or architecture redesign (use architecture-design/review).
Idiomatic TypeScript development. Use when writing TypeScript code, Node.js services, React apps, or TypeScript design advice. Emphasizes strict typing, boundary validation, composition, fast feedback, behavior tests, and project-configured tooling. NOT for Go, Python, Rust, plain HTML/CSS/JS, or server-rendered templates (use writing-web).
Configure safe git workflow hygiene: pre-commit/pre-push hooks, Gitleaks secret scanning, .gitignore rules, local git config, and guardrails. Use when setting up git hooks, gitleaks/git leaks, staged pre-commit checks, pre-push validation, core.hooksPath, .gitignore, or git config best practices. NOT for creating commits (use committing-code), cleaning branches/worktrees (use cleanup-git), or creating worktrees (use using-git-worktrees).
Idiomatic TypeScript development. Use when writing TypeScript code, Node.js services, React apps, or TypeScript design advice. Emphasizes strict typing, boundary validation, composition, fast feedback, behavior tests, and project-configured tooling. NOT for Go, Python, Rust, plain HTML/CSS/JS, or server-rendered templates (use writing-web).
Improve test design, speed, and coverage with behavior-focused tests, useful seams, characterization tests, TDD, and test refactoring. Use when improving tests, optimizing slow suites, adding coverage, refactoring brittle tests, removing test waste, or working test-first. NOT for fixing production bugs (use fixing-code), production-code refactors (use refactoring-code), or reviewing non-test code quality (use reviewing-code).
Use when reviewing changed code, PRs, diffs, or specific files. Finds evidence-backed defects in security, correctness, tests, reliability, performance, maintainability, and docs. Supports quick, standard, deep, team, and external-review modes. NOT for repo-wide architecture review, general codebase exploration, fixing issues (use fixing-code), improving tests without a code review (use improving-tests), or applying refactors (use refactoring-code).
Audit and improve AI coding-agent configuration. Use when reviewing or changing Claude Code, Pi, Codex, skill, agent, hook, MCP, permission, package, or generated-export setup. Default is review-only; fixes require explicit user approval or --fix. NOT for score-only instruction review or prompt lint; use reviewing-instructions. NOT for application config, git hygiene, code bugs, ordinary docs, or generated files without their source.
Idiomatic modern Java and Kotlin JVM development. Use when writing `.java`, `.kt`, or `.kts` code; changing Gradle or Maven builds; or working on Spring, Micronaut, Quarkus, Ktor, Android JVM modules, JUnit, Mockito, Kotest, ktlint, detekt, or JVM CLI/services. Emphasizes JDK toolchains, null-safety, fast focused Gradle/Maven feedback, deterministic formatting, and minimal dependencies. NOT for JavaScript/TypeScript, C#/.NET, Python, shell scripts, or infra-only work.
Structured stepwise reasoning with explicit revisions and branches. Use when the user says "think step by step", "sequential thinking", "plan this out", "reason through this", "branch this idea", or when tackling a hard multi-step problem (architecture decisions, ambiguous bugs, multi-constraint tradeoffs, plans that may need revision). NOT for trivial lookups, single-tool fetches, or tasks the model can answer directly without planning. NOT for open-ended option exploration or idea generation; use brainstorming-ideas. NOT for arguing a claim from both sides to prove or disprove it.
Creates isolated git worktrees for parallel development. Use when starting feature work needing isolation or working on multiple branches simultaneously. NOT for simple branch switching, bulk branch cleanup (use cleanup-git), or git hook/config setup (use configuring-git-hygiene).
Idiomatic Rust development. Use when writing Rust code, Cargo crates/workspaces, Rust tests, or rustfmt/clippy/cargo workflows. Emphasizes ownership, Result errors, small APIs, stdlib-first dependencies, fast cargo feedback, and behavior tests. NOT for Go, Python, TypeScript, shell scripts, or infra-only work.
Configure safe git workflow hygiene: pre-commit/pre-push hooks, Gitleaks secret scanning, .gitignore rules, local git config, and guardrails. Use when setting up git hooks, gitleaks/git leaks, staged pre-commit checks, pre-push validation, core.hooksPath, .gitignore, or git config best practices. NOT for creating commits (use committing-code), cleaning branches/worktrees (use cleanup-git), or creating worktrees (use using-git-worktrees).
Create, split, slim, or rewrite repository skills. Use when adding a new `src/skills/<name>/` skill, editing a skill description, frontmatter, references, overlays, or plugin placement, or tightening routing between neighboring skills. NOT for score-only instruction review; use reviewing-instructions. NOT for broad agent/package config audits; use evolving-config. NOT for ordinary docs; use documenting-code.
Support-only Playwright runtime/reference for browser-automation — dev-server detection, a Node.js script runner, quiet screenshot helpers, SPA readiness helpers, and custom HTTP headers. Use when browser-automation selects the bundled Playwright fallback; do not route user intent here directly.
Use when reviewing changed code, PRs, diffs, or specific files. Finds evidence-backed defects in security, correctness, tests, reliability, performance, maintainability, and docs. Supports quick, standard, deep, team, and external-review modes. NOT for repo-wide architecture review, general codebase exploration, fixing issues (use fixing-code), improving tests without a code review (use improving-tests), or applying refactors (use refactoring-code).
Author, inspect, troubleshoot, and review infrastructure across IaC, Kubernetes, cloud resources, containers, CI/CD, and Linux hosts. Use when changing Terraform/OpenTofu, Kubernetes, Helm, Kustomize, Dockerfiles, GitHub Actions workflow/job/permissions semantics, AWS, GCP, Cloud Run, BigQuery, IAM, logs, instances, or service health. NOT for deploy/apply/rollback workflows (see deploying-infra). NOT for shell scripts, generic command pipelines, or only the shell body inside `run:` steps (see writing-shell).
Web research via platform web tools. Use for technical comparisons, current-state and release-behavior questions, recent facts, ecosystem news, best practices, standards, or questions needing grounded web evidence. NOT for exact API syntax, config keys, or code examples — use looking-up-docs for those. NOT for repo-specific questions — search local files first.
Idiomatic Rust development. Use when writing Rust code, Cargo crates/workspaces, Rust tests, or rustfmt/clippy/cargo workflows. Emphasizes ownership, Result errors, small APIs, stdlib-first dependencies, fast cargo feedback, and behavior tests. NOT for Go, Python, TypeScript, shell scripts, or infra-only work.
Structured stepwise reasoning with explicit revisions and branches. Use when the user says "think step by step", "sequential thinking", "plan this out", "reason through this", "branch this idea", or when tackling a hard multi-step problem (architecture decisions, ambiguous bugs, multi-constraint tradeoffs, plans that may need revision). NOT for trivial lookups, single-tool fetches, or tasks the model can answer directly without planning. NOT for open-ended option exploration or idea generation; use brainstorming-ideas. NOT for arguing a claim from both sides to prove or disprove it.
Idiomatic shell development for POSIX sh, Bash, Zsh, Fish, hooks, CI shell steps, and scriptable CLI glue. Use when writing or changing `.sh`, `.bash`, `.zsh`, `.fish`, `.bats`, shell functions, shell pipelines, CI `run:` shell bodies, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, Rust, TypeScript, Go, web code, or GitHub Actions workflow/job/permissions semantics; use operating-infra.
Create or update human-facing docs, agent-facing instructions, architecture docs, API docs, README content, and useful code comments from implementation facts. Use when docs are stale, missing, or must reflect code changes. NOT for code-quality review, prompt scoring, speculative docs, or ADRs unless explicitly requested.
Create normal git commits with logical grouping. Use when committing, saving changes, creating commits, or grouping work into commits. NOT for amending, rebasing, force-pushing, or rewriting history.
Idiomatic modern Java and Kotlin JVM development. Use when writing `.java`, `.kt`, or `.kts` code; changing Gradle or Maven builds; or working on Spring, Micronaut, Quarkus, Ktor, Android JVM modules, JUnit, Mockito, Kotest, ktlint, detekt, or JVM CLI/services. Emphasizes JDK toolchains, null-safety, fast focused Gradle/Maven feedback, deterministic formatting, and minimal dependencies. NOT for JavaScript/TypeScript, C#/.NET, Python, shell scripts, or infra-only work.
Configure safe git workflow hygiene: pre-commit/pre-push hooks, Gitleaks secret scanning, .gitignore rules, local git config, and guardrails. Use when setting up git hooks, gitleaks/git leaks, staged pre-commit checks, pre-push validation, core.hooksPath, .gitignore, or git config best practices. NOT for creating commits (use committing-code), cleaning branches/worktrees (use cleanup-git), or creating worktrees (use using-git-worktrees).
Find exact, version-correct library/API/framework docs through one lookup workflow. Use when the user says "look up docs", "how to use", "API for", "syntax for", "examples of", "show me the docs", mentions "ctx7"/"Context7", passes a `/org/project` library ID, or needs API signatures, config keys, syntax, examples, or versioned docs. NOT for comparisons, current-state or release-behavior questions, best-practice surveys, or recent ecosystem news — use researching-web.
Web research via platform web tools. Use for technical comparisons, current-state and release-behavior questions, recent facts, ecosystem news, best practices, standards, or questions needing grounded web evidence. NOT for exact API syntax, config keys, or code examples — use looking-up-docs for those. NOT for repo-specific questions — search local files first.
Idiomatic TypeScript development. Use when writing TypeScript code, Node.js services, React apps, or TypeScript design advice. Emphasizes strict typing, boundary validation, composition, fast feedback, behavior tests, and project-configured tooling. NOT for Go, Python, Rust, plain HTML/CSS/JS, or server-rendered templates (use writing-web).
Use when asked to lint, audit, review, or score AI-facing instruction files such as SKILL.md, AGENT.md, AGENTS.md, CLAUDE.md, platform body.md files, prompt files, rules, policies, and agent-facing references. NOT for plugin manifests, application code review, harness configuration review, ordinary docs, tests, or generated build output.
Simple web development with HTML, CSS, JS, and HTMX. Use when working with .html, .css, or .htmx files, web templates, stylesheets, or vanilla JS scripts. NOT for React/Vue/Angular (use writing-typescript) or Node.js backends.
Idiomatic C# /.NET development. Use when writing C# code, changing `.csproj` or `.sln`, or working on ASP.NET Core apps, libraries, CLIs, workers, and xUnit/NUnit/MSTest suites. Emphasizes nullable references, async/await, LINQ discipline, boundary validation, focused `dotnet` feedback, and minimal dependencies. NOT for Go, Python, TypeScript, shell scripts, or infra-only work.
Use when planning, executing, checkpointing, finishing, or inspecting lightweight spec-driven work. Runs one task at a time using `.spec/` markdown files and the bundled `specctl` helper. NOT for broad product discovery beyond a short requirement interview. NOT for generic implementation planning that does not read or write `.spec/` files.
Create or update human-facing docs, agent-facing instructions, architecture docs, API docs, README content, and useful code comments from implementation facts. Use when docs are stale, missing, or must reflect code changes. NOT for code-quality review, prompt scoring, speculative docs, or ADRs unless explicitly requested.
Browser automation for rendered UI exploration, validation, screenshots, recordings, and end-to-end flows. Use when a task needs an actual browser or rendered DOM: inspect UI state, click/fill forms, debug frontend behavior, capture evidence, verify a feature, or run/generate browser tests. NOT for API checks or pure logic tests where curl, unit tests, or JSDOM is cheaper.
Create, split, slim, or rewrite repository skills. Use when adding a new `src/skills/<name>/` skill, editing a skill description, frontmatter, references, overlays, or plugin placement, or tightening routing between neighboring skills. NOT for score-only instruction review; use reviewing-instructions. NOT for broad agent/package config audits; use evolving-config. NOT for ordinary docs; use documenting-code.
Batch behavior-preserving refactors for multi-file, repeated-pattern, large-file, rename, move, extract, split, or restructure work. Use for "refactor across files", "batch rename", "update pattern everywhere", large files (500+ lines), or 5+ coordinated edits in one file. NOT for single targeted edits, behavior changes or bug fixes (use fixing-code), test-only refactors (use improving-tests), code review (use reviewing-code), or architecture redesign (use architecture-design/review).
Web research via platform web tools. Use for technical comparisons, current-state and release-behavior questions, recent facts, ecosystem news, best practices, standards, or questions needing grounded web evidence. NOT for exact API syntax, config keys, or code examples — use looking-up-docs for those. NOT for repo-specific questions — search local files first.
Creates isolated git worktrees for parallel development. Use when starting feature work needing isolation or working on multiple branches simultaneously. NOT for simple branch switching, bulk branch cleanup (use cleanup-git), or git hook/config setup (use configuring-git-hygiene).
Author, inspect, troubleshoot, and review infrastructure across IaC, Kubernetes, cloud resources, containers, CI/CD, and Linux hosts. Use when changing Terraform/OpenTofu, Kubernetes, Helm, Kustomize, Dockerfiles, GitHub Actions workflow/job/permissions semantics, AWS, GCP, Cloud Run, BigQuery, IAM, logs, instances, or service health. NOT for deploy/apply/rollback workflows (see deploying-infra). NOT for shell scripts, generic command pipelines, or only the shell body inside `run:` steps (see writing-shell).
Brainstorm ideas and stress-test draft plans before coding. Use when brainstorming, exploring approaches, designing a feature/API/flow, grilling or debating a bounded plan, challenging assumptions, or resolving design-blocking terminology. NOT for implementation task breakdown. NOT for generic technology comparisons or best-practice research; use researching-web. NOT for docs updates; use documenting-code.
Use when asked to lint, audit, review, or score AI-facing instruction files such as SKILL.md, AGENT.md, AGENTS.md, CLAUDE.md, platform body.md files, prompt files, rules, policies, and agent-facing references. NOT for plugin manifests, application code review, harness configuration review, ordinary docs, tests, or generated build output.
Audit and improve AI coding-agent configuration. Use when reviewing or changing Claude Code, Pi, Codex, skill, agent, hook, MCP, permission, package, or generated-export setup. Default is review-only; fixes require explicit user approval or --fix. NOT for score-only instruction review or prompt lint; use reviewing-instructions. NOT for application config, git hygiene, code bugs, ordinary docs, or generated files without their source.
Idiomatic C# /.NET development. Use when writing C# code, changing `.csproj` or `.sln`, or working on ASP.NET Core apps, libraries, CLIs, workers, and xUnit/NUnit/MSTest suites. Emphasizes nullable references, async/await, LINQ discipline, boundary validation, focused `dotnet` feedback, and minimal dependencies. NOT for Go, Python, TypeScript, shell scripts, or infra-only work.
Creates isolated git worktrees for parallel development. Use when starting feature work needing isolation or working on multiple branches simultaneously. NOT for simple branch switching, bulk branch cleanup (use cleanup-git), or git hook/config setup (use configuring-git-hygiene).
Author, inspect, troubleshoot, and review infrastructure across IaC, Kubernetes, cloud resources, containers, CI/CD, and Linux hosts. Use when changing Terraform/OpenTofu, Kubernetes, Helm, Kustomize, Dockerfiles, GitHub Actions workflow/job/permissions semantics, AWS, GCP, Cloud Run, BigQuery, IAM, logs, instances, or service health. NOT for deploy/apply/rollback workflows (see deploying-infra). NOT for shell scripts, generic command pipelines, or only the shell body inside `run:` steps (see writing-shell).
Idiomatic Python 3.12+ development. Use when writing Python code, CLI tools, scripts, or services. Emphasizes stdlib, type hints, fast pytest feedback, uv/ruff/pyright toolchain, and minimal dependencies. NOT for Go, Rust, TypeScript, or shell-only tasks.
Configure safe git workflow hygiene: pre-commit/pre-push hooks, Gitleaks secret scanning, .gitignore rules, local git config, and guardrails. Use when setting up git hooks, gitleaks/git leaks, staged pre-commit checks, pre-push validation, core.hooksPath, .gitignore, or git config best practices. NOT for creating commits (use committing-code), cleaning branches/worktrees (use cleanup-git), or creating worktrees (use using-git-worktrees).
Support-only Playwright runtime/reference for browser-automation — dev-server detection, a Node.js script runner, quiet screenshot helpers, SPA readiness helpers, and custom HTTP headers. Use when browser-automation selects the bundled Playwright fallback; do not route user intent here directly.
Idiomatic Python 3.12+ development. Use when writing Python code, CLI tools, scripts, or services. Emphasizes stdlib, type hints, fast pytest feedback, uv/ruff/pyright toolchain, and minimal dependencies. NOT for Go, Rust, TypeScript, or shell-only tasks.
Support-only Playwright runtime/reference for browser-automation — dev-server detection, a Node.js script runner, quiet screenshot helpers, SPA readiness helpers, and custom HTTP headers. Use when browser-automation selects the bundled Playwright fallback; do not route user intent here directly.
Create or update human-facing docs, agent-facing instructions, architecture docs, API docs, README content, and useful code comments from implementation facts. Use when docs are stale, missing, or must reflect code changes. NOT for code-quality review, prompt scoring, speculative docs, or ADRs unless explicitly requested.
Idiomatic Rust development. Use when writing Rust code, Cargo crates/workspaces, Rust tests, or rustfmt/clippy/cargo workflows. Emphasizes ownership, Result errors, small APIs, stdlib-first dependencies, fast cargo feedback, and behavior tests. NOT for Go, Python, TypeScript, shell scripts, or infra-only work.
Batch behavior-preserving refactors for multi-file, repeated-pattern, large-file, rename, move, extract, split, or restructure work. Use for "refactor across files", "batch rename", "update pattern everywhere", large files (500+ lines), or 5+ coordinated edits in one file. NOT for single targeted edits, behavior changes or bug fixes (use fixing-code), test-only refactors (use improving-tests), code review (use reviewing-code), or architecture redesign (use architecture-design/review).
Idiomatic TypeScript development. Use when writing TypeScript code, Node.js services, React apps, or TypeScript design advice. Emphasizes strict typing, boundary validation, composition, fast feedback, behavior tests, and project-configured tooling. NOT for Go, Python, Rust, plain HTML/CSS/JS, or server-rendered templates (use writing-web).
Brainstorm ideas and stress-test draft plans before coding. Use when brainstorming, exploring approaches, designing a feature/API/flow, grilling or debating a bounded plan, challenging assumptions, or resolving design-blocking terminology. NOT for implementation task breakdown. NOT for generic technology comparisons or best-practice research; use researching-web. NOT for docs updates; use documenting-code.
Audit and improve AI coding-agent configuration. Use when reviewing or changing Claude Code, Pi, Codex, skill, agent, hook, MCP, permission, package, or generated-export setup. Default is review-only; fixes require explicit user approval or --fix. NOT for score-only instruction review or prompt lint; use reviewing-instructions. NOT for application config, git hygiene, code bugs, ordinary docs, or generated files without their source.
Idiomatic shell development for POSIX sh, Bash, Zsh, Fish, hooks, CI shell steps, and scriptable CLI glue. Use when writing or changing `.sh`, `.bash`, `.zsh`, `.fish`, `.bats`, shell functions, shell pipelines, CI `run:` shell bodies, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, Rust, TypeScript, Go, web code, or GitHub Actions workflow/job/permissions semantics; use operating-infra.
Web research via platform web tools. Use for technical comparisons, current-state and release-behavior questions, recent facts, ecosystem news, best practices, standards, or questions needing grounded web evidence. NOT for exact API syntax, config keys, or code examples — use looking-up-docs for those. NOT for repo-specific questions — search local files first.
Idiomatic Go development. Use when writing Go code, designing APIs, reviewing Go implementations, or changing Go tests. Follow the module's target Go version. Prefer stdlib, concrete types, explicit errors, context propagation, fast feedback, and behavior tests. NOT for Python, Rust, TypeScript, shell scripts, or infra-only work.
Use when asked to lint, audit, review, or score AI-facing instruction files such as SKILL.md, AGENT.md, AGENTS.md, CLAUDE.md, platform body.md files, prompt files, rules, policies, and agent-facing references. NOT for plugin manifests, application code review, harness configuration review, ordinary docs, tests, or generated build output.
Configure safe git workflow hygiene: pre-commit/pre-push hooks, Gitleaks secret scanning, .gitignore rules, local git config, and guardrails. Use when setting up git hooks, gitleaks/git leaks, staged pre-commit checks, pre-push validation, core.hooksPath, .gitignore, or git config best practices. NOT for creating commits (use committing-code), cleaning branches/worktrees (use cleanup-git), or creating worktrees (use using-git-worktrees).
Author, inspect, troubleshoot, and review infrastructure across IaC, Kubernetes, cloud resources, containers, CI/CD, and Linux hosts. Use when changing Terraform/OpenTofu, Kubernetes, Helm, Kustomize, Dockerfiles, GitHub Actions workflow/job/permissions semantics, AWS, GCP, Cloud Run, BigQuery, IAM, logs, instances, or service health. NOT for deploy/apply/rollback workflows (see deploying-infra). NOT for shell scripts, generic command pipelines, or only the shell body inside `run:` steps (see writing-shell).
Idiomatic C# /.NET development. Use when writing C# code, changing `.csproj` or `.sln`, or working on ASP.NET Core apps, libraries, CLIs, workers, and xUnit/NUnit/MSTest suites. Emphasizes nullable references, async/await, LINQ discipline, boundary validation, focused `dotnet` feedback, and minimal dependencies. NOT for Go, Python, TypeScript, shell scripts, or infra-only work.
Create normal git commits with logical grouping. Use when committing, saving changes, creating commits, or grouping work into commits. NOT for amending, rebasing, force-pushing, or rewriting history.
Idiomatic modern Java and Kotlin JVM development. Use when writing `.java`, `.kt`, or `.kts` code; changing Gradle or Maven builds; or working on Spring, Micronaut, Quarkus, Ktor, Android JVM modules, JUnit, Mockito, Kotest, ktlint, detekt, or JVM CLI/services. Emphasizes JDK toolchains, null-safety, fast focused Gradle/Maven feedback, deterministic formatting, and minimal dependencies. NOT for JavaScript/TypeScript, C#/.NET, Python, shell scripts, or infra-only work.
Idiomatic shell development for POSIX sh, Bash, Zsh, Fish, hooks, CI shell steps, and scriptable CLI glue. Use when writing or changing `.sh`, `.bash`, `.zsh`, `.fish`, `.bats`, shell functions, shell pipelines, CI `run:` shell bodies, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, Rust, TypeScript, Go, web code, or GitHub Actions workflow/job/permissions semantics; use operating-infra.
Use when planning, executing, checkpointing, finishing, or inspecting lightweight spec-driven work. Runs one task at a time using `.spec/` markdown files and the bundled `specctl` helper. NOT for broad product discovery beyond a short requirement interview. NOT for generic implementation planning that does not read or write `.spec/` files.
Create normal git commits with logical grouping. Use when committing, saving changes, creating commits, or grouping work into commits. NOT for amending, rebasing, force-pushing, or rewriting history.
Fix code defects with a reproducible feedback loop, root-cause diagnosis, minimal patch, regression test, and clean verification. Use when debugging, diagnosing, or resolving lint/test/build failures. NOT for behavior-preserving refactors (use refactoring-code), test-suite cleanup without a production bug (use improving-tests), or code review findings without fixes (use reviewing-code).
Find exact, version-correct library/API/framework docs through one lookup workflow. Use when the user says "look up docs", "how to use", "API for", "syntax for", "examples of", "show me the docs", mentions "ctx7"/"Context7", passes a `/org/project` library ID, or needs API signatures, config keys, syntax, examples, or versioned docs. NOT for comparisons, current-state or release-behavior questions, best-practice surveys, or recent ecosystem news — use researching-web.
Fix code defects with a reproducible feedback loop, root-cause diagnosis, minimal patch, regression test, and clean verification. Use when debugging, diagnosing, or resolving lint/test/build failures. NOT for behavior-preserving refactors (use refactoring-code), test-suite cleanup without a production bug (use improving-tests), or code review findings without fixes (use reviewing-code).
Idiomatic Go development. Use when writing Go code, designing APIs, reviewing Go implementations, or changing Go tests. Follow the module's target Go version. Prefer stdlib, concrete types, explicit errors, context propagation, fast feedback, and behavior tests. NOT for Python, Rust, TypeScript, shell scripts, or infra-only work.
Idiomatic Go development. Use when writing Go code, designing APIs, reviewing Go implementations, or changing Go tests. Follow the module's target Go version. Prefer stdlib, concrete types, explicit errors, context propagation, fast feedback, and behavior tests. NOT for Python, Rust, TypeScript, shell scripts, or infra-only work.
Simple web development with HTML, CSS, JS, and HTMX. Use when working with .html, .css, or .htmx files, web templates, stylesheets, or vanilla JS scripts. NOT for React/Vue/Angular (use writing-typescript) or Node.js backends.
Use when planning, executing, checkpointing, finishing, or inspecting lightweight spec-driven work. Runs one task at a time using `.spec/` markdown files and the bundled `specctl` helper. NOT for broad product discovery beyond a short requirement interview. NOT for generic implementation planning that does not read or write `.spec/` files.
Remove merged local branches and stale git worktrees. Use when the user says "cleanup branches", "prune worktrees", "tidy git", "remove merged branches", "delete merged branches", "gone branches", or wants to clean local git state. NOT for creating commits, creating worktrees, or configuring git hooks.
Remove merged local branches and stale git worktrees. Use when the user says "cleanup branches", "prune worktrees", "tidy git", "remove merged branches", "delete merged branches", "gone branches", or wants to clean local git state. NOT for creating commits, creating worktrees, or configuring git hooks.
Use when reviewing changed code, PRs, diffs, or specific files. Finds evidence-backed defects in security, correctness, tests, reliability, performance, maintainability, and docs. Supports quick, standard, deep, team, and external-review modes. NOT for repo-wide architecture review, general codebase exploration, fixing issues (use fixing-code), improving tests without a code review (use improving-tests), or applying refactors (use refactoring-code).
Improve test design, speed, and coverage with behavior-focused tests, useful seams, characterization tests, TDD, and test refactoring. Use when improving tests, optimizing slow suites, adding coverage, refactoring brittle tests, removing test waste, or working test-first. NOT for fixing production bugs (use fixing-code), production-code refactors (use refactoring-code), or reviewing non-test code quality (use reviewing-code).
Use when planning, executing, checkpointing, finishing, or inspecting lightweight spec-driven work. Runs one task at a time using `.spec/` markdown files and the bundled `specctl` helper. NOT for broad product discovery beyond a short requirement interview. NOT for generic implementation planning that does not read or write `.spec/` files.
Find exact, version-correct library/API/framework docs through one lookup workflow. Use when the user says "look up docs", "how to use", "API for", "syntax for", "examples of", "show me the docs", mentions "ctx7"/"Context7", passes a `/org/project` library ID, or needs API signatures, config keys, syntax, examples, or versioned docs. NOT for comparisons, current-state or release-behavior questions, best-practice surveys, or recent ecosystem news — use researching-web.
Improve test design, speed, and coverage with behavior-focused tests, useful seams, characterization tests, TDD, and test refactoring. Use when improving tests, optimizing slow suites, adding coverage, refactoring brittle tests, removing test waste, or working test-first. NOT for fixing production bugs (use fixing-code), production-code refactors (use refactoring-code), or reviewing non-test code quality (use reviewing-code).
Find exact, version-correct library/API/framework docs through one lookup workflow. Use when the user says "look up docs", "how to use", "API for", "syntax for", "examples of", "show me the docs", mentions "ctx7"/"Context7", passes a `/org/project` library ID, or needs API signatures, config keys, syntax, examples, or versioned docs. NOT for comparisons, current-state or release-behavior questions, best-practice surveys, or recent ecosystem news — use researching-web.
Use when reviewing changed code, PRs, diffs, or specific files. Finds evidence-backed defects in security, correctness, tests, reliability, performance, maintainability, and docs. Supports quick, standard, deep, team, and external-review modes. NOT for repo-wide architecture review, general codebase exploration, fixing issues (use fixing-code), improving tests without a code review (use improving-tests), or applying refactors (use refactoring-code).
Remove merged local branches and stale git worktrees. Use when the user says "cleanup branches", "prune worktrees", "tidy git", "remove merged branches", "delete merged branches", "gone branches", or wants to clean local git state. NOT for creating commits, creating worktrees, or configuring git hooks.
Audit and improve AI coding-agent configuration. Use when reviewing or changing Claude Code, Pi, Codex, skill, agent, hook, MCP, permission, package, or generated-export setup. Default is review-only; fixes require explicit user approval or --fix. NOT for score-only instruction review or prompt lint; use reviewing-instructions. NOT for application config, git hygiene, code bugs, ordinary docs, or generated files without their source.
Fix code defects with a reproducible feedback loop, root-cause diagnosis, minimal patch, regression test, and clean verification. Use when debugging, diagnosing, or resolving lint/test/build failures. NOT for behavior-preserving refactors (use refactoring-code), test-suite cleanup without a production bug (use improving-tests), or code review findings without fixes (use reviewing-code).
Brainstorm ideas and stress-test draft plans before coding. Use when brainstorming, exploring approaches, designing a feature/API/flow, grilling or debating a bounded plan, challenging assumptions, or resolving design-blocking terminology. NOT for implementation task breakdown. NOT for generic technology comparisons or best-practice research; use researching-web. NOT for docs updates; use documenting-code.
Remove merged local branches and stale git worktrees. Use when the user says "cleanup branches", "prune worktrees", "tidy git", "remove merged branches", "delete merged branches", "gone branches", or wants to clean local git state. NOT for creating commits, creating worktrees, or configuring git hooks.
Create or update human-facing docs, agent-facing instructions, architecture docs, API docs, README content, and useful code comments from implementation facts. Use when docs are stale, missing, or must reflect code changes. NOT for code-quality review, prompt scoring, speculative docs, or ADRs unless explicitly requested.
Browser automation for rendered UI exploration, validation, screenshots, recordings, and end-to-end flows. Use when a task needs an actual browser or rendered DOM: inspect UI state, click/fill forms, debug frontend behavior, capture evidence, verify a feature, or run/generate browser tests. NOT for API checks or pure logic tests where curl, unit tests, or JSDOM is cheaper.
Find exact, version-correct library/API/framework docs through one lookup workflow. Use when the user says "look up docs", "how to use", "API for", "syntax for", "examples of", "show me the docs", mentions "ctx7"/"Context7", passes a `/org/project` library ID, or needs API signatures, config keys, syntax, examples, or versioned docs. NOT for comparisons, current-state or release-behavior questions, best-practice surveys, or recent ecosystem news — use researching-web.
Support-only Playwright runtime/reference for browser-automation — dev-server detection, a Node.js script runner, quiet screenshot helpers, SPA readiness helpers, and custom HTTP headers. Use when browser-automation selects the bundled Playwright fallback; do not route user intent here directly.
Batch behavior-preserving refactors for multi-file, repeated-pattern, large-file, rename, move, extract, split, or restructure work. Use for "refactor across files", "batch rename", "update pattern everywhere", large files (500+ lines), or 5+ coordinated edits in one file. NOT for single targeted edits, behavior changes or bug fixes (use fixing-code), test-only refactors (use improving-tests), code review (use reviewing-code), or architecture redesign (use architecture-design/review).
Improve test design, speed, and coverage with behavior-focused tests, useful seams, characterization tests, TDD, and test refactoring. Use when improving tests, optimizing slow suites, adding coverage, refactoring brittle tests, removing test waste, or working test-first. NOT for fixing production bugs (use fixing-code), production-code refactors (use refactoring-code), or reviewing non-test code quality (use reviewing-code).
Simple web development with HTML, CSS, JS, and HTMX. Use when working with .html, .css, or .htmx files, web templates, stylesheets, or vanilla JS scripts. NOT for React/Vue/Angular (use writing-typescript) or Node.js backends.
Structured stepwise reasoning with explicit revisions and branches. Use when the user says "think step by step", "sequential thinking", "plan this out", "reason through this", "branch this idea", or when tackling a hard multi-step problem (architecture decisions, ambiguous bugs, multi-constraint tradeoffs, plans that may need revision). NOT for trivial lookups, single-tool fetches, or tasks the model can answer directly without planning. NOT for open-ended option exploration or idea generation; use brainstorming-ideas. NOT for arguing a claim from both sides to prove or disprove it.
Web research via platform web tools. Use for technical comparisons, current-state and release-behavior questions, recent facts, ecosystem news, best practices, standards, or questions needing grounded web evidence. NOT for exact API syntax, config keys, or code examples — use looking-up-docs for those. NOT for repo-specific questions — search local files first.
Use when planning, executing, checkpointing, finishing, or inspecting lightweight spec-driven work. Runs one task at a time using `.spec/` markdown files and the bundled `specctl` helper. NOT for broad product discovery beyond a short requirement interview. NOT for generic implementation planning that does not read or write `.spec/` files.
Use when reviewing changed code, PRs, diffs, or specific files. Finds evidence-backed defects in security, correctness, tests, reliability, performance, maintainability, and docs. Supports quick, standard, deep, team, and external-review modes. NOT for repo-wide architecture review, general codebase exploration, fixing issues (use fixing-code), improving tests without a code review (use improving-tests), or applying refactors (use refactoring-code).
Idiomatic C# /.NET development. Use when writing C# code, changing `.csproj` or `.sln`, or working on ASP.NET Core apps, libraries, CLIs, workers, and xUnit/NUnit/MSTest suites. Emphasizes nullable references, async/await, LINQ discipline, boundary validation, focused `dotnet` feedback, and minimal dependencies. NOT for Go, Python, TypeScript, shell scripts, or infra-only work.
Idiomatic Go development. Use when writing Go code, designing APIs, reviewing Go implementations, or changing Go tests. Follow the module's target Go version. Prefer stdlib, concrete types, explicit errors, context propagation, fast feedback, and behavior tests. NOT for Python, Rust, TypeScript, shell scripts, or infra-only work.
Idiomatic shell development for POSIX sh, Bash, Zsh, Fish, hooks, CI shell steps, and scriptable CLI glue. Use when writing or changing `.sh`, `.bash`, `.zsh`, `.fish`, `.bats`, shell functions, shell pipelines, CI `run:` shell bodies, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, Rust, TypeScript, Go, web code, or GitHub Actions workflow/job/permissions semantics; use operating-infra.
Create normal git commits with logical grouping. Use when committing, saving changes, creating commits, or grouping work into commits. NOT for amending, rebasing, force-pushing, or rewriting history.
Creates isolated git worktrees for parallel development. Use when starting feature work needing isolation or working on multiple branches simultaneously. NOT for simple branch switching, bulk branch cleanup (use cleanup-git), or git hook/config setup (use configuring-git-hygiene).
Improve test design, speed, and coverage with behavior-focused tests, useful seams, characterization tests, TDD, and test refactoring. Use when improving tests, optimizing slow suites, adding coverage, refactoring brittle tests, removing test waste, or working test-first. NOT for fixing production bugs (use fixing-code), production-code refactors (use refactoring-code), or reviewing non-test code quality (use reviewing-code).
Idiomatic Python 3.12+ development. Use when writing Python code, CLI tools, scripts, or services. Emphasizes stdlib, type hints, fast pytest feedback, uv/ruff/pyright toolchain, and minimal dependencies. NOT for Go, Rust, TypeScript, or shell-only tasks.
Brainstorm ideas and stress-test draft plans before coding. Use when brainstorming, exploring approaches, designing a feature/API/flow, grilling or debating a bounded plan, challenging assumptions, or resolving design-blocking terminology. NOT for implementation task breakdown. NOT for generic technology comparisons or best-practice research; use researching-web. NOT for docs updates; use documenting-code.
Idiomatic Rust development. Use when writing Rust code, Cargo crates/workspaces, Rust tests, or rustfmt/clippy/cargo workflows. Emphasizes ownership, Result errors, small APIs, stdlib-first dependencies, fast cargo feedback, and behavior tests. NOT for Go, Python, TypeScript, shell scripts, or infra-only work.
Create, split, slim, or rewrite repository skills. Use when adding a new `src/skills/<name>/` skill, editing a skill description, frontmatter, references, overlays, or plugin placement, or tightening routing between neighboring skills. NOT for score-only instruction review; use reviewing-instructions. NOT for broad agent/package config audits; use evolving-config. NOT for ordinary docs; use documenting-code.
Idiomatic TypeScript development. Use when writing TypeScript code, Node.js services, React apps, or TypeScript design advice. Emphasizes strict typing, boundary validation, composition, fast feedback, behavior tests, and project-configured tooling. NOT for Go, Python, Rust, plain HTML/CSS/JS, or server-rendered templates (use writing-web).
Simple web development with HTML, CSS, JS, and HTMX. Use when working with .html, .css, or .htmx files, web templates, stylesheets, or vanilla JS scripts. NOT for React/Vue/Angular (use writing-typescript) or Node.js backends.
Use when asked to lint, audit, review, or score AI-facing instruction files such as SKILL.md, AGENT.md, AGENTS.md, CLAUDE.md, platform body.md files, prompt files, rules, policies, and agent-facing references. NOT for plugin manifests, application code review, harness configuration review, ordinary docs, tests, or generated build output.
Create normal git commits with logical grouping. Use when committing, saving changes, creating commits, or grouping work into commits. NOT for amending, rebasing, force-pushing, or rewriting history.
Configure safe git workflow hygiene: pre-commit/pre-push hooks, Gitleaks secret scanning, .gitignore rules, local git config, and guardrails. Use when setting up git hooks, gitleaks/git leaks, staged pre-commit checks, pre-push validation, core.hooksPath, .gitignore, or git config best practices. NOT for creating commits (use committing-code), cleaning branches/worktrees (use cleanup-git), or creating worktrees (use using-git-worktrees).
Fix code defects with a reproducible feedback loop, root-cause diagnosis, minimal patch, regression test, and clean verification. Use when debugging, diagnosing, or resolving lint/test/build failures. NOT for behavior-preserving refactors (use refactoring-code), test-suite cleanup without a production bug (use improving-tests), or code review findings without fixes (use reviewing-code).
Validate infrastructure changes and, after explicit confirmation, apply Terraform, Helm, Kustomize, or Kubernetes deployments. Use when the user says "deploy", "deploy to staging", "terraform apply", "helm upgrade", "kubectl apply", "rollout", "deploy check", "validate deployment", or "validate infrastructure". Dockerfiles and GitHub Actions are validate-only here. NOT for ongoing service troubleshooting, cloud inspection, rollback investigation, or authoring infra from scratch; use operating-infra for those.
Idiomatic modern Java and Kotlin JVM development. Use when writing `.java`, `.kt`, or `.kts` code; changing Gradle or Maven builds; or working on Spring, Micronaut, Quarkus, Ktor, Android JVM modules, JUnit, Mockito, Kotest, ktlint, detekt, or JVM CLI/services. Emphasizes JDK toolchains, null-safety, fast focused Gradle/Maven feedback, deterministic formatting, and minimal dependencies. NOT for JavaScript/TypeScript, C#/.NET, Python, shell scripts, or infra-only work.
Audit and improve AI coding-agent configuration. Use when reviewing or changing Claude Code, Pi, Codex, skill, agent, hook, MCP, permission, package, or generated-export setup. Default is review-only; fixes require explicit user approval or --fix. NOT for score-only instruction review or prompt lint; use reviewing-instructions. NOT for application config, git hygiene, code bugs, ordinary docs, or generated files without their source.
Fix code defects with a reproducible feedback loop, root-cause diagnosis, minimal patch, regression test, and clean verification. Use when debugging, diagnosing, or resolving lint/test/build failures. NOT for behavior-preserving refactors (use refactoring-code), test-suite cleanup without a production bug (use improving-tests), or code review findings without fixes (use reviewing-code).
Author, inspect, troubleshoot, and review infrastructure across IaC, Kubernetes, cloud resources, containers, CI/CD, and Linux hosts. Use when changing Terraform/OpenTofu, Kubernetes, Helm, Kustomize, Dockerfiles, GitHub Actions workflow/job/permissions semantics, AWS, GCP, Cloud Run, BigQuery, IAM, logs, instances, or service health. NOT for deploy/apply/rollback workflows (see deploying-infra). NOT for shell scripts, generic command pipelines, or only the shell body inside `run:` steps (see writing-shell).
Use when reviewing changed code, PRs, diffs, or specific files. Finds evidence-backed defects in security, correctness, tests, reliability, performance, maintainability, and docs. Supports quick, standard, deep, team, and external-review modes. NOT for repo-wide architecture review, general codebase exploration, fixing issues (use fixing-code), improving tests without a code review (use improving-tests), or applying refactors (use refactoring-code).
Browser automation for rendered UI exploration, validation, screenshots, recordings, and end-to-end flows. Use when a task needs an actual browser or rendered DOM: inspect UI state, click/fill forms, debug frontend behavior, capture evidence, verify a feature, or run/generate browser tests. NOT for API checks or pure logic tests where curl, unit tests, or JSDOM is cheaper.
Remove merged local branches and stale git worktrees. Use when the user says "cleanup branches", "prune worktrees", "tidy git", "remove merged branches", "delete merged branches", "gone branches", or wants to clean local git state. NOT for creating commits, creating worktrees, or configuring git hooks.
Web research via platform web tools. Use for technical comparisons, current-state and release-behavior questions, recent facts, ecosystem news, best practices, standards, or questions needing grounded web evidence. NOT for exact API syntax, config keys, or code examples — use looking-up-docs for those. NOT for repo-specific questions — search local files first.
Batch behavior-preserving refactors for multi-file, repeated-pattern, large-file, rename, move, extract, split, or restructure work. Use for "refactor across files", "batch rename", "update pattern everywhere", large files (500+ lines), or 5+ coordinated edits in one file. NOT for single targeted edits, behavior changes or bug fixes (use fixing-code), test-only refactors (use improving-tests), code review (use reviewing-code), or architecture redesign (use architecture-design/review).
Idiomatic shell development for POSIX sh, Bash, Zsh, Fish, hooks, CI shell steps, and scriptable CLI glue. Use when writing or changing `.sh`, `.bash`, `.zsh`, `.fish`, `.bats`, shell functions, shell pipelines, CI `run:` shell bodies, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, Rust, TypeScript, Go, web code, or GitHub Actions workflow/job/permissions semantics; use operating-infra.
Structured stepwise reasoning with explicit revisions and branches. Use when the user says "think step by step", "sequential thinking", "plan this out", "reason through this", "branch this idea", or when tackling a hard multi-step problem (architecture decisions, ambiguous bugs, multi-constraint tradeoffs, plans that may need revision). NOT for trivial lookups, single-tool fetches, or tasks the model can answer directly without planning. NOT for open-ended option exploration or idea generation; use brainstorming-ideas. NOT for arguing a claim from both sides to prove or disprove it.
Use when planning, executing, checkpointing, finishing, or inspecting lightweight spec-driven work. Runs one task at a time using `.spec/` markdown files and the bundled `specctl` helper. NOT for broad product discovery beyond a short requirement interview. NOT for generic implementation planning that does not read or write `.spec/` files.
Improve test design, speed, and coverage with behavior-focused tests, useful seams, characterization tests, TDD, and test refactoring. Use when improving tests, optimizing slow suites, adding coverage, refactoring brittle tests, removing test waste, or working test-first. NOT for fixing production bugs (use fixing-code), production-code refactors (use refactoring-code), or reviewing non-test code quality (use reviewing-code).
Create, split, slim, or rewrite repository skills. Use when adding a new `src/skills/<name>/` skill, editing a skill description, frontmatter, references, overlays, or plugin placement, or tightening routing between neighboring skills. NOT for score-only instruction review; use reviewing-instructions. NOT for broad agent/package config audits; use evolving-config. NOT for ordinary docs; use documenting-code.
Use when asked to lint, audit, review, or score AI-facing instruction files such as SKILL.md, AGENT.md, AGENTS.md, CLAUDE.md, platform body.md files, prompt files, rules, policies, and agent-facing references. NOT for plugin manifests, application code review, harness configuration review, ordinary docs, tests, or generated build output.
Idiomatic C# /.NET development. Use when writing C# code, changing `.csproj` or `.sln`, or working on ASP.NET Core apps, libraries, CLIs, workers, and xUnit/NUnit/MSTest suites. Emphasizes nullable references, async/await, LINQ discipline, boundary validation, focused `dotnet` feedback, and minimal dependencies. NOT for Go, Python, TypeScript, shell scripts, or infra-only work.
Idiomatic Go development. Use when writing Go code, designing APIs, reviewing Go implementations, or changing Go tests. Follow the module's target Go version. Prefer stdlib, concrete types, explicit errors, context propagation, fast feedback, and behavior tests. NOT for Python, Rust, TypeScript, shell scripts, or infra-only work.
Support-only Playwright runtime/reference for browser-automation — dev-server detection, a Node.js script runner, quiet screenshot helpers, SPA readiness helpers, and custom HTTP headers. Use when browser-automation selects the bundled Playwright fallback; do not route user intent here directly.
Idiomatic modern Java and Kotlin JVM development. Use when writing `.java`, `.kt`, or `.kts` code; changing Gradle or Maven builds; or working on Spring, Micronaut, Quarkus, Ktor, Android JVM modules, JUnit, Mockito, Kotest, ktlint, detekt, or JVM CLI/services. Emphasizes JDK toolchains, null-safety, fast focused Gradle/Maven feedback, deterministic formatting, and minimal dependencies. NOT for JavaScript/TypeScript, C#/.NET, Python, shell scripts, or infra-only work.
Brainstorm ideas and stress-test draft plans before coding. Use when brainstorming, exploring approaches, designing a feature/API/flow, grilling or debating a bounded plan, challenging assumptions, or resolving design-blocking terminology. NOT for implementation task breakdown. NOT for generic technology comparisons or best-practice research; use researching-web. NOT for docs updates; use documenting-code.
Configure safe git workflow hygiene: pre-commit/pre-push hooks, Gitleaks secret scanning, .gitignore rules, local git config, and guardrails. Use when setting up git hooks, gitleaks/git leaks, staged pre-commit checks, pre-push validation, core.hooksPath, .gitignore, or git config best practices. NOT for creating commits (use committing-code), cleaning branches/worktrees (use cleanup-git), or creating worktrees (use using-git-worktrees).
Idiomatic Python 3.12+ development. Use when writing Python code, CLI tools, scripts, or services. Emphasizes stdlib, type hints, fast pytest feedback, uv/ruff/pyright toolchain, and minimal dependencies. NOT for Go, Rust, TypeScript, or shell-only tasks.
Idiomatic shell development for POSIX sh, Bash, Zsh, Fish, hooks, CI shell steps, and scriptable CLI glue. Use when writing or changing `.sh`, `.bash`, `.zsh`, `.fish`, `.bats`, shell functions, shell pipelines, CI `run:` shell bodies, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, Rust, TypeScript, Go, web code, or GitHub Actions workflow/job/permissions semantics; use operating-infra.
Idiomatic Rust development. Use when writing Rust code, Cargo crates/workspaces, Rust tests, or rustfmt/clippy/cargo workflows. Emphasizes ownership, Result errors, small APIs, stdlib-first dependencies, fast cargo feedback, and behavior tests. NOT for Go, Python, TypeScript, shell scripts, or infra-only work.
Create, split, slim, or rewrite repository skills. Use when adding a new `src/skills/<name>/` skill, editing a skill description, frontmatter, references, overlays, or plugin placement, or tightening routing between neighboring skills. NOT for score-only instruction review; use reviewing-instructions. NOT for broad agent/package config audits; use evolving-config. NOT for ordinary docs; use documenting-code.
Support-only Playwright runtime/reference for browser-automation — dev-server detection, a Node.js script runner, quiet screenshot helpers, SPA readiness helpers, and custom HTTP headers. Use when browser-automation selects the bundled Playwright fallback; do not route user intent here directly.
Idiomatic TypeScript development. Use when writing TypeScript code, Node.js services, React apps, or TypeScript design advice. Emphasizes strict typing, boundary validation, composition, fast feedback, behavior tests, and project-configured tooling. NOT for Go, Python, Rust, plain HTML/CSS/JS, or server-rendered templates (use writing-web).
Simple web development with HTML, CSS, JS, and HTMX. Use when working with .html, .css, or .htmx files, web templates, stylesheets, or vanilla JS scripts. NOT for React/Vue/Angular (use writing-typescript) or Node.js backends.
Web research via platform web tools. Use for technical comparisons, current-state and release-behavior questions, recent facts, ecosystem news, best practices, standards, or questions needing grounded web evidence. NOT for exact API syntax, config keys, or code examples — use looking-up-docs for those. NOT for repo-specific questions — search local files first.
Use when reviewing changed code, PRs, diffs, or specific files. Finds evidence-backed defects in security, correctness, tests, reliability, performance, maintainability, and docs. Supports quick, standard, deep, team, and external-review modes. NOT for repo-wide architecture review, general codebase exploration, fixing issues (use fixing-code), improving tests without a code review (use improving-tests), or applying refactors (use refactoring-code).
Find exact, version-correct library/API/framework docs through one lookup workflow. Use when the user says "look up docs", "how to use", "API for", "syntax for", "examples of", "show me the docs", mentions "ctx7"/"Context7", passes a `/org/project` library ID, or needs API signatures, config keys, syntax, examples, or versioned docs. NOT for comparisons, current-state or release-behavior questions, best-practice surveys, or recent ecosystem news — use researching-web.
Web research via platform web tools. Use for technical comparisons, current-state and release-behavior questions, recent facts, ecosystem news, best practices, standards, or questions needing grounded web evidence. NOT for exact API syntax, config keys, or code examples — use looking-up-docs for those. NOT for repo-specific questions — search local files first.
Idiomatic shell development for POSIX sh, Bash, Zsh, Fish, hooks, CI shell steps, and scriptable CLI glue. Use when writing or changing `.sh`, `.bash`, `.zsh`, `.fish`, `.bats`, shell functions, shell pipelines, CI `run:` shell bodies, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, Rust, TypeScript, Go, web code, or GitHub Actions workflow/job/permissions semantics; use operating-infra.
Web research via platform web tools. Use for technical comparisons, current-state and release-behavior questions, recent facts, ecosystem news, best practices, standards, or questions needing grounded web evidence. NOT for exact API syntax, config keys, or code examples — use looking-up-docs for those. NOT for repo-specific questions — search local files first.
Brainstorm ideas and stress-test draft plans before coding. Use when brainstorming, exploring approaches, designing a feature/API/flow, grilling or debating a bounded plan, challenging assumptions, or resolving design-blocking terminology. NOT for implementation task breakdown. NOT for generic technology comparisons or best-practice research; use researching-web. NOT for docs updates; use documenting-code.
Idiomatic Python 3.12+ development. Use when writing Python code, CLI tools, scripts, or services. Emphasizes stdlib, type hints, fast pytest feedback, uv/ruff/pyright toolchain, and minimal dependencies. NOT for Go, Rust, TypeScript, or shell-only tasks.
Creates isolated git worktrees for parallel development. Use when starting feature work needing isolation or working on multiple branches simultaneously. NOT for simple branch switching, bulk branch cleanup (use cleanup-git), or git hook/config setup (use configuring-git-hygiene).
Create normal git commits with logical grouping. Use when committing, saving changes, creating commits, or grouping work into commits. NOT for amending, rebasing, force-pushing, or rewriting history.
Idiomatic Python 3.12+ development. Use when writing Python code, CLI tools, scripts, or services. Emphasizes stdlib, type hints, fast pytest feedback, uv/ruff/pyright toolchain, and minimal dependencies. NOT for Go, Rust, TypeScript, or shell-only tasks.
Audit and improve AI coding-agent configuration. Use when reviewing or changing Claude Code, Pi, Codex, skill, agent, hook, MCP, permission, package, or generated-export setup. Default is review-only; fixes require explicit user approval or --fix. NOT for score-only instruction review or prompt lint; use reviewing-instructions. NOT for application config, git hygiene, code bugs, ordinary docs, or generated files without their source.
Web research via platform web tools. Use for technical comparisons, current-state and release-behavior questions, recent facts, ecosystem news, best practices, standards, or questions needing grounded web evidence. NOT for exact API syntax, config keys, or code examples — use looking-up-docs for those. NOT for repo-specific questions — search local files first.
Create, split, slim, or rewrite repository skills. Use when adding a new `src/skills/<name>/` skill, editing a skill description, frontmatter, references, overlays, or plugin placement, or tightening routing between neighboring skills. NOT for score-only instruction review; use reviewing-instructions. NOT for broad agent/package config audits; use evolving-config. NOT for ordinary docs; use documenting-code.
Idiomatic TypeScript development. Use when writing TypeScript code, Node.js services, React apps, or TypeScript design advice. Emphasizes strict typing, boundary validation, composition, fast feedback, behavior tests, and project-configured tooling. NOT for Go, Python, Rust, plain HTML/CSS/JS, or server-rendered templates (use writing-web).
Idiomatic Rust development. Use when writing Rust code, Cargo crates/workspaces, Rust tests, or rustfmt/clippy/cargo workflows. Emphasizes ownership, Result errors, small APIs, stdlib-first dependencies, fast cargo feedback, and behavior tests. NOT for Go, Python, TypeScript, shell scripts, or infra-only work.
Author, inspect, troubleshoot, and review infrastructure across IaC, Kubernetes, cloud resources, containers, CI/CD, and Linux hosts. Use when changing Terraform/OpenTofu, Kubernetes, Helm, Kustomize, Dockerfiles, GitHub Actions workflow/job/permissions semantics, AWS, GCP, Cloud Run, BigQuery, IAM, logs, instances, or service health. NOT for deploy/apply/rollback workflows (see deploying-infra). NOT for shell scripts, generic command pipelines, or only the shell body inside `run:` steps (see writing-shell).
Idiomatic Python 3.12+ development. Use when writing Python code, CLI tools, scripts, or services. Emphasizes stdlib, type hints, fast pytest feedback, uv/ruff/pyright toolchain, and minimal dependencies. NOT for Go, Rust, TypeScript, or shell-only tasks.
Batch behavior-preserving refactors for multi-file, repeated-pattern, large-file, rename, move, extract, split, or restructure work. Use for "refactor across files", "batch rename", "update pattern everywhere", large files (500+ lines), or 5+ coordinated edits in one file. NOT for single targeted edits, behavior changes or bug fixes (use fixing-code), test-only refactors (use improving-tests), code review (use reviewing-code), or architecture redesign (use architecture-design/review).
Batch behavior-preserving refactors for multi-file, repeated-pattern, large-file, rename, move, extract, split, or restructure work. Use for "refactor across files", "batch rename", "update pattern everywhere", large files (500+ lines), or 5+ coordinated edits in one file. NOT for single targeted edits, behavior changes or bug fixes (use fixing-code), test-only refactors (use improving-tests), code review (use reviewing-code), or architecture redesign (use architecture-design/review).
Use when asked to lint, audit, review, or score AI-facing instruction files such as SKILL.md, AGENT.md, AGENTS.md, CLAUDE.md, platform body.md files, prompt files, rules, policies, and agent-facing references. NOT for plugin manifests, application code review, harness configuration review, ordinary docs, tests, or generated build output.
Browser automation for rendered UI exploration, validation, screenshots, recordings, and end-to-end flows. Use when a task needs an actual browser or rendered DOM: inspect UI state, click/fill forms, debug frontend behavior, capture evidence, verify a feature, or run/generate browser tests. NOT for API checks or pure logic tests where curl, unit tests, or JSDOM is cheaper.
Idiomatic C# /.NET development. Use when writing C# code, changing `.csproj` or `.sln`, or working on ASP.NET Core apps, libraries, CLIs, workers, and xUnit/NUnit/MSTest suites. Emphasizes nullable references, async/await, LINQ discipline, boundary validation, focused `dotnet` feedback, and minimal dependencies. NOT for Go, Python, TypeScript, shell scripts, or infra-only work.
Create or update human-facing docs, agent-facing instructions, architecture docs, API docs, README content, and useful code comments from implementation facts. Use when docs are stale, missing, or must reflect code changes. NOT for code-quality review, prompt scoring, speculative docs, or ADRs unless explicitly requested.
Support-only Playwright runtime/reference for browser-automation — dev-server detection, a Node.js script runner, quiet screenshot helpers, SPA readiness helpers, and custom HTTP headers. Use when browser-automation selects the bundled Playwright fallback; do not route user intent here directly.
Use when reviewing changed code, PRs, diffs, or specific files. Finds evidence-backed defects in security, correctness, tests, reliability, performance, maintainability, and docs. Supports quick, standard, deep, team, and external-review modes. NOT for repo-wide architecture review, general codebase exploration, fixing issues (use fixing-code), improving tests without a code review (use improving-tests), or applying refactors (use refactoring-code).
Support-only Playwright runtime/reference for browser-automation — dev-server detection, a Node.js script runner, quiet screenshot helpers, SPA readiness helpers, and custom HTTP headers. Use when browser-automation selects the bundled Playwright fallback; do not route user intent here directly.
Create normal git commits with logical grouping. Use when committing, saving changes, creating commits, or grouping work into commits. NOT for amending, rebasing, force-pushing, or rewriting history.
Use when reviewing changed code, PRs, diffs, or specific files. Finds evidence-backed defects in security, correctness, tests, reliability, performance, maintainability, and docs. Supports quick, standard, deep, team, and external-review modes. NOT for repo-wide architecture review, general codebase exploration, fixing issues (use fixing-code), improving tests without a code review (use improving-tests), or applying refactors (use refactoring-code).
Use when reviewing changed code, PRs, diffs, or specific files. Finds evidence-backed defects in security, correctness, tests, reliability, performance, maintainability, and docs. Supports quick, standard, deep, team, and external-review modes. NOT for repo-wide architecture review, general codebase exploration, fixing issues (use fixing-code), improving tests without a code review (use improving-tests), or applying refactors (use refactoring-code).
Support-only Playwright runtime/reference for browser-automation — dev-server detection, a Node.js script runner, quiet screenshot helpers, SPA readiness helpers, and custom HTTP headers. Use when browser-automation selects the bundled Playwright fallback; do not route user intent here directly.
Create normal git commits with logical grouping. Use when committing, saving changes, creating commits, or grouping work into commits. NOT for amending, rebasing, force-pushing, or rewriting history.
Create normal git commits with logical grouping. Use when committing, saving changes, creating commits, or grouping work into commits. NOT for amending, rebasing, force-pushing, or rewriting history.
Use when reviewing changed code, PRs, diffs, or specific files. Finds evidence-backed defects in security, correctness, tests, reliability, performance, maintainability, and docs. Supports quick, standard, deep, team, and external-review modes. NOT for repo-wide architecture review, general codebase exploration, fixing issues (use fixing-code), improving tests without a code review (use improving-tests), or applying refactors (use refactoring-code).
Batch behavior-preserving refactors for multi-file, repeated-pattern, large-file, rename, move, extract, split, or restructure work. Use for "refactor across files", "batch rename", "update pattern everywhere", large files (500+ lines), or 5+ coordinated edits in one file. NOT for single targeted edits, behavior changes or bug fixes (use fixing-code), test-only refactors (use improving-tests), code review (use reviewing-code), or architecture redesign (use architecture-design/review).
Idiomatic TypeScript development. Use when writing TypeScript code, Node.js services, React apps, or TypeScript design advice. Emphasizes strict typing, boundary validation, composition, fast feedback, behavior tests, and project-configured tooling. NOT for Go, Python, Rust, plain HTML/CSS/JS, or server-rendered templates (use writing-web).
Simple web development with HTML, CSS, JS, and HTMX. Use when working with .html, .css, or .htmx files, web templates, stylesheets, or vanilla JS scripts. NOT for React/Vue/Angular (use writing-typescript) or Node.js backends.
Create, split, slim, or rewrite repository skills. Use when adding a new `src/skills/<name>/` skill, editing a skill description, frontmatter, references, overlays, or plugin placement, or tightening routing between neighboring skills. NOT for score-only instruction review; use reviewing-instructions. NOT for broad agent/package config audits; use evolving-config. NOT for ordinary docs; use documenting-code.
Idiomatic shell development for POSIX sh, Bash, Zsh, Fish, hooks, CI shell steps, and scriptable CLI glue. Use when writing or changing `.sh`, `.bash`, `.zsh`, `.fish`, `.bats`, shell functions, shell pipelines, CI `run:` shell bodies, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, Rust, TypeScript, Go, web code, or GitHub Actions workflow/job/permissions semantics; use operating-infra.
Idiomatic Rust development. Use when writing Rust code, Cargo crates/workspaces, Rust tests, or rustfmt/clippy/cargo workflows. Emphasizes ownership, Result errors, small APIs, stdlib-first dependencies, fast cargo feedback, and behavior tests. NOT for Go, Python, TypeScript, shell scripts, or infra-only work.
Idiomatic modern Java and Kotlin JVM development. Use when writing `.java`, `.kt`, or `.kts` code; changing Gradle or Maven builds; or working on Spring, Micronaut, Quarkus, Ktor, Android JVM modules, JUnit, Mockito, Kotest, ktlint, detekt, or JVM CLI/services. Emphasizes JDK toolchains, null-safety, fast focused Gradle/Maven feedback, deterministic formatting, and minimal dependencies. NOT for JavaScript/TypeScript, C#/.NET, Python, shell scripts, or infra-only work.
Idiomatic Go development. Use when writing Go code, designing APIs, reviewing Go implementations, or changing Go tests. Follow the module's target Go version. Prefer stdlib, concrete types, explicit errors, context propagation, fast feedback, and behavior tests. NOT for Python, Rust, TypeScript, shell scripts, or infra-only work.
Idiomatic C# /.NET development. Use when writing C# code, changing `.csproj` or `.sln`, or working on ASP.NET Core apps, libraries, CLIs, workers, and xUnit/NUnit/MSTest suites. Emphasizes nullable references, async/await, LINQ discipline, boundary validation, focused `dotnet` feedback, and minimal dependencies. NOT for Go, Python, TypeScript, shell scripts, or infra-only work.
Create normal git commits with logical grouping. Use when committing, saving changes, creating commits, or grouping work into commits. NOT for amending, rebasing, force-pushing, or rewriting history.
Fix code defects with a reproducible feedback loop, root-cause diagnosis, minimal patch, regression test, and clean verification. Use when debugging, diagnosing, or resolving lint/test/build failures. NOT for behavior-preserving refactors (use refactoring-code), test-suite cleanup without a production bug (use improving-tests), or code review findings without fixes (use reviewing-code).
Creates isolated git worktrees for parallel development. Use when starting feature work needing isolation or working on multiple branches simultaneously. NOT for simple branch switching, bulk branch cleanup (use cleanup-git), or git hook/config setup (use configuring-git-hygiene).
Idiomatic modern Java and Kotlin JVM development. Use when writing `.java`, `.kt`, or `.kts` code; changing Gradle or Maven builds; or working on Spring, Micronaut, Quarkus, Ktor, Android JVM modules, JUnit, Mockito, Kotest, ktlint, detekt, or JVM CLI/services. Emphasizes JDK toolchains, null-safety, fast focused Gradle/Maven feedback, deterministic formatting, and minimal dependencies. NOT for JavaScript/TypeScript, C#/.NET, Python, shell scripts, or infra-only work.
Create, split, slim, or rewrite repository skills. Use when adding a new `src/skills/<name>/` skill, editing a skill description, frontmatter, references, overlays, or plugin placement, or tightening routing between neighboring skills. NOT for score-only instruction review; use reviewing-instructions. NOT for broad agent/package config audits; use evolving-config. NOT for ordinary docs; use documenting-code.
Creates isolated git worktrees for parallel development. Use when starting feature work needing isolation or working on multiple branches simultaneously. NOT for simple branch switching, bulk branch cleanup (use cleanup-git), or git hook/config setup (use configuring-git-hygiene).
Use when planning, executing, checkpointing, finishing, or inspecting lightweight spec-driven work. Runs one task at a time using `.spec/` markdown files and the bundled `specctl` helper. NOT for broad product discovery beyond a short requirement interview. NOT for generic implementation planning that does not read or write `.spec/` files.
Use when asked to lint, audit, review, or score AI-facing instruction files such as SKILL.md, AGENT.md, AGENTS.md, CLAUDE.md, platform body.md files, prompt files, rules, policies, and agent-facing references. NOT for plugin manifests, application code review, harness configuration review, ordinary docs, tests, or generated build output.
Structured stepwise reasoning with explicit revisions and branches. Use when the user says "think step by step", "sequential thinking", "plan this out", "reason through this", "branch this idea", or when tackling a hard multi-step problem (architecture decisions, ambiguous bugs, multi-constraint tradeoffs, plans that may need revision). NOT for trivial lookups, single-tool fetches, or tasks the model can answer directly without planning. NOT for open-ended option exploration or idea generation; use brainstorming-ideas. NOT for arguing a claim from both sides to prove or disprove it.
Use when reviewing changed code, PRs, diffs, or specific files. Finds evidence-backed defects in security, correctness, tests, reliability, performance, maintainability, and docs. Supports quick, standard, deep, team, and external-review modes. NOT for repo-wide architecture review, general codebase exploration, fixing issues (use fixing-code), improving tests without a code review (use improving-tests), or applying refactors (use refactoring-code).
Batch behavior-preserving refactors for multi-file, repeated-pattern, large-file, rename, move, extract, split, or restructure work. Use for "refactor across files", "batch rename", "update pattern everywhere", large files (500+ lines), or 5+ coordinated edits in one file. NOT for single targeted edits, behavior changes or bug fixes (use fixing-code), test-only refactors (use improving-tests), code review (use reviewing-code), or architecture redesign (use architecture-design/review).
Author, inspect, troubleshoot, and review infrastructure across IaC, Kubernetes, cloud resources, containers, CI/CD, and Linux hosts. Use when changing Terraform/OpenTofu, Kubernetes, Helm, Kustomize, Dockerfiles, GitHub Actions workflow/job/permissions semantics, AWS, GCP, Cloud Run, BigQuery, IAM, logs, instances, or service health. NOT for deploy/apply/rollback workflows (see deploying-infra). NOT for shell scripts, generic command pipelines, or only the shell body inside `run:` steps (see writing-shell).
Support-only Playwright runtime/reference for browser-automation — dev-server detection, a Node.js script runner, quiet screenshot helpers, SPA readiness helpers, and custom HTTP headers. Use when browser-automation selects the bundled Playwright fallback; do not route user intent here directly.
Remove merged local branches and stale git worktrees. Use when the user says "cleanup branches", "prune worktrees", "tidy git", "remove merged branches", "delete merged branches", "gone branches", or wants to clean local git state. NOT for creating commits, creating worktrees, or configuring git hooks.
Support-only Playwright runtime/reference for browser-automation — dev-server detection, a Node.js script runner, quiet screenshot helpers, SPA readiness helpers, and custom HTTP headers. Use when browser-automation selects the bundled Playwright fallback; do not route user intent here directly.
Improve test design, speed, and coverage with behavior-focused tests, useful seams, characterization tests, TDD, and test refactoring. Use when improving tests, optimizing slow suites, adding coverage, refactoring brittle tests, removing test waste, or working test-first. NOT for fixing production bugs (use fixing-code), production-code refactors (use refactoring-code), or reviewing non-test code quality (use reviewing-code).
Find exact, version-correct library/API/framework docs through one lookup workflow. Use when the user says "look up docs", "how to use", "API for", "syntax for", "examples of", "show me the docs", mentions "ctx7"/"Context7", passes a `/org/project` library ID, or needs API signatures, config keys, syntax, examples, or versioned docs. NOT for comparisons, current-state or release-behavior questions, best-practice surveys, or recent ecosystem news — use researching-web.
Audit and improve AI coding-agent configuration. Use when reviewing or changing Claude Code, Pi, Codex, skill, agent, hook, MCP, permission, package, or generated-export setup. Default is review-only; fixes require explicit user approval or --fix. NOT for score-only instruction review or prompt lint; use reviewing-instructions. NOT for application config, git hygiene, code bugs, ordinary docs, or generated files without their source.
Create or update human-facing docs, agent-facing instructions, architecture docs, API docs, README content, and useful code comments from implementation facts. Use when docs are stale, missing, or must reflect code changes. NOT for code-quality review, prompt scoring, speculative docs, or ADRs unless explicitly requested.
Configure safe git workflow hygiene: pre-commit/pre-push hooks, Gitleaks secret scanning, .gitignore rules, local git config, and guardrails. Use when setting up git hooks, gitleaks/git leaks, staged pre-commit checks, pre-push validation, core.hooksPath, .gitignore, or git config best practices. NOT for creating commits (use committing-code), cleaning branches/worktrees (use cleanup-git), or creating worktrees (use using-git-worktrees).
Create normal git commits with logical grouping. Use when committing, saving changes, creating commits, or grouping work into commits. NOT for amending, rebasing, force-pushing, or rewriting history.
Remove merged local branches and stale git worktrees. Use when the user says "cleanup branches", "prune worktrees", "tidy git", "remove merged branches", "delete merged branches", "gone branches", or wants to clean local git state. NOT for creating commits, creating worktrees, or configuring git hooks.
Browser automation for rendered UI exploration, validation, screenshots, recordings, and end-to-end flows. Use when a task needs an actual browser or rendered DOM: inspect UI state, click/fill forms, debug frontend behavior, capture evidence, verify a feature, or run/generate browser tests. NOT for API checks or pure logic tests where curl, unit tests, or JSDOM is cheaper.
Use when planning, executing, checkpointing, finishing, or inspecting lightweight spec-driven work. Runs one task at a time using `.spec/` markdown files and the bundled `specctl` helper. NOT for broad product discovery beyond a short requirement interview. NOT for generic implementation planning that does not read or write `.spec/` files.
Brainstorm ideas and stress-test draft plans before coding. Use when brainstorming, exploring approaches, designing a feature/API/flow, grilling or debating a bounded plan, challenging assumptions, or resolving design-blocking terminology. NOT for implementation task breakdown. NOT for generic technology comparisons or best-practice research; use researching-web. NOT for docs updates; use documenting-code.
Idiomatic TypeScript development. Use when writing TypeScript code, Node.js services, React apps, or TypeScript design advice. Emphasizes strict typing, boundary validation, composition, fast feedback, behavior tests, and project-configured tooling. NOT for Go, Python, Rust, plain HTML/CSS/JS, or server-rendered templates (use writing-web).
Simple web development with HTML, CSS, JS, and HTMX. Use when working with .html, .css, or .htmx files, web templates, stylesheets, or vanilla JS scripts. NOT for React/Vue/Angular (use writing-typescript) or Node.js backends.
Idiomatic Rust development. Use when writing Rust code, Cargo crates/workspaces, Rust tests, or rustfmt/clippy/cargo workflows. Emphasizes ownership, Result errors, small APIs, stdlib-first dependencies, fast cargo feedback, and behavior tests. NOT for Go, Python, TypeScript, shell scripts, or infra-only work.
Idiomatic Python 3.12+ development. Use when writing Python code, CLI tools, scripts, or services. Emphasizes stdlib, type hints, fast pytest feedback, uv/ruff/pyright toolchain, and minimal dependencies. NOT for Go, Rust, TypeScript, or shell-only tasks.
Idiomatic modern Java and Kotlin JVM development. Use when writing `.java`, `.kt`, or `.kts` code; changing Gradle or Maven builds; or working on Spring, Micronaut, Quarkus, Ktor, Android JVM modules, JUnit, Mockito, Kotest, ktlint, detekt, or JVM CLI/services. Emphasizes JDK toolchains, null-safety, fast focused Gradle/Maven feedback, deterministic formatting, and minimal dependencies. NOT for JavaScript/TypeScript, C#/.NET, Python, shell scripts, or infra-only work.
Idiomatic Go development. Use when writing Go code, designing APIs, reviewing Go implementations, or changing Go tests. Follow the module's target Go version. Prefer stdlib, concrete types, explicit errors, context propagation, fast feedback, and behavior tests. NOT for Python, Rust, TypeScript, shell scripts, or infra-only work.
Author, inspect, troubleshoot, and review infrastructure across IaC, Kubernetes, cloud resources, containers, CI/CD, and Linux hosts. Use when changing Terraform/OpenTofu, Kubernetes, Helm, Kustomize, Dockerfiles, GitHub Actions workflow/job/permissions semantics, AWS, GCP, Cloud Run, BigQuery, IAM, logs, instances, or service health. NOT for deploy/apply/rollback workflows (see deploying-infra). NOT for shell scripts, generic command pipelines, or only the shell body inside `run:` steps (see writing-shell).
Idiomatic C# /.NET development. Use when writing C# code, changing `.csproj` or `.sln`, or working on ASP.NET Core apps, libraries, CLIs, workers, and xUnit/NUnit/MSTest suites. Emphasizes nullable references, async/await, LINQ discipline, boundary validation, focused `dotnet` feedback, and minimal dependencies. NOT for Go, Python, TypeScript, shell scripts, or infra-only work.
Creates isolated git worktrees for parallel development. Use when starting feature work needing isolation or working on multiple branches simultaneously. NOT for simple branch switching, bulk branch cleanup (use cleanup-git), or git hook/config setup (use configuring-git-hygiene).
Use when asked to lint, audit, review, or score AI-facing instruction files such as SKILL.md, AGENT.md, AGENTS.md, CLAUDE.md, platform body.md files, prompt files, rules, policies, and agent-facing references. NOT for plugin manifests, application code review, harness configuration review, ordinary docs, tests, or generated build output.
Remove merged local branches and stale git worktrees. Use when the user says "cleanup branches", "prune worktrees", "tidy git", "remove merged branches", "delete merged branches", "gone branches", or wants to clean local git state. NOT for creating commits, creating worktrees, or configuring git hooks.
Create, split, slim, or rewrite repository skills. Use when adding a new `src/skills/<name>/` skill, editing a skill description, frontmatter, references, overlays, or plugin placement, or tightening routing between neighboring skills. NOT for score-only instruction review; use reviewing-instructions. NOT for broad agent/package config audits; use evolving-config. NOT for ordinary docs; use documenting-code.
Structured stepwise reasoning with explicit revisions and branches. Use when the user says "think step by step", "sequential thinking", "plan this out", "reason through this", "branch this idea", or when tackling a hard multi-step problem (architecture decisions, ambiguous bugs, multi-constraint tradeoffs, plans that may need revision). NOT for trivial lookups, single-tool fetches, or tasks the model can answer directly without planning. NOT for open-ended option exploration or idea generation; use brainstorming-ideas. NOT for arguing a claim from both sides to prove or disprove it.
Find exact, version-correct library/API/framework docs through one lookup workflow. Use when the user says "look up docs", "how to use", "API for", "syntax for", "examples of", "show me the docs", mentions "ctx7"/"Context7", passes a `/org/project` library ID, or needs API signatures, config keys, syntax, examples, or versioned docs. NOT for comparisons, current-state or release-behavior questions, best-practice surveys, or recent ecosystem news — use researching-web.
Audit and improve AI coding-agent configuration. Use when reviewing or changing Claude Code, Pi, Codex, skill, agent, hook, MCP, permission, package, or generated-export setup. Default is review-only; fixes require explicit user approval or --fix. NOT for score-only instruction review or prompt lint; use reviewing-instructions. NOT for application config, git hygiene, code bugs, ordinary docs, or generated files without their source.
Use when reviewing changed code, PRs, diffs, or specific files. Finds evidence-backed defects in security, correctness, tests, reliability, performance, maintainability, and docs. Supports quick, standard, deep, team, and external-review modes. NOT for repo-wide architecture review, general codebase exploration, fixing issues (use fixing-code), improving tests without a code review (use improving-tests), or applying refactors (use refactoring-code).
Brainstorm ideas and stress-test draft plans before coding. Use when brainstorming, exploring approaches, designing a feature/API/flow, grilling or debating a bounded plan, challenging assumptions, or resolving design-blocking terminology. NOT for implementation task breakdown. NOT for generic technology comparisons or best-practice research; use researching-web. NOT for docs updates; use documenting-code.
Improve test design, speed, and coverage with behavior-focused tests, useful seams, characterization tests, TDD, and test refactoring. Use when improving tests, optimizing slow suites, adding coverage, refactoring brittle tests, removing test waste, or working test-first. NOT for fixing production bugs (use fixing-code), production-code refactors (use refactoring-code), or reviewing non-test code quality (use reviewing-code).
Fix code defects with a reproducible feedback loop, root-cause diagnosis, minimal patch, regression test, and clean verification. Use when debugging, diagnosing, or resolving lint/test/build failures. NOT for behavior-preserving refactors (use refactoring-code), test-suite cleanup without a production bug (use improving-tests), or code review findings without fixes (use reviewing-code).
Configure safe git workflow hygiene: pre-commit/pre-push hooks, Gitleaks secret scanning, .gitignore rules, local git config, and guardrails. Use when setting up git hooks, gitleaks/git leaks, staged pre-commit checks, pre-push validation, core.hooksPath, .gitignore, or git config best practices. NOT for creating commits (use committing-code), cleaning branches/worktrees (use cleanup-git), or creating worktrees (use using-git-worktrees).
Create or update human-facing docs, agent-facing instructions, architecture docs, API docs, README content, and useful code comments from implementation facts. Use when docs are stale, missing, or must reflect code changes. NOT for code-quality review, prompt scoring, speculative docs, or ADRs unless explicitly requested.
Support-only Playwright runtime/reference for browser-automation — dev-server detection, a Node.js script runner, quiet screenshot helpers, SPA readiness helpers, and custom HTTP headers. Use when browser-automation selects the bundled Playwright fallback; do not route user intent here directly.
Create normal git commits with logical grouping. Use when committing, saving changes, creating commits, or grouping work into commits. NOT for amending, rebasing, force-pushing, or rewriting history.
Use when planning, executing, checkpointing, finishing, or inspecting lightweight spec-driven work. Runs one task at a time using `.spec/` markdown files and the bundled `specctl` helper. NOT for broad product discovery beyond a short requirement interview. NOT for generic implementation planning that does not read or write `.spec/` files.
Browser automation for rendered UI exploration, validation, screenshots, recordings, and end-to-end flows. Use when a task needs an actual browser or rendered DOM: inspect UI state, click/fill forms, debug frontend behavior, capture evidence, verify a feature, or run/generate browser tests. NOT for API checks or pure logic tests where curl, unit tests, or JSDOM is cheaper.
Simple web development with HTML, CSS, JS, and HTMX. Use when working with .html, .css, or .htmx files, web templates, stylesheets, or vanilla JS scripts. NOT for React/Vue/Angular (use writing-typescript) or Node.js backends.
Idiomatic TypeScript development. Use when writing TypeScript code, Node.js services, React apps, or TypeScript design advice. Emphasizes strict typing, boundary validation, composition, fast feedback, behavior tests, and project-configured tooling. NOT for Go, Python, Rust, plain HTML/CSS/JS, or server-rendered templates (use writing-web).
Idiomatic shell development for POSIX sh, Bash, Zsh, Fish, hooks, CI shell steps, and scriptable CLI glue. Use when writing or changing `.sh`, `.bash`, `.zsh`, `.fish`, `.bats`, shell functions, shell pipelines, CI `run:` shell bodies, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, Rust, TypeScript, Go, web code, or GitHub Actions workflow/job/permissions semantics; use operating-infra.
Idiomatic Python 3.12+ development. Use when writing Python code, CLI tools, scripts, or services. Emphasizes stdlib, type hints, fast pytest feedback, uv/ruff/pyright toolchain, and minimal dependencies. NOT for Go, Rust, TypeScript, or shell-only tasks.
Idiomatic Rust development. Use when writing Rust code, Cargo crates/workspaces, Rust tests, or rustfmt/clippy/cargo workflows. Emphasizes ownership, Result errors, small APIs, stdlib-first dependencies, fast cargo feedback, and behavior tests. NOT for Go, Python, TypeScript, shell scripts, or infra-only work.
Idiomatic modern Java and Kotlin JVM development. Use when writing `.java`, `.kt`, or `.kts` code; changing Gradle or Maven builds; or working on Spring, Micronaut, Quarkus, Ktor, Android JVM modules, JUnit, Mockito, Kotest, ktlint, detekt, or JVM CLI/services. Emphasizes JDK toolchains, null-safety, fast focused Gradle/Maven feedback, deterministic formatting, and minimal dependencies. NOT for JavaScript/TypeScript, C#/.NET, Python, shell scripts, or infra-only work.
Fix code defects with a reproducible feedback loop, root-cause diagnosis, minimal patch, regression test, and clean verification. Use when debugging, diagnosing, or resolving lint/test/build failures. NOT for behavior-preserving refactors (use refactoring-code), test-suite cleanup without a production bug (use improving-tests), or code review findings without fixes (use reviewing-code).
Idiomatic Go development. Use when writing Go code, designing APIs, reviewing Go implementations, or changing Go tests. Follow the module's target Go version. Prefer stdlib, concrete types, explicit errors, context propagation, fast feedback, and behavior tests. NOT for Python, Rust, TypeScript, shell scripts, or infra-only work.
Idiomatic C# /.NET development. Use when writing C# code, changing `.csproj` or `.sln`, or working on ASP.NET Core apps, libraries, CLIs, workers, and xUnit/NUnit/MSTest suites. Emphasizes nullable references, async/await, LINQ discipline, boundary validation, focused `dotnet` feedback, and minimal dependencies. NOT for Go, Python, TypeScript, shell scripts, or infra-only work.
Support-only Playwright runtime/reference for browser-automation — dev-server detection, a Node.js script runner, quiet screenshot helpers, SPA readiness helpers, and custom HTTP headers. Use when browser-automation selects the bundled Playwright fallback; do not route user intent here directly.
Fix code defects with a reproducible feedback loop, root-cause diagnosis, minimal patch, regression test, and clean verification. Use when debugging, diagnosing, or resolving lint/test/build failures. NOT for behavior-preserving refactors (use refactoring-code), test-suite cleanup without a production bug (use improving-tests), or code review findings without fixes (use reviewing-code).
Improve test design, speed, and coverage with behavior-focused tests, useful seams, characterization tests, TDD, and test refactoring. Use when improving tests, optimizing slow suites, adding coverage, refactoring brittle tests, removing test waste, or working test-first. NOT for fixing production bugs (use fixing-code), production-code refactors (use refactoring-code), or reviewing non-test code quality (use reviewing-code).
Browser automation for rendered UI exploration, validation, screenshots, recordings, and end-to-end flows. Use when a task needs an actual browser or rendered DOM: inspect UI state, click/fill forms, debug frontend behavior, capture evidence, verify a feature, or run/generate browser tests. NOT for API checks or pure logic tests where curl, unit tests, or JSDOM is cheaper.
Create, split, slim, or rewrite repository skills. Use when adding a new `src/skills/<name>/` skill, editing a skill description, frontmatter, references, overlays, or plugin placement, or tightening routing between neighboring skills. NOT for score-only instruction review; use reviewing-instructions. NOT for broad agent/package config audits; use evolving-config. NOT for ordinary docs; use documenting-code.
Create or update human-facing docs, agent-facing instructions, architecture docs, API docs, README content, and useful code comments from implementation facts. Use when docs are stale, missing, or must reflect code changes. NOT for code-quality review, prompt scoring, speculative docs, or ADRs unless explicitly requested.
Author, inspect, troubleshoot, and review infrastructure across IaC, Kubernetes, cloud resources, containers, CI/CD, and Linux hosts. Use when changing Terraform/OpenTofu, Kubernetes, Helm, Kustomize, Dockerfiles, GitHub Actions workflow/job/permissions semantics, AWS, GCP, Cloud Run, BigQuery, IAM, logs, instances, or service health. NOT for deploy/apply/rollback workflows (see deploying-infra). NOT for shell scripts, generic command pipelines, or only the shell body inside `run:` steps (see writing-shell).
Creates isolated git worktrees for parallel development. Use when starting feature work needing isolation or working on multiple branches simultaneously. NOT for simple branch switching, bulk branch cleanup (use cleanup-git), or git hook/config setup (use configuring-git-hygiene).
Configure safe git workflow hygiene: pre-commit/pre-push hooks, Gitleaks secret scanning, .gitignore rules, local git config, and guardrails. Use when setting up git hooks, gitleaks/git leaks, staged pre-commit checks, pre-push validation, core.hooksPath, .gitignore, or git config best practices. NOT for creating commits (use committing-code), cleaning branches/worktrees (use cleanup-git), or creating worktrees (use using-git-worktrees).
Validate infrastructure changes and, after explicit confirmation, apply Terraform, Helm, Kustomize, or Kubernetes deployments. Use when the user says "deploy", "deploy to staging", "terraform apply", "helm upgrade", "kubectl apply", "rollout", "deploy check", "validate deployment", or "validate infrastructure". Dockerfiles and GitHub Actions are validate-only here. NOT for ongoing service troubleshooting, cloud inspection, rollback investigation, or authoring infra from scratch; use operating-infra for those.
Idiomatic Python 3.12+ development. Use when writing Python code, CLI tools, scripts, or services. Emphasizes stdlib, type hints, uv/ruff/pyright toolchain, and minimal dependencies. NOT for Go, TypeScript, or shell-only tasks.
Prefer modern CLI tools for shell and file workflows — rg, fd, bat, eza, sd, dust, procs, and delta over legacy grep/find/cat/ls/sed/du/ps/diff. Use when writing bash scripts, optimizing command chains, or replacing legacy Unix tools. NOT for repo-wide code search, architecture review, AST/codegraph/GitNexus evidence, or application logic.
Explore public GitHub repositories in Pi using GitHub CLI, local clones, and web tools. Use when the user asks how a public repo works, wants architecture orientation, or needs repo-level Q&A. NOT for library API docs (use looking-up-docs) or local private codebases (use a local codebase workflow).
Prefer modern CLI tools for shell and file workflows — rg, fd, bat, eza, sd, dust, procs, and delta over legacy grep/find/cat/ls/sed/du/ps/diff. Use when writing bash scripts, optimizing command chains, or replacing legacy Unix tools. NOT for repo-wide code search, architecture review, AST/codegraph/GitNexus evidence, or application logic.
Idiomatic Go development. Use when writing Go code, designing APIs, reviewing Go implementations, or changing Go tests. Follow the module's target Go version. Prefer stdlib, concrete types, explicit errors, context propagation, and behavior tests. NOT for Python, TypeScript, shell scripts, or infra-only work.
Explore public GitHub repositories in Pi using GitHub CLI, local clones, and web tools. Use when the user asks how a public repo works, wants architecture orientation, or needs repo-level Q&A. NOT for library API docs (use looking-up-docs) or local private codebases (use a local codebase workflow).
Token-efficient local code navigation and extraction. Use when exploring a known file or bounded module outline, finding a known symbol in a scoped area, or extracting exact function/type bodies with smart_outline, smart_search, and smart_unfold. NOT for repo-wide structural pattern search, architecture or trace-flow questions, ast-grep/codegraph/GitNexus evidence, or broad caller/implementation maps.
Prefer modern CLI tools for shell and file workflows — rg, fd, bat, eza, sd, dust, procs, and delta over legacy grep/find/cat/ls/sed/du/ps/diff. Use when writing bash scripts, optimizing command chains, or replacing legacy Unix tools. NOT for repo-wide code search, architecture review, AST/codegraph/GitNexus evidence, or application logic.
Token-efficient local code navigation and extraction. Use when exploring a known file or bounded module outline, finding a known symbol in a scoped area, or extracting exact function/type bodies with smart_outline, smart_search, and smart_unfold. NOT for repo-wide structural pattern search, architecture or trace-flow questions, ast-grep/codegraph/GitNexus evidence, or broad caller/implementation maps.
Token-efficient local code navigation and extraction. Use when exploring a known file or bounded module outline, finding a known symbol in a scoped area, or extracting exact function/type bodies with smart_outline, smart_search, and smart_unfold. NOT for repo-wide structural pattern search, architecture or trace-flow questions, ast-grep/codegraph/GitNexus evidence, or broad caller/implementation maps.
Review and score AI agent/skill instruction files for quality — signal density, scope specificity, output structure, failure handling, and routing precision. Use when asked to "lint", "audit", "review", or "score" prompts, SKILL.md, AGENT.md, AGENTS.md, CLAUDE.md, platform-specific body.md, reference markdown, or other markdown files explicitly meant to be read by AI agents.
Remove merged local branches and stale git worktrees. Use when the user says "cleanup branches", "prune worktrees", "tidy git", "remove merged branches", "gone branches", or wants to clean local git state.
Remove merged local branches and stale git worktrees. Use when the user says "cleanup branches", "prune worktrees", "tidy git", "remove merged branches", "gone branches", or wants to clean local git state.
Review and score AI agent/skill instruction files for quality — signal density, scope specificity, output structure, failure handling, and routing precision. Use when asked to "lint", "audit", "review", or "score" prompts, SKILL.md, AGENT.md, AGENTS.md, CLAUDE.md, platform-specific body.md, reference markdown, or other markdown files explicitly meant to be read by AI agents.
Idiomatic Python 3.12+ development. Use when writing Python code, CLI tools, scripts, or services. Emphasizes stdlib, type hints, uv/ruff/pyright toolchain, and minimal dependencies. NOT for Go, TypeScript, or shell-only tasks.
Explore public GitHub repositories in Pi using GitHub CLI, local clones, and web tools. Use when the user asks how a public repo works, wants architecture orientation, or needs repo-level Q&A. NOT for library API docs (use looking-up-docs) or local private codebases (use a local codebase workflow).
Prefer modern CLI tools for shell and file workflows — rg, fd, bat, eza, sd, dust, procs, and delta over legacy grep/find/cat/ls/sed/du/ps/diff. Use when writing bash scripts, optimizing command chains, or replacing legacy Unix tools. NOT for repo-wide code search, architecture review, AST/codegraph/GitNexus evidence, or application logic.
Prefer modern CLI tools for shell and file workflows — rg, fd, bat, eza, sd, dust, procs, and delta over legacy grep/find/cat/ls/sed/du/ps/diff. Use when writing bash scripts, optimizing command chains, or replacing legacy Unix tools. NOT for repo-wide code search, architecture review, AST/codegraph/GitNexus evidence, or application logic.
Idiomatic Go development. Use when writing Go code, designing APIs, reviewing Go implementations, or changing Go tests. Follow the module's target Go version. Prefer stdlib, concrete types, explicit errors, context propagation, and behavior tests. NOT for Python, TypeScript, shell scripts, or infra-only work.
Idiomatic TypeScript development. Use when writing TypeScript code, Node.js services, React apps, or TypeScript design advice. Emphasizes strict typing, boundary validation, composition, behavior tests, and project-configured tooling. NOT for Go, Python, plain HTML/CSS/JS, or server-rendered templates.
Token-efficient local code navigation and extraction. Use when exploring a known file or bounded module outline, finding a known symbol in a scoped area, or extracting exact function/type bodies with smart_outline, smart_search, and smart_unfold. NOT for repo-wide structural pattern search, architecture or trace-flow questions, ast-grep/codegraph/GitNexus evidence, or broad caller/implementation maps.
Explore public GitHub repositories in Pi using GitHub CLI, local clones, and web tools. Use when the user asks how a public repo works, wants architecture orientation, or needs repo-level Q&A. NOT for library API docs (use looking-up-docs) or local private codebases (use a local codebase workflow).
Token-efficient local code navigation and extraction. Use when exploring a known file or bounded module outline, finding a known symbol in a scoped area, or extracting exact function/type bodies with smart_outline, smart_search, and smart_unfold. NOT for repo-wide structural pattern search, architecture or trace-flow questions, ast-grep/codegraph/GitNexus evidence, or broad caller/implementation maps.
Explore public GitHub repositories in Pi using GitHub CLI, local clones, and web tools. Use when the user asks how a public repo works, wants architecture orientation, or needs repo-level Q&A. NOT for library API docs (use looking-up-docs) or local private codebases (use a local codebase workflow).
Idiomatic TypeScript development. Use when writing TypeScript code, Node.js services, React apps, or TypeScript design advice. Emphasizes strict typing, boundary validation, composition, behavior tests, and project-configured tooling. NOT for Go, Python, plain HTML/CSS/JS, or server-rendered templates.
Mark a task complete with evidence. Use when finishing a task, discovering which in-progress tasks look done from git history, or verifying quality gates before closing out. Handles follow-up task creation and durable learnings. NOT for reporting progress (spec-status).
Initialize a `.spec/` project or extract requirements from a document. Use when there is no `.spec/` directory yet, or to add requirements from an existing design doc. NOT for one-off task/req creation (spec-new) or deep PRD-quality requirement capture (spec-interview).
Infrastructure patterns for Kubernetes, Terraform, Helm, Kustomize, and GitHub Actions. Use when making K8s architectural decisions, choosing between Helm vs Kustomize, structuring Terraform modules, writing CI/CD workflows, or applying security best practices. NOT for cloud CLI commands (see using-cloud-cli) or deploy validation and apply workflows (see deploying-infra).
Playwright-based end-to-end browser testing of user flows. Use when running existing Playwright tests, generating browser checks, recording a visible session, or verifying a user journey end-to-end. NOT for unit tests, API-only tests, or logic tests where curl or JSDOM suffices — use improving-tests or fixing-code instead.
Create a single TASK or REQ file from a template. Use for one-off artifact creation without the full planning workflow. NOT for full project bootstrap (spec-init) or multi-task planning from a requirement (spec-plan).
Cloud CLI patterns for GCP and AWS. Use when running bq queries, gcloud commands, aws commands, or making decisions about cloud services. Covers BigQuery cost optimization and operational best practices. NOT for Terraform or Kubernetes architectural decisions (see managing-infra).
Create a single TASK or REQ file from a template. Use for one-off artifact creation without the full planning workflow. NOT for full project bootstrap (spec-init) or multi-task planning from a requirement (spec-plan).
Implement the next ready task. Use when starting a development session — selects the highest-priority ready task, plans with a specialist subagent, implements with approval at every step, verifies quality gates, and commits. One task per session. NOT for batch task execution or planning new work — use spec-plan for planning.
Turn a requirement or a concrete feature idea into an EPIC with vertical-slice TASKs. Use when you have a REQ file, or a feature idea already specific enough for a quick 3–5 question pass, and need an executable plan with dependencies and acceptance criteria. NOT for open-ended idea exploration — use brainstorming-ideas. NOT for capturing PRD-quality requirements — use spec-interview. NOT for implementing tasks — use spec-work.
Spec-driven development status and orientation. Use when checking overall project state, viewing a specific task with its linked req/epic, listing tasks by status, running a quality audit for orphans/cycles/missing fields, or for a pipeline overview when unsure which spec sub-skill to use. NOT for mutating state — read-only; use spec-done or spec-work for state changes.
Turn a requirement or a concrete feature idea into an EPIC with vertical-slice TASKs. Use when you have a REQ file, or a feature idea already specific enough for a quick 3–5 question pass, and need an executable plan with dependencies and acceptance criteria. NOT for open-ended idea exploration — use brainstorming-ideas. NOT for capturing PRD-quality requirements — use spec-interview. NOT for implementing tasks — use spec-work.
Create a single TASK or REQ file from a template. Use for one-off artifact creation without the full planning workflow. NOT for full project bootstrap (spec-init) or multi-task planning from a requirement (spec-plan).
Monitor a Claude Code team in tmux, auto-approve prompts, and report status. Use when the user says "watch the team", "monitor agents", "auto-approve", "babysit team", or "agents are stuck". NOT for single-agent monitoring, non-tmux setups, or general process supervision.
Spec-driven development status and orientation. Use when checking overall project state, viewing a specific task with its linked req/epic, listing tasks by status, running a quality audit for orphans/cycles/missing fields, or for a pipeline overview when unsure which spec sub-skill to use. NOT for mutating state — read-only; use spec-done or spec-work for state changes.
Extract structured data from PDF documents — text, tables, forms, and metadata. Use when reading or extracting content from a `.pdf` file, parsing invoices/reports/scanned documents, or converting PDF data to JSON/CSV. NOT for generating PDFs, and NOT for plain-text/markdown files (read those directly).
Query project history, past decisions, and known gotchas from claude-mem observations. Use when user asks "last session", "did we already", "what did we decide", "project history", "timeline", or "what happened with".
Infrastructure patterns for Kubernetes, Terraform, Helm, Kustomize, and GitHub Actions. Use when making K8s architectural decisions, choosing between Helm vs Kustomize, structuring Terraform modules, writing CI/CD workflows, or applying security best practices. NOT for cloud CLI commands (see using-cloud-cli) or deploy validation and apply workflows (see deploying-infra).
Update project documentation based on code changes. Use when the user asks to update docs, document behavior, add README content, or align docs with recent implementation changes. NOT for extracting session learnings or authoring ADRs (use learning-patterns) or code-quality feedback (use reviewing-code).
Fix code problems with disciplined diagnosis — run checks, build a repro for bugs, rank falsifiable hypotheses, fix one issue at a time, and verify until clean. Use when fixing, debugging, diagnosing, or resolving lint/test/build failures.
ctx7 (Context7) CLI mechanics for querying versioned library documentation. Use when the user mentions "ctx7" or "context7", passes a `/org/project` library ID, or another skill needs the exact ctx7 command workflow. NOT the docs-lookup decision flow or web fallback — that is looking-up-docs.
Infrastructure patterns for Kubernetes, Terraform, Helm, Kustomize, and GitHub Actions. Use when making K8s architectural decisions, choosing between Helm vs Kustomize, structuring Terraform modules, writing CI/CD workflows, or applying security best practices. NOT for cloud CLI commands (see using-cloud-cli) or deploy validation and apply workflows (see deploying-infra).
Extract structured data from PDF documents — text, tables, forms, and metadata. Use when reading or extracting content from a `.pdf` file, parsing invoices/reports/scanned documents, or converting PDF data to JSON/CSV. NOT for generating PDFs, and NOT for plain-text/markdown files (read those directly).
Idiomatic TypeScript development. Use when writing TypeScript code, Node.js services, React apps, or discussing TS patterns. Emphasizes strict typing, composition, and modern tooling (bun/vite). NOT for Go, Python, plain HTML/CSS/JS, or server-rendered templates (use writing-web for those).
Monitor a Claude Code team in tmux, auto-approve prompts, and report status. Use when the user says "watch the team", "monitor agents", "auto-approve", "babysit team", or "agents are stuck". NOT for single-agent monitoring, non-tmux setups, or general process supervision.
ctx7 (Context7) CLI mechanics for querying versioned library documentation. Use when the user mentions "ctx7" or "context7", passes a `/org/project` library ID, or another skill needs the exact ctx7 command workflow. NOT the docs-lookup decision flow or web fallback — that is looking-up-docs.
Web research via Perplexity and platform web tools. Use for technical comparisons, recent facts, ecosystem news, best practices, standards, or questions needing grounded web evidence. NOT for API syntax lookup or code examples — use looking-up-docs for those. NOT for repo-specific questions — search local files first.
Batch refactoring via MorphLLM edit_file. Use for "refactor across files", "batch rename", "update pattern everywhere", large files (500+ lines), 5+ edits in same file, or applying an approved architecture-deepening refactor. NOT for single-file targeted edits (use built-in Edit) or code review (use reviewing-code).
Cloud CLI patterns for GCP and AWS. Use when running bq queries, gcloud commands, aws commands, or making decisions about cloud services. Covers BigQuery cost optimization and operational best practices. NOT for Terraform or Kubernetes architectural decisions (see managing-infra).
Capture PRD-quality requirements through structured Q&A. Use when a new requirement needs deep exploration — produces a `REQ-*.md` via 8–15 targeted questions. NOT for creating tasks or implementation plans — use spec-plan for that.
Capture PRD-quality requirements through structured Q&A. Use when a new requirement needs deep exploration — produces a `REQ-*.md` via 8–15 targeted questions. NOT for creating tasks or implementation plans — use spec-plan for that.
Playwright-based end-to-end browser testing of user flows. Use when running existing Playwright tests, generating browser checks, recording a visible session, or verifying a user journey end-to-end. NOT for unit tests, API-only tests, or logic tests where curl or JSDOM suffices — use improving-tests or fixing-code instead.
Audit AI coding-agent configuration against current features and local usage. Use when the user wants to improve Claude Code, Pi, Codex, Gemini, skill, hook, or agent configuration. NOT for writing new application code, fixing bugs, or any task that isn't about agent/tool configuration files. NOT for review-only audits without applying changes (use `reviewing-cc-config`).
Monitor a Claude Code team in tmux, auto-approve prompts, and report status. Use when the user says "watch the team", "monitor agents", "auto-approve", "babysit team", or "agents are stuck". NOT for single-agent monitoring, non-tmux setups, or general process supervision.
Simple web development with HTML, CSS, JS, and HTMX. Use when working with .html, .css, or .htmx files, web templates, stylesheets, or vanilla JS scripts. NOT for React/Vue/Angular (use writing-typescript) or Node.js backends.
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable. NOT for line-level cleanup (use reviewing-code) or batch edits (use refactoring-code).
Improve test design and coverage, including TDD/red-green-refactor guidance. Use when improving tests, refactoring tests, adding coverage, using TDD, or removing test waste. NOT for fixing production bugs (use fixing-code) or reviewing non-test code quality (use reviewing-code).
Query project history, past decisions, and known gotchas from claude-mem observations. Use when user asks "last session", "did we already", "what did we decide", "project history", "timeline", or "what happened with".
Create a single TASK or REQ file from a template. Use for one-off artifact creation without the full planning workflow. NOT for full project bootstrap (spec-init) or multi-task planning from a requirement (spec-plan).
Spec-driven development status and orientation. Use when checking overall project state, viewing a specific task with its linked req/epic, listing tasks by status, running a quality audit for orphans/cycles/missing fields, or for a pipeline overview when unsure which spec sub-skill to use. NOT for mutating state — read-only; use spec-done or spec-work for state changes.
Implement the next ready task. Use when starting a development session — selects the highest-priority ready task, plans with a specialist subagent, implements with approval at every step, verifies quality gates, and commits. One task per session. NOT for batch task execution or planning new work — use spec-plan for planning.
Turn a requirement or a concrete feature idea into an EPIC with vertical-slice TASKs. Use when you have a REQ file, or a feature idea already specific enough for a quick 3–5 question pass, and need an executable plan with dependencies and acceptance criteria. NOT for open-ended idea exploration — use brainstorming-ideas. NOT for capturing PRD-quality requirements — use spec-interview. NOT for implementing tasks — use spec-work.
Infrastructure patterns for Kubernetes, Terraform, Helm, Kustomize, and GitHub Actions. Use when making K8s architectural decisions, choosing between Helm vs Kustomize, structuring Terraform modules, writing CI/CD workflows, or applying security best practices. NOT for cloud CLI commands (see using-cloud-cli) or deploy validation and apply workflows (see deploying-infra).
Cloud CLI patterns for GCP and AWS. Use when running bq queries, gcloud commands, aws commands, or making decisions about cloud services. Covers BigQuery cost optimization and operational best practices. NOT for Terraform or Kubernetes architectural decisions (see managing-infra).
Code review covering security, quality, tests, implementation, documentation, and architecture / module-depth. Use when the user asks to review code, check changes, audit a PR or diff, find refactoring opportunities, or look for shallow modules and over-abstraction. NOT for fixing the issues found (use fixing-code) or applying refactors (use refactoring-code).
Idiomatic Python 3.12+ development. Use when writing Python code, CLI tools, scripts, or services. Emphasizes stdlib, type hints, uv/ruff/pyright toolchain, and minimal dependencies. NOT for Go, TypeScript, or shell-only tasks.
Batch refactoring via MorphLLM edit_file. Use for "refactor across files", "batch rename", "update pattern everywhere", large files (500+ lines), 5+ edits in same file, or applying an approved architecture-deepening refactor. NOT for single-file targeted edits (use built-in Edit) or code review (use reviewing-code).
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable. NOT for line-level cleanup (use reviewing-code) or batch edits (use refactoring-code).
Creates isolated git worktrees for parallel development. Use when starting feature work needing isolation or working on multiple branches simultaneously. Not for simple branch switching or basic git operations.
Update project documentation based on code changes. Use when the user asks to update docs, document behavior, add README content, or align docs with recent implementation changes. NOT for extracting session learnings or authoring ADRs (use learning-patterns) or code-quality feedback (use reviewing-code).
Web research via Perplexity and platform web tools. Use for technical comparisons, recent facts, ecosystem news, best practices, standards, or questions needing grounded web evidence. NOT for API syntax lookup or code examples — use looking-up-docs for those. NOT for repo-specific questions — search local files first.
Query project history, past decisions, and known gotchas from claude-mem observations. Use when user asks "last session", "did we already", "what did we decide", "project history", "timeline", or "what happened with".
Audit AI coding-agent configuration against current features and local usage. Use when the user wants to improve Claude Code, Pi, Codex, Gemini, skill, hook, or agent configuration. NOT for writing new application code, fixing bugs, or any task that isn't about agent/tool configuration files. NOT for review-only audits without applying changes (use `reviewing-cc-config`).
ctx7 (Context7) CLI mechanics for querying versioned library documentation. Use when the user mentions "ctx7" or "context7", passes a `/org/project` library ID, or another skill needs the exact ctx7 command workflow. NOT the docs-lookup decision flow or web fallback — that is looking-up-docs.
Brainstorm ideas and stress-test draft plans before coding. Use when brainstorming, exploring approaches, designing a feature/API/flow, grilling a plan, challenging assumptions, or resolving terminology that blocks the design. NOT for implementation task breakdown; use the spec-plan skill. NOT for general documentation updates; use documenting-code or learning-patterns.
Simple web development with HTML, CSS, JS, and HTMX. Use when working with .html, .css, or .htmx files, web templates, stylesheets, or vanilla JS scripts. NOT for React/Vue/Angular (use writing-typescript) or Node.js backends.
Idiomatic Python 3.12+ development. Use when writing Python code, CLI tools, scripts, or services. Emphasizes stdlib, type hints, uv/ruff/pyright toolchain, and minimal dependencies. NOT for Go, TypeScript, or shell-only tasks.
Review Claude Code configuration for context efficiency, signal density, and anti-patterns. Use when user says "review config", "review setup", "check configuration", "review cc config", "context review", "config review", "review my setup", "review skills", "review agents", "review hooks", or wants feedback on their Claude Code configuration quality. NOT for editing config files — review only; user applies fixes unless --fix is passed. NOT for applying config changes (use `evolving-config`).
Find current, factual library/API/framework documentation through a tool-fallback chain. Use when the user says "look up docs", "how to use", "API for", "syntax for", "examples of", "show me the docs", or wants the latest/current/actual behavior of a library, framework, CLI, or API. NOT for comparisons, best-practice surveys, or recent ecosystem news — use researching-web. NOT for raw ctx7 CLI mechanics — that is context7-cli.
Extract structured data from PDF documents — text, tables, forms, and metadata. Use when reading or extracting content from a `.pdf` file, parsing invoices/reports/scanned documents, or converting PDF data to JSON/CSV. NOT for generating PDFs, and NOT for plain-text/markdown files (read those directly).
Capture PRD-quality requirements through structured Q&A. Use when a new requirement needs deep exploration — produces a `REQ-*.md` via 8–15 targeted questions. NOT for creating tasks or implementation plans — use spec-plan for that.
Extract structured data from PDF documents — text, tables, forms, and metadata. Use when reading or extracting content from a `.pdf` file, parsing invoices/reports/scanned documents, or converting PDF data to JSON/CSV. NOT for generating PDFs, and NOT for plain-text/markdown files (read those directly).
Idiomatic TypeScript development. Use when writing TypeScript code, Node.js services, React apps, or discussing TS patterns. Emphasizes strict typing, composition, and modern tooling (bun/vite). NOT for Go, Python, plain HTML/CSS/JS, or server-rendered templates (use writing-web for those).
Find current, factual library/API/framework documentation through a tool-fallback chain. Use when the user says "look up docs", "how to use", "API for", "syntax for", "examples of", "show me the docs", or wants the latest/current/actual behavior of a library, framework, CLI, or API. NOT for comparisons, best-practice surveys, or recent ecosystem news — use researching-web. NOT for raw ctx7 CLI mechanics — that is context7-cli.
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable. NOT for line-level cleanup (use reviewing-code) or batch edits (use refactoring-code).
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable. NOT for line-level cleanup (use reviewing-code) or batch edits (use refactoring-code).
Brainstorm ideas and stress-test draft plans before coding. Use when brainstorming, exploring approaches, designing a feature/API/flow, grilling a plan, challenging assumptions, or resolving terminology that blocks the design. NOT for implementation task breakdown; use the spec-plan skill. NOT for general documentation updates; use documenting-code or learning-patterns.
Implement the next ready task. Use when starting a development session — selects the highest-priority ready task, plans with a specialist subagent, implements with approval at every step, verifies quality gates, and commits. One task per session. NOT for batch task execution or planning new work — use spec-plan for planning.
Code review covering security, quality, tests, implementation, documentation, and architecture / module-depth. Use when the user asks to review code, check changes, audit a PR or diff, find refactoring opportunities, or look for shallow modules and over-abstraction. NOT for fixing the issues found (use fixing-code) or applying refactors (use refactoring-code).
Capture PRD-quality requirements through structured Q&A. Use when a new requirement needs deep exploration — produces a `REQ-*.md` via 8–15 targeted questions. NOT for creating tasks or implementation plans — use spec-plan for that.
Improve test design and coverage, including TDD/red-green-refactor guidance. Use when improving tests, refactoring tests, adding coverage, using TDD, or removing test waste. NOT for fixing production bugs (use fixing-code) or reviewing non-test code quality (use reviewing-code).
Playwright-based end-to-end browser testing of user flows. Use when running existing Playwright tests, generating browser checks, recording a visible session, or verifying a user journey end-to-end. NOT for unit tests, API-only tests, or logic tests where curl or JSDOM suffices — use improving-tests or fixing-code instead.
Implement the next ready task. Use when starting a development session — selects the highest-priority ready task, plans with a specialist subagent, implements with approval at every step, verifies quality gates, and commits. One task per session. NOT for batch task execution or planning new work — use spec-plan for planning.
ctx7 (Context7) CLI mechanics for querying versioned library documentation. Use when the user mentions "ctx7" or "context7", passes a `/org/project` library ID, or another skill needs the exact ctx7 command workflow. NOT the docs-lookup decision flow or web fallback — that is looking-up-docs.
Infrastructure patterns for Kubernetes, Terraform, Helm, Kustomize, and GitHub Actions. Use when making K8s architectural decisions, choosing between Helm vs Kustomize, structuring Terraform modules, writing CI/CD workflows, or applying security best practices. NOT for cloud CLI commands (see using-cloud-cli) or deploy validation and apply workflows (see deploying-infra).
Capture PRD-quality requirements through structured Q&A. Use when a new requirement needs deep exploration — produces a `REQ-*.md` via 8–15 targeted questions. NOT for creating tasks or implementation plans — use spec-plan for that.
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable. NOT for line-level cleanup (use reviewing-code) or batch edits (use refactoring-code).
Playwright-based end-to-end browser testing of user flows. Use when running existing Playwright tests, generating browser checks, recording a visible session, or verifying a user journey end-to-end. NOT for unit tests, API-only tests, or logic tests where curl or JSDOM suffices — use improving-tests or fixing-code instead.
Implement the next ready task. Use when starting a development session — selects the highest-priority ready task, plans with a specialist subagent, implements with approval at every step, verifies quality gates, and commits. One task per session. NOT for batch task execution or planning new work — use spec-plan for planning.
ctx7 (Context7) CLI mechanics for querying versioned library documentation. Use when the user mentions "ctx7" or "context7", passes a `/org/project` library ID, or another skill needs the exact ctx7 command workflow. NOT the docs-lookup decision flow or web fallback — that is looking-up-docs.
Creates isolated git worktrees for parallel development. Use when starting feature work needing isolation or working on multiple branches simultaneously. Not for simple branch switching or basic git operations.
Spec-driven development status and orientation. Use when checking overall project state, viewing a specific task with its linked req/epic, listing tasks by status, running a quality audit for orphans/cycles/missing fields, or for a pipeline overview when unsure which spec sub-skill to use. NOT for mutating state — read-only; use spec-done or spec-work for state changes.
Create a single TASK or REQ file from a template. Use for one-off artifact creation without the full planning workflow. NOT for full project bootstrap (spec-init) or multi-task planning from a requirement (spec-plan).
Turn a requirement or a concrete feature idea into an EPIC with vertical-slice TASKs. Use when you have a REQ file, or a feature idea already specific enough for a quick 3–5 question pass, and need an executable plan with dependencies and acceptance criteria. NOT for open-ended idea exploration — use brainstorming-ideas. NOT for capturing PRD-quality requirements — use spec-interview. NOT for implementing tasks — use spec-work.
Playwright-based end-to-end browser testing of user flows. Use when running existing Playwright tests, generating browser checks, recording a visible session, or verifying a user journey end-to-end. NOT for unit tests, API-only tests, or logic tests where curl or JSDOM suffices — use improving-tests or fixing-code instead.
Cloud CLI patterns for GCP and AWS. Use when running bq queries, gcloud commands, aws commands, or making decisions about cloud services. Covers BigQuery cost optimization and operational best practices. NOT for Terraform or Kubernetes architectural decisions (see managing-infra).
Cloud CLI patterns for GCP and AWS. Use when running bq queries, gcloud commands, aws commands, or making decisions about cloud services. Covers BigQuery cost optimization and operational best practices. NOT for Terraform or Kubernetes architectural decisions (see managing-infra).
Monitor a Claude Code team in tmux, auto-approve prompts, and report status. Use when the user says "watch the team", "monitor agents", "auto-approve", "babysit team", or "agents are stuck". NOT for single-agent monitoring, non-tmux setups, or general process supervision.
Spec-driven development status and orientation. Use when checking overall project state, viewing a specific task with its linked req/epic, listing tasks by status, running a quality audit for orphans/cycles/missing fields, or for a pipeline overview when unsure which spec sub-skill to use. NOT for mutating state — read-only; use spec-done or spec-work for state changes.
Turn a requirement or a concrete feature idea into an EPIC with vertical-slice TASKs. Use when you have a REQ file, or a feature idea already specific enough for a quick 3–5 question pass, and need an executable plan with dependencies and acceptance criteria. NOT for open-ended idea exploration — use brainstorming-ideas. NOT for capturing PRD-quality requirements — use spec-interview. NOT for implementing tasks — use spec-work.
Analyze AI coding agent usage, cost, efficiency, and burn rate — Claude Code (ccusage), Pi/pi-agent (ccusage-pi), or Codex CLI (ccusage-codex). Use when user says "usage", "cost", "spending", "tokens", "analyze usage", "how much did I spend", "usage report", "budget", "burn rate", "efficiency", "cache hits", "ccusage", "ccw", "ccp". NOT for general shell scripting, non-AI-agent cost analysis, or cloud infrastructure billing (use using-cloud-cli).
Query project history, past decisions, and known gotchas from claude-mem observations. Use when user asks "last session", "did we already", "what did we decide", "project history", "timeline", or "what happened with".
Review Claude Code configuration for context efficiency, signal density, and anti-patterns. Use when user says "review config", "review setup", "check configuration", "review cc config", "context review", "config review", "review my setup", "review skills", "review agents", "review hooks", or wants feedback on their Claude Code configuration quality. NOT for editing config files — review only; user applies fixes unless --fix is passed. NOT for applying config changes (use `evolving-config`).
Extract structured data from PDF documents — text, tables, forms, and metadata. Use when reading or extracting content from a `.pdf` file, parsing invoices/reports/scanned documents, or converting PDF data to JSON/CSV. NOT for generating PDFs, and NOT for plain-text/markdown files (read those directly).
Spec-driven development status and orientation. Use when checking overall project state, viewing a specific task with its linked req/epic, listing tasks by status, running a quality audit for orphans/cycles/missing fields, or for a pipeline overview when unsure which spec sub-skill to use. NOT for mutating state — read-only; use spec-done or spec-work for state changes.
Inter-agent messaging via ccgram swarm. Use when communicating with other agents in the same tmux session — send messages, check inbox, discover peers, broadcast status, reply to requests, or spawn new agents. Activates on: peer messages, inbox, swarm, ccgram, broadcast, agent collaboration, ask another agent.
Monitor a Claude Code team in tmux, auto-approve prompts, and report status. Use when the user says "watch the team", "monitor agents", "auto-approve", "babysit team", or "agents are stuck". NOT for single-agent monitoring, non-tmux setups, or general process supervision.
Mark a task complete with evidence. Use when finishing a task, discovering which in-progress tasks look done from git history, or verifying quality gates before closing out. Handles follow-up task creation and durable learnings. NOT for reporting progress (spec-status).
Initialize a `.spec/` project or extract requirements from a document. Use when there is no `.spec/` directory yet, or to add requirements from an existing design doc. NOT for one-off task/req creation (spec-new) or deep PRD-quality requirement capture (spec-interview).
Create a single TASK or REQ file from a template. Use for one-off artifact creation without the full planning workflow. NOT for full project bootstrap (spec-init) or multi-task planning from a requirement (spec-plan).
Capture PRD-quality requirements through structured Q&A. Use when a new requirement needs deep exploration — produces a `REQ-*.md` via 8–15 targeted questions. NOT for creating tasks or implementation plans — use spec-plan for that.
Turn a requirement or a concrete feature idea into an EPIC with vertical-slice TASKs. Use when you have a REQ file, or a feature idea already specific enough for a quick 3–5 question pass, and need an executable plan with dependencies and acceptance criteria. NOT for open-ended idea exploration — use brainstorming-ideas. NOT for capturing PRD-quality requirements — use spec-interview. NOT for implementing tasks — use spec-work.
Implement the next ready task. Use when starting a development session — selects the highest-priority ready task, plans with a specialist subagent, implements with approval at every step, verifies quality gates, and commits. One task per session. NOT for batch task execution or planning new work — use spec-plan for planning.
Playwright-based end-to-end browser testing of user flows. Use when running existing Playwright tests, generating browser checks, recording a visible session, or verifying a user journey end-to-end. NOT for unit tests, API-only tests, or logic tests where curl or JSDOM suffices — use improving-tests or fixing-code instead.
Playwright primitives for real-browser automation — dev-server detection, a Node.js script runner, and helpers for clicks, form fills, screenshots, multi-viewport, custom HTTP headers. Use when a task needs an actual browser (rendered DOM, visual checks, multi-page flows, cross-browser behavior). Not for API tests or logic tests where curl or JSDOM is cheaper.
Initialize a `.spec/` project or extract requirements from a document. Use when there is no `.spec/` directory yet, or to add requirements from an existing design doc. NOT for one-off task/req creation (spec-new) or deep PRD-quality requirement capture (spec-interview).
Capture PRD-quality requirements through structured Q&A. Use when a new requirement needs deep exploration — produces a `REQ-*.md` via 8–15 targeted questions. NOT for creating tasks or implementation plans — use spec-plan for that.
Spec-driven development status and orientation. Use when checking overall project state, viewing a specific task with its linked req/epic, listing tasks by status, running a quality audit for orphans/cycles/missing fields, or for a pipeline overview when unsure which spec sub-skill to use. NOT for mutating state — read-only; use spec-done or spec-work for state changes.
Implement the next ready task. Use when starting a development session — selects the highest-priority ready task, plans with a specialist subagent, implements with approval at every step, verifies quality gates, and commits. One task per session. NOT for batch task execution or planning new work — use spec-plan for planning.
Playwright-based end-to-end browser testing of user flows. Use when running existing Playwright tests, generating browser checks, recording a visible session, or verifying a user journey end-to-end. NOT for unit tests, API-only tests, or logic tests where curl or JSDOM suffices — use improving-tests or fixing-code instead.
Playwright primitives for real-browser automation — dev-server detection, a Node.js script runner, and helpers for clicks, form fills, screenshots, multi-viewport, custom HTTP headers. Use when a task needs an actual browser (rendered DOM, visual checks, multi-page flows, cross-browser behavior). Not for API tests or logic tests where curl or JSDOM is cheaper.
Spec-driven development orientation and quick reference. Use when starting spec-driven development, unsure which sub-skill to use, or wanting a pipeline overview and current project state. NOT for executing tasks (spec-work) or marking them done (spec-done).
Monitor a Claude Code team in tmux, auto-approve prompts, and report status. Use when the user says "watch the team", "monitor agents", "auto-approve", "babysit team", or "agents are stuck". NOT for single-agent monitoring, non-tmux setups, or general process supervision.
Turn a requirement or a concrete feature idea into an EPIC with vertical-slice TASKs. Use when you have a REQ file, or a feature idea already specific enough for a quick 3–5 question pass, and need an executable plan with dependencies and acceptance criteria. NOT for open-ended idea exploration — use brainstorming-ideas. NOT for capturing PRD-quality requirements — use spec-interview. NOT for implementing tasks — use spec-work.
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable. NOT for line-level cleanup (use reviewing-code) or batch edits (use refactoring-code).
Extract durable learnings from a session and propose project customizations — agent-instructions file, CONTEXT.md, ADRs, project skills, hooks. Use when the user says "learn", "extract learnings", "what did we learn", "save learnings", "adapt config", "capture domain language", or wants to encode session patterns durably. NOT for documentation edits (use documenting-code) or committing changes (use committing-code).
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable. NOT for line-level cleanup (use reviewing-code) or batch edits (use refactoring-code).
Monitor a Claude Code team in tmux, auto-approve prompts, and report status. Use when the user says "watch the team", "monitor agents", "auto-approve", "babysit team", or "agents are stuck". NOT for single-agent monitoring, non-tmux setups, or general process supervision.
Create a single TASK or REQ file from a template. Use for one-off artifact creation without the full planning workflow. NOT for full project bootstrap (spec-init) or multi-task planning from a requirement (spec-plan).
Inter-agent messaging via ccgram swarm. Use when communicating with other agents in the same tmux session — send messages, check inbox, discover peers, broadcast status, reply to requests, or spawn new agents. Activates on: peer messages, inbox, swarm, ccgram, broadcast, agent collaboration, ask another agent.
Mark a task complete with evidence. Use when finishing a task, discovering which in-progress tasks look done from git history, or verifying quality gates before closing out. Handles follow-up task creation and durable learnings. NOT for reporting progress (spec-status).
Intelligent codebase search with AST-first local search and zoom-out mapping. Use when user asks "how does X work", "trace flow", "find all implementations", "understand codebase", "zoom out", "map this area", structural code-pattern search, or cross-file exploration in large repos. Try ast-grep before rg for code-shape queries; use WarpGrep for semantic flow.
Intelligent codebase search with AST-first local search and zoom-out mapping. Use when user asks "how does X work", "trace flow", "find all implementations", "understand codebase", "zoom out", "map this area", structural code-pattern search, or cross-file exploration in large repos. Try ast-grep before rg for code-shape queries; use WarpGrep for semantic flow.
Intelligent codebase search with AST-first local search and zoom-out mapping. Use when user asks "how does X work", "trace flow", "find all implementations", "understand codebase", "zoom out", "map this area", structural code-pattern search, or cross-file exploration in large repos. Try ast-grep before rg for code-shape queries; use WarpGrep for semantic flow.
Intelligent codebase search with AST-first local search and zoom-out mapping. Use when user asks "how does X work", "trace flow", "find all implementations", "understand codebase", "zoom out", "map this area", structural code-pattern search, or cross-file exploration in large repos. Try ast-grep before rg for code-shape queries; use WarpGrep for semantic flow.
Intelligent codebase search with AST-first local search and zoom-out mapping. Use when user asks "how does X work", "trace flow", "find all implementations", "understand codebase", "zoom out", "map this area", structural code-pattern search, or cross-file exploration in large repos. Try ast-grep before rg for code-shape queries; use WarpGrep for semantic flow.
Playwright primitives for real-browser automation — dev-server detection, a Node.js script runner, and helpers for clicks, form fills, screenshots, multi-viewport, custom HTTP headers. Use when a task needs an actual browser (rendered DOM, visual checks, multi-page flows, cross-browser behavior). Not for API tests or logic tests where curl or JSDOM is cheaper.
Spec-driven development orientation and quick reference. Use when starting spec-driven development, unsure which sub-skill to use, or wanting a pipeline overview and current project state. NOT for executing tasks (spec-work) or marking them done (spec-done).
Initialize a `.spec/` project or extract requirements from a document. Use when there is no `.spec/` directory yet, or to add requirements from an existing design doc. NOT for one-off task/req creation (spec-new) or deep PRD-quality requirement capture (spec-interview).
Mark a task complete with evidence. Use when finishing a task, discovering which in-progress tasks look done from git history, or verifying quality gates before closing out. Handles follow-up task creation and durable learnings. NOT for reporting progress (spec-status).
Mark a task complete with evidence. Use when finishing a task, discovering which in-progress tasks look done from git history, or verifying quality gates before closing out. Handles follow-up task creation and durable learnings. NOT for reporting progress (spec-status).
Initialize a `.spec/` project or extract requirements from a document. Use when there is no `.spec/` directory yet, or to add requirements from an existing design doc. NOT for one-off task/req creation (spec-new) or deep PRD-quality requirement capture (spec-interview).
Smart git commits with logical grouping. Use when user says "commit", "commit changes", "save changes", "create commit", "bundle commits", "git commit", or wants to commit their work.
Fix code problems with disciplined diagnosis — run checks, build a repro for bugs, rank falsifiable hypotheses, fix one issue at a time, and verify until clean. Use when fixing, debugging, diagnosing, or resolving lint/test/build failures.
Structured stepwise reasoning with explicit revisions and branches. Use when the user says "think step by step", "sequential thinking", "plan this out", "reason through this", "branch this idea", or when tackling a hard multi-step problem (architecture decisions, ambiguous bugs, multi-constraint tradeoffs, plans that may need revision). NOT for trivial lookups, single-tool fetches, or tasks the model can answer directly without planning.
Extract durable learnings from a session and propose project customizations — agent-instructions file, CONTEXT.md, ADRs, project skills, hooks. Use when the user says "learn", "extract learnings", "what did we learn", "save learnings", "adapt config", "capture domain language", or wants to encode session patterns durably. NOT for documentation edits (use documenting-code) or committing changes (use committing-code).
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user says "grill me", wants to stress-test a single plan, or asks to be challenged on a specific design. NOT for full ideation/feature design (use brainstorming-ideas) or thesis-vs-antithesis debates (use debating-ideas).
Extract durable learnings from a session and propose project customizations — agent-instructions file, CONTEXT.md, ADRs, project skills, hooks. Use when the user says "learn", "extract learnings", "what did we learn", "save learnings", "adapt config", "capture domain language", or wants to encode session patterns durably. NOT for documentation edits (use documenting-code) or committing changes (use committing-code).
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable. NOT for line-level cleanup (use reviewing-code) or batch edits (use refactoring-code).
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable. NOT for line-level cleanup (use reviewing-code) or batch edits (use refactoring-code).
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user says "grill me", wants to stress-test a single plan, or asks to be challenged on a specific design. NOT for full ideation/feature design (use brainstorming-ideas) or thesis-vs-antithesis debates (use debating-ideas).
Inter-agent messaging via ccgram swarm. Use when communicating with other agents in the same tmux session — send messages, check inbox, discover peers, broadcast status, reply to requests, or spawn new agents. Activates on: peer messages, inbox, swarm, ccgram, broadcast, agent collaboration, ask another agent.
Mark a task complete with evidence. Use when finishing a task, discovering which in-progress tasks look done from git history, or verifying quality gates before closing out. Handles follow-up task creation and durable learnings. NOT for reporting progress (spec-status).
Spec-driven development orientation and quick reference. Use when starting spec-driven development, unsure which sub-skill to use, or wanting a pipeline overview and current project state. NOT for executing tasks (spec-work) or marking them done (spec-done).
Initialize a `.spec/` project or extract requirements from a document. Use when there is no `.spec/` directory yet, or to add requirements from an existing design doc. NOT for one-off task/req creation (spec-new) or deep PRD-quality requirement capture (spec-interview).
Mark a task complete with evidence. Use when finishing a task, discovering which in-progress tasks look done from git history, or verifying quality gates before closing out. Handles follow-up task creation and durable learnings. NOT for reporting progress (spec-status).
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable. NOT for line-level cleanup (use reviewing-code) or batch edits (use refactoring-code).
Spec-driven development orientation and quick reference. Use when starting spec-driven development, unsure which sub-skill to use, or wanting a pipeline overview and current project state. NOT for executing tasks (spec-work) or marking them done (spec-done).
Intelligent codebase search and zoom-out mapping via WarpGrep. Use when user asks "how does X work", "trace flow", "find all implementations", "understand codebase", "zoom out", "map this area", or needs cross-file exploration in large repos (1000+ files).
Analyze Codex CLI session usage, token cost, and efficiency using ccusage-codex. Use when user says "usage", "cost", "tokens", "how much did I spend", "codex usage", "session cost", "ccusage-codex". NOT for cloud billing or non-codex usage analysis.
Inter-agent messaging via ccgram swarm. Use when communicating with other agents in the same tmux session — send messages, check inbox, discover peers, broadcast status, reply to requests, or spawn new agents. Activates on: peer messages, inbox, swarm, ccgram, broadcast, agent collaboration, ask another agent.
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable. NOT for line-level cleanup (use reviewing-code) or batch edits (use refactoring-code).
Dialectic thinking for code and architecture decisions — spawn thesis and antithesis agents, verify claims against the codebase, then synthesize. Use when user says "debate", "argue both sides", "devil's advocate", "pros and cons of approach", or wants a design decision stress-tested against actual code. For conceptual or logical claims without a codebase, use thinking-tools:dialectic instead.
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user says "grill me", wants to stress-test a single plan, or asks to be challenged on a specific design. NOT for full ideation/feature design (use brainstorming-ideas) or thesis-vs-antithesis debates (use debating-ideas).
Inter-agent messaging via ccgram swarm. Use when communicating with other agents in the same tmux session — send messages, check inbox, discover peers, broadcast status, reply to requests, or spawn new agents. Activates on: peer messages, inbox, swarm, ccgram, broadcast, agent collaboration, ask another agent.
Inter-agent messaging via ccgram swarm. Use when communicating with other agents in the same tmux session — send messages, check inbox, discover peers, broadcast status, reply to requests, or spawn new agents. Activates on: peer messages, inbox, swarm, ccgram, broadcast, agent collaboration, ask another agent.
Spec-driven development orientation and quick reference. Use when starting spec-driven development, unsure which sub-skill to use, or wanting a pipeline overview and current project state. NOT for executing tasks (spec-work) or marking them done (spec-done).
Extract durable learnings from a session and propose project customizations — agent-instructions file, CONTEXT.md, ADRs, project skills, hooks. Use when the user says "learn", "extract learnings", "what did we learn", "save learnings", "adapt config", "capture domain language", or wants to encode session patterns durably. NOT for documentation edits (use documenting-code) or committing changes (use committing-code).
Inter-agent messaging via ccgram swarm. Use when communicating with other agents in the same tmux session — send messages, check inbox, discover peers, broadcast status, reply to requests, or spawn new agents. Activates on: peer messages, inbox, swarm, ccgram, broadcast, agent collaboration, ask another agent.
Extract durable learnings from a session and propose project customizations — agent-instructions file, CONTEXT.md, ADRs, project skills, hooks. Use when the user says "learn", "extract learnings", "what did we learn", "save learnings", "adapt config", "capture domain language", or wants to encode session patterns durably. NOT for documentation edits (use documenting-code) or committing changes (use committing-code).
Structured stepwise reasoning with explicit revisions and branches. Use when the user says "think step by step", "sequential thinking", "plan this out", "reason through this", "branch this idea", or when tackling a hard multi-step problem (architecture decisions, ambiguous bugs, multi-constraint tradeoffs, plans that may need revision). NOT for trivial lookups, single-tool fetches, or tasks the model can answer directly without planning.
Intelligent codebase search and zoom-out mapping via WarpGrep. Use when user asks "how does X work", "trace flow", "find all implementations", "understand codebase", "zoom out", "map this area", or needs cross-file exploration in large repos (1000+ files).
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user says "grill me", wants to stress-test a single plan, or asks to be challenged on a specific design. NOT for full ideation/feature design (use brainstorming-ideas) or thesis-vs-antithesis debates (use debating-ideas).
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable. NOT for line-level cleanup (use reviewing-code) or batch edits (use refactoring-code).
Initialize a `.spec/` project or extract requirements from a document. Use when there is no `.spec/` directory yet, or to add requirements from an existing design doc. NOT for one-off task/req creation (spec-new) or deep PRD-quality requirement capture (spec-interview).
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user says "grill me", wants to stress-test a single plan, or asks to be challenged on a specific design. NOT for full ideation/feature design (use brainstorming-ideas) or thesis-vs-antithesis debates (use debating-ideas).
Smart git commits with logical grouping. Use when user says "commit", "commit changes", "save changes", "create commit", "bundle commits", "git commit", or wants to commit their work.
Dialectic thinking for code and architecture decisions — spawn thesis and antithesis agents, verify claims against the codebase, then synthesize. Use when user says "debate", "argue both sides", "devil's advocate", "pros and cons of approach", or wants a design decision stress-tested against actual code. For conceptual or logical claims without a codebase, use thinking-tools:dialectic instead.
Analyze pi-agent session usage, token cost, and efficiency using ccusage-pi. Use when user says "usage", "cost", "tokens", "how much did I spend", "pi usage", "session cost", "ccusage-pi". NOT for cloud billing or non-pi-agent usage analysis.
Playwright primitives for real-browser automation — dev-server detection, a Node.js script runner, and helpers for clicks, form fills, screenshots, multi-viewport, custom HTTP headers. Use when a task needs an actual browser (rendered DOM, visual checks, multi-page flows, cross-browser behavior). Not for API tests or logic tests where curl or JSDOM is cheaper.
Batch refactoring via MorphLLM edit_file. Use for "refactor across files", "batch rename", "update pattern everywhere", large files (500+ lines), 5+ edits in same file, or applying an approved architecture-deepening refactor.
Implementation process discipline for all languages — surface assumptions, define verifiable success criteria, and ground work in project domain docs. Use when implementing features, writing functions/classes/modules, or adding code. Complements language-specific skills and includes test-first guidance when implementation is explicitly TDD.
Smart git commits with logical grouping. Use when user says "commit", "commit changes", "save changes", "create commit", "bundle commits", "git commit", or wants to commit their work.
Smart git commits with logical grouping. Use when user says "commit", "commit changes", "save changes", "create commit", "bundle commits", "git commit", or wants to commit their work.
Inter-agent messaging via ccgram swarm. Use when communicating with other agents in the same tmux session — send messages, check inbox, discover peers, broadcast status, reply to requests, or spawn new agents. Activates on: peer messages, inbox, swarm, ccgram, broadcast, agent collaboration, ask another agent.
Update project documentation based on code changes. Use when the user asks to update docs, document behavior, add README content, or align docs with recent implementation changes.
Fix code problems with disciplined diagnosis — run checks, build a repro for bugs, rank falsifiable hypotheses, fix one issue at a time, and verify until clean. Use when fixing, debugging, diagnosing, or resolving lint/test/build failures.
Sequential code review for security, quality, tests, and architecture. Use when reviewing code, checking changes, reviewing PRs, or looking for deep-module/refactoring opportunities.
Token-efficient code navigation using local Pi tools. Use when you need a fast outline of files, symbols, imports, or call sites without loading whole files.
Prefer modern CLI tools for better performance: rg (ripgrep) instead of grep for text searching, fd instead of find for file discovery, bat instead of cat for viewing files, sd instead of sed for text replacement, eza instead of ls for directory listing, dust instead of du, procs instead of ps. Use when writing bash scripts, optimizing command chains, working with file searches, or replacing grep/find/cat in workflows. These tools are faster, respect .gitignore, and have better output formatting.
Cloud CLI patterns for GCP and AWS. Use when running bq queries, gcloud commands, aws commands, or making decisions about cloud services. Covers BigQuery cost optimization and operational best practices.
Idiomatic Python 3.12+ development. Use when writing Python code, CLI tools, scripts, or services. Emphasizes stdlib, type hints, uv/ruff/pyright toolchain, and minimal dependencies.
Cloud CLI patterns for GCP and AWS. Use when running bq queries, gcloud commands, aws commands, or making decisions about cloud services. Covers BigQuery cost optimization and operational best practices.
Cloud CLI patterns for GCP and AWS. Use when running bq queries, gcloud commands, aws commands, or making decisions about cloud services. Covers BigQuery cost optimization and operational best practices.
Internal Playwright automation library. Use when loaded by testing-e2e or playwright-tester for dev server detection, script execution, and browser automation primitives. Not directly invoked by users.
Idiomatic Python 3.12+ development. Use when writing Python code, CLI tools, scripts, or services. Emphasizes stdlib, type hints, uv/ruff/pyright toolchain, and minimal dependencies.
Lint plugin agent/skill prompts against rules derived from Anthropic model cards (Opus 4.6, Sonnet 4.6). Use when authoring or reviewing skills and agents — "lint instructions", "audit prompts", "model card rules".
Sequential infrastructure deployment — detect infra type (Kubernetes, Terraform, Helm, Kustomize, GitHub Actions, Docker), validate configs, dry-run, show diff, apply only after user confirmation, and verify post-deploy health. Includes safety checks for destructive operations.
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable. NOT for line-level cleanup (use reviewing-code) or batch edits (use refactoring-code).
Idiomatic TypeScript development. Use when writing TypeScript code, Node.js services, React apps, or discussing TS patterns. Emphasizes strict typing, composition, and modern tooling (bun/vite).
Sequential infrastructure deployment — detect infra type (Kubernetes, Terraform, Helm, Kustomize, GitHub Actions, Docker), validate configs, dry-run, show diff, apply only after user confirmation, and verify post-deploy health. Includes safety checks for destructive operations.
Improve test design and coverage, including TDD/red-green-refactor guidance. Use when improving tests, refactoring tests, adding coverage, using TDD, or removing test waste.
Simple web development with HTML, CSS, JS, and HTMX. Auto-activates when working with .html, .css, or .htmx files, web templates, stylesheets, or vanilla JS scripts. NOT for React/Vue/Angular (use writing-typescript) or Node.js backends.
Sequential E2E workflow — identify test targets, generate Playwright test scripts written to /tmp, run them with node, capture failures, fix and re-run until passing. Supports TypeScript tests and Go/HTMX applications.
Simple web development with HTML, CSS, JS, and HTMX. Auto-activates when working with .html, .css, or .htmx files, web templates, stylesheets, or vanilla JS scripts. NOT for React/Vue/Angular (use writing-typescript) or Node.js backends.
Fix code problems with disciplined diagnosis — run checks, build a repro for bugs, rank falsifiable hypotheses, fix one issue at a time, and verify until clean. Use when fixing, debugging, diagnosing, or resolving lint/test/build failures.
Intelligent codebase search and zoom-out mapping using Pi tools. Use when the user asks how code works, to trace a flow, find implementations, zoom out, or map an area of a large repo.
Behavior-preserving refactoring in Pi using local search, edit, tests, and disciplined batching. Use when the user asks to refactor code without changing behavior.
Infrastructure patterns for Kubernetes, Terraform, Helm, Kustomize, and GitHub Actions. Use when making K8s architectural decisions, choosing between Helm vs Kustomize, structuring Terraform modules, writing CI/CD workflows, or applying security best practices.
Idiomatic TypeScript development. Use when writing TypeScript code, Node.js services, React apps, or discussing TS patterns. Emphasizes strict typing, composition, and modern tooling (bun/vite).
Creates isolated git worktrees for parallel development. Use when starting feature work needing isolation or working on multiple branches simultaneously. Not for simple branch switching or basic git operations.
Sequential code review for security, quality, tests, and architecture. Use when reviewing code, checking changes, reviewing PRs, or looking for deep-module/refactoring opportunities.
Spec-driven development for AI coding agents — captures requirements, builds epics with vertical-slice tasks, runs implementation one task at a time with user approval, and tracks evidence-based completion. Use when the user wants to start a structured project, capture requirements for a feature, plan an epic, work on the next task, mark a task done, check progress, or otherwise drive a project through REQ → EPIC → TASK artifacts under `.spec/`.
Query project history, past decisions, and known gotchas from claude-mem observations. Use when user asks "last session", "did we already", "what did we decide", "project history", "timeline", or "what happened with".
Lint plugin agent/skill prompts against rules derived from Anthropic model cards (Opus 4.6, Sonnet 4.6). Use when authoring or reviewing skills and agents — "lint instructions", "audit prompts", "model card rules".
Spec-driven development for AI coding agents — captures requirements, builds epics with vertical-slice tasks, runs implementation one task at a time with user approval, and tracks evidence-based completion. Use when the user wants to start a structured project, capture requirements for a feature, plan an epic, work on the next task, mark a task done, check progress, or otherwise drive a project through REQ → EPIC → TASK artifacts under `.spec/`.
Spec-driven development for AI coding agents — captures requirements, builds epics with vertical-slice tasks, runs implementation one task at a time with user approval, and tracks evidence-based completion. Use when the user wants to start a structured project, capture requirements for a feature, plan an epic, work on the next task, mark a task done, check progress, or otherwise drive a project through REQ → EPIC → TASK artifacts under `.spec/`.
Spec-driven development for AI coding agents — captures requirements, builds epics with vertical-slice tasks, runs implementation one task at a time with user approval, and tracks evidence-based completion. Use when the user wants to start a structured project, capture requirements for a feature, plan an epic, work on the next task, mark a task done, check progress, or otherwise drive a project through REQ → EPIC → TASK artifacts under `.spec/`.
Implementation process discipline for all languages — surface assumptions, define verifiable success criteria, and ground work in project domain docs. Use when implementing features, writing functions/classes/modules, or adding code. Complements language-specific skills and includes test-first guidance when implementation is explicitly TDD.
Current library documentation via the ctx7 CLI. Use when the user mentions "ctx7" or "context7", asks for API docs, syntax, code examples, versioned library behavior, or needs docs lookup without provider-specific tools.
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user says "grill me", wants to stress-test a single plan, or asks to be challenged on a specific design. NOT for full ideation/feature design (use brainstorming-ideas) or thesis-vs-antithesis debates (use debating-ideas).
Lint plugin agent/skill prompts against rules derived from Anthropic model cards (Opus 4.6, Sonnet 4.6). Use when authoring or reviewing skills and agents — "lint instructions", "audit prompts", "model card rules".
Consult Gemini for second opinions, brainstorming, or web search. Use when user says "ask gemini", "gemini search", "get gemini opinion", or wants a second AI perspective.
Idiomatic Go 1.25+ development. Use when writing Go code, designing APIs, discussing Go patterns, or reviewing Go implementations. Emphasizes stdlib, concrete types, simple error handling, and minimal dependencies.
Idiomatic Go 1.25+ development. Use when writing Go code, designing APIs, discussing Go patterns, or reviewing Go implementations. Emphasizes stdlib, concrete types, simple error handling, and minimal dependencies.
Infrastructure patterns for Kubernetes, Terraform, Helm, Kustomize, and GitHub Actions. Use when making K8s architectural decisions, choosing between Helm vs Kustomize, structuring Terraform modules, writing CI/CD workflows, or applying security best practices.
Sequential E2E workflow for Pi. Use when running existing Playwright tests, generating browser checks, recording a visible session, or verifying a user flow end-to-end.
Internal Playwright helper library for Pi. Use when loaded by testing-e2e for dev-server detection, temporary browser scripts, screenshots, and helper utilities. Not directly invoked by users.
Consult Gemini for second opinions, brainstorming, or web search. Use when user says "ask gemini", "gemini search", "get gemini opinion", or wants a second AI perspective.
Analyze Claude Code usage, cost, efficiency, and burn rate using ccusage and termgraph. Use when user says "usage", "cost", "spending", "tokens", "analyze usage", "how much did I spend", "usage report", "budget", "burn rate", "efficiency", "cache hits", "ccusage", "ccw", "ccp".
Brainstorm ideas and stress-test draft plans before coding. Use when brainstorming, exploring approaches, designing a feature/API/flow, grilling a plan, challenging assumptions, or resolving terminology that blocks the design. NOT for implementation task breakdown; use /spec:plan. NOT for general documentation updates; use documenting-code or learning-patterns.
Audit Claude Code configuration against latest features and best practices. Use when user says "evolve", "self-improve", "audit config", "what's new in claude code", "upgrade configuration", "check for improvements", "are we up to date".
Extract learnings and generate project-specific customizations (CLAUDE.md, CONTEXT.md, ADRs, commands, skills, hooks). Use when user says "learn", "extract learnings", "what did we learn", "save learnings", "adapt config", "capture domain language", or wants to improve Claude Code based on conversation patterns.
Compatibility router for library documentation lookup. Use when user says "look up docs", "how to use", "API for", "syntax for", "examples of", "show me the docs", or needs API references, code examples, or framework-specific documentation. Routes to the context7-cli workflow.
Web research via Perplexity AI. Use for technical comparisons (X vs Y), best practices, industry standards, recent developments. Triggers on "research", "compare", "vs", "best practice", "which is better", "pros and cons", "what's new in". NOT for API references or library docs (use looking-up-docs for syntax, examples, and framework documentation).
Dialectic thinking — spawn thesis and antithesis agents to stress-test ideas, then synthesize and verify against code. Use when user says "debate", "argue both sides", "devil's advocate", "stress test this idea", "pros and cons of approach", or wants rigorous evaluation of a design decision.
Query project history, past decisions, and known gotchas from claude-mem observations. Use when user asks "last session", "did we already", "what did we decide", "project history", "timeline", or "what happened with".
Review Claude Code configuration for context efficiency, signal density, and anti-patterns. Use when user says "review config", "review setup", "check configuration", "review cc config", "context review", "config review", "review my setup", "review skills", "review agents", "review hooks", or wants feedback on their Claude Code configuration quality.
Structured stepwise reasoning with explicit revisions and branches. Use when the user says "think step by step", "sequential thinking", "plan this out", "reason through this", "branch this idea", or when tackling a hard multi-step problem (architecture decisions, ambiguous bugs, multi-constraint tradeoffs, plans that may need revision). NOT for trivial lookups, single-tool fetches, or tasks the model can answer directly without planning.
Token-efficient code navigation via AST parsing. Use when exploring file structure, cross-file symbol discovery, or targeted function extraction with smart_outline, smart_search, and smart_unfold. 10-20x fewer tokens than reading full files.
Brainstorm ideas and stress-test draft plans before coding. Use when brainstorming, exploring approaches, designing a feature/API/flow, grilling a plan, challenging assumptions, or resolving terminology that blocks the design. NOT for implementation task breakdown; use /spec:plan. NOT for general documentation updates; use documenting-code or learning-patterns.
Current library documentation via the ctx7 CLI. Use when the user mentions "ctx7" or "context7", asks for API docs, syntax, code examples, versioned library behavior, or needs docs lookup without provider-specific tools.
Dialectic thinking — spawn thesis and antithesis agents to stress-test ideas, then synthesize and verify against code. Use when user says "debate", "argue both sides", "devil's advocate", "stress test this idea", "pros and cons of approach", or wants rigorous evaluation of a design decision.
Audit AI coding-agent configuration against current features and local usage. Use when the user wants to improve Claude Code, Pi, Codex, Gemini, skill, hook, or agent configuration.
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user says "grill me", wants to stress-test a single plan, or asks to be challenged on a specific design. NOT for full ideation/feature design (use brainstorming-ideas) or thesis-vs-antithesis debates (use debating-ideas).
Prefer modern CLI tools for better performance: rg (ripgrep) instead of grep for text searching, fd instead of find for file discovery, bat instead of cat for viewing files, sd instead of sed for text replacement, eza instead of ls for directory listing, dust instead of du, procs instead of ps. Use when writing bash scripts, optimizing command chains, working with file searches, or replacing grep/find/cat in workflows. These tools are faster, respect .gitignore, and have better output formatting.
Explore public GitHub repositories in Pi using GitHub CLI, local clones, and web tools. Use when the user asks how a public repo works, wants architecture orientation, or needs repo-level Q&A.
Query project history and past decisions using local files and git history in Pi. Use when the user asks what changed, why a decision was made, or what the project already knows.
Analyze Claude Code usage, cost, efficiency, and burn rate using ccusage and termgraph. Use when user says "usage", "cost", "spending", "tokens", "analyze usage", "how much did I spend", "usage report", "budget", "burn rate", "efficiency", "cache hits", "ccusage", "ccw", "ccp".
Web research via Pi web providers. Use for technical comparisons, recent facts, best practices, standards, pros and cons, or questions needing grounded web evidence.
Structured stepwise reasoning with explicit revisions and branches. Use when the user says "think step by step", "sequential thinking", "plan this out", "reason through this", "branch this idea", or when tackling a hard multi-step problem (architecture decisions, ambiguous bugs, multi-constraint tradeoffs, plans that may need revision). NOT for trivial lookups, single-tool fetches, or tasks the model can answer directly without planning.
Creates isolated git worktrees for parallel development. Use when starting feature work needing isolation or working on multiple branches simultaneously. Not for simple branch switching or basic git operations.
Brainstorm ideas and stress-test draft plans before coding. Use when user wants to brainstorm, explore approaches, design a feature/API/flow, challenge assumptions, or resolve terminology that blocks the design. NOT for pure decision-tree interviews on a single existing plan ("grill me"); use grill-me. NOT for breaking approved requirements into implementation tasks; use /spec:plan. NOT for general documentation updates; use documenting-code or learning-patterns.
Creates isolated git worktrees for parallel development. Use when starting feature work needing isolation or working on multiple branches simultaneously. Not for simple branch switching or basic git operations.
Update project documentation based on recent changes. Use when user says "update docs", "document", "add documentation", "update readme", "write docs", or wants to improve documentation.
Compatibility router for library documentation lookup. Use when user says "look up docs", "how to use", "API for", "syntax for", "examples of", "show me the docs", or needs API references, code examples, or framework-specific documentation. Routes to the context7-cli workflow.
Review Claude Code configuration for context efficiency, signal density, and anti-patterns. Use when user says "review config", "review setup", "check configuration", "review cc config", "context review", "config review", "review my setup", "review skills", "review agents", "review hooks", or wants feedback on their Claude Code configuration quality.
Intelligent codebase search and zoom-out mapping via WarpGrep. Use when user asks "how does X work", "trace flow", "find all implementations", "understand codebase", "zoom out", "map this area", or needs cross-file exploration in large repos (1000+ files).
Lint plugin agent/skill prompts against rules derived from Anthropic model cards (Opus 4.6, Sonnet 4.6). Use when authoring or reviewing skills and agents — "lint instructions", "audit prompts", "model card rules".
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable. NOT for line-level cleanup (use reviewing-code) or batch edits (use refactoring-code).
Improve test design and coverage, including TDD/red-green-refactor guidance. Use when improving tests, refactoring tests, adding coverage, using TDD, or removing test waste.
Extract learnings and generate Pi/project customizations (AGENTS.md, CONTEXT.md, ADRs, skills, agents, commands, hooks). Use when user says "learn", "extract learnings", "what did we learn", "save learnings", "adapt config", "capture domain language", or wants to improve Pi based on conversation patterns.
Analyze AI coding agent usage, cost, efficiency, and burn rate — Claude Code (ccusage), Pi/pi-agent (ccusage-pi), or Codex CLI (ccusage-codex). Use when user says "usage", "cost", "spending", "tokens", "analyze usage", "how much did I spend", "usage report", "budget", "burn rate", "efficiency", "cache hits", "ccusage", "ccw", "ccp". NOT for general shell scripting, non-AI-agent cost analysis, or cloud infrastructure billing (use using-cloud-cli).
Inter-agent messaging via ccgram swarm. Use when communicating with other agents in the same tmux session — send messages, check inbox, discover peers, broadcast status, reply to requests, or spawn new agents. Activates on: peer messages, inbox, swarm, ccgram, broadcast, agent collaboration, ask another agent.
Explore public GitHub repositories via DeepWiki AI-generated documentation. Use for understanding architecture, patterns, design decisions, and code organization of popular open-source projects. Use when user asks "how does X repo work", "explain architecture of Y", "what patterns does Z use", "explore repo", "deepwiki", or needs codebase-level understanding beyond API docs.
Idiomatic Python 3.12+ development. Use when writing Python code, CLI tools, scripts, or services. Emphasizes stdlib, type hints, uv/ruff/pyright toolchain, and minimal dependencies.
Multi-agent code review for security, quality, architecture, and deep-module design. Use when user says "review code", "check code", "code review", "review my changes", "review this PR", "improve architecture", "find refactoring opportunities", "deep modules", or wants feedback on source code/design. NOT for Claude Code configuration review (use reviewing-cc-config for skills/agents/hooks/ CLAUDE.md review).
Infrastructure patterns for Kubernetes, Terraform, Helm, Kustomize, and GitHub Actions. Use when making K8s architectural decisions, choosing between Helm vs Kustomize, structuring Terraform modules, writing CI/CD workflows, or applying security best practices.
Simple web development with HTML, CSS, JS, and HTMX. Auto-activates when working with .html, .css, or .htmx files, web templates, stylesheets, or vanilla JS scripts. NOT for React/Vue/Angular (use writing-typescript) or Node.js backends.
Idiomatic Go 1.25+ development. Use when writing Go code, designing APIs, discussing Go patterns, or reviewing Go implementations. Emphasizes stdlib, concrete types, simple error handling, and minimal dependencies.
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable. NOT for line-level cleanup (use reviewing-code) or batch edits (use refactoring-code).
Implementation process discipline for all languages — surface assumptions, define verifiable success criteria, and ground work in project domain docs. Use when implementing features, writing functions/classes/modules, or adding code. Complements language-specific skills and includes test-first guidance when implementation is explicitly TDD.
Current library documentation via the ctx7 CLI. Use when the user mentions "ctx7" or "context7", asks for API docs, syntax, code examples, versioned library behavior, or needs docs lookup without provider-specific tools.
Inter-agent messaging via ccgram swarm. Use when communicating with other agents in the same tmux session — send messages, check inbox, discover peers, broadcast status, reply to requests, or spawn new agents. Activates on: peer messages, inbox, swarm, ccgram, broadcast, agent collaboration, ask another agent.
Consult Gemini for second opinions, brainstorming, or web search. Use when user says "ask gemini", "gemini search", "get gemini opinion", or wants a second AI perspective.
Dialectic thinking — spawn thesis and antithesis agents to stress-test ideas, then synthesize and verify against code. Use when user says "debate", "argue both sides", "devil's advocate", "stress test this idea", "pros and cons of approach", or wants rigorous evaluation of a design decision.
Idiomatic TypeScript development. Use when writing TypeScript code, Node.js services, React apps, or discussing TS patterns. Emphasizes strict typing, composition, and modern tooling (bun/vite).
Batch refactoring via MorphLLM edit_file. Use for "refactor across files", "batch rename", "update pattern everywhere", large files (500+ lines), 5+ edits in same file, or applying an approved architecture-deepening refactor.
Improve test design and coverage, including TDD/red-green-refactor guidance. Use when user says "improve tests", "refactor tests", "test coverage", "combine tests", "table-driven", "parametrize", "test.each", "test-first", "TDD", "red-green-refactor", or wants to remove test waste.
Smart git commits with logical grouping. Use when user says "commit", "commit changes", "save changes", "create commit", "bundle commits", "git commit", or wants to commit their work.
Review Claude Code configuration for context efficiency, signal density, and anti-patterns. Use when user says "review config", "review setup", "check configuration", "review cc config", "context review", "config review", "review my setup", "review skills", "review agents", "review hooks", or wants feedback on their Claude Code configuration quality.
Analyze Claude Code usage, cost, efficiency, and burn rate using ccusage and termgraph. Use when user says "usage", "cost", "spending", "tokens", "analyze usage", "how much did I spend", "usage report", "budget", "burn rate", "efficiency", "cache hits", "ccusage", "ccw", "ccp".
Update project documentation based on recent changes. Use when user says "update docs", "document", "add documentation", "update readme", "write docs", or wants to improve documentation.
Structured stepwise reasoning with explicit revisions and branches. Use when the user says "think step by step", "sequential thinking", "plan this out", "reason through this", "branch this idea", or when tackling a hard multi-step problem (architecture decisions, ambiguous bugs, multi-constraint tradeoffs, plans that may need revision). NOT for trivial lookups, single-tool fetches, or tasks the model can answer directly without planning.
Audit Claude Code configuration against latest features and best practices. Use when user says "evolve", "self-improve", "audit config", "what's new in claude code", "upgrade configuration", "check for improvements", "are we up to date".
Query project history, past decisions, and known gotchas from claude-mem observations. Use when user asks "last session", "did we already", "what did we decide", "project history", "timeline", or "what happened with".
Token-efficient code navigation via AST parsing. Use when exploring file structure, cross-file symbol discovery, or targeted function extraction with smart_outline, smart_search, and smart_unfold. 10-20x fewer tokens than reading full files.
Web research via Perplexity AI. Use for technical comparisons (X vs Y), best practices, industry standards, recent developments. Triggers on "research", "compare", "vs", "best practice", "which is better", "pros and cons", "what's new in". NOT for API references or library docs (use looking-up-docs for syntax, examples, and framework documentation).
Compatibility router for library documentation lookup. Use when user says "look up docs", "how to use", "API for", "syntax for", "examples of", "show me the docs", or needs API references, code examples, or framework-specific documentation. Routes to the context7-cli workflow.
Prefer modern CLI tools for better performance: rg (ripgrep) instead of grep for text searching, fd instead of find for file discovery, bat instead of cat for viewing files, sd instead of sed for text replacement, eza instead of ls for directory listing, dust instead of du, procs instead of ps. Use when writing bash scripts, optimizing command chains, working with file searches, or replacing grep/find/cat in workflows. These tools are faster, respect .gitignore, and have better output formatting.
Internal Playwright automation library. Use when loaded by testing-e2e or playwright-tester for dev server detection, script execution, and browser automation primitives. Not directly invoked by users.
E2E testing with Playwright — the primary user-facing skill for writing, running, and generating browser tests. Use when user asks to "write e2e tests", "test this page", "run playwright tests", "generate browser tests", "check accessibility", or "visual regression". Supports TypeScript tests and Go/HTMX web applications.
Intelligent codebase search and zoom-out mapping via WarpGrep. Use when user asks "how does X work", "trace flow", "find all implementations", "understand codebase", "zoom out", "map this area", or needs cross-file exploration in large repos (1000+ files).
Extract learnings and generate project-specific customizations (CLAUDE.md, CONTEXT.md, ADRs, commands, skills, hooks). Use when user says "learn", "extract learnings", "what did we learn", "save learnings", "adapt config", "capture domain language", or wants to improve Claude Code based on conversation patterns.
Explore public GitHub repositories via DeepWiki AI-generated documentation. Use for understanding architecture, patterns, design decisions, and code organization of popular open-source projects. Use when user asks "how does X repo work", "explain architecture of Y", "what patterns does Z use", "explore repo", "deepwiki", or needs codebase-level understanding beyond API docs.
Create structured implementation plans in docs/plans/. Use when user asks to make a plan, implementation plan, rollout plan, or wants structured task breakdown before coding.
Review implementation plans in docs/plans/ for correctness, scope, testing, and over-engineering. Use when user asks to review a plan before coding or validate plan quality.
Execute implementation plans task by task with strict verification and plan tracking. Use when user wants to run a plan, execute tasks from docs/plans/, or implement from an existing plan.
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user says "grill me", wants to stress-test a single plan, or asks to be challenged on a specific design. NOT for full ideation/feature design (use brainstorming-ideas) or thesis-vs-antithesis debates (use debating-ideas).
Fix code problems with disciplined diagnosis — run checks, build a repro for bugs, rank falsifiable hypotheses, fix one issue at a time, and verify until clean. Use when user says "fix", "debug", "diagnose", "broken", "failing", "throws", "performance regression", "make tests pass", or wants lint/test/build failures resolved.
Validate and deploy Kubernetes, Terraform, Helm, Kustomize, GitHub Actions, and Docker configs. Use when user says "deploy", "deploy to staging", "apply changes", "terraform apply", "helm upgrade", "kubectl apply", "rollout", "deploy check", "validate deployment", "validate infrastructure", or wants to verify or apply infrastructure changes.