This skill should be used when the user asks about Wardley Mapping, evolution stages, strategic positioning, situational awareness, technology evolution, competitive landscape, creating maps, gameplay patterns, doctrine, build vs. buy decisions, inertia analysis, or quantitative evolution scoring including differentiation pressure, commodity leverage, weak signal detection, and readiness scores.
npx claudepluginhub tractorjuice/arc-kitThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/climatic-patterns.mdreferences/doctrine.mdreferences/evolution-stages.mdreferences/gameplay-patterns.mdreferences/mapping-examples.mdreferences/mathematical-models.mdA strategic mapping technique created by Simon Wardley for understanding competitive landscape, technology evolution, and making informed architectural decisions. A Wardley Map visualizes four dimensions: the value chain (components needed to meet user needs), evolution (how components mature over time), the landscape (competitive environment), and movement (how the landscape changes).
The following diagram illustrates the conceptual axes of a Wardley Map. For the generation template with placeholders, see the Map Template section below.
EVOLUTION
Genesis Custom Product Commodity
↓ ↓ ↓ ↓
┌──────────────────────────────────────────┐
│ │
Visible │ User Need ● │ ← Anchor
│ │ │
│ ↓ │
│ Component A ●──────────→ ● │
│ │ │
│ ↓ │
│ Component B ● │
│ │ │
Hidden │ ↓ │
│ Component C ● │
│ │ │
│ ↓ │
│ Component D ● │ ← Commodity
│ │
└──────────────────────────────────────────┘
Y-axis: Visibility (to user)
X-axis: Evolution (certainty)
| Stage | Position | Key Trait | Sourcing | Example |
|---|---|---|---|---|
| Genesis | Far left (0.0-0.25) | Novel, uncertain, high failure | Build (R&D) | Novel AI architectures |
| Custom-Built | Center-left (0.25-0.50) | Understood but bespoke, differentiating | Build (custom dev) | Bespoke trading platform |
| Product | Center-right (0.50-0.75) | Multiple vendors, feature competition | Buy (configure) | CRM systems |
| Commodity | Far right (0.75-1.0) | Well understood, essential, utility | Outsource (consume) | Cloud compute (IaaS) |
For detailed stage characteristics, indicators, and positioning criteria, see references/evolution-stages.md.
Follow these steps in order when the user asks to create or analyze a Wardley Map.
Use the AskUserQuestion tool to interactively gather the information needed to create the map. Ask up to 3 questions at a time.
First, identify the anchor and scope:
Use AskUserQuestion to ask:
Then, gather strategic context:
Use AskUserQuestion to ask:
Work backwards from the user need. List every component required to deliver it, then arrange them by visibility (user-facing at top, infrastructure at bottom). For each component, identify what it depends on — dependencies flow downward.
If component identification is uncertain, use AskUserQuestion to ask the user about key capabilities, technologies, and processes in their domain.
For each component, assess its evolution stage using the indicators in references/evolution-stages.md. Place it on the X-axis accordingly.
Key questions for each component:
Avoid common mistakes: don't position based on age (use market maturity), don't confuse internal unfamiliarity with market-wide genesis, and always consider industry context.
If positioning is ambiguous for key components, use AskUserQuestion to clarify with the user — e.g., "Is your recommendation engine a custom differentiator or are you using an off-the-shelf product?"
Add arrows showing how components are evolving. All components naturally drift rightward over time, but some move faster or slower.
→ Natural evolution (component moving right over time)× Inertia (resistance to movement from past success, skills, or politics)>> Acceleration (forced rapid evolution from competition or disruption)After drawing the map, apply the analysis checklist below, then review gameplay patterns in references/gameplay-patterns.md and climatic patterns in references/climatic-patterns.md to identify strategic moves.
Use AskUserQuestion to confirm priorities with the user before finalizing recommendations — e.g., "The map suggests these three strategic moves. Which areas are most important to your organization right now?"
When the user asks for numeric precision, scoring, or data-driven positioning, apply the mathematical models from references/mathematical-models.md:
Present results as a table alongside the qualitative analysis — the numbers should confirm or challenge the intuitive positioning, not replace it.
Apply this checklist to every completed map:
analysis_checklist:
completeness:
- "Is the anchor (user need) clearly defined?"
- "Are all components necessary to meet the need included?"
- "Are dependencies shown?"
- "Are movement arrows present?"
positioning:
- "Is each component positioned based on market evolution, not internal capability?"
- "Are commodity components on the right?"
- "Are genuinely novel components on the left?"
insights:
- "What components have inertia?"
- "Where are there opportunities to commoditize?"
- "What genesis activities could become differentiators?"
- "Where is there technical debt (building custom where products exist)?"
strategic:
- "What gameplay patterns apply?"
- "Where should we invest vs. outsource?"
- "What climatic patterns affect our landscape?"
- "What doctrine weaknesses exist?"
For deeper strategic analysis, consult:
Always produce the visual map using the template below. Also produce the structured YAML output (using the Output Format section) when writing the map to a file; for conversational responses, the visual map alone is sufficient.
Use this template when generating a visual Wardley Map:
Title: {Map Name}
Anchor: {User Need}
Date: {ISO-8601}
Genesis Custom Product Commodity
│ │ │ │
Visible ┌───┼──────────┼──────────┼──────────┼───┐
│ │ │ │ │ │
│ │ {User Need} │
│ │ │ │
│ │ ↓ │
│ │ {Component 1} ●──────→ │
│ │ │ │
│ │ ├───────────────┐ │
│ │ ↓ ↓ │
│ │ {Component 2} {Component 3} │
│ │ ● ● │
│ │ │ │ │
│ │ ↓ │ │
│ │ {Component 4} │ │
│ │ ● │ │
Hidden │ │ │ │ │
│ │ ↓ ↓ │
│ │ {Component 5}───────┘ │
│ │ ● │
│ │ │
└───┴────────────────────────────────────┘
Legend: ● Current position, → Evolution direction, × Inertia
When generating a Wardley Map document, use this structure:
wardley_map:
metadata:
title: "{Map Name}"
author: "{Author}"
date: "{ISO-8601}"
version: "1.0"
scope: "{What this map covers}"
anchor:
user: "{User description}"
need: "{User need statement}"
components:
- name: "{Component Name}"
evolution: "{Genesis/Custom/Product/Commodity}"
position: "{0.0-1.0}"
visibility: "{0.0-1.0}"
depends_on:
- "{Dependency 1}"
- "{Dependency 2}"
notes: "{Strategic notes}"
movement: "{evolving/accelerating/inertia/none}"
analysis:
opportunities:
- "{Opportunity 1}"
- "{Opportunity 2}"
threats:
- "{Threat 1}"
- "{Threat 2}"
inertia_points:
- component: "{Component}"
reason: "{Why inertia exists}"
recommendations:
immediate:
- "{Action with rationale}"
short_term:
- "{Action with rationale}"
long_term:
- "{Action with rationale}"
Consult these reference files for deeper analysis:
This skill handles conversational Wardley Mapping — quick questions, evolution stage lookups, doctrine assessments, and interactive map creation.
For formal architecture documents with document control, project integration, UK Government compliance (TCoP, GDS, AI Playbook), and OnlineWardleyMaps syntax for https://create.wardleymaps.ai, use the /arckit:wardley command instead. It generates versioned Wardley Map artifacts saved to your project directory with full traceability to requirements and architecture principles.
Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.