Build architecture repository — patterns library, standards register, reusable building blocks
Scanned 9/5/2026
Install to Claude Code
npx -y skills add tractorjuice/arckit-codex --skill arckit-architecture-repository --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Arckit Architecture Repository?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/tractorjuice-arckit-architecture-repository)More formats (shields.io, HTML) on the badges page.
---
name: arckit-architecture-repository
description: "Build architecture repository — patterns library, standards register, reusable building blocks"
---
You are helping an enterprise architect create an **Architecture Repository** — the central knowledge store for the organisation's architecture artefacts including patterns, standards, reference architectures, lessons learned, and reusable building blocks. This is a global-scope artefact that synthesises learnings from all completed ADM cycles and projects into a living reference library.
## User Input
```text
$ARGUMENTS
```
## Prerequisites: Read Synthesis Sources
> **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.
**MANDATORY** (warn if missing):
- **PRIN** (Architecture Principles, in 000-global) — Extract: Guiding principles, decision framework, technology standards, compliance requirements
- If missing: STOP and ask user to run `$arckit-principles` first. The repository must be grounded in architecture principles.
**RECOMMENDED** (read if available, note if missing):
- **ADR-\*** (Architecture Decision Records across all projects) — Extract: Decisions made, alternatives considered, consequences, rationale. These feed directly into the patterns library and standards register.
- **DIAG-\*** (Architecture Diagrams across all projects) — Extract: Reference architecture patterns, system context diagrams, integration patterns. These feed into the reference architectures section.
- **STORY-\*** (Project stories/narratives across all projects) — Extract: Project outcomes, what worked, what didn't, unexpected challenges. These feed into lessons learned.
- **ANALYZE-\*** (Analysis artefacts across all projects) — Extract: Technical findings, performance data, assessment results. These feed into building blocks and lessons learned.
**OPTIONAL** (read if available, skip silently if missing):
- **BPCM** (Business Capability Maps) — Extract: Capability patterns that repeat across projects
- **GAPA** (Gap Analyses) — Extract: Recurring gaps and solutions
- **TRANS** (Transition Architectures) — Extract: Reusable transition patterns
- **APP** (Application Inventories) — Extract: Technology platform decisions
- **BORD** (Architecture Board decisions) — Extract: Governance decisions that become standards
- **ACHG** (Architecture Change Requests) — Extract: Changes that reveal systemic issues
### Prerequisites 1b: Scan all project directories for artefacts
Scan all `projects/*/` directories for the following artefact types:
- **ADR** files (`ARC-*-ADR-v*.md`, `ARC-*-ADR-*-*-v*.md`) — Architecture Decision Records
- **DIAG** files (`ARC-*-DIAG-v*.md`) — Architecture diagrams and reference models
- **STORY** files (`ARC-*-STORY-v*.md`) — Project stories and narratives
- **ANALYZE** files (`ARC-*-ANALYZE-v*.md`) — Technical analysis documents
- **BPCM**, **GAPA**, **TRANS**, **APP**, **BORD**, **ACHG** files — Supplementary sources for cross-domain patterns
### Prerequisites 1c: Read external documents and policies
- Read any **external documents** listed in the project context (`external/` files) — extract enterprise standards, technology standards catalogues, industry best practice guidelines
- Read any **enterprise standards** in `projects/000-global/external/` — extract enterprise architecture standards, compliance frameworks, security standards
- If no external standards docs found but they would improve the output, ask: "Do you have any enterprise standards catalogues, technology standards, or industry best practice documents? I can read PDFs and images directly. Place them in `projects/000-global/external/` and re-run, or skip."
- **Citation traceability**: When referencing content from external documents, follow the citation instructions in `.arckit/references/citation-instructions.md`. Place inline citation markers (e.g., `[PP-C1]`) next to findings informed by source documents.
## Instructions
### 1. Identify Scope
This command operates at **global scope** by default. The repository synthesises learnings from ALL projects.
- If the user provides a project ID argument, scope the scan to that specific project's artefacts (useful for project-specific repositories)
- If no argument provided, scan all `projects/*/` directories for synthesis
- Set `PROJECT_ID` = `000` for global repository, or the user-specified project ID for project-scoped repository
### 2. Read Template
**Read the template** (with user override support):
- **First**, check if `.arckit/templates-custom/architecture-repository-template.md` exists in the project root
- **If found**: Read the user's customised template (user override takes precedence)
- **If not found**: Read `.arckit/templates/architecture-repository-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.
> **Tip**: Users can customise templates with `$arckit-customize architecture-repository`
### 3. Gather and Classify Artefacts
Read PRIN and scan all available project artefacts. Classify each artefact's content into repository categories:
#### From PRIN → Standards Register
- Extract all technology standards, compliance requirements, and decision frameworks
- Each principle clause that defines a "must" or "shall" becomes a standard entry
- Group by domain: Security, Architecture, Data, Application, Technology, Governance
#### From ADR → Patterns Library + Reference Architectures
- Each ADR with a generalisable solution becomes a pattern entry
- Extract: problem context, solution approach, consequences, applicability conditions
- ADR decisions that establish reusable architectural approaches become reference architectures
- Group patterns by domain and reuse frequency
#### From DIAG → Reference Architectures
- Diagrams that represent reusable architectural patterns (not project-specific)
- Include: system integration patterns, security architectures, data flow templates, cloud reference models
- Each reference architecture links back to the original diagram source
#### From STORY + ANALYZE → Lessons Learned
- Story outcomes that reveal process improvements become lessons
- Analysis findings that identify technical pitfalls or successes become lessons
- Categorise: Technical (architecture, technology, performance), Process (delivery, governance, planning), People (skills, collaboration, communication)
#### From all artefacts → Reusable Building Blocks
- Components, APIs, services, patterns that have been proven in production
- Assess maturity: Prototype (used once), Proven (used in 2+ projects), Standard (enterprise-adopted)
- Link to source artefacts for provenance
### 4. Generate Architecture Repository
Create the repository document following the template structure.
#### Standards Register
Extract and catalogue all standards from PRIN and ADR artefacts:
| Standard ID | Name | Domain | Status | Last Review | Source |
|-------------|------|--------|--------|-------------|--------|
**Minimum quality requirement**: ≥5 standards with complete entries
Standards categories to extract:
- **Security**: Information security standards, access control, encryption, compliance (e.g., NCSC CAF, ISO 27001 mappings)
- **Architecture**: Design patterns, integration standards, service boundaries, API governance
- **Data**: Data modelling standards, data quality, retention, classification
- **Technology**: Approved technology stack, hosting standards, platform requirements
- **Governance**: Decision-making processes, change control, compliance reporting
For each standard:
- `Standard ID`: `STD-NNN` format
- `Name`: Descriptive standard name
- `Domain`: Primary domain (Security/Architecture/Data/Technology/Governance)
- `Status`: Active, Deprecated, Proposed, Under Review
- `Last Review`: Date of last review or adoption
- `Source`: Originating PRIN or ADR artefact
#### Patterns Library
Catalogue reusable architectural patterns from ADR artefacts:
**Pattern structure** (for each pattern):
- **Context**: When and why to apply this pattern
- **Problem**: The problem statement this pattern addresses
- **Solution**: Detailed solution description with architectural considerations
- **Consequences**: Trade-offs, benefits, risks, and performance characteristics
- **Related**: Related patterns, anti-patterns, and complementary standards
- **Source Project**: Which project's ADR this pattern was extracted from
**Minimum quality requirement**: ≥3 patterns with full description
Pattern grouping:
- Group patterns by domain (Security, Integration, Data, Platform, etc.)
- Cross-reference related patterns
- Indicate maturity level and production validation
#### Reference Architectures
Catalogue reference architectures from DIAG artefacts:
| Reference ID | Name | Domain | Diagram | Last Used |
|-------------|------|--------|---------|-----------|
**Minimum quality requirement**: ≥2 reference architectures
Reference architecture types:
- **Integration architectures**: API gateways, service mesh, event-driven patterns
- **Security architectures**: Zero trust, defence in depth, secure access
- **Data architectures**: Data lakes, data fabric, stream processing
- **Cloud architectures**: Cloud-native, hybrid, multi-cloud reference models
- **Application architectures**: Microservices, monolith-to-service migration
Each reference architecture includes:
- `Reference ID`: `REF-NNN` format
- `Diagram`: Link to the source DIAG artefact
- `Last Used`: Most recent project where this architecture was applied
#### Lessons Learned
Catalogue lessons from STORY and ANALYZE artefacts:
| Lesson ID | Project | Lesson | Category | Impact |
|-----------|---------|--------|----------|--------|
**Minimum quality requirement**: ≥3 lessons learned
Lesson categories:
- **Technical**: Architecture decisions, technology choices, performance learnings
- **Process**: Delivery approaches, governance effectiveness, planning accuracy
- **People**: Team composition, skills gaps, collaboration patterns
Each lesson includes:
- `Lesson ID`: `LL-NNN` format
- `Project`: Source project identifier
- `Impact`: High/Medium/Low — how significant was this lesson's impact
- Actionable takeaway that can prevent recurrence or replicate success
#### Reusable Building Blocks
Catalogue proven components and solutions:
| Block ID | Name | Type | Maturity | Documentation |
|----------|------|------|----------|---------------|
**Minimum quality requirement**: ≥3 building blocks
Building block types:
- **Component**: Self-contained software components, services, libraries
- **Pattern**: Reusable architectural patterns with implementation guidance
- **API**: Standardised interfaces and contracts
- **Template**: Configuration templates, deployment templates, architecture templates
Maturity levels:
- **Prototype**: Used in a single project, limited validation
- **Proven**: Used successfully in 2+ projects, production-tested
- **Standard**: Enterprise-adopted, part of approved technology stack
#### Search Index
Create a keyword-based search index for quick artefact lookup:
| Keyword | Artefacts |
|---------|-----------|
- Index all standards, patterns, reference architectures, lessons, and building blocks
- Group related keywords together
- Include cross-domain keywords (e.g., "security" should link to security standards, security patterns, security reference architectures, and security-related lessons)
#### Traceability
Create a traceability matrix showing the provenance of repository entries:
| Source Type | Source Artefact | Repository Entry | Relationship |
|-------------|-----------------|------------------|-------------|
- Trace every repository entry back to its source artefact
- Show PRIN → ADR → DIAG → REPO lineage
- Verify no orphan entries (every entry must have a traceable source)
### 5. UK Government Specifics
If the user indicates this is a UK Government project, include:
- **Technology Code of Practice (TCoP)**: Standards aligned to 13 TCoP points
- **GDS Technology Standards**: Standards from the GDS Technology Standards Catalogue
- **NCSC CAF**: Cyber Assessment Framework controls as security standards
- **G-Cloud/DOS**: Procurement standards and approved suppliers
- **Cross-Government Services**: Standards for GOV.UK Pay, Notify, Verify, Design System integration
### 6. MOD Specifics
If this is a Ministry of Defence project, include:
- **Defiance Programme**: Cloud migration standards and MOD Cloud Programme alignment
- **JSP 440**: System project management standards
- **IAMM**: Information assurance maturity standards
- **JSP 936**: AI assurance standards
- **SSE**: Single Source Estate compliance requirements
- **Cyber Essentials Plus**: Security baseline standards
### 7. Load Mermaid Syntax References
Read `.arckit/skills/mermaid-syntax/references/flowchart.md` for official Mermaid syntax — node shapes, edge labels, and styling options for repository structure diagrams.
### 8. Mermaid Diagram Requirements
Include a **repository structure diagram** (Mermaid flowchart):
1. **Repository Structure** — Show the hierarchy: Standards → Patterns → Reference Architectures → Building Blocks → Lessons Learned, with cross-references between sections
**Syntax Rules**:
- ✅ Flowcharts: Node labels can use `<br/>`, edge labels cannot
- ✅ Use subgraphs for each repository section
- ✅ Show traceability links between sections
### 9. Quality Gate
Before writing the file, read `.arckit/references/quality-checklist.md` and verify all **Common Checks** plus the **REPO** per-type checks pass. Fix any failures before proceeding.
**Additional quality checks for Architecture Repository**:
1. **Standards Register**: ≥5 standards with complete entries (ID, name, domain, status, last review, source)
2. **Patterns Library**: ≥3 patterns with full description (context, problem, solution, consequences, related, source project)
3. **Reference Architectures**: ≥2 reference architectures with ID, name, domain, diagram link, last used
4. **Lessons Learned**: ≥3 lessons with ID, project, lesson, category, impact
5. **Building Blocks**: ≥3 building blocks with ID, name, type, maturity, documentation
6. **Search Index**: Present with meaningful keyword-to-artefact mappings
7. **Traceability**: Complete provenance — every entry traces to a source artefact
### 10. Write the Repository File
**IMPORTANT**: The Architecture Repository document will be a large document (typically 400-700 lines). You MUST use the Write tool to create the file, NOT output the full content in chat.
Create the file at:
```text
projects/000-global/ARC-000-REPO-v1.0.md
```
For project-scoped repositories (when a specific project ID is provided):
```text
projects/{P}/ARC-{P}-REPO-v1.0.md
```
Use the Write tool with the complete repository content following the template structure.
#### Auto-Populate Document Control Fields
Before completing the document, populate ALL document control fields in the header:
**Construct Document ID**:
- **Document ID**: `ARC-000-REPO-v[VERSION]` (global) or `ARC-[PROJECT_ID]-REPO-v[VERSION]` (project-scoped)
**Populate Required Fields**:
*Auto-populated fields* (populate these automatically):
- `[PROJECT_ID]` → `000` for global, or extracted from project path
- `[VERSION]` → "1.0" (or increment if previous version exists)
- `[DATE]` / `[YYYY-MM-DD]` → Current date in YYYY-MM-DD format
- `[DOCUMENT_TYPE_NAME]` → "Architecture Repository"
- `[COMMAND]` → "arckit.architecture-repository"
*User-provided fields* (extract from project metadata or user input):
- `[OWNER_NAME_AND_ROLE]` → Document owner (prompt user if not in metadata)
- **Classification** → comes from the resolved Document Control header, not from a placeholder. `_partials/RENDERING.md` fixes the ladder from the artefact's own regime; `${default_classification}` applies only where that regime falls through to user config.
*Calculated fields*:
- `[YYYY-MM-DD]` for Next Review Date → Current date + 90 days (quarterly review cycle)
*Pending fields* (leave as [PENDING] until manually updated):
- `[REVIEWER_NAME]` → [PENDING]
- `[APPROVER_NAME]` → [PENDING]
**Populate Revision History**:
```markdown
| 1.0 | {DATE} | ArcKit AI | Initial creation from `$arckit-architecture-repository` command | [PENDING] | [PENDING] |
```
**Populate Generation Metadata Footer**:
```markdown
**Generated by**: ArcKit `$arckit-architecture-repository` command
**Generated on**: {DATE} {TIME} GMT
**ArcKit Version**: {ARCKIT_VERSION}
**Project**: Global Repository (Project 000)
**AI Model**: [Use actual model name, e.g., "Claude Sonnet 5 (session default)"]
**Generation Context**: [Brief note about source documents and projects synthesised]
```
### 11. Show Summary to User
After writing the file, show a concise summary (NOT the full document):
```markdown
## Architecture Repository Created
**Document**: `projects/000-global/ARC-000-REPO-v1.0.md`
**Document ID**: ARC-000-REPO-v1.0
### Repository Contents
| Section | Count | Status |
|---------|-------|--------|
| Standards Register | [N] standards | ✅ [≥5 required] |
| Patterns Library | [N] patterns | ✅ [≥3 required] |
| Reference Architectures | [N] references | ✅ [≥2 required] |
| Lessons Learned | [N] lessons | ✅ [≥3 required] |
| Building Blocks | [N] blocks | ✅ [≥3 required] |
| Search Index | [N] keywords | ✅ Present |
### Standards Summary
| Domain | Count |
|--------|-------|
| Security | [N] |
| Architecture | [N] |
| Data | [N] |
| Technology | [N] |
| Governance | [N] |
### Patterns Summary
1. **[Pattern 1]**: [Brief description] — Source: [ARC-XXX-ADR]
2. **[Pattern 2]**: [Brief description] — Source: [ARC-XXX-ADR]
3. **[Pattern 3]**: [Brief description] — Source: [ARC-XXX-ADR]
### Reference Architectures Summary
1. **[REF-001]**: [Name] — [Domain] — Source: [ARC-XXX-DIAG]
2. **[REF-002]**: [Name] — [Domain] — Source: [ARC-XXX-DIAG]
### Top Lessons Learned
1. **[LL-001]**: [Lesson] — [Category] — [Impact]
2. **[LL-002]**: [Lesson] — [Category] — [Impact]
3. **[LL-003]**: [Lesson] — [Category] — [Impact]
### Building Blocks Summary
| Block | Type | Maturity |
|-------|------|----------|
| [BB-001] | [Type] | [Maturity] |
| [BB-002] | [Type] | [Maturity] |
| [BB-003] | [Type] | [Maturity] |
### Sources Synthesised
- ✅ Architecture Principles: ARC-000-PRIN-v[N].md
- ✅ ADR artefacts: [N] decisions across [N] projects
- ✅ DIAG artefacts: [N] diagrams across [N] projects
- ✅ STORY artefacts: [N] stories across [N] projects
- ✅ ANALYZE artefacts: [N] analyses across [N] projects
### Traceability
- [N] repository entries traced to source artefacts
- [N] standards derived from principles
- [N] patterns derived from decisions
- [N] reference architectures derived from diagrams
- [N] lessons derived from stories/analyses
### Next Steps
1. Review repository with Architecture Board / Enterprise Architecture team
2. Validate standards against current technology strategy
3. Feed repository standards into next ADM cycle: `$arckit-adm-preliminary`
4. Add new patterns as projects complete — re-run `$arckit-architecture-repository`
5. Maintain search index as new artefacts are added
### Usage
- Reference this repository when creating new architecture artefacts
- Use patterns library as design starting point for new projects
- Use standards register as compliance checklist
- Use lessons learned to avoid known pitfalls
- Use building blocks to accelerate delivery
**File location**: `projects/000-global/ARC-000-REPO-v1.0.md`
```
## Important Notes
1. **Synthesis, Not Generation**: This command synthesises existing artefacts into a curated knowledge repository. It should NOT generate new information but rather consolidate and classify existing architectural decisions, patterns, and learnings.
2. **Use Write Tool**: The repository document is typically 400-700 lines. ALWAYS use the Write tool to create it. Never output the full content in chat.
3. **Global Scope**: By default, this command operates across all projects. Use the argument to scope to a specific project when creating project-specific repositories.
4. **Quality Thresholds**: The minimum quality requirements (≥5 standards, ≥3 patterns, ≥2 reference architectures, ≥3 lessons, ≥3 building blocks) ensure the repository provides genuine value. If thresholds cannot be met, note the gaps and suggest which artefacts would help fill them.
5. **Living Document**: The Architecture Repository is a living artefact. Schedule quarterly reviews (`$arckit-architecture-repository`) to incorporate learnings from new projects. Version management (v1.0 → v2.0) tracks evolution.
6. **Traceability is Critical**: Every repository entry must trace back to source artefacts. Orphan entries without provenance should be flagged and either sourced or removed.
7. **Integration with Other Commands**:
- **Input**: Synthesises from PRIN, ADR, DIAG, STORY, ANALYZE, BPCM, GAPA, TRANS, APP, BORD, ACHG
- **Output**: Feeds into `$arckit-adm-preliminary` (standards inform scope), all future project artefacts (reference patterns and standards)
- **Feedback loop**: New projects create artefacts → repository is updated → next ADM cycle uses updated repository
8. **TOGAF Alignment**: This document maps to the TOGAF Architecture Repository content meta-model: Architecture Capability, Architecture Methods, Tools, Governance, Standards, Reference Architectures, Patterns, and Lessons Learned.
9. **Search and Retrieval**: The search index enables quick lookup of patterns, standards, and lessons. Maintain this index as the repository grows — it's the primary discovery mechanism for architects.
10. **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-adm-preliminary` -- Feed repository standards back into next ADM cycle
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!