DEV Skills (13)
Part of Role Skills Catalog | Phase 4 + Phase 6
Chains: Discovery → Architecture → Plan → Integration → Test → Observability → Ship
Userflow Schema
flowchart TD
jaan-to-dev-feasibility-check["dev-feasibility-check<br>Feasibility Check<br>Risks + deps + complexity"] --> jaan-to-dev-arch-proposal["dev-arch-proposal<br>Arch Proposal<br>Architecture + tradeoffs + data flow"]
jaan-to-dev-arch-proposal["dev-arch-proposal<br>Arch Proposal<br>Architecture + tradeoffs + data flow"] --> jaan-to-dev-tech-plan["dev-tech-plan<br>Tech Plan<br>Approach + rollout/rollback"]
jaan-to-dev-tech-plan["dev-tech-plan<br>Tech Plan<br>Approach + rollout/rollback"] --> backend-task-breakdown["backend-task-breakdown<br>BACKEND: task-breakdown"]
jaan-to-dev-tech-plan["dev-tech-plan<br>Tech Plan<br>Approach + rollout/rollback"] --> frontend-task-breakdown["frontend-task-breakdown<br>FRONTEND: task-breakdown"]
jaan-to-backend-scaffold["backend-scaffold<br>BACKEND: scaffold"] --> jaan-to-dev-integration-plan["dev-integration-plan<br>Integration Plan<br>API sequence + retry + failures"]
jaan-to-frontend-scaffold["frontend-scaffold<br>FRONTEND: scaffold"] --> jaan-to-dev-integration-plan["dev-integration-plan<br>Integration Plan<br>API sequence + retry + failures"]
jaan-to-backend-scaffold["backend-scaffold<br>BACKEND: scaffold"] --> jaan-to-dev-test-plan["dev-test-plan<br>Test Plan<br>Unit/integration/e2e scope"]
jaan-to-frontend-scaffold["frontend-scaffold<br>FRONTEND: scaffold"] --> jaan-to-dev-test-plan["dev-test-plan<br>Test Plan<br>Unit/integration/e2e scope"]
jaan-to-frontend-state-machine["frontend-state-machine<br>FRONTEND: state-machine"] --> jaan-to-dev-test-plan["dev-test-plan<br>Test Plan<br>Unit/integration/e2e scope"]
jaan-to-dev-integration-plan["dev-integration-plan<br>Integration Plan<br>API sequence + retry + failures"] --> jaan-to-dev-integration-mock-stubs["dev-integration-mock-stubs<br>Integration Mock Stubs<br>Stub interfaces + fake responses"]
jaan-to-dev-integration-mock-stubs["dev-integration-mock-stubs<br>Integration Mock Stubs<br>Stub interfaces + fake responses"] --> jaan-to-dev-test-plan["dev-test-plan<br>Test Plan<br>Unit/integration/e2e scope"]
jaan-to-dev-test-plan["dev-test-plan<br>Test Plan<br>Unit/integration/e2e scope"] -.-> qa-test-cases["qa-test-cases<br>QA: test-cases"]
jaan-to-backend-api-versioning["backend-api-versioning<br>BACKEND: api-versioning"] --> jaan-to-dev-docs-generate["dev-docs-generate<br>Docs Generate<br>README + API docs + runbooks"]
jaan-to-backend-api-contract["backend-api-contract<br>BACKEND: api-contract"] --> jaan-to-dev-docs-generate["dev-docs-generate<br>Docs Generate<br>README + API docs + runbooks"]
jaan-to-dev-observability-events["dev-observability-events<br>Observability Events<br>Log fields + metrics + traces"] --> jaan-to-dev-observability-alerts["dev-observability-alerts<br>Observability Alerts<br>Thresholds + severity + noise"]
jaan-to-dev-observability-alerts["dev-observability-alerts<br>Observability Alerts<br>Thresholds + severity + noise"] -.-> jaan-to-sre-slo-setup["sre-slo-setup<br>SRE: slo-setup"]
jaan-to-dev-ship-check["dev-ship-check<br>Ship Check<br>Flags + migrations + Go/No-Go"] -.-> jaan-to-release-prod-runbook["release-prod-runbook<br>RELEASE: prod-runbook"]
jaan-to-dev-ship-check["dev-ship-check<br>Ship Check<br>Flags + migrations + Go/No-Go"] -.-> jaan-to-qa-release-signoff["qa-release-signoff<br>QA: release-signoff"]
style backend-task-breakdown fill:#f0f0f0,stroke:#999
style frontend-task-breakdown fill:#f0f0f0,stroke:#999
style jaan-to-backend-scaffold fill:#f0f0f0,stroke:#999
style jaan-to-frontend-scaffold fill:#f0f0f0,stroke:#999
style jaan-to-frontend-state-machine fill:#f0f0f0,stroke:#999
style jaan-to-backend-api-versioning fill:#f0f0f0,stroke:#999
style jaan-to-backend-api-contract fill:#f0f0f0,stroke:#999
style qa-test-cases fill:#f0f0f0,stroke:#999
style jaan-to-sre-slo-setup fill:#f0f0f0,stroke:#999
style jaan-to-release-prod-runbook fill:#f0f0f0,stroke:#999
style jaan-to-qa-release-signoff fill:#f0f0f0,stroke:#999
Legend: Solid = internal | Dashed = cross-role exit | Gray nodes = other roles
/dev-feasibility-check
- Logical:
dev-feasibility-check - Description: Risks + dependencies, unknowns + spike recommendations, rough complexity estimate
- Quick Win: Yes
- Key Points:
- Identify dependencies and "unknown unknowns"
- Call out risky assumptions early
- Produce options, not just one path
- → Next:
dev-arch-proposal - MCP Required: None
- Input: [prd]
- Output:
$JAAN_OUTPUTS_DIR/dev/discovery/{id}-{slug}/{id}-{slug}.md
/dev-arch-proposal
- Logical:
dev-arch-proposal - Description: Architecture outline, key choices + tradeoffs, data flow + failure modes
- Quick Win: Yes
- Key Points:
- Identify dependencies and "unknown unknowns"
- Call out risky assumptions early
- Produce options, not just one path
- → Next:
dev-tech-plan - MCP Required: None
- Input: [feature]
- Output:
$JAAN_OUTPUTS_DIR/dev/discovery/{id}-{slug}/{id}-{slug}.md
/dev-tech-plan
- Logical:
dev-tech-plan - Description: Tech approach with architecture, tradeoffs, risks, rollout/rollback, unknowns
- Quick Win: Yes - extends existing pattern
- Key Points:
- Identify dependencies and "unknown unknowns"
- Call out risky assumptions early
- Produce options, not just one path
- → Next:
frontend-task-breakdown,backend-task-breakdown - MCP Required: GitLab (modules/flags), Figma (optional constraints)
- Input: [initiative]
- Output:
$JAAN_OUTPUTS_DIR/dev/plan/{id}-{slug}/{id}-{slug}.md
/dev-integration-plan
- Logical:
dev-integration-plan - Description: API call sequence, retry policy + failure modes, observability events
- Quick Win: Yes
- Key Points:
- Define retries + backoff + idempotency
- Plan for partial failures and timeouts
- Provide mocks/stubs for local dev
- → Next:
dev-integration-mock-stubs - MCP Required: None
- Input: [provider] [use-case]
- Output:
$JAAN_OUTPUTS_DIR/dev/integration/{id}-{slug}/{id}-{slug}.md
/dev-integration-mock-stubs
- Logical:
dev-integration-mock-stubs - Description: Stub interfaces, fake responses (success/fail), test harness guidance
- Quick Win: Yes
- Key Points:
- Define retries + backoff + idempotency
- Plan for partial failures and timeouts
- Provide mocks/stubs for local dev
- → Next:
dev-test-plan - MCP Required: None
- Input: [provider]
- Output:
$JAAN_OUTPUTS_DIR/dev/integration/{id}-{slug}/{id}-{slug}-stubs.md
/dev-test-plan
- Logical:
dev-test-plan - Description: Dev-owned test plan: unit/integration/e2e scope, fixtures, mocks, highest-risk scenarios
- Quick Win: Yes - simple test plan
- Key Points:
- Identify dependencies and "unknown unknowns"
- Call out risky assumptions early
- Produce options, not just one path
- → Next:
qa-test-cases - MCP Required: GitLab (diff impact)
- Input: [initiative]
- Output:
$JAAN_OUTPUTS_DIR/dev/test/{id}-{slug}/{id}-{slug}.md
/dev-observability-events
- Logical:
dev-observability-events - Description: Log fields + metric names, trace spans suggestions, dashboard checklist
- Quick Win: Yes
- Key Points:
- Define structured logs and consistent fields
- Metrics for latency/error/throughput
- Alerts should map to user impact
- → Next:
dev-observability-alerts - MCP Required: None
- Input: [feature]
- Output:
$JAAN_OUTPUTS_DIR/dev/observability/{id}-{slug}/{id}-{slug}.md
/dev-observability-alerts
- Logical:
dev-observability-alerts - Description: Suggested alerts + thresholds, severity levels, noise reduction ideas
- Quick Win: Yes
- Key Points:
- Define structured logs and consistent fields
- Metrics for latency/error/throughput
- Alerts should map to user impact
- → Next:
sre-slo-setup - MCP Required: None
- Input: [service]
- Output:
$JAAN_OUTPUTS_DIR/dev/observability/{id}-{slug}/{id}-{slug}-alerts.md
/dev-docs-generate
- Logical:
dev-docs-generate - Description: Technical documentation: README files, API docs, runbooks, architecture decisions
- Reference: Building a Production-Ready Documentation Generation Framework
- Quick Win: Yes - draft generation, format standardization
- AI Score: 5 | Rank: #14
- Key Points:
- Define schemas with examples
- Versioning + deprecation strategy
- Ownership: who maintains, who consumes
- → Next: —
- MCP Required: GitLab (code context, optional)
- Input: [component] [doc_type]
- Output:
$JAAN_OUTPUTS_DIR/dev/docs/{id}-{slug}/{id}-{slug}.md - Failure Modes: Documentation stale; inconsistent formatting; missing context
- Quality Gates: Up-to-date with code; follows style guide; onboarding-friendly
✅ /dev-pr-review
- Logical:
dev-pr-review - Description: PR review pack: summary, risky files, security/perf hints, missing tests, CI failures
- Reference: [Building a Production-Ready PR/MR Code Review Skill/jaan-to/outputs/research/53-dev-pr-review.md)
- Quick Win: No - needs GitLab MCP
- Key Points:
- Define schemas with examples
- Versioning + deprecation strategy
- Ownership: who maintains, who consumes
- → Next: —
- MCP Required: GitLab (MR + pipeline), Sentry (optional regressions)
- Input: [pr-link-or-branch]
- Output:
$JAAN_OUTPUTS_DIR/dev/review/{id}-{slug}/{id}-{slug}.md
✅ /dev-project-assemble
- Logical:
dev-project-assemble - Description: Wire scaffold outputs into runnable project structure with configs and entry points
- Quick Win: No - multi-artifact assembly
- Key Points:
- Wires backend + frontend scaffold outputs into working project
- Supports monorepo (Turborepo/Nx) and separate project layouts
- Auto-detects stack from tech.md
- → Next:
devops-infra-scaffold - MCP Required: None
- Input: [backend-scaffold] [frontend-scaffold] [target-dir]
- Output:
$JAAN_OUTPUTS_DIR/dev/project-assemble/{id}-{slug}/
✅ /dev-verify
- Logical:
dev-verify - Description: Validate integrated build pipeline and running services with health checks and smoke tests
- Quick Win: Yes - structured verification
- Key Points:
- Build phase: type/compile checks, error categorization, auto-fix for safe issues
- Runtime phase: service discovery, health checks, OpenAPI contract validation, smoke tests
- Supports
--build-only,--runtime-only,--skip-smoke,--skip-fixmodes
- → Next:
devops-deploy-activate - MCP Required: None
- Input: [project-root] or (auto-detect)
- Output:
$JAAN_OUTPUTS_DIR/dev/verify/{id}-{slug}/
/dev-ship-check
- Logical:
dev-ship-check - Description: Pre-ship checklist: flags, migrations, monitoring, rollback, Go/No-Go recommendation
- Quick Win: No - needs multiple MCPs
- Key Points:
- Feature flags with targeting and kill switch
- Gradual rollout with monitoring gates
- Data migrations planned for rollback
- → Next:
release-prod-runbook,qa-release-signoff - MCP Required: GitLab (pipelines), Sentry (health)
- Input: [initiative]
- Output:
$JAAN_OUTPUTS_DIR/dev/release/{id}-{slug}/{id}-{slug}.md
/dev-docs-fetch
- Logical:
dev-docs-fetch - Description: Fetch and cache library docs via Context7 MCP with smart caching and auto-detect
- Quick Win: No — requires Context7 MCP
- Key Points:
- Tech-agnostic: reads tech.md for stack detection
- 7-day TTL smart caching
- Standalone or callable from other skills' Phase 1
- → Next: Any dev/backend/frontend skill needing library context
- MCP Required: Context7 (resolve-library-id, get-library-docs)
- Input: [library-names...] or auto-detect from tech.md
- Output:
$JAAN_OUTPUTS_DIR/dev/docs/context7/{library-name}.md