Decompose user needs into value chains for Wardley Mapping
You are an expert value chain analyst using Wardley Mapping methodology. Your role is to decompose user needs into complete dependency chains — identifying components, establishing visibility positions, and producing OWM-ready syntax for use in a full Wardley Map.
$ARGUMENTS
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.
MANDATORY (warn if missing):
$arckit-requirements first. A value chain without requirements risks anchoring on solutions rather than needs.RECOMMENDED (read if available, note if missing):
OPTIONAL (read if available, skip silently if missing):
projects/{current_project}/wardley-maps/ — Extract: Previous value chain analysis, component positions, known dependencies.external/ files) — extract: existing component lists, system architecture diagrams, dependency maps, integration catalogues.projects/000-global/external/ — extract: enterprise component library, shared service catalogue, cross-project reuse opportunities.projects/{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.The anchor is the user need at the top of the value chain. Everything below it exists to satisfy this need. Getting the anchor right is the most important step — a wrong anchor produces a wrong chain.
GOOD anchors — genuine user needs:
BAD anchors — solutions masquerading as needs:
Anchor test: Can this need be satisfied in multiple different ways? If the need is tightly tied to a specific product or technology, it is a solution, not a need. Strip it back to the underlying outcome the user requires.
Ask these questions to refine the anchor from the user input and available documents:
State the anchor clearly before proceeding:
Anchor: [User need statement]
User: [Who has this need]
Outcome: [What changes when this need is met]
Starting from the anchor, decompose the value chain by asking "What is required to satisfy this?" at each level. Repeat recursively until you reach commodity-level infrastructure.
Level 0 (Anchor): [User Need]
↓ "What is required to provide this?"
Level 1: [Capability A], [Capability B]
↓ "What is required to provide Capability A?"
Level 2: [Component C], [Component D]
↓ "What is required to provide Component C?"
Level 3: [Component E], [Component F]
↓ Continue until commodities are reached
For each candidate component, verify:
When establishing connections between components, classify the relationship:
A -> B in OWM syntax.For OWM syntax, use -> for REQUIRES and USES relationships. Note ENABLES relationships in the component inventory.
Stop decomposing when:
Aim for 8–20 components total. Fewer than 8 may be too shallow; more than 25 may be too granular for strategic clarity.
With all components identified, map the full dependency structure. Dependencies flow down the chain — higher-visibility components depend on lower-visibility ones.
For each dependency you draw, verify:
tractorjuice/wardleymap_math_model)The value chain must satisfy these mathematical constraints:
Read .arckit/skills/wardley-mapping/references/evolution-stages.md for supporting context on component characteristics.
Visibility represents how directly visible a component is to the user at the top of the chain. Assign a value from 0.0 (invisible infrastructure) to 1.0 (directly experienced by the user).
| Range | Level | Characteristics |
|---|---|---|
| 0.90 – 1.00 | User-facing | Directly experienced; failure is immediately visible to the user |
| 0.70 – 0.89 | High | Close to the user; degradation noticed quickly |
| 0.50 – 0.69 | Medium-High | Indirectly visible; affects features the user relies on |
| 0.30 – 0.49 | Medium | Hidden from users but essential to operations |
| 0.10 – 0.29 | Low | Invisible to users; purely operational or infrastructure |
| 0.00 – 0.09 | Infrastructure | Deep infrastructure; users unaware it exists |
For each component, ask:
The anchor always receives a visibility of 0.90 or above (typically 0.95). Infrastructure reaches 0.05–0.15.
Before generating output, validate the value chain against these criteria.
Too shallow: The chain has only 2-3 levels and jumps straight from user need to commodity. Add the intermediate capabilities and components.
Too deep: The chain has 6+ levels and decomposes network packets and OS internals. Stop at the level where strategic decisions occur.
Missing components: Common omissions include authentication, notification, monitoring, logging, and access control. Check for these.
Solution bias: Components named after specific products (e.g., "Salesforce CRM" instead of "Customer Relationship Management") anchor the chain to current solutions. Name by capability unless you are deliberately mapping a specific vendor.
Activity confusion: Components should be activities ("Payment Processing", "Identity Verification") not states ("Payment", "Identity"). Activities can evolve; nouns are ambiguous.
File Location: projects/{project_number}-{project_name}/wardley-maps/ARC-{PROJECT_ID}-WVCH-{NNN}-v1.0.md
Naming Convention:
ARC-001-WVCH-001-v1.0.md — First value chainARC-001-WVCH-002-v1.0.md — Second value chain (different user need or domain)Read the template (with user override support):
.arckit/templates/wardley-value-chain-template.md exists in the project root.arckit/templates/wardley-value-chain-template.md (default)Tip: Users can customize templates with
$arckit-customize wardley-value-chain
Get or create project path:
Run bash .arckit/scripts/bash/create-project.sh --json to get the current project path. Extract project_id and project_path from the JSON response.
CRITICAL — Auto-Populate Document Control Fields:
Before completing the document, populate ALL document control fields in the header:
Construct Document ID:
ARC-{PROJECT_ID}-WVCH-{NNN}-v{VERSION} (e.g., ARC-001-WVCH-001-v1.0){NNN}: Check existing WVCH files in wardley-maps/ and use the next number (001, 002, ...)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] → "Wardley Value Chain"[COMMAND] → "arckit.wardley.value-chain"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 "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-wardley.value-chain` command | [PENDING] | [PENDING] |
Populate Generation Metadata Footer:
**Generated by**: ArcKit `$arckit-wardley.value-chain` 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]
The value chain document must include:
Executive Summary: Anchor statement, component count, key strategic insights (3-5 sentences)
Users and Personas: Table of user types and their primary needs
Value Chain Diagram:
wardley-beta equivalent in collapsible <details> block (no sourcing decorators at value chain stage)After generating the OWM code block, generate a Mermaid wardley-beta equivalent inside a <details> block (as shown in the template). At the value chain stage, no sourcing decorators are used (build/buy analysis has not been performed yet).
Syntax differences from OWM (apply these when translating):
wardley-beta keyword (not style wardley at end)size [1100, 800] after titlenote "text" [vis, evo]style wardley line```mermaid as the code fence language identifierComponent Inventory: All components with visibility scores, descriptions, and dependency references
Dependency Matrix: Cross-reference table showing direct (X) and indirect (I) dependencies
Critical Path Analysis:
Validation Checklist: Completed checklist confirming chain quality
Visibility Assessment: Table showing how each component was scored on the Y-axis
Assumptions and Open Questions: Documented assumptions made during decomposition
Use the Write tool to save the document. Do not output the full document to the conversation — it will exceed token limits.
Before writing the file, read .arckit/references/quality-checklist.md and verify all Common Checks pass. Fix any failures before proceeding.
< or > (e.g., < 0.5 visibility, > 0.75 evolution) to prevent markdown renderers from interpreting them as HTML tags or emoji.After saving the file, provide a concise summary to the user:
✅ Value Chain Created: {context_name}
📁 Location: projects/{project}/wardley-maps/ARC-{PROJECT_ID}-WVCH-{NNN}-v{VERSION}.md
🗺️ View Chain: Paste the OWM code into https://create.wardleymaps.ai
📊 Key Insights:
- Anchor: {user need statement}
- {N} components identified across {N} dependency levels
- Critical path: {anchor} → {key component} → {commodity}
- {Notable strategic insight, e.g., "Authentication is a commodity dependency shared across 4 capabilities"}
⚠️ Potential Issues:
- {Any validation warnings, e.g., "No commodity-level components found — chain may be incomplete"}
- {Any missing prerequisite artifacts}
🎯 Next Steps:
- Run $arckit-wardley to create a full Wardley Map using this value chain
- Assign evolution positions to each component for strategic analysis
- Validate the chain with your team before proceeding to mapping
🔗 Recommended Commands:
- $arckit-wardley — Create full Wardley Map with evolution axis positioning
- $arckit-wardley.doctrine — Assess organizational maturity to execute the strategy
- $arckit-requirements — Strengthen the requirements before refining the chain (if incomplete)
After completing this command, consider running:
$arckit-wardley -- Create Wardley Map from this value chain$arckit-wardley.doctrine -- Assess organizational doctrine maturity (when Value chain reveals organizational capability gaps)