skills/arckit-plan/SKILL.md
Create project plan with timeline, phases, gates, and Mermaid diagrams
npx skillsauth add tractorjuice/arckit-codex arckit-planInstall 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.
You are an expert project planner helping create comprehensive project plans with visual timelines and gate-driven governance for UK Government projects following GDS Agile Delivery methodology.
A project plan shows:
$ARGUMENTS
Read the template (with user override support):
.arckit/templates-custom/project-plan-template.md exists in the project root.arckit/templates/project-plan-template.md (default)Tip: Users can customize templates with
$arckit-customize plan
Note: Before generating, scan
projects/for existing project directories. For each project, list allARC-*.mdartifacts, checkexternal/for reference documents, and check000-global/for cross-project policies. If no external docs exist but they would improve output, ask the user.
Read existing project artifacts to tailor the plan:
external/ files) — extract existing timelines, milestones, dependencies, resource allocations, constraintsprojects/000-global/external/ — extract enterprise programme plans, portfolio roadmaps, cross-project dependency frameworksprojects/{project-dir}/external/ and re-run, or skip.".arckit/references/citation-instructions.md. Place inline citation markers (e.g., [PP-C1]) next to findings informed by source documents and populate the "External References" section in the template.Before determining project parameters, ask the user for user preferences. Skip any question where the user has already specified their preference in the arguments.
Gathering rules (apply to all questions in this section):
Question 1 — header: Approach, multiSelect: false
"What delivery approach should this project follow?"
Question 2 — header: Complexity, multiSelect: false
"What is the expected project complexity?"
Apply the user's selections when calculating timeline durations and structuring the Gantt chart. The delivery approach determines the phase structure (GDS phases vs waterfall stages vs hybrid). The complexity tier determines phase durations in Step 2 below.
Based on artifacts and user input, classify the project:
Characteristics:
Timeline:
Characteristics:
Timeline:
Characteristics:
Timeline:
Read .arckit/skills/mermaid-syntax/references/gantt.md and .arckit/skills/mermaid-syntax/references/flowchart.md for official Mermaid syntax — date formats, task statuses, node shapes, edge labels, and styling options.
Create a summary with:
Example:
# Project Plan: {Project Name}
## Executive Summary
**Project**: {Project Name}
**Duration**: {X weeks/months}
**Budget**: £{amount}
**Team**: {X FTE average}
**Delivery Model**: GDS Agile Delivery (Discovery → Alpha → Beta → Live)
**Objective**: {One-sentence goal from business case}
**Success Criteria**:
- {Criterion 1 from NFRs or business case}
- {Criterion 2}
- {Criterion 3}
**Key Milestones**:
- Discovery Complete: Week {X}
- Alpha Complete (HLD approved): Week {Y}
- Beta Complete (Go-Live approved): Week {Z}
- Production Launch: Week {Z+1}
Create a Gantt chart showing ALL phases with:
IMPORTANT Gantt Rules:
dateFormat YYYY-MM-DDdescription :id, start, durationafter id (e.g., after a1)0d durationsection Discovery, section Alpha, etc.:milestoneExample:
gantt
title {Project Name} - Project Timeline
dateFormat YYYY-MM-DD
section Discovery
Stakeholder Analysis :a1, 2024-01-01, 2w
User Research :a2, after a1, 2w
Business Requirements :a3, after a2, 2w
Architecture Principles :a4, after a3, 1w
Initial Business Case :a5, after a4, 1w
Discovery Assessment :milestone, m1, after a5, 0d
section Alpha
Detailed Requirements :b1, after m1, 3w
Architecture Design (HLD) :b2, after b1, 4w
Vendor Procurement (SOW) :b3, after b1, 2w
Vendor Evaluation :b4, after b3, 3w
Vendor Selection :milestone, m2, after b4, 0d
HLD Review Preparation :b5, after b2, 1w
HLD Review & Approval :milestone, m3, after b5, 0d
Security Threat Model :b6, after b2, 2w
Updated Business Case :b7, after b4, 1w
Alpha Assessment :milestone, m4, after b7, 0d
section Beta
Detailed Design (DLD) :c1, after m4, 4w
DLD Review & Approval :milestone, m5, after c1, 0d
Sprint 1 - Core Services :c2, after m5, 3w
Sprint 2 - Integrations :c3, after c2, 3w
Sprint 3 - UI & Reporting :c4, after c3, 3w
Sprint 4 - Testing & Hardening:c5, after c4, 3w
Security Testing (SAST/DAST) :c6, after c5, 2w
Performance Testing :c7, after c6, 2w
User Acceptance Testing (UAT) :c8, after c7, 2w
Operational Readiness :c9, after c8, 1w
Beta Assessment (Go/No-Go) :milestone, m6, after c9, 0d
section Live
Production Deployment :d1, after m6, 1w
Hypercare :d2, after d1, 4w
Benefits Realization Tracking :d3, after d2, 8w
Create a flowchart showing gates and decision paths:
IMPORTANT Flowchart Rules:
graph TB (top to bottom)Discovery[Discovery Phase<br/>• Activity 1<br/>• Activity 2]DiscGate{Discovery<br/>Assessment}--> with labels |✅ Approved|style DiscGate fill:#FFE4B5Example:
graph TB
Start[Project Initiation] --> Discovery
Discovery[Discovery Phase<br/>• Stakeholders<br/>• BRs<br/>• Principles<br/>• Business Case] --> DiscGate{Discovery<br/>Assessment}
DiscGate -->|✅ Approved| Alpha
DiscGate -->|❌ Rejected| Stop1[Stop/Pivot]
Alpha[Alpha Phase<br/>• Detailed Requirements<br/>• HLD<br/>• Vendor Procurement<br/>• Threat Model] --> HLDGate{HLD Review}
HLDGate -->|✅ Approved| AlphaGate{Alpha<br/>Assessment}
HLDGate -->|❌ Rejected| RefineHLD[Refine HLD]
RefineHLD --> HLDGate
AlphaGate -->|✅ Approved| Beta
AlphaGate -->|❌ Rejected| RefineAlpha[Refine Approach]
RefineAlpha --> Alpha
Beta[Beta Phase<br/>• DLD<br/>• Implementation<br/>• Testing<br/>• UAT] --> DLDGate{DLD Review}
DLDGate -->|✅ Approved| Build[Implementation<br/>Sprints 1-4]
DLDGate -->|❌ Rejected| RefineDLD[Refine DLD]
RefineDLD --> DLDGate
Build --> Testing[Security &<br/>Performance<br/>Testing]
Testing --> UAT{UAT Pass?}
UAT -->|✅ Pass| BetaGate{Beta Assessment<br/>Go/No-Go}
UAT -->|❌ Fail| FixIssues[Fix Issues]
FixIssues --> UAT
BetaGate -->|✅ Go-Live| Live[Production<br/>Deployment]
BetaGate -->|❌ No-Go| FixBlockers[Address<br/>Blockers]
FixBlockers --> Beta
Live --> Hypercare[Hypercare<br/>4 weeks]
Hypercare --> BAU[Business As Usual<br/>Support]
style DiscGate fill:#FFE4B5
style HLDGate fill:#FFE4B5
style AlphaGate fill:#FFE4B5
style DLDGate fill:#FFE4B5
style BetaGate fill:#FFE4B5
style Stop1 fill:#FFB6C1
For each phase (Discovery, Alpha, Beta, Live), create a table with:
Example:
## Discovery Phase (Weeks 1-8)
**Objective**: Validate problem and approach
### Activities & Timeline
| Week | Activity | ArcKit Command | Deliverable |
|------|----------|----------------|-------------|
| 1-2 | Stakeholder Analysis | `$arckit-stakeholders` | Stakeholder map, drivers, goals |
| 3-4 | User Research | Manual | User needs, pain points |
| 5-6 | Business Requirements | `$arckit-requirements` | BRs with acceptance criteria |
| 7 | Architecture Principles | `$arckit-principles` | 10-15 principles |
| 8 | Initial Business Case | `$arckit-business-case` | Cost/benefit analysis |
| 8 | Initial Risk Register | `$arckit-risk` | Top 10 risks |
### Gate: Discovery Assessment (Week 8)
**Approval Criteria**:
- [ ] Problem clearly defined and validated
- [ ] User needs documented
- [ ] Business Requirements defined (15-25 BRs)
- [ ] Architecture principles agreed
- [ ] Business case shows positive ROI
- [ ] No critical risks without mitigation
- [ ] Stakeholder buy-in confirmed
**Approvers**: SRO, Architecture Board
**Possible Outcomes**:
- ✅ **Go to Alpha** - Problem validated, approach feasible
- 🔄 **Pivot** - Adjust approach based on findings
- ❌ **Stop** - Problem not worth solving or approach not feasible
Repeat for Alpha, Beta, and Live phases.
Create a section mapping ALL relevant ArcKit commands to the plan:
## ArcKit Commands in Project Flow
### Discovery Phase
- Week 1-2: `$arckit-stakeholders` - Stakeholder analysis
- Week 5-6: `$arckit-requirements` - Business Requirements (BRs)
- Week 7: `$arckit-principles` - Architecture principles
- Week 8: `$arckit-business-case` - Initial business case
- Week 8: `$arckit-risk` - Initial risk register
### Alpha Phase
- Week 9-11: `$arckit-requirements` - Detailed requirements (FR, NFR, INT, DR)
- Week 12-15: `$arckit-diagram` - Architecture diagrams (C4)
- Week 11-12: `$arckit-sow` - Generate SOW/RFP (if vendor needed)
- Week 13-15: `$arckit-evaluate` - Vendor evaluation (if applicable)
- Week 18: `$arckit-hld-review` - HLD approval gate
- Week 19: `$arckit-business-case` - Updated business case
### Beta Phase
- Week 25: `$arckit-dld-review` - DLD approval gate
- Week 29-31: `$arckit-analyze` - Quality analysis
- Week 32-33: `$arckit-traceability` - Verify design → code → tests
- If AI: `$arckit-ai-playbook`, `$arckit-atrs` - AI compliance
### Live Phase
- Quarterly: `$arckit-analyze` - Periodic quality reviews
- Quarterly: `$arckit-risk` - Update operational risks
- Annually: `$arckit-business-case` - Track benefits realization
CRITICAL - Auto-Populate Document Control Fields:
Before completing the document, populate ALL document control fields in the header:
Construct Document ID:
ARC-{PROJECT_ID}-PLAN-v{VERSION} (e.g., ARC-001-PLAN-v1.0)Populate Required Fields:
Auto-populated fields (populate these automatically):
[PROJECT_ID] → Extract from project path (e.g., "001" from "projects/001-project-name")[VERSION] → "1.0" (or increment if previous version exists)[DATE] / [YYYY-MM-DD] → Current date in YYYY-MM-DD format[DOCUMENT_TYPE_NAME] → "Project Plan"ARC-[PROJECT_ID]-PLAN-v[VERSION] → Construct using format above[COMMAND] → "arckit.plan"User-provided fields (extract from project metadata or user input):
[PROJECT_NAME] → Full project name from project metadata or user input[OWNER_NAME_AND_ROLE] → Document owner (prompt user if not in metadata)[CLASSIFICATION] → Default to ${user_config.default_classification}; if unavailable, use "OFFICIAL" for UK Gov, "PUBLIC" otherwise (or prompt user)Calculated fields:
[YYYY-MM-DD] for Review Date → Current date + 30 daysPending fields (leave as [PENDING] until manually updated):
[REVIEWER_NAME] → [PENDING][APPROVER_NAME] → [PENDING][DISTRIBUTION_LIST] → Default to "Project Team, Architecture Team" or [PENDING]Populate Revision History:
| 1.0 | {DATE} | ArcKit AI | Initial creation from `$arckit-plan` command | [PENDING] | [PENDING] |
Populate Generation Metadata Footer:
The footer should be populated with:
**Generated by**: ArcKit `$arckit-plan` command
**Generated on**: {DATE} {TIME} GMT
**ArcKit Version**: {ARCKIT_VERSION}
**Project**: {PROJECT_NAME} (Project {PROJECT_ID})
**AI Model**: [Use actual model name, e.g., "claude-sonnet-4-5-20250929"]
**Generation Context**: [Brief note about source documents used]
Before writing the file, read .arckit/references/quality-checklist.md and verify all Common Checks plus the PLAN per-type checks pass. Fix any failures before proceeding.
Determine output location:
projects/{project-name}/ARC-{PROJECT_ID}-PLAN-v1.0.mdARC-XXX-PLAN-v1.0.md (root directory)Write comprehensive plan with ALL sections:
Tailor to context:
After writing the plan, provide a summary:
## Project Plan Created ✅
**Location**: `projects/{project-name}/ARC-{PROJECT_ID}-PLAN-v1.0.md`
**Timeline**: {X weeks/months} ({Project Complexity})
- Discovery: Weeks 1-{X}
- Alpha: Weeks {X+1}-{Y}
- Beta: Weeks {Y+1}-{Z}
- Live: Week {Z+1}+
**Key Milestones**:
- Discovery Assessment: Week {X}
- HLD Review: Week {Y1}
- Alpha Assessment: Week {Y}
- DLD Review: Week {Z1}
- Beta Assessment (Go/No-Go): Week {Z}
- Production Launch: Week {Z+1}
**Gates**: {Number} governance gates with approval criteria
**Diagrams**: Gantt timeline + Workflow flowchart (Mermaid)
**Next Steps**:
1. Review plan with SRO and stakeholders
2. Confirm budget and resources
3. Start Discovery: Run `$arckit-stakeholders`
4. Update plan as project progresses
GDS Phases: Always use Discovery → Alpha → Beta → Live (UK Government standard)
Gates are Mandatory: Don't skip Discovery, Alpha, Beta assessments
Vendor Procurement: If needed, adds 6-8 weeks to Alpha phase
Living Document: Plan should be updated at each gate based on actual progress
Dependencies: Respect critical path (HLD blocks DLD, DLD blocks implementation)
Team Sizing: Small teams for Discovery, larger for Beta, small again for Live
Mermaid Syntax: Must be valid - test locally before delivering
Realistic Timelines: Don't compress phases unrealistically - use typical durations
Markdown escaping: When writing less-than or greater-than comparisons, always include a space after < or > (e.g., < 3 seconds, > 99.9% uptime) to prevent markdown renderers from interpreting them as HTML tags or emoji
Before delivering the plan, verify:
tools
Procurement market intelligence — award-value benchmarks, top suppliers, incumbency and concentration, from the UK Tenders MCP
tools
Competitor landscape — rival suppliers, awarded-value market share, head-to-head and concentration, from the UK Tenders MCP
development
[COMMUNITY] Generate a SOCI Act Critical Infrastructure Risk Management Program (CIRMP) governance and evidence pack for Australian critical infrastructure assets.
development
[COMMUNITY] Generate an ASD operational technology cyber security assessment for Australian Government and critical-infrastructure projects with connected OT environments.