speckit-categorize

Categorizes spec-kit tasks by type and specialization via a validated Sonnet subagent dispatch.

Updated Jul 8, 2026
One-click install
npx skills add https://github.com/NarenKarthikBM/specseyal --skill speckit-categorize-narenkarthikbm
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: speckit-categorize
Source: https://github.com/NarenKarthikBM/specseyal/tree/main/.claude/skills/speckit-categorize
Command: npx skills add https://github.com/NarenKarthikBM/specseyal --skill speckit-categorize-narenkarthikbm

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? In a spec-driven development pipeline, tasks in tasks.md must be tagged with type, specialization, and behavior metadata before they can be dispatched to specialized parallel agents — but doing this by hand is error-prone and unverifiable. This Skill automates that classification step with a deterministic validation gate so only structurally valid categorizations ever land on disk. ## Core Features & Use Cases - Subagent-based task classification: Dispatches one Sonnet categorizer session over tasks.md and plan.md to tag every task with type, specialization, preserves_behavior, runtime_consumed, and tags per taxonomy v1. - Zero-AI validation gate: Runs validate-categorization.py to enforce coverage, closed-enum membership, and the general-cap max(1, floor(0.2n)); categorization.md is kept only on exit code 0 and reverted or removed on failure. - Governed pipeline integration: Appends one categorizer trace record to traces.jsonl, honors the after_categorize commit hook, and supports a workforce_depth: light mode that routes all tasks to a cap-exempt light-fallback sentinel. - Use Case: After running /speckit-analyze on a feature, invoke /speckit-categorize to produce a validated categorization.md that the downstream /speckit-agent-assign phase consumes to build the task/agent roster. ## Quick Start Run /speckit-categorize in a spec-kit repository after tasks.md and plan.md exist to generate a validated categorization of all feature tasks.

Frequently Asked Questions about speckit-categorize

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I categorize tasks in a spec-kit feature pipeline?

Run /speckit-categorize after /speckit-analyze has stabilized tasks.md. It dispatches one Sonnet categorizer subagent over tasks.md and plan.md, then validates the result with validate-categorization.py before keeping categorization.md.

What does the general cap in task categorization mean?

The general cap limits tasks tagged with the general specialization to max(1, floor(0.2n)) of n total tasks. The validator enforces this as a hardcoded 1/5 ratio, and an over-cap run fails with no categorization.md written.

Does speckit-categorize modify tasks.md?

No, tasks.md is read-only for the entire command under every outcome. The categorizer reads it as input and writes only categorization.md; any defect observations go into that file's prose instead.

What happens when categorization validation fails?

On validator exit code 1, the new categorization.md is reverted to the previously committed valid version or removed entirely if none existed. The breach report is surfaced verbatim, a failed trace record is appended, and the phase does not complete.

What is workforce_depth light mode in task categorization?

With workforce_depth: light in profile.yaml, the categorizer writes the sentinel value light-fallback as every task's specialization instead of reasoning about the 10 real lanes. The phase still runs fully and validation still applies, but light-fallback rows are exempt from the general cap.

Can I re-run speckit-categorize on the same feature?

Yes, re-running always dispatches a fresh categorizer session against the current tasks.md and plan.md and regenerates categorization.md from scratch. Uncommitted hand-edits to an existing categorization.md will be overwritten by the new dispatch.