Use when creating infrastructure planning documents — architecture/ADR docs and detailed execution plans with stories that sync to ClickUp. Triggers on mentions of phase planning, ADR creation, detailed plan, story breakdown, or infrastructure planning documents.
From dev-workflownpx claudepluginhub infraspecdev/tesseract --plugin dev-workflowThis skill uses the workspace's default tool permissions.
templates.mdSearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Executes pre-written implementation plans: critically reviews, follows bite-sized steps exactly, runs verifications, tracks progress with checkpoints, uses git worktrees, stops on blockers.
Create two-document planning artifacts for infrastructure phases: an architecture/ADR doc and a detailed execution plan with stories that become project management cards.
Default: HTML. User can request Markdown instead. Ask if not specified.
The "why and how" — explains the problem, current state, proposed solution, and key decisions.
Structure:
<pre>, "what changes" table, "what does NOT change" list<blockquote> blocks (always blue #1a73e8, never phase-colored)The "what to do" — stories that become ClickUp cards via sprint-planner sync.
Structure:
to create badge), status, assignee, timeline.success-criteria blockEach story MUST contain all sections needed to become a complete ClickUp card:
┌─ Story N: [descriptive name] ─────────────────────────┐
│ [ClickUp badge] [Status badge] [Week, Day range] │
│ │
│ Description paragraph (2-3 sentences, NO user story │
│ format — just describe what needs to happen and why) │
│ │
│ Tasks (checklist) │
│ - [ ] Concrete action with resource IDs where known │
│ - [ ] Another action — specific enough to execute │
│ │
│ Existing Infrastructure (when relevant) │
│ Resource | ID | Status: Exists / To create │
│ │
│ Acceptance Criteria (checklist) │
│ - [ ] Verifiable outcome (testable, not vague) │
│ - [ ] Another verifiable outcome │
└────────────────────────────────────────────────────────┘
Critical rules:
Story 1: Name, Story 2: Name — sequential numbers, NOT phase-prefixedid="story-N" for anchor links from summary table<a href="#story-N">Name</a> — clickable links— (em dash), not blank| Badge Class | When to Use | Text |
|---|---|---|
badge-clickup | Story linked to ClickUp | ClickUp task ID (as <a> link) |
badge-to-create | No ClickUp card yet | to create |
badge-done | Work completed | done |
badge-in-dev | Actively being worked | in dev |
badge-ready | Ready for development | ready for dev |
New stories always start with badge-to-create for ClickUp and badge-ready for status.
<div class="epic-meta">
<table>
<tr><td>EPIC</td><td><span class="badge badge-to-create">to create</span> [EPIC] Project | Phase N: Name</td></tr>
<tr><td>Status</td><td>—</td></tr>
<tr><td>Assignee</td><td>—</td></tr>
<tr><td>Timeline</td><td>Week N</td></tr>
</table>
</div>
When ClickUp EPIC exists, replace the to create badge with a linked badge:
<a href="https://app.clickup.com/t/{id}" class="badge badge-clickup">{id}</a>
See templates.md in this skill directory for the full CSS and HTML scaffolding for both document types. Use those templates exactly — do not invent new styles or change colors.
Key style rules:
#1a73e8 (blue) — never use phase-specific colors for these.phase-color CSS class for inline accentsmax-width: 900px for architecture, 960px for detailed planWhen user requests markdown output:
Architecture doc — standard markdown with:
> **Key Insight:** for blockquotesDetailed plan — markdown with:
[CU:{id}] inline markers for ClickUp IDs (parseable by sprint-planner)### Story N: Name headers- [ ] checklists for tasks and acceptance criteria> **EPIC:** ... block for EPIC metadataDocuments generated by this skill are directly parseable by the clickup-sprint-planner plugin. The HTML structure matches the sprint-planner's story_extraction selectors:
| Selector | What It Matches |
|---|---|
div.story[id^='story-'] | Story section containers |
Story \d+: (.+) | Story name from <h3> |
a.badge-clickup | ClickUp task ID links |
.badge:not(.badge-clickup):not(.badge-to-create) | Status badges |
After generating documents, register the new phase in sprint-planner.json:
{
"id": "P7",
"name": "Observability Stack",
"plan_doc": "07-observability-stack/detailed-plan.html",
"epic_id": "..."
}
Then run /sprint-sync P7 to create ClickUp cards from the stories. The sync tool will parse story names, descriptions, tasks, and acceptance criteria from the HTML and create cards with the full content.
sprint-planner.json in the project (check clickup-sprint-planner/examples/ or project root)plan_docs.epics with the phase ID, name, plan doc path, and epic_id (ask user for EPIC ID, or set to empty string if EPIC doesn't exist yet)/sprint-sync {phase_id} to create ClickUp cards from the stories/sprint-plan to assign stories to team members, set priorities, and push updates to ClickUp/plan-review <path-to-plan> to dispatch 3-5 reviewer agents in parallelreview/<date>-<slug>/analysis.md (scored evaluation) and plan.md (enhanced plan)| Mistake | Fix |
|---|---|
| User story format ("As a...") | Direct description: "Create X to enable Y" |
| Vague acceptance criteria ("networking works") | Testable: "curl ifconfig.me returns 65.2.46.44" |
| Missing infrastructure section | Always include resource IDs and exists/to-create status |
| Phase-colored blockquotes | Blockquotes always use blue (#1a73e8) |
| Story names prefixed with phase ID | Use Story 1:, Story 2: — not P1a-S1: |
| Summary table without anchor links | Every story name links to #story-N |
| Invented CSS classes or colors | Use templates.md exactly |