From team-building
Use after preflight-check passes to parse an implementation plan and propose a team roster. Detects tech stack from file paths, matches each domain to the best specialist agent.
How this skill is triggered — by the user, by Claude, or both
Slash command
/team-building:plan-analysisThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Phase 1 of the `/team-building` flow. Runs **after** `preflight-check`
Phase 1 of the /team-building flow. Runs after preflight-check
returns PASS or WARN. Reads the validated plan, extracts tasks and
detected stacks, and produces a structured roster the command will use to
spawn specialists.
| Input | Required | Description |
|---|---|---|
plan_path | yes | Absolute path to the (already-validated) plan markdown |
primary_stack | yes | Stack chosen in preflight Phase 0.2 (e.g. java/maven) |
secondary_stacks | no | Other detected stacks (multi-stack repos) |
test_command / build_command / typecheck_command | yes | Resolved canonical commands from preflight |
Reuse the regexes from preflight-check/references/plan-quality-rules.md:
(?m)^#{1,3}\s+(.+)$ — heading-style tasks(?m)^\s*\d+\.\s+(.+)$ — numbered listFor each match:
id = sequential index (1-based)title = captured text (trimmed)body = lines from this task to the next match (used for path/keyword
extraction)For each task body, scan for:
[\w./-]+\.([a-z]{1,4})\b — group by extension.references/matching-table.md (Spring, JPA, LangGraph, Express, React,
etc.).migration, schema, controller, webhook,
frontend, async, etc.A task may emit multiple domain signals — that's fine, it just means the task touches multiple specialists' areas.
Resolution happens on two axes: pick the right row of the matching table, then fill each slot in that row using the fallback chain.
Axis 1 — row selection. For each task:
Axis 2 — slot fill. For each slot (implementer / tester / reviewer /
specialist) in the chosen row, walk the fallback chain in
references/matching-table.md § "Generic fallbacks (bundled)":
~/.claude/agents/<name>.md if present.<plugin>/agents/<name>.md (review →
generic-code-reviewer; security → generic-security-auditor).general-purpose for impl/test slots; unmatched[] for
review/security slots if even the bundled generic file is missing.For each task, record:
implementertester (often the same agent as implementer)reviewerspecialist (security/database/etc., optional)Deduplicate across tasks. The final roster is:
Return a markdown summary plus a fenced JSON block:
{
"tasks": [
{"id": 1, "title": "...", "stack": "java/spring", "implementer": "java-spring-expert", "tester": "java-test-engineer", "reviewer": "java-code-reviewer", "specialist": null}
],
"roster": {
"lead": "team-lead",
"implementers": ["java-spring-expert"],
"testers": ["java-test-engineer"],
"reviewers": ["java-code-reviewer"],
"specialists": ["java-security-auditor"]
},
"unmatched": [],
"notes": []
}
unmatched[] lists tasks where no specialist row matched and the user must
intervene (most commonly: frontend React/.tsx). notes[] is for
human-readable observations the command should surface verbatim (e.g.
"Multi-stack project: Java + Python tasks split across rosters").
If secondary_stacks is non-empty:
notes[] entry: "Multi-stack: tasks 1–3 → java/spring, tasks 4–7 → python".If a task's strongest signal points at a stack with no row in the
matching table (e.g., raw .tsx for React frontend):
tasks[] with implementer: null.unmatched[].notes[] line directing the user to the agent-architect
subagent to mint a specialist, or to fall back to general-purpose.references/matching-table.md once at the start, not per-task.null (with the task
added to unmatched[]).Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub pablomarotta4/team-building --plugin team-building