You are helping an enterprise architect create an Agile Product Architecture document using Open Agile Architecture (O-AA, C208), Ch. 14 Product Architecture. This approach is product-centric, outcome-driven, and team-led — the product is the organizing principle for the team, backlog, and architecture.
User Input
$ARGUMENTS
Trigger Guidance
Use this command when any of the following conditions are met:
Architecture work targets a specific product (not enterprise-wide transformation)
Client wants product-centric architecture with clear outcomes and ownership
Team structure needs to be cross-functional with permanent (not temporary project) teams
Delivery is backlog-driven with continuous architecture evolution
Product requires O-AA axiom-based design principles
Do NOT use when:
Enterprise-wide architecture is needed (use $arckit-adm-preliminary instead)
Multi-product portfolio rationalization (use $arckit-application-rationalization instead)
Client requires traditional TOGAF documentation with full ADM audit trail
Prerequisites: Read Foundational Artifacts
Note: Before generating, scan projects/ for existing project directories. For each project, list all ARC-*.md artifacts, check external/ for reference documents, and check 000-global/ for cross-project policies. If no external docs exist but they would improve output, ask the user.
RECOMMENDED (read if available, note if missing):
PRIN (Architecture Principles, in 000-global) — Extract: Product architecture principles, technology standards, compliance requirements
- If missing: warn user to run
$arckit-principles first
OAAL (O-AA ADM Lite) — Extract: Sprint plan, vision, scope, success criteria
- If missing: note that O-AA Lite context is not available
BPCM (Business Capability Map) — Extract: Product capabilities, value streams, capability ownership
- If missing: note that capability context is limited
Prerequisites 1b: Read external documents and policies
Read any external documents listed in the project context (external/ files) — extract product definitions, product roadmaps, team charter documents
Read any enterprise standards in projects/000-global/external/ — extract product architecture standards, team composition guidelines
Instructions
1. Identify or Create Project
Identify the target project from the hook context. If the user specifies a project that doesn't exist yet, create a new project:
- Use Glob to list
projects/*/ directories and find the highest NNN-* number (or start at 001 if none exist)
- Calculate the next number (zero-padded to 3 digits, e.g.,
002)
- Slugify the product name (lowercase, replace non-alphanumeric with hyphens, trim)
- Use the Write tool to create
projects/{NNN}-{slug}/README.md with the project name, ID, and date
- Also create
projects/{NNN}-{slug}/external/README.md with a note to place external reference documents here
- Set
PROJECT_ID = the 3-digit number, PROJECT_PATH = the new directory path
2. Read Template
Read the template (with user override support):
First, check if .arckit/templates-custom/product-architecture-template.md exists in the project root
If found: Read the user's customized template (user override takes precedence)
If not found: Read .arckit/templates/product-architecture-template.md (default)
Then, read .arckit/templates/_partials/RENDERING.md and resolve the template's <!-- DOC-CONTROL-HEADER --> marker to the Document Control partial it selects, applying the ${organisation_name} and ${default_classification} substitutions. Remove the marker and its comment from the output — a rendered artefact must never contain either.
Also apply the O-AA placeholder substitutions in .arckit/references/placeholder-substitutions.md (${project_issue_prefix}, ${safety_checklist_id}, ${references_dir}) wherever they appear in the template.
Tip: Users can customise templates with $arckit-customize product-architecture
3. O-AA Product Architecture Framework
O-AA product architecture practice (C208 Ch. 14) establishes that:
Product-centric: The product is the organizing principle for the team, backlog, and architecture — not projects, not capabilities, not services (published as O-AA Axiom 15, Project to Product Shift)
Outcome-driven: Architecture decisions trace to measurable product outcomes (value, adoption, experience)
Team-led: Permanent, cross-functional teams own the product end-to-end (Axiom 6, Autonomous Cross-Functional Teams)
Backlog-driven: Architecture evolves through the product backlog, not separate architecture workstreams
4. Shared Artefact Definitions
The product architecture command defines artefacts whose structure is inlined in product-architecture-template.md:
product-architecture.yaml — product mission, outcomes, guardrails, team composition, backlog structure
vision.yaml — architecture vision inherited from O-AA Lite or ADM Preliminary ($arckit-oaa-adm-lite, $arckit-adm-preliminary)
implementation-strategy.yaml — implementation waves (consistent with $arckit-transition-architecture)
5. Generate Product Architecture Document
Create the Product Architecture document following the template structure.
Document Control
Generate Document ID with node scripts/generate-document-id.mjs {P} OAPR --filename (canonical form: ARC-{P}-OAPR-v1.0)
Set owner, dates, status, classification
Review cycle: Per sprint cycle
Product Mission and Outcome
One-sentence mission capturing the product's purpose and target value
Outcome dimensions: Value, Adoption, Experience, Delivery cadence
Product principles derived from O-AA axioms
Cross-Functional Team Composition
Team structure with roles (Product Owner, Architect, Lead Engineer, AI Safety Engineer, DevOps, QA)
Cadence: Sprint length, architecture review frequency, compliance review, demo schedule
Architect role in the team: guardrails, technical decisions, compliance
Product Backlog Architecture
Architecture items in the backlog (not separate architecture workstreams)
Epic → Feature → Story hierarchy with architecture considerations
Architecture decision records (ADRs) linked to backlog items
Architecture Guardrails
Non-negotiable constraints (compliance, security, performance)
Technology standards and approved building blocks
Anti-patterns and forbidden approaches
Product Architecture Diagram
Mermaid C4 Component diagram showing product components
Integration points with other products and external systems
Data flow and API boundaries
6. External References
Populate the ## External References section per .arckit/references/citation-instructions.md. Every claim taken from an external/ document, a projects/000-global/external/ policy, or a web source MUST carry an inline [DOC_ID-CN] citation marker resolving to a Document Register row. The Open Group Open Agile Architecture standard (C208) MUST appear in the Document Register with its primary URL and the verification date.
7. Quality Gate
Before writing the file, read .arckit/references/quality-checklist.md and verify all Common Checks plus the OAPR per-type checks pass. Fix any failures before proceeding.
8. Write the Document
IMPORTANT: The Product Architecture document will be a substantial document (typically 200-350 lines). You MUST use the Write tool to create the file, NOT output the full content in chat.
Create the file at:
projects/{P}/ARC-{P}-OAPR-v1.0.md
9. Show Summary to User
After writing the file, show a concise summary (NOT the full document):
## Agile Product Architecture Created
**Document**: `projects/{P}/ARC-{P}-OAPR-v1.0.md`
**Document ID**: ARC-{P}-OAPR-v1.0
### Product Profile
- **Mission**: [One-sentence mission]
- **Outcomes**: [Value, Adoption, Experience targets]
- **Principles**: [N] product principles (O-AA axiom-derived)
### Team Composition
| Role | Name | Responsibility |
|------|------|---------------|
| [Role] | [Name] | [Responsibility] |
### Architecture Guardrails
- [N] non-negotiable constraints
- [N] technology standards
- [N] anti-patterns identified
### Sprint Artifacts
- ✅ product-architecture.yaml
- ✅ vision.yaml (from O-AA Lite or ADM Preliminary)
### Synthesised From
- [✅/⚠️] Architecture Principles: ARC-000-PRIN-v[N].md
- [✅/⚠️] Business Capability Map: ARC-{P}-BPCM-v[N].md
### Next Steps
1. Populate product backlog with architecture epics
2. Embed security into sprint rhythm: `$arckit-agile-security`
3. Plan dual transformation: `$arckit-agile-strategy`
4. Establish governance cadence: `$arckit-agile-governance`
**File location**: `projects/{P}/ARC-{P}-OAPR-v1.0.md`
Important Notes
Product-Centric: O-AA mandates that the product (not the project or capability) is the organizing principle. Every architecture decision traces to the product's mission and outcomes.
Sprint Artefacts: The product-architecture.yaml and vision.yaml structures are defined inline in product-architecture-template.md. Validate artefacts against those structures; they stay consistent with the traditional TOGAF commands without sharing schema files.
Use Write Tool: The Product Architecture document is typically 200-350 lines. ALWAYS use the Write tool to create it.
Permanent Teams: O-AA requires permanent, cross-functional teams — not temporary project teams assembled for a specific engagement.
Version Management: If a product architecture document already exists (ARC-*-OAPR-v*.md), create a new version (v2.0) rather than overwriting.
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.
Suggested Next Steps
After completing this command, consider running:
$arckit-agile-strategy -- Plan dual transformation for the product
$arckit-agile-security -- Embed security into the product sprint rhythm
1---2name: arckit-product-architecture3description: Design product-centric architecture — cross-functional teams, backlog-driven delivery, product mission and outcomes4---56You are helping an enterprise architect create an **Agile Product Architecture** document using Open Agile Architecture (O-AA, C208), Ch. 14 Product Architecture. This approach is product-centric, outcome-driven, and team-led — the product is the organizing principle for the team, backlog, and architecture.78## User Input910```text11$ARGUMENTS12```1314## Trigger Guidance1516Use this command when **any** of the following conditions are met:1718- Architecture work targets a **specific product** (not enterprise-wide transformation)1920- Client wants **product-centric** architecture with clear outcomes and ownership2122- Team structure needs to be **cross-functional** with permanent (not temporary project) teams2324- Delivery is **backlog-driven** with continuous architecture evolution2526- Product requires **O-AA axiom-based** design principles2728**Do NOT use** when:2930- Enterprise-wide architecture is needed (use `$arckit-adm-preliminary` instead)3132- Multi-product portfolio rationalization (use `$arckit-application-rationalization` instead)3334- Client requires traditional TOGAF documentation with full ADM audit trail3536## Prerequisites: Read Foundational Artifacts3738> **Note**: Before generating, scan `projects/` for existing project directories. For each project, list all `ARC-*.md` artifacts, check `external/` for reference documents, and check `000-global/` for cross-project policies. If no external docs exist but they would improve output, ask the user.3940**RECOMMENDED** (read if available, note if missing):4142- **PRIN** (Architecture Principles, in 000-global) — Extract: Product architecture principles, technology standards, compliance requirements4344 - If missing: warn user to run `$arckit-principles` first4546- **OAAL** (O-AA ADM Lite) — Extract: Sprint plan, vision, scope, success criteria4748 - If missing: note that O-AA Lite context is not available4950- **BPCM** (Business Capability Map) — Extract: Product capabilities, value streams, capability ownership5152 - If missing: note that capability context is limited5354### Prerequisites 1b: Read external documents and policies5556- Read any **external documents** listed in the project context (`external/` files) — extract product definitions, product roadmaps, team charter documents5758- Read any **enterprise standards** in `projects/000-global/external/` — extract product architecture standards, team composition guidelines5960## Instructions6162### 1. Identify or Create Project6364Identify the target project from the hook context. If the user specifies a project that doesn't exist yet, create a new project:65661. Use Glob to list `projects/*/` directories and find the highest `NNN-*` number (or start at `001` if none exist)672. Calculate the next number (zero-padded to 3 digits, e.g., `002`)683. Slugify the product name (lowercase, replace non-alphanumeric with hyphens, trim)694. Use the Write tool to create `projects/{NNN}-{slug}/README.md` with the project name, ID, and date705. Also create `projects/{NNN}-{slug}/external/README.md` with a note to place external reference documents here716. Set `PROJECT_ID` = the 3-digit number, `PROJECT_PATH` = the new directory path7273### 2. Read Template7475**Read the template** (with user override support):7677- **First**, check if `.arckit/templates-custom/product-architecture-template.md` exists in the project root7879- **If found**: Read the user's customized template (user override takes precedence)8081- **If not found**: Read `.arckit/templates/product-architecture-template.md` (default)8283- **Then**, read `.arckit/templates/_partials/RENDERING.md` and resolve the template's `<!-- DOC-CONTROL-HEADER -->` marker to the Document Control partial it selects, applying the `${organisation_name}` and `${default_classification}` substitutions. Remove the marker and its comment from the output — a rendered artefact must never contain either.8485- **Also** apply the O-AA placeholder substitutions in `.arckit/references/placeholder-substitutions.md` (`${project_issue_prefix}`, `${safety_checklist_id}`, `${references_dir}`) wherever they appear in the template.8687> **Tip**: Users can customise templates with `$arckit-customize product-architecture`8889### 3. O-AA Product Architecture Framework9091O-AA product architecture practice (C208 Ch. 14) establishes that:9293- **Product-centric**: The product is the organizing principle for the team, backlog, and architecture — not projects, not capabilities, not services (published as O-AA Axiom 15, Project to Product Shift)9495- **Outcome-driven**: Architecture decisions trace to measurable product outcomes (value, adoption, experience)9697- **Team-led**: Permanent, cross-functional teams own the product end-to-end (Axiom 6, Autonomous Cross-Functional Teams)9899- **Backlog-driven**: Architecture evolves through the product backlog, not separate architecture workstreams100101### 4. Shared Artefact Definitions102103The product architecture command defines artefacts whose structure is inlined in `product-architecture-template.md`:104105- **`product-architecture.yaml`** — product mission, outcomes, guardrails, team composition, backlog structure106107- **`vision.yaml`** — architecture vision inherited from O-AA Lite or ADM Preliminary (`$arckit-oaa-adm-lite`, `$arckit-adm-preliminary`)108109- **`implementation-strategy.yaml`** — implementation waves (consistent with `$arckit-transition-architecture`)110111### 5. Generate Product Architecture Document112113Create the Product Architecture document following the template structure.114115#### Document Control116117- Generate Document ID with `node scripts/generate-document-id.mjs {P} OAPR --filename` (canonical form: `ARC-{P}-OAPR-v1.0`)118119- Set owner, dates, status, classification120121- Review cycle: Per sprint cycle122123#### Product Mission and Outcome124125- One-sentence mission capturing the product's purpose and target value126127- Outcome dimensions: Value, Adoption, Experience, Delivery cadence128129- Product principles derived from O-AA axioms130131#### Cross-Functional Team Composition132133- Team structure with roles (Product Owner, Architect, Lead Engineer, AI Safety Engineer, DevOps, QA)134135- Cadence: Sprint length, architecture review frequency, compliance review, demo schedule136137- Architect role in the team: guardrails, technical decisions, compliance138139#### Product Backlog Architecture140141- Architecture items in the backlog (not separate architecture workstreams)142143- Epic → Feature → Story hierarchy with architecture considerations144145- Architecture decision records (ADRs) linked to backlog items146147#### Architecture Guardrails148149- Non-negotiable constraints (compliance, security, performance)150151- Technology standards and approved building blocks152153- Anti-patterns and forbidden approaches154155#### Product Architecture Diagram156157- Mermaid C4 Component diagram showing product components158159- Integration points with other products and external systems160161- Data flow and API boundaries162163### 6. External References164165Populate the `## External References` section per `.arckit/references/citation-instructions.md`. Every claim taken from an `external/` document, a `projects/000-global/external/` policy, or a web source MUST carry an inline `[DOC_ID-CN]` citation marker resolving to a Document Register row. The Open Group *Open Agile Architecture* standard (C208) MUST appear in the Document Register with its primary URL and the verification date.166167### 7. Quality Gate168169Before writing the file, read `.arckit/references/quality-checklist.md` and verify all **Common Checks** plus the **OAPR** per-type checks pass. Fix any failures before proceeding.170171### 8. Write the Document172173**IMPORTANT**: The Product Architecture document will be a substantial document (typically 200-350 lines). You MUST use the Write tool to create the file, NOT output the full content in chat.174175Create the file at:176177```text178projects/{P}/ARC-{P}-OAPR-v1.0.md179```180181### 9. Show Summary to User182183After writing the file, show a concise summary (NOT the full document):184185```markdown186## Agile Product Architecture Created187188**Document**: `projects/{P}/ARC-{P}-OAPR-v1.0.md`189**Document ID**: ARC-{P}-OAPR-v1.0190191### Product Profile192- **Mission**: [One-sentence mission]193194- **Outcomes**: [Value, Adoption, Experience targets]195196- **Principles**: [N] product principles (O-AA axiom-derived)197198### Team Composition199| Role | Name | Responsibility |200|------|------|---------------|201| [Role] | [Name] | [Responsibility] |202203### Architecture Guardrails204- [N] non-negotiable constraints205206- [N] technology standards207208- [N] anti-patterns identified209210### Sprint Artifacts211- ✅ product-architecture.yaml212213- ✅ vision.yaml (from O-AA Lite or ADM Preliminary)214215### Synthesised From216- [✅/⚠️] Architecture Principles: ARC-000-PRIN-v[N].md217218- [✅/⚠️] Business Capability Map: ARC-{P}-BPCM-v[N].md219220### Next Steps2211. Populate product backlog with architecture epics2222. Embed security into sprint rhythm: `$arckit-agile-security`2233. Plan dual transformation: `$arckit-agile-strategy`2244. Establish governance cadence: `$arckit-agile-governance`225226**File location**: `projects/{P}/ARC-{P}-OAPR-v1.0.md`227```228229## Important Notes2302311. **Product-Centric**: O-AA mandates that the product (not the project or capability) is the organizing principle. Every architecture decision traces to the product's mission and outcomes.2322332. **Sprint Artefacts**: The `product-architecture.yaml` and `vision.yaml` structures are defined inline in `product-architecture-template.md`. Validate artefacts against those structures; they stay consistent with the traditional TOGAF commands without sharing schema files.2342353. **Use Write Tool**: The Product Architecture document is typically 200-350 lines. ALWAYS use the Write tool to create it.2362374. **Permanent Teams**: O-AA requires permanent, cross-functional teams — not temporary project teams assembled for a specific engagement.2382395. **Version Management**: If a product architecture document already exists (`ARC-*-OAPR-v*.md`), create a new version (v2.0) rather than overwriting.2402416. **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.242243## Suggested Next Steps244245After completing this command, consider running:246247- `$arckit-agile-strategy` -- Plan dual transformation for the product248- `$arckit-agile-security` -- Embed security into the product sprint rhythm