From blueprint-mode
Create Blueprint structure from existing repo. Run multiple times to refine.
npx claudepluginhub rickardp/blueprint-mode --plugin blueprint-modeThis skill is limited to using the following tools:
**DO NOT** ask "Would you like me to...", offer numbered options, or ask what to create.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
DO NOT ask "Would you like me to...", offer numbered options, or ask what to create. DO analyze the repo and create the full Blueprint structure now.
If existing documentation exists, CREATE BLUEPRINT STRUCTURE ANYWAY. Do not ask permission.
TOOL USAGE: Use AskUserQuestion for rationale questions with structured options. DO NOT ask for scope, we always do full Blueprint setup.
COMMAND: Analyze repo, show plan, then create full Blueprint structure.
Repositories may have CLAUDE.md, AGENTS.md, both, or neither. CRITICAL: Check for symlinks FIRST to avoid breaking the link relationship.
Step 1: Check for symlinks FIRST
ls -la CLAUDE.md AGENTS.md 2>/dev/null
Look for -> in the output which indicates a symlink:
CLAUDE.md -> AGENTS.md means CLAUDE.md is a symlink to AGENTS.mdAGENTS.md -> CLAUDE.md means AGENTS.md is a symlink to CLAUDE.mdStep 2: Determine action based on priority order
| Priority | Scenario | Detection | Action |
|---|---|---|---|
| 1 | Symlink exists | ls -la shows -> | Update the TARGET file only. NEVER delete or recreate either file. |
| 2 | One references other | File contains "See CLAUDE.md" or "See AGENTS.md" | Update the referenced file only |
| 3 | Only CLAUDE.md exists | File exists, no AGENTS.md | Update CLAUDE.md |
| 4 | Only AGENTS.md exists | File exists, no CLAUDE.md | Update AGENTS.md |
| 5 | Both exist independently | Both files, no symlink, no reference | Update both with same content |
| 6 | Neither exists | Neither file found | Create CLAUDE.md (default) |
⚠️ CRITICAL: If a symlink exists, you MUST:
Step 3: Record decision In the plan output, include:
Agent instructions: [CLAUDE.md | AGENTS.md] (target of symlink) | both
I will create:
ADRs:
- ADR-001: [tech] as [category] - [rationale or "TBD"]
- ADR-002: [tech] as [category] - [rationale or "TBD"]
Specs:
- docs/specs/product.md
- docs/specs/tech-stack.md
- docs/specs/boundaries.md
[Call ExitPlanMode to proceed]
docs/
├── adrs/
│ └── 001-[tech].md # One per major technology
├── specs/
│ ├── product.md # Vision, users, goals (from README)
│ ├── tech-stack.md # All technologies (from dependencies)
│ └── boundaries.md # Always/Ask/Never rules
CLAUDE.md (or AGENTS.md) # Agent instructions - see detection above
Source of truth: _templates/TEMPLATES.md
---
status: Active
date: YYYY-MM-DD
---
# ADR-NNN: [Choice] as [CATEGORY]
## Context
[What problem are we solving? What constraints exist?]
## Options Considered
### Option 1: [Alternative A]
- Pro: [advantage]
- Con: [disadvantage]
## Decision
We chose **[CHOICE]** because [primary motivation].
## Consequences
**Positive:**
- [benefit]
**Negative:**
- [tradeoff]
## Related
- Tech stack: [docs/specs/tech-stack.md](../specs/tech-stack.md)
Status values: Draft, Active, Superseded, Deprecated
MANDATORY: Use the exact format above. DO NOT deviate.
| DO NOT use | USE instead |
|---|---|
## Status with "Accepted" in body | YAML frontmatter status: Active |
**Benefits:** | **Positive:** |
**Trade-offs:** | **Negative:** |
## References | ## Related |
| Omitting Options Considered | Include ## Options Considered |
Validation checklist before writing ADR:
status: and date:# ADR-NNN: [Choice] as [CATEGORY]## Options Considered section**Positive:** and **Negative:** (not Benefits/Trade-offs)## Related (not References)| Artifact | Section in TEMPLATES.md |
|---|---|
| product.md | <!-- SECTION: product-spec --> |
| tech-stack.md | <!-- SECTION: tech-stack --> |
| boundaries.md | <!-- SECTION: boundaries --> |
| CLAUDE.md | <!-- SECTION: claude-md --> |
When rationale is missing, use AskUserQuestion with context-aware options:
| Technology | Suggested Rationales |
|---|---|
| React/Vue/Angular | Team familiarity; Large ecosystem; Component library compatibility; Industry standard |
| Next.js/Nuxt | SSR requirements; Full-stack capabilities; Team familiarity |
| Express/Fastify | Team familiarity; Mature ecosystem; Performance requirements |
| PostgreSQL | ACID compliance; Team familiarity; JSON support; Relational model |
| MongoDB | Document model fits data; Schema flexibility; Team familiarity |
| TypeScript | Type safety; Better IDE support; Reduced runtime errors |
Batch up to 4 technologies per question:
{
"questions": [
{
"question": "Why was React chosen for the frontend?",
"header": "React",
"options": [
{"label": "Team familiarity", "description": ""},
{"label": "Large ecosystem", "description": ""},
{"label": "Component library compatibility", "description": ""},
{"label": "Skip for now", "description": "Mark as TBD"}
],
"multiSelect": true
}
]
}
Created Blueprint structure:
- X ADRs (Y with rationale, Z marked TBD)
- docs/specs/product.md
- docs/specs/tech-stack.md
- docs/specs/boundaries.md
- [CLAUDE.md | AGENTS.md | both] (agent instructions)
TBD sections can be refined by running this skill again.
Do not ask what to focus on. Create what's missing.
Use AskUserQuestion for rationale gaps (see format above).
Simple text questions allowed for:
Never ask: "What would you like to create?" or "Full/partial setup?"