skills/blocker-detection/SKILL.md
# Blocker Detection Skill Identifies missing prerequisites (blockers) for each `/architect:` command based on `_state.json` field requirements. Used by `/architect:next-steps`, `/architect:check-state`, and validation commands to determine which commands can run and which are blocked. ## When to Use Invoke this skill to determine if a command can execute or what prerequisites must be completed first. Blocker detection: - Prevents wasted time on commands that will fail due to missing inputs -
npx skillsauth add navraj007in/architecture-cowork-plugin skills/blocker-detectionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Identifies missing prerequisites (blockers) for each /architect: command based on _state.json field requirements. Used by /architect:next-steps, /architect:check-state, and validation commands to determine which commands can run and which are blocked.
Invoke this skill to determine if a command can execute or what prerequisites must be completed first. Blocker detection:
/architect:next-steps prerequisite analysisProvide:
_state.json (current project state)"generate-tests", "setup-monitoring")A blocker analysis object:
{
"command": "generate-tests",
"can_execute": false,
"blocking_count": 1,
"blockers": [
{
"blocker_id": "B-001",
"severity": "critical",
"field": "components",
"reason": "Generate-tests needs scaffolded components to generate tests from",
"missing": true,
"fix": "Run /architect:scaffold first",
"fix_eta_minutes": 15,
"blocking_next_steps": [
"generate-tests",
"build-verification",
"production-readiness"
]
}
],
"unblocked_by": [
"scaffold",
"scaffold-component"
],
"dependency_chain": "scaffold (15min) → generate-tests (45min) → production-readiness (30min)",
"total_unblock_time_minutes": 90
}
Blocker structure:
{
"blocker_id": "B-1xx",
"severity": "critical",
"type": "missing_input",
"field": "solution.sdl.yaml OR _state.json",
"reason": "Cannot proceed without architecture definition",
"fix": "Run /architect:blueprint or /architect:sdl first",
"fix_eta_minutes": 20
}
Commands affected:
Blocker structure:
{
"blocker_id": "B-2xx",
"severity": "critical",
"type": "missing_scaffold",
"field": "components[].name",
"reason": "Command needs scaffolded components to generate code for",
"fix": "Run /architect:scaffold first",
"fix_eta_minutes": 15
}
Commands affected:
generate-tests (needs components to test)security-scan (needs code to scan)setup-monitoring (needs service structure to instrument)generate-docs (needs files to document)accessibility-audit (needs rendered components)Blocker structure:
{
"blocker_id": "B-3xx",
"severity": "medium",
"type": "missing_data_model",
"field": "entities",
"reason": "Command generates tests/docs that reference entity types",
"fix": "Run /architect:generate-data-model first",
"fix_eta_minutes": 10
}
Commands affected:
generate-tests (better test fixtures with entity schema)generate-data-model (needs entities first)load-test (needs entity sizes for payload generation)Blocker structure:
{
"blocker_id": "B-4xx",
"severity": "medium",
"type": "missing_design_tokens",
"field": "design (primary color, fonts, etc.)",
"reason": "Command needs design direction to apply tokens consistently",
"fix": "Run /architect:design-system first",
"fix_eta_minutes": 15
}
Commands affected:
scaffold-component (applies design tokens to new components)prototype (needs design palette)wireframes (needs color/font specs)Blocker structure:
{
"blocker_id": "B-5xx",
"severity": "low",
"type": "missing_blueprint",
"field": "blueprint",
"reason": "Blueprint provides architecture decisions and patterns",
"fix": "Run /architect:blueprint first",
"fix_eta_minutes": 20
}
Commands affected:
cost-estimate (better estimates with architecture detail)load-test (needs service interaction diagram)technical-roadmap (needs architecture context)Blocker structure:
{
"blocker_id": "B-6xx",
"severity": "medium",
"type": "missing_compliance",
"field": "monitoring OR compliance",
"reason": "Launch gates require observability and regulatory sign-off",
"fix": "Run /architect:setup-monitoring and /architect:compliance first",
"fix_eta_minutes": 60
}
Commands affected:
launch-check (gates on monitoring + compliance)production-readiness (gates on enterprise readiness)| Level | Meaning | Action | |-------|---------|--------| | critical | Command CANNOT run at all without this prerequisite | Block immediately, show remediation path | | medium | Command can run with degraded output; results less useful without this | Warn user, allow proceed with caveats | | low | Command runs fully; output would be richer with this | Inform user, suggest but don't force |
Show the full unblocking path as a text diagram:
Current blockers: scaffold
Unblock path:
scaffold (15 min)
↓
install-deps (5 min)
↓
build-verify (10 min)
↓
generate-tests (45 min)
↓
production-readiness (30 min)
Total time: 105 minutes
For each blocker, show:
| Command | Blockers | Severity | Fix |
|---------|----------|----------|-----|
| blueprint | None (can run on empty state) | — | — |
| sdl | None (can run on empty state) | — | — |
| design-system | design field from blueprint | low | Run /architect:blueprint first |
| generate-data-model | entities in SDL; components in scaffold | medium | Run /architect:scaffold and provide entities in SDL |
| visualise | SDL or state file | critical | Run /architect:blueprint or /architect:sdl |
| Command | Blockers | Severity | Fix |
|---------|----------|----------|-----|
| scaffold | SDL (solution.sdl.yaml or state) | critical | Run /architect:blueprint first |
| scaffold-component | Existing scaffold | critical | Run /architect:scaffold first |
| implement | Existing scaffold | critical | Run /architect:scaffold first |
| generate-tests | Components (scaffold) + test framework choice | critical | Run /architect:scaffold first |
| review | Source files | critical | Run /architect:scaffold first |
| Command | Blockers | Severity | Fix |
|---------|----------|----------|-----|
| setup-monitoring | Service structure (scaffold) | critical | Run /architect:scaffold first |
| setup-cicd | Scaffold + git repo | critical | Run /architect:scaffold and git init |
| compliance | Scaffold (for code scanning) | medium | Run /architect:scaffold first (can scan SDL for policy gaps) |
| security-scan | Source files | medium | Run /architect:scaffold first |
| load-test | Scaffold + service endpoints | medium | Run /architect:scaffold and /architect:implement |
| launch-check | Scaffold + build artifacts | critical | Run /architect:scaffold and build locally |
| production-readiness | Monitoring + compliance + tests | critical | Run monitoring, compliance, and generate-tests first |
| Command | Blockers | Severity | Fix |
|---------|----------|----------|-----|
| generate-docs | Scaffold (optional) | low | Run /architect:scaffold for better docs, but can generate from SDL alone |
| cost-estimate | Tech stack + architecture details | low | Run /architect:blueprint for better estimates |
| technical-roadmap | Blueprint | low | Run /architect:blueprint first |
| user-journeys | Personas + use cases | low | Provide in SDL or use /architect:user-personas |
| problem-validation | Problem statement | low | Define in SDL |
From /architect:next-steps:
for each candidate_command in [top_10_commands]:
blockers = blocker_detection(candidate, state)
if blockers.can_execute == false:
score -= dependency_cost(blockers.blocking_count)
show blocker count in recommendation
show unblock_eta in time estimate
else:
score += points (command is ready)
From /architect:check-state:
for each command:
blockers = blocker_detection(command, state)
if blockers.critical_count > 0:
report "Command X blocked by Y. Run Z to unblock."
From user error handling:
if command fails with "missing prerequisite":
blockers = blocker_detection(command, state)
show user: "I need X to continue. Run Y first (est. N minutes). See dependency chain above."
Example: scaffold-component exists but no initial scaffold
{
"command": "scaffold-component",
"can_execute": false,
"blockers": [{
"reason": "Need initial scaffold with base structure first",
"fix": "Run /architect:scaffold to create the initial project structure"
}]
}
Example: production-readiness needs both monitoring AND compliance
{
"command": "production-readiness",
"can_execute": false,
"blockers": [
{ "fix": "Run /architect:setup-monitoring (30 min)" },
{ "fix": "Run /architect:compliance (20 min)" }
],
"note": "Paths are independent; can run in parallel"
}
Example: generate-tests works without entities, but better with them
{
"command": "generate-tests",
"can_execute": true,
"blockers": [{
"severity": "low",
"type": "missing_entities",
"reason": "Tests will be generic without entity type information",
"fix": "Run /architect:generate-data-model for richer fixtures"
}],
"note": "Can proceed, but recommend completing blocker first"
}
"can_skip": true with a warning_activity.jsonl for investigation/architect:next-steps — uses blockers to calculate recommendation scores and unblock ETAs/architect:check-state — uses blockers to recommend prerequisite commands/architect:production-readiness — uses blockers to gate launch (critical blockers = launch not ready)skills/dependency-graph — visualizes full command dependency topologydevelopment
# Trade-Off Analysis Skill Quantifies exact trade-offs when switching between architecture options. Shows users precisely what they gain and lose when choosing Option A over Option B. ## When to Use Use this skill to help users decide between options by showing: 1. **Cost difference** — how much more/less per month? 2. **Performance difference** — how much faster/slower? 3. **Complexity difference** — how much harder to build/maintain? 4. **Scalability difference** — when does this option hit
testing
# Stage Detection Skill Detects the current project stage (concept → mvp → growth → enterprise) based on `_state.json` field presence and completeness. Used by `/architect:next-steps`, `/architect:check-state`, and roadmap commands. ## When to Use Invoke this skill when you need to determine what stage a project is at based on its state file. Stage detection drives: - Command recommendations (what to run next) - Required fields validation (what should exist at this stage) - Risk assessment (w
development
# Stack Swap Simulator Skill Estimates cost and effort to switch from one tech stack to another. Helps answer: "Can we migrate later if needed?" ## When to Use Use this skill to understand: 1. **Cost of switching stacks** — engineer weeks + downtime risk 2. **Timeline to switch** — how long is the project? 3. **Risk of switching** — what can go wrong? 4. **ROI of switching** — does it save money long-term? 5. **Backwards compatibility** — can we do a gradual migration? ## Input Provide sour
tools
# Stack Compatibility Skill Verifies that chosen technologies integrate well together. Prevents "I picked these tools and they don't work well together" regrets. ## When to Use Use this skill to verify: 1. **Chosen tools work together** — React + Node + MongoDB = good? 2. **No hidden incompatibilities** — will I hit issues in production? 3. **Team can support it** — do we have expertise for this combo? 4. **Licenses compatible** — can we use these together commercially? 5. **Performance assum