Skill Finder
Intro
When you are unsure which skill to use, start here. This skill maps
what the user is asking for to the skill that handles it. It is not a
skill you invoke to do work — it is a skill you read to decide what to
invoke next.
Overview
By trigger phrase
Find the phrase that most closely matches what the user said, then load
that skill before proceeding.
| If the user says… |
Skill to load |
| "refactor this", "clean up the code" |
refactoring |
| "review this PR", "code review" |
code-review |
| "write a test", "test this", "TDD" |
tdd-workflow |
| "testing strategy", "what tests do we need" |
testing-strategy |
| "debug this", "find the bug", "why is this failing" |
debugging |
| "design the API", "API contract" |
api-design |
| "system design", "design this system" |
system-design |
| "architecture", "how should we structure this" |
software-architecture |
| "domain model", "DDD" |
domain-driven-design |
| "module structure", "package boundaries", "split this up" |
software-modularization |
| "new service", "microservice", "extract this into a service" |
microservice-creation |
| "events", "event-driven", "pub-sub" |
event-driven-architecture |
| "deploy", "CI/CD pipeline", "set up CI" |
ci-cd-setup |
| "Docker", "Dockerfile", "containerise this" |
dockerfile-review |
| "Kubernetes", "k8s", "set up the cluster" |
kubernetes-basics |
| "Terraform", "infrastructure as code" |
terraform-basics |
| "write SQL", "SQL query", "query the database" |
sql-patterns |
| "SQL style", "format the SQL" |
sql-style-guide |
| "database design", "schema design" |
database-modeling |
| "database migration", "migrate the schema" |
database-migration |
| "NoSQL", "MongoDB", "document store" |
nosql-patterns |
| "secure this", "security review" |
secure-coding |
| "threat model" |
threat-modeling |
| "secrets", "API keys", "credential management" |
secret-management |
| "auth", "authentication", "OAuth" |
auth-patterns |
| "logging", "log this" |
logging-strategy |
| "metrics", "monitoring", "dashboards" |
metrics-monitoring |
| "trace", "distributed tracing" |
distributed-tracing |
| "alert", "on-call", "PagerDuty" |
alerting-oncall |
| "postmortem", "incident review" |
postmortem-writing |
| "incident", "on fire", "outage" |
incident-response |
| "profile this", "find the bottleneck", "performance" |
performance-profiling |
| "load test", "stress test" |
load-testing |
| "Python" |
python-best-practices |
| "TypeScript", "JavaScript" |
typescript-patterns |
| "Go", "Golang" |
go-conventions |
| "Rust" |
rust-conventions |
| "Java" |
java-patterns |
| "FastAPI", "Python API" |
fastapi-patterns |
| "gRPC", "protobuf" |
grpc-protobuf |
| "GraphQL" |
graphql-patterns |
| "Flutter", "mobile app" |
flutter-development |
| "Tailwind", "CSS utility classes" |
tailwind |
| "frontend design", "UI components" |
frontend-design |
| "AI fundamentals", "ML concepts", "machine learning basics" |
ai-fundamentals |
| "analyse data", "pandas", "polars", "dataframe" |
pandas-polars |
| "data pipeline", "ETL", "data engineering" |
data-pipeline |
| "data quality", "data validation" |
data-quality |
| "data science", "notebook", "EDA" |
data-science |
| "visualise data", "chart this" |
data-visualization |
| "RAG", "retrieval", "vector search" |
rag-engineering |
| "embeddings", "vector database" |
embedding-vectordb |
| "prompt engineering", "write a prompt" |
prompt-engineering |
| "evaluate the LLM", "benchmark the model" |
llm-evaluation |
| "which model should I use", "recommend a model", "which LLM is best", "help me pick an AI model", "route tasks to the right model", "which Claude should I use" |
model-recommender |
| "ML pipeline", "train a model" |
ml-pipeline |
| "feature engineering" |
feature-engineering |
| "diagram", "draw", "whiteboard", "Excalidraw" |
excalidraw |
| "infographic", "SVG chart" |
infographics |
| "logo", "brand mark", "SVG icon" |
logo-design |
| "mobile design", "iOS", "Android UI" |
mobile-app-design |
| "SEO", "search optimisation", "meta tags" |
seo-optimization |
| "Word document", "docx" |
docx-authoring |
| "PowerPoint", "slides", "pptx" |
pptx-authoring |
| "Excel", "spreadsheet", "xlsx" |
xlsx-modeling |
| "PDF", "generate a PDF" |
pdf-workflow |
| "LaTeX", "academic paper" |
latex-authoring |
| "write a PRD", "product requirements" |
prd-writing |
| "user research", "user interview" |
user-research |
| "data story", "present the analysis" |
data-storytelling |
| "legal review", "contract review" |
legal-review |
| "write an email", "draft a message" |
email-drafter |
| "status update", "progress report" |
status-update-writer |
| "onboard", "new joiner guide" |
onboarding-guide |
| "changelog", "what changed in this release" |
changelog |
| "plan the release", "version bump", "semver" |
release-semver |
| "write a decision", "document this decision", "ADR" |
decision-record |
| "backlog", "work items", "create a ticket" |
workitem-management |
| "register an artifact", "catalog this document", "store this deliverable", "link this design file" |
artifact-management |
| "log this event", "audit trail" |
event-log |
| "remember this", "note this idea", "capture this" |
note-management |
| "write a standup", "daily update" |
standup-context |
| "write a handover", "shutting down", "container restart" |
session-handover |
| "status briefing", "catch me up", "state of things" |
status-briefing |
| "groom the context", "clean up context" |
context-grooming |
| "archive context", "cold tier", "archive old workitems" |
context-archiving |
| "prune runtime", "cleanup aibox runtime", "clean up agent worktrees", "reclaim runtime disk" |
runtime-prune |
| "check all open issues", "check all PRs", "merge ready PRs", "repo reconcile", "commit and push all", "repository cleanup" |
repo-management |
| "resolve all migrations", "resolve pk-doctor findings", "reconcile the project", "resolve issues and pull requests" |
project-reconciliation |
| "second opinion", "devil's advocate", "poke holes in this" |
devils-advocate |
| "multiple perspectives", "board of advisors" |
board-of-advisors |
| "research this", "I'm not sure about this fact" |
research-with-confidence |
| "build a new skill", "author a skill", "library expert skill" |
skill-builder |
| "review this skill", "is this skill good" |
skill-reviewer |
| "route this task", "what should I do", "which tool", "route_task" |
task-router |
| "session start", "which skill applies", "check skill-finder", "1% rule" |
skill-gate |
| "dependency audit", "check dependencies" |
dependency-audit |
| "dependency management", "update packages" |
dependency-management |
| "choose a branching strategy", "Gitflow", "GitHub Flow", "trunk-based development", "release branch strategy" |
git-branching |
| "git workflow", "branch naming", "commit message" |
git-workflow |
| "shell script", "bash script" |
shell-scripting |
| "caching", "cache strategy" |
caching-strategies |
| "concurrency", "async", "parallelism" |
concurrency-patterns |
| "webhook", "callback URL" |
webhook-integration |
| "error handling", "exception handling" |
error-handling |
| "documentation", "write the docs" |
documentation |
| "retrospective", "retro", "post-release review", "post-mortem", "lessons learned" |
retrospective |
| "estimation", "story points", "planning poker" |
estimation-planning |
By directory (physical layout)
Skills are organized into 7 category subdirectories on disk. Use the
directory name as the category: value when authoring or filtering:
| Directory |
Contents |
processkit/ |
46 skills for operating the processkit system |
engineering/ |
47 skills: software design, architecture, backend, languages |
devops/ |
16 skills: infrastructure, CI/CD, ops, monitoring |
data-ai/ |
11 skills: data science, ML, AI/LLM, embeddings |
product/ |
11 skills: product management, discovery, communication |
documents/ |
8 skills: document and content authoring |
design/ |
5 skills: visual, UI, and frontend design |
By category
A curated selection of the most commonly used skills per task domain.
For the full catalog, read skills/INDEX.md.
Process
task-router — primary routing entry point: maps task to skill + process override + MCP tool
workitem-management — create, transition, and query WorkItems
decision-record — capture architectural and product decisions as DecisionRecords
artifact-management — register and retrieve completed deliverables
event-log — write auditable log entries for any project event
note-management — capture, review, and promote fleeting ideas and insights
session-handover — write an end-of-session handover before shutdown
standup-context — write a standup update (done / doing / next / blockers)
status-briefing — generate a session-start orientation from project state
context-grooming — periodically prune and compact the project context
runtime-prune — inspect and invoke safe cleanup for
runtime-manager-owned state
release-semver — plan and execute a semver release
retrospective — post-release blameless retrospective (4 signals, dual-emit Artifact+LogEntry)
Architecture
software-architecture — high-level system design patterns and trade-offs
system-design — designing systems from requirements to components
api-design — REST, RPC, and event-based API contracts
domain-driven-design — bounded contexts, aggregates, ubiquitous language
software-modularization — module and package boundary design
microservice-creation — service extraction, communication patterns, orchestration
event-driven-architecture — pub-sub, event sourcing, CQRS
Code quality
code-review — reviewing diffs and PRs for correctness, style, and risk
refactoring — safe, incremental refactoring strategies
tdd-workflow — test-first development cycle
testing-strategy — choosing the right test types and coverage targets
debugging — systematic bug investigation and root-cause analysis
error-handling — error propagation, recovery, and user-facing messages
Security
secure-coding — OWASP top 10, input validation, output encoding
threat-modeling — STRIDE analysis and risk prioritisation
secret-management — credential storage, rotation, and injection
auth-patterns — authentication and authorization patterns
Infrastructure
ci-cd-setup — pipeline design and configuration
dockerfile-review — image hardening, layer optimisation, multi-stage builds
kubernetes-basics — Deployments, Services, ConfigMaps, autoscaling
terraform-basics — resource definitions, state management, modules
Observability
logging-strategy — structured logging, levels, and retention
metrics-monitoring — metric types, dashboards, SLOs
distributed-tracing — trace propagation, span design, sampling
incident-response — triage, mitigation, and communication during incidents
Data and AI
rag-engineering — retrieval-augmented generation pipelines
prompt-engineering — prompt design, few-shot examples, chain-of-thought
llm-evaluation — benchmarking and red-teaming language models
model-recommender — pick the right AI model via spider-chart profiles and task-plan routing
data-pipeline — ETL/ELT design and orchestration
pandas-polars — dataframe operations and transformations
Document creation
docx-authoring — python-docx for Word documents
pptx-authoring — python-pptx for presentations
xlsx-modeling — openpyxl for spreadsheets and financial models
pdf-workflow — WeasyPrint / ReportLab / pypdf for PDF generation
Role-specific
prd-writing — product requirements documents
user-research — interview guides, synthesis, personas
data-storytelling — turning analysis into decisions for non-technical audiences
legal-review — pre-consultation contract and compliance review
email-drafter — professional email drafting with copy-paste output
Meta
skill-builder — design and author new processkit skills, including
library expert recipe skills
skill-reviewer — review a skill against the processkit standard
research-with-confidence — structured research with explicit confidence labels
devils-advocate — adversarial analysis of a plan or proposal
board-of-advisors — multi-perspective simulation with named advisor archetypes
status-briefing — session-start orientation (also listed under Process)
How to use a skill
Once you have identified the right skill:
- Read the skill's
SKILL.md — start with the Intro (3 sentences) to
confirm it is the right match. If yes, read Overview for the workflow.
- Follow the skill's instructions, adapting to the project's specific context.
- Use Full reference only for edge cases or field-by-field specs.
- If the skill has an MCP server (
mcp/SERVER.md), its tools are available
as function calls — the skill's Overview section describes when to use them.
If no skill in this index matches, check skills/INDEX.md for the full
catalog, or use skill-builder to author a new skill for the gap.
Catalog queries
The catalog MCP tool provides user-facing skill discovery. Use it when
the user wants to browse, filter, or export the skill roster rather than
find a specific skill for a task.
Trigger phrases
| User says… |
Action |
| "list skills", "what skills do we have" |
catalog() — full list, Markdown |
| "show me all skills in engineering" |
catalog(category="engineering") |
| "show me all skills in " |
catalog(category="<category>") |
| "skills as JSON", "give me the skill list as JSON" |
catalog(output="json") |
| "skills with model in the name", "find skills about model" |
catalog(keyword="model") |
| "list skills with columns name and layer" |
catalog(columns=["name","layer"]) |
| "show processkit skills as YAML" |
catalog(category="processkit", output="yaml") |
Tool signature
def catalog(
category: str | None = None,
tag: str | None = None,
keyword: str | None = None,
columns: list[str] | None = None,
sort_by: str | None = None,
output: str = "markdown", # "markdown" | "json" | "yaml"
) -> str | list[dict]
Defaults: all skills, columns=["name","category","description"],
sort_by="name", output="markdown".
Available columns:
| Column |
Source |
name |
name frontmatter field |
category |
Category directory name |
description |
First line of description frontmatter field |
tags |
metadata.processkit.tags list |
version |
metadata.processkit.version |
layer |
metadata.processkit.layer |
allowed_tools |
metadata.processkit.provides.mcp_tools list |
has_mcp |
True if mcp/server.py exists for the skill |
skill_md_path |
Relative path to SKILL.md from project root |
Example invocations
1. Default — all skills as a Markdown table (name, category, description)
catalog()
Returns a Markdown table with ~130+ rows, sorted by name.
Shape: str (Markdown table).
2. Filter by category, JSON output
catalog(category="processkit", output="json")
Returns only processkit-category skills as a JSON array.
Shape: list[dict] — e.g.
[{"name": "artifact-management", "category": "processkit", "description": "Register and retrieve completed deliverables."}, …]
3. Keyword search, restricted columns
catalog(keyword="model", columns=["name", "category", "description"])
Returns all skills whose name or description contains "model"
(case-insensitive). Shape: str (Markdown table).
4. Custom columns with YAML output
catalog(columns=["name", "layer", "has_mcp"], output="yaml")
Returns a YAML fenced code block listing name, layer, and has_mcp for
every skill, sorted by name.
5. Tag filter
catalog(tag="routing", columns=["name", "category", "tags"])
Filters to skills that carry "routing" in their frontmatter tags
list (exact match, case-insensitive).
Gotchas
- Loading this skill every time instead of once. skill-finder is an
orientation aid, not a workflow skill. Read it once to identify the right
skill, then load that skill and work from it. Do not keep skill-finder
loaded alongside the working skill — it consumes context without adding
value once you have identified the skill to use.
- Treating the trigger-phrase table as exhaustive. The table maps common
phrases; it is not a complete index of all 120+ skills. If no phrase
matches, scan the by-category section or read
skills/INDEX.md. If
the task is genuinely novel, use skill-builder to create a skill for it.
- Skipping skill-finder when the task is "obvious." The most common
mistake is loading a skill by name from memory and discovering mid-task
that the skill does not quite fit. Thirty seconds with the trigger-phrase
table prevents an incorrect skill invocation. Default to checking even for
familiar task types.
- Using the category labels to filter instead of the trigger phrases.
The categories help humans browse; agents should match on trigger phrases,
not category names. "Code quality" does not tell you whether to load
code-review, refactoring, or tdd-workflow — the trigger phrase does.
- Not updating skill-finder when new skills are added. When a new skill
is added to the catalog, add its trigger phrases to the table and its
one-liner to the appropriate category. skill-finder is only reliable if
it is kept current. The
skill-builder skill includes a reminder to
update this index.
- Confusing skill-finder with skill-builder. skill-finder helps you
find an existing skill. skill-builder helps you create a new one. If
skill-finder returns no match, the correct next step is
skill-builder,
not a general-purpose attempt to solve the task without a skill.
- Ignoring the
core: true intent when customising skill packages.
Until aibox enforces core: true in the install pipeline, project owners
who configure [skills].include must add skill-finder explicitly.
Omitting it means agents lose the navigation aid exactly when the catalog
is most customised and therefore hardest to navigate.
Full reference
The core: true flag
The core: true field in this skill's frontmatter is a proposed
convention. It signals intent: this skill should be installed unconditionally,
regardless of [skills].include or [skills].exclude configuration in
aibox.toml.
Current status: the flag is present in the frontmatter as documentation.
aibox does not yet enforce it — a companion aibox issue will land the
content_install.rs change. Until then, project owners must include
skill-finder in any explicit [skills].include list.
Why it matters: a project owner who limits the installed skills to a
curated subset has, by definition, the most non-obvious skill catalog. That
is precisely when skill-finder is most needed. A skill that can be excluded
provides weaker guarantees than one that cannot.
Keeping this index current
When adding a new skill to processkit:
- Add 1–3 trigger phrases to the trigger-phrase table
- Add a one-liner under the appropriate category in the by-category section
- If no existing category fits, add a new category
The skill-builder skill includes a step reminding the author to update
skill-finder. The skill-reviewer skill checks that skill-finder has been
updated.
1---2name: skill-finder3description: Navigation aid for the processkit skill catalog — maps natural-language cues and task types to the right skill. Read this when you are unsure which skill applies to the current task, when the user names a task without naming a skill, or at session start when orienting to an unfamiliar project. Always the first skill to consult; never the last.4---56# Skill Finder78## Intro910When you are unsure which skill to use, start here. This skill maps11what the user is asking for to the skill that handles it. It is not a12skill you invoke to do work — it is a skill you read to decide what to13invoke next.1415## Overview1617### By trigger phrase1819Find the phrase that most closely matches what the user said, then load20that skill before proceeding.2122| If the user says… | Skill to load |23|---|---|24| "refactor this", "clean up the code" | `refactoring` |25| "review this PR", "code review" | `code-review` |26| "write a test", "test this", "TDD" | `tdd-workflow` |27| "testing strategy", "what tests do we need" | `testing-strategy` |28| "debug this", "find the bug", "why is this failing" | `debugging` |29| "design the API", "API contract" | `api-design` |30| "system design", "design this system" | `system-design` |31| "architecture", "how should we structure this" | `software-architecture` |32| "domain model", "DDD" | `domain-driven-design` |33| "module structure", "package boundaries", "split this up" | `software-modularization` |34| "new service", "microservice", "extract this into a service" | `microservice-creation` |35| "events", "event-driven", "pub-sub" | `event-driven-architecture` |36| "deploy", "CI/CD pipeline", "set up CI" | `ci-cd-setup` |37| "Docker", "Dockerfile", "containerise this" | `dockerfile-review` |38| "Kubernetes", "k8s", "set up the cluster" | `kubernetes-basics` |39| "Terraform", "infrastructure as code" | `terraform-basics` |40| "write SQL", "SQL query", "query the database" | `sql-patterns` |41| "SQL style", "format the SQL" | `sql-style-guide` |42| "database design", "schema design" | `database-modeling` |43| "database migration", "migrate the schema" | `database-migration` |44| "NoSQL", "MongoDB", "document store" | `nosql-patterns` |45| "secure this", "security review" | `secure-coding` |46| "threat model" | `threat-modeling` |47| "secrets", "API keys", "credential management" | `secret-management` |48| "auth", "authentication", "OAuth" | `auth-patterns` |49| "logging", "log this" | `logging-strategy` |50| "metrics", "monitoring", "dashboards" | `metrics-monitoring` |51| "trace", "distributed tracing" | `distributed-tracing` |52| "alert", "on-call", "PagerDuty" | `alerting-oncall` |53| "postmortem", "incident review" | `postmortem-writing` |54| "incident", "on fire", "outage" | `incident-response` |55| "profile this", "find the bottleneck", "performance" | `performance-profiling` |56| "load test", "stress test" | `load-testing` |57| "Python" | `python-best-practices` |58| "TypeScript", "JavaScript" | `typescript-patterns` |59| "Go", "Golang" | `go-conventions` |60| "Rust" | `rust-conventions` |61| "Java" | `java-patterns` |62| "FastAPI", "Python API" | `fastapi-patterns` |63| "gRPC", "protobuf" | `grpc-protobuf` |64| "GraphQL" | `graphql-patterns` |65| "Flutter", "mobile app" | `flutter-development` |66| "Tailwind", "CSS utility classes" | `tailwind` |67| "frontend design", "UI components" | `frontend-design` |68| "AI fundamentals", "ML concepts", "machine learning basics" | `ai-fundamentals` |69| "analyse data", "pandas", "polars", "dataframe" | `pandas-polars` |70| "data pipeline", "ETL", "data engineering" | `data-pipeline` |71| "data quality", "data validation" | `data-quality` |72| "data science", "notebook", "EDA" | `data-science` |73| "visualise data", "chart this" | `data-visualization` |74| "RAG", "retrieval", "vector search" | `rag-engineering` |75| "embeddings", "vector database" | `embedding-vectordb` |76| "prompt engineering", "write a prompt" | `prompt-engineering` |77| "evaluate the LLM", "benchmark the model" | `llm-evaluation` |78| "which model should I use", "recommend a model", "which LLM is best", "help me pick an AI model", "route tasks to the right model", "which Claude should I use" | `model-recommender` |79| "ML pipeline", "train a model" | `ml-pipeline` |80| "feature engineering" | `feature-engineering` |81| "diagram", "draw", "whiteboard", "Excalidraw" | `excalidraw` |82| "infographic", "SVG chart" | `infographics` |83| "logo", "brand mark", "SVG icon" | `logo-design` |84| "mobile design", "iOS", "Android UI" | `mobile-app-design` |85| "SEO", "search optimisation", "meta tags" | `seo-optimization` |86| "Word document", "docx" | `docx-authoring` |87| "PowerPoint", "slides", "pptx" | `pptx-authoring` |88| "Excel", "spreadsheet", "xlsx" | `xlsx-modeling` |89| "PDF", "generate a PDF" | `pdf-workflow` |90| "LaTeX", "academic paper" | `latex-authoring` |91| "write a PRD", "product requirements" | `prd-writing` |92| "user research", "user interview" | `user-research` |93| "data story", "present the analysis" | `data-storytelling` |94| "legal review", "contract review" | `legal-review` |95| "write an email", "draft a message" | `email-drafter` |96| "status update", "progress report" | `status-update-writer` |97| "onboard", "new joiner guide" | `onboarding-guide` |98| "changelog", "what changed in this release" | `changelog` |99| "plan the release", "version bump", "semver" | `release-semver` |100| "write a decision", "document this decision", "ADR" | `decision-record` |101| "backlog", "work items", "create a ticket" | `workitem-management` |102| "register an artifact", "catalog this document", "store this deliverable", "link this design file" | `artifact-management` |103| "log this event", "audit trail" | `event-log` |104| "remember this", "note this idea", "capture this" | `note-management` |105| "write a standup", "daily update" | `standup-context` |106| "write a handover", "shutting down", "container restart" | `session-handover` |107| "status briefing", "catch me up", "state of things" | `status-briefing` |108| "groom the context", "clean up context" | `context-grooming` |109| "archive context", "cold tier", "archive old workitems" | `context-archiving` |110| "prune runtime", "cleanup aibox runtime", "clean up agent worktrees", "reclaim runtime disk" | `runtime-prune` |111| "check all open issues", "check all PRs", "merge ready PRs", "repo reconcile", "commit and push all", "repository cleanup" | `repo-management` |112| "resolve all migrations", "resolve pk-doctor findings", "reconcile the project", "resolve issues and pull requests" | `project-reconciliation` |113| "second opinion", "devil's advocate", "poke holes in this" | `devils-advocate` |114| "multiple perspectives", "board of advisors" | `board-of-advisors` |115| "research this", "I'm not sure about this fact" | `research-with-confidence` |116| "build a new skill", "author a skill", "library expert skill" | `skill-builder` |117| "review this skill", "is this skill good" | `skill-reviewer` |118| "route this task", "what should I do", "which tool", "route_task" | `task-router` |119| "session start", "which skill applies", "check skill-finder", "1% rule" | `skill-gate` |120| "dependency audit", "check dependencies" | `dependency-audit` |121| "dependency management", "update packages" | `dependency-management` |122| "choose a branching strategy", "Gitflow", "GitHub Flow", "trunk-based development", "release branch strategy" | `git-branching` |123| "git workflow", "branch naming", "commit message" | `git-workflow` |124| "shell script", "bash script" | `shell-scripting` |125| "caching", "cache strategy" | `caching-strategies` |126| "concurrency", "async", "parallelism" | `concurrency-patterns` |127| "webhook", "callback URL" | `webhook-integration` |128| "error handling", "exception handling" | `error-handling` |129| "documentation", "write the docs" | `documentation` |130| "retrospective", "retro", "post-release review", "post-mortem", "lessons learned" | `retrospective` |131| "estimation", "story points", "planning poker" | `estimation-planning` |132133### By directory (physical layout)134135Skills are organized into 7 category subdirectories on disk. Use the136directory name as the `category:` value when authoring or filtering:137138| Directory | Contents |139|---|---|140| `processkit/` | 46 skills for operating the processkit system |141| `engineering/` | 47 skills: software design, architecture, backend, languages |142| `devops/` | 16 skills: infrastructure, CI/CD, ops, monitoring |143| `data-ai/` | 11 skills: data science, ML, AI/LLM, embeddings |144| `product/` | 11 skills: product management, discovery, communication |145| `documents/` | 8 skills: document and content authoring |146| `design/` | 5 skills: visual, UI, and frontend design |147148### By category149150A curated selection of the most commonly used skills per task domain.151For the full catalog, read `skills/INDEX.md`.152153**Process**154- `task-router` — primary routing entry point: maps task to skill + process override + MCP tool155- `workitem-management` — create, transition, and query WorkItems156- `decision-record` — capture architectural and product decisions as DecisionRecords157- `artifact-management` — register and retrieve completed deliverables158- `event-log` — write auditable log entries for any project event159- `note-management` — capture, review, and promote fleeting ideas and insights160- `session-handover` — write an end-of-session handover before shutdown161- `standup-context` — write a standup update (done / doing / next / blockers)162- `status-briefing` — generate a session-start orientation from project state163- `context-grooming` — periodically prune and compact the project context164- `runtime-prune` — inspect and invoke safe cleanup for165 runtime-manager-owned state166- `release-semver` — plan and execute a semver release167- `retrospective` — post-release blameless retrospective (4 signals, dual-emit Artifact+LogEntry)168169**Architecture**170- `software-architecture` — high-level system design patterns and trade-offs171- `system-design` — designing systems from requirements to components172- `api-design` — REST, RPC, and event-based API contracts173- `domain-driven-design` — bounded contexts, aggregates, ubiquitous language174- `software-modularization` — module and package boundary design175- `microservice-creation` — service extraction, communication patterns, orchestration176- `event-driven-architecture` — pub-sub, event sourcing, CQRS177178**Code quality**179- `code-review` — reviewing diffs and PRs for correctness, style, and risk180- `refactoring` — safe, incremental refactoring strategies181- `tdd-workflow` — test-first development cycle182- `testing-strategy` — choosing the right test types and coverage targets183- `debugging` — systematic bug investigation and root-cause analysis184- `error-handling` — error propagation, recovery, and user-facing messages185186**Security**187- `secure-coding` — OWASP top 10, input validation, output encoding188- `threat-modeling` — STRIDE analysis and risk prioritisation189- `secret-management` — credential storage, rotation, and injection190- `auth-patterns` — authentication and authorization patterns191192**Infrastructure**193- `ci-cd-setup` — pipeline design and configuration194- `dockerfile-review` — image hardening, layer optimisation, multi-stage builds195- `kubernetes-basics` — Deployments, Services, ConfigMaps, autoscaling196- `terraform-basics` — resource definitions, state management, modules197198**Observability**199- `logging-strategy` — structured logging, levels, and retention200- `metrics-monitoring` — metric types, dashboards, SLOs201- `distributed-tracing` — trace propagation, span design, sampling202- `incident-response` — triage, mitigation, and communication during incidents203204**Data and AI**205- `rag-engineering` — retrieval-augmented generation pipelines206- `prompt-engineering` — prompt design, few-shot examples, chain-of-thought207- `llm-evaluation` — benchmarking and red-teaming language models208- `model-recommender` — pick the right AI model via spider-chart profiles and task-plan routing209- `data-pipeline` — ETL/ELT design and orchestration210- `pandas-polars` — dataframe operations and transformations211212**Document creation**213- `docx-authoring` — python-docx for Word documents214- `pptx-authoring` — python-pptx for presentations215- `xlsx-modeling` — openpyxl for spreadsheets and financial models216- `pdf-workflow` — WeasyPrint / ReportLab / pypdf for PDF generation217218**Role-specific**219- `prd-writing` — product requirements documents220- `user-research` — interview guides, synthesis, personas221- `data-storytelling` — turning analysis into decisions for non-technical audiences222- `legal-review` — pre-consultation contract and compliance review223- `email-drafter` — professional email drafting with copy-paste output224225**Meta**226- `skill-builder` — design and author new processkit skills, including227 library expert recipe skills228- `skill-reviewer` — review a skill against the processkit standard229- `research-with-confidence` — structured research with explicit confidence labels230- `devils-advocate` — adversarial analysis of a plan or proposal231- `board-of-advisors` — multi-perspective simulation with named advisor archetypes232- `status-briefing` — session-start orientation (also listed under Process)233234### How to use a skill235236Once you have identified the right skill:2372381. Read the skill's `SKILL.md` — start with the **Intro** (3 sentences) to239 confirm it is the right match. If yes, read **Overview** for the workflow.2402. Follow the skill's instructions, adapting to the project's specific context.2413. Use **Full reference** only for edge cases or field-by-field specs.2424. If the skill has an MCP server (`mcp/SERVER.md`), its tools are available243 as function calls — the skill's Overview section describes when to use them.244245If no skill in this index matches, check `skills/INDEX.md` for the full246catalog, or use `skill-builder` to author a new skill for the gap.247248## Catalog queries249250The `catalog` MCP tool provides user-facing skill discovery. Use it when251the user wants to browse, filter, or export the skill roster rather than252find a specific skill for a task.253254### Trigger phrases255256| User says… | Action |257|---|---|258| "list skills", "what skills do we have" | `catalog()` — full list, Markdown |259| "show me all skills in engineering" | `catalog(category="engineering")` |260| "show me all skills in <category>" | `catalog(category="<category>")` |261| "skills as JSON", "give me the skill list as JSON" | `catalog(output="json")` |262| "skills with model in the name", "find skills about model" | `catalog(keyword="model")` |263| "list skills with columns name and layer" | `catalog(columns=["name","layer"])` |264| "show processkit skills as YAML" | `catalog(category="processkit", output="yaml")` |265266### Tool signature267268```python269def catalog(270 category: str | None = None,271 tag: str | None = None,272 keyword: str | None = None,273 columns: list[str] | None = None,274 sort_by: str | None = None,275 output: str = "markdown", # "markdown" | "json" | "yaml"276) -> str | list[dict]277```278279**Defaults:** all skills, `columns=["name","category","description"]`,280`sort_by="name"`, `output="markdown"`.281282**Available columns:**283284| Column | Source |285|---|---|286| `name` | `name` frontmatter field |287| `category` | Category directory name |288| `description` | First line of `description` frontmatter field |289| `tags` | `metadata.processkit.tags` list |290| `version` | `metadata.processkit.version` |291| `layer` | `metadata.processkit.layer` |292| `allowed_tools` | `metadata.processkit.provides.mcp_tools` list |293| `has_mcp` | True if `mcp/server.py` exists for the skill |294| `skill_md_path` | Relative path to SKILL.md from project root |295296### Example invocations297298**1. Default — all skills as a Markdown table (name, category, description)**299300```301catalog()302```303304Returns a Markdown table with ~130+ rows, sorted by name.305Shape: `str` (Markdown table).306307**2. Filter by category, JSON output**308309```310catalog(category="processkit", output="json")311```312313Returns only processkit-category skills as a JSON array.314Shape: `list[dict]` — e.g.315`[{"name": "artifact-management", "category": "processkit",316"description": "Register and retrieve completed deliverables."}, …]`317318**3. Keyword search, restricted columns**319320```321catalog(keyword="model", columns=["name", "category", "description"])322```323324Returns all skills whose `name` or `description` contains "model"325(case-insensitive). Shape: `str` (Markdown table).326327**4. Custom columns with YAML output**328329```330catalog(columns=["name", "layer", "has_mcp"], output="yaml")331```332333Returns a YAML fenced code block listing name, layer, and has_mcp for334every skill, sorted by name.335336**5. Tag filter**337338```339catalog(tag="routing", columns=["name", "category", "tags"])340```341342Filters to skills that carry `"routing"` in their frontmatter `tags`343list (exact match, case-insensitive).344345## Gotchas346347- **Loading this skill every time instead of once.** skill-finder is an348 orientation aid, not a workflow skill. Read it once to identify the right349 skill, then load that skill and work from it. Do not keep skill-finder350 loaded alongside the working skill — it consumes context without adding351 value once you have identified the skill to use.352- **Treating the trigger-phrase table as exhaustive.** The table maps common353 phrases; it is not a complete index of all 120+ skills. If no phrase354 matches, scan the by-category section or read `skills/INDEX.md`. If355 the task is genuinely novel, use `skill-builder` to create a skill for it.356- **Skipping skill-finder when the task is "obvious."** The most common357 mistake is loading a skill by name from memory and discovering mid-task358 that the skill does not quite fit. Thirty seconds with the trigger-phrase359 table prevents an incorrect skill invocation. Default to checking even for360 familiar task types.361- **Using the category labels to filter instead of the trigger phrases.**362 The categories help humans browse; agents should match on trigger phrases,363 not category names. "Code quality" does not tell you whether to load364 `code-review`, `refactoring`, or `tdd-workflow` — the trigger phrase does.365- **Not updating skill-finder when new skills are added.** When a new skill366 is added to the catalog, add its trigger phrases to the table and its367 one-liner to the appropriate category. skill-finder is only reliable if368 it is kept current. The `skill-builder` skill includes a reminder to369 update this index.370- **Confusing skill-finder with skill-builder.** skill-finder helps you371 find an existing skill. skill-builder helps you create a new one. If372 skill-finder returns no match, the correct next step is `skill-builder`,373 not a general-purpose attempt to solve the task without a skill.374- **Ignoring the `core: true` intent when customising skill packages.**375 Until aibox enforces `core: true` in the install pipeline, project owners376 who configure `[skills].include` must add `skill-finder` explicitly.377 Omitting it means agents lose the navigation aid exactly when the catalog378 is most customised and therefore hardest to navigate.379380## Full reference381382### The `core: true` flag383384The `core: true` field in this skill's frontmatter is a **proposed**385convention. It signals intent: this skill should be installed unconditionally,386regardless of `[skills].include` or `[skills].exclude` configuration in387`aibox.toml`.388389**Current status:** the flag is present in the frontmatter as documentation.390aibox does not yet enforce it — a companion aibox issue will land the391`content_install.rs` change. Until then, project owners must include392`skill-finder` in any explicit `[skills].include` list.393394**Why it matters:** a project owner who limits the installed skills to a395curated subset has, by definition, the most non-obvious skill catalog. That396is precisely when skill-finder is most needed. A skill that can be excluded397provides weaker guarantees than one that cannot.398399### Keeping this index current400401When adding a new skill to processkit:4021. Add 1–3 trigger phrases to the trigger-phrase table4032. Add a one-liner under the appropriate category in the by-category section4043. If no existing category fits, add a new category405406The `skill-builder` skill includes a step reminding the author to update407skill-finder. The `skill-reviewer` skill checks that skill-finder has been408updated.