Best for
- After /architect-specify or /architect-clarify: Generate AD from discussed and accepted ADRs.
- After /architect-init: Document brownfield architecture.
- ADR Updates: Regenerate AD.md after new decisions.
tikalk/adlc-team-skills/skills/architect/architect-implement/SKILL.md
Generate a full Architecture Description (AD.md) from accepted ADRs using multi-agent DAG orchestration. Use when accepted ADRs exist and you need to produce or update unified architecture documentation.
Decision brief
Generate a full Architecture Description (AD. md) from accepted ADRs using multi-agent DAG orchestration.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/tikalk/adlc-team-skills --skill "skills/architect/architect-implement"Inspect the Agent Skill "architect-implement" from https://github.com/tikalk/adlc-team-skills/blob/a6ea2fd3d9cf46c5cba9ff384e1099ce62481b8b/skills/architect/architect-implement/SKILL.md at commit a6ea2fd3d9cf46c5cba9ff384e1099ce62481b8b. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
You MUST consider the user input before proceeding (if not empty).
Note: Perspectives (Security, Performance, etc.) are now applied during view generation in Phase 2, not as a separate step in Phase 3. This follows the R&W principle: "use them with each view to analyze and validate the qualities of your architecture."
1. Check clarify completion in state.json: - Load {REPOROOT}/.adlc/architect/state.json - Check workflow.clarifycompleted field - If false or missing:
Objective: Analyze ADRs, detect sub-systems, generate customized DAG, get user approval
1. Read ADR Directory: Load ADRs from {REPOROOT}/.adlc/drafts/adr/ (and check {REPOROOT}/.adlc/memory/adr/ if drafts is empty) 2. Parse ADR Index: Extract sub-systems from {REPOROOT}/.adlc/drafts/adr/adr.md or individual ADR files 3. Group ADRs by Sub-system: Create mapping of s…
Permission review
The documentation asks the agent to create, modify, or delete local files.
You **MUST** write each view to disk as a separate file before proceedingThe documentation asks the agent to read local files, directories, or repositories.
**Read ADR Directory**: Load ADRs from `{REPO_ROOT}/.adlc/drafts/adr/` (and check `{REPO_ROOT}/.adlc/memory/adr/` if drafts is empty)The documentation asks the agent to create, modify, or delete local files.
**Write View File**: Save to `{REPO_ROOT}/.adlc/architect/views/{subsystem}/{view}.md`The documentation asks the agent to read local files, directories, or repositories.
**Mermaid scan (Constraint 9)**: Scan each view file for ASCII box-drawingEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 95/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 97 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Generate a full Architecture Description (AD.md) from Architecture Decision Records (ADRs) using a multi-agent DAG orchestration approach:
Key Insight: ADRs capture why decisions were made; the Architecture Description captures what the system looks like as a result of those decisions.
/architect-specify or /architect-clarify: Generate AD from discussed and accepted ADRs./architect-init: Document brownfield architecture./architect-specify or /architect-init first.$ARGUMENTS
You MUST consider the user input before proceeding (if not empty).
Examples of User Input:
"Focus on deployment and operational views - we need infrastructure docs""Generate all views with emphasis on security perspective""Update existing AD.md with new ADRs from recent decisions"--views VIEWS: Architecture views to generate
core (default): Context, Functional, Information, Development, Deployment (5 core views)all: All 7 views including Concurrency and Operationalconcurrency,operational) - always includes core views--sequential (default): Execute views sequentially for maximum quality
--parallel: Allow parallel execution where dependency chains permit
--no-checkpoint: Skip Functional view checkpoint (not recommended)
--force: Bypass workflow state validation (emergency use only)
Important: When --views is core (default), skip Concurrency View (3.4) and Operational View (3.7) entirely. Only generate them when explicitly requested via --views all or --views concurrency,operational.
This command implements the Viewpoints and Perspectives framework from Software Systems Architecture (2nd Edition) by Nick Rozanski and Eoin Woods.
Functional View is the Cornerstone
"The Functional view is the cornerstone of most ADs... It usually drives the shape of other system structures such as the information structure, concurrency structure, deployment structure, and so on." — Rozanski & Woods
Views are Interrelated, Not Independent
"The decisions taken in one view can have a considerable impact on the others, and it is a big part of the architect's job to make sure that these implications are understood."
Perspectives Apply to Views
"You never work with perspectives in isolation but instead use them with each view to analyze and validate the qualities of your architecture."
Quality Over Speed Architecture mistakes are expensive to fix. Sequential execution with checkpoints is the default to ensure quality.
┌──────────┐
│ Context │ (System boundaries)
└────┬─────┘
│
▼
┌───────────────┐
│ FUNCTIONAL │ ★ CORNERSTONE ★
│ (Drives all │ USER CHECKPOINT
│ other views)│ REQUIRED HERE
└───────┬───────┘
│
┌───────────────┼───────────────┐
│ │ │
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│Information│ │Concurrency│ │Development│
│ │ │(optional) │ │ │
└─────┬─────┘ └─────┬─────┘ └─────┬─────┘
│ │ │
└───────────────┼───────────────┘
│
▼
┌────────────┐
│ Deployment │
└──────┬─────┘
│
▼
┌────────────┐
│ Operational│ (optional)
└────────────┘
Viewpoints and perspectives are selected dynamically based on system characteristics:
| Category | Always Included | Auto-Detected (Optional) |
|---|---|---|
| Viewpoints | Context, Functional | Information, Concurrency, Development, Deployment, Operational |
| Perspectives | Security, Performance | Accessibility, Availability, Evolution, Internationalization, Location, Regulation, Usability, Development Resource |
Reference: https://www.viewpoints-and-perspectives.info/
Transform Architecture Decision Records (ADRs) into a comprehensive Architecture Description (AD.md) using a multi-agent DAG orchestration approach:
You are acting as an Architecture Orchestrator managing a multi-phase documentation generation workflow. Your role involves:
| Document | Purpose | Location |
|---|---|---|
{REPO_ROOT}/.adlc/drafts/adr/ | Architectural decisions with rationale (individual file format) | Input |
{REPO_ROOT}/.adlc/architect/state.json | DAG execution state | State |
{REPO_ROOT}/.adlc/architect/views/{subsystem}/{view}.md | Per-view outputs | Reference |
{REPO_ROOT}/AD.md | Full Architecture Description | Output |
{REPO_ROOT}/.adlc/memory/constitution.md | Governance principles | Constraint |
IMPORTANT - Path Resolution:
REPO_ROOT - use this to determine the correct paths.adlc directory.adlc/drafts/adr.md - always use {REPO_ROOT}/.adlc/drafts/adr/ADR-{NNN}.mdadr/ directory.adlc may be in the parent directoryLocated in the skill's templates/ directory:
| Template | Purpose |
|---|---|
templates/views/context.md | Context View template |
templates/views/functional.md | Functional View template |
templates/views/information.md | Information View template |
templates/views/concurrency.md | Concurrency View template (optional) |
templates/views/development.md | Development View template |
templates/views/deployment.md | Deployment View template |
templates/views/operational.md | Operational View template (optional) |
| Perspective Templates (10 total) |
|---|
templates/perspectives/security.md |
templates/perspectives/performance.md |
templates/perspectives/accessibility.md |
templates/perspectives/availability.md |
templates/perspectives/evolution.md |
templates/perspectives/internationalization.md |
templates/perspectives/location.md |
templates/perspectives/regulation.md |
templates/perspectives/usability.md |
templates/perspectives/development-resource.md |
┌─────────────────────────────────────────────────────────────────────────────┐
│ PHASE 1: PLAN │
│ ┌─────────────┐ ┌─────────────────┐ ┌─────────────────────────────┐ │
│ │ Load ADRs │───▶│ Detect Sub- │───▶│ Generate DAG per Sub-system │ │
│ │ │ │ systems │ │ (apply customization rules) │ │
│ └─────────────┘ └─────────────────┘ └──────────────┬──────────────┘ │
│ │ │
│ ┌──────────────▼──────────────┐ │
│ │ Present Plan for Approval │ │
│ │ (user confirms or modifies) │ │
│ └──────────────┬──────────────┘ │
│ │ │
│ ┌──────────────▼──────────────┐ │
│ │ Write state.json │ │
│ └─────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ PHASE 2: EXECUTE │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ For each sub-system, execute DAG in topological order: │ │
│ │ │ │
│ │ ┌─────────┐ ┌────────────┐ ┌─────────────┐ ┌───────────┐ │ │
│ │ │ Context │───▶│ Functional │───▶│ Information │───▶│Development│ │ │
│ │ └─────────┘ └────────────┘ └─────────────┘ └───────────┘ │ │
│ │ │ │ │ │
│ │ ▼ ▼ │ │
│ │ ┌─────────────┐ ┌────────────┐ │ │
│ │ │ Concurrency │ │ Deployment │ │ │
│ │ │ (optional) │ └────────────┘ │ │
│ │ └─────────────┘ │ │ │
│ │ ▼ │ │
│ │ ┌─────────────┐ │ │
│ │ │ Operational │ │ │
│ │ │ (optional) │ │ │
│ │ └─────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ Each view: Read dependencies → Generate content (with perspectives inline)
│ → Update state.json with progress │
└─────────────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ PHASE 3: SUMMARIZE │
│ ┌──────────────────┐ ┌─────────────────────┐ ┌──────────────────┐ │
│ │ Read all view │───▶│ Detect cross- │───▶│ Resolve conflicts│ │
│ │ files │ │ subsystem conflicts │ │ using ADRs │ │
│ └──────────────────┘ └─────────────────────┘ └────────┬─────────┘ │
│ │ │
│ ┌──────────────────┐ ┌──────────────▼───────────┐ │
│ │ Move Accepted │◀─────────────────────────│ Aggregate into │ │
│ │ ADRs to memory │ │ unified AD.md (views include│ │
│ └──────────────────┘ │ perspective sections) │ │
│ └───────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘
Note: Perspectives (Security, Performance, etc.) are now applied during view generation in Phase 2, not as a separate step in Phase 3. This follows the R&W principle: "use them with each view to analyze and validate the qualities of your architecture."
CRITICAL: These validations are ENFORCED. Execution will HALT if checks fail. Use
--forceflag only in emergency situations with full understanding of risks.
Before starting Phase 1, you MUST validate prerequisites:
{REPO_ROOT}/.adlc/architect/state.jsonworkflow.clarify_completed fieldfalse or missing:
❌ WORKFLOW VALIDATION FAILED
The implement command requires ADRs to be approved via /architect-clarify first.
Current workflow state: clarify_completed = false
Required: Run /architect-clarify and complete Phase 5.5 (ADR Approval)
Options:
1. Run /architect-clarify to approve ADRs
2. Use --force to bypass (NOT RECOMMENDED - may cause inconsistent architecture)
⚠️ Using --force skips important validation steps and may result in:
- Processing unapproved ADRs
- Missing critical architectural decisions
- Incomplete architecture documentation
--force flag provided){REPO_ROOT}/.adlc/drafts/adr/ or {REPO_ROOT}/.adlc/memory/adr/ exists (individual file format)❌ Cannot proceed: No Accepted ADRs found
The implement command requires ADRs with "Accepted" status.
Current ADRs are: [list statuses found]
Run /architect-clarify to review and approve ADRs first.
CRITICAL -- READ THIS BEFORE PROCEEDING
The following constraints are MANDATORY. Violation of any constraint invalidates the output and requires restart.
Constraint 1: View Files MUST Be Written to Disk
You MUST write each view to disk as a separate file before proceeding to the next view. Location:
{REPO_ROOT}/.adlc/architect/views/{subsystem}/{view}.md
- Do NOT hold views in memory and write only AD.md
- Do NOT combine multiple views into a single write operation
- Each file MUST be readable and standalone
- Minimum content: 20 lines with proper section headers
Constraint 2: State MUST Be Updated After EACH View
You MUST update state.json immediately after EACH individual view file is written to disk and verified readable -- before starting the next view in the DAG. Do NOT batch updates per-subsystem or per-phase. Mark each view's progress as "completed" only AFTER the file exists on disk and you've verified it by reading it back.
Constraint 3: Functional View Checkpoint is MANDATORY
You MUST pause after Functional view for user checkpoint (unless
--no-checkpoint). Do NOT silently continue. Present checkpoint options A/B/C/D and WAIT for response. The Functional view is the "cornerstone" -- user approval is required.Constraint 4: Phase "completed" Requires Verification
You MUST NOT mark phase as "completed" in state.json until:
- All view files exist on disk (verify by reading each file)
- AD.md has been written with content aggregated from view files
- Drafts cleanup has been performed and verified
- The final verification table (10 checks) has been output
Constraint 5: AD.md Content MUST Come From View Files
You MUST NOT write AD.md directly from ADRs. AD.md content MUST come from reading the generated view files. The flow is strictly: ADRs → Views (files on disk) → AD.md (aggregated from views)
Constraint 6: Phase 3 MUST Read From Disk
You MUST read view files from disk in Phase 3, not from memory. Use file read operations. This ensures resumability and auditability. If a view file cannot be read, STOP and report the error.
Constraint 7: Views MUST Be in Sub-system DAG
You MUST NOT generate a view that is not listed in the sub-system's
dagarray in state.json. Before generating any view, check the DAG. If the view is absent, mark it asskippedin state.json and proceed. Generating views outside the DAG creates orphaned files and invalidates the architecture.Constraint 8: AD.md MUST Be Organized by Viewpoint
You MUST organize AD.md by viewpoint (§3.1 Context, §3.2 Functional, §3.3 Information, etc.), NOT by subsystem. Each viewpoint section presents the unified system-level perspective that merges content from all subsystems. Subsystem-specific detail is accessible via "Subsystem Details" links (see Step 3.5).
WRONG (per-subsystem — this is what subsystem view files are for):
## 5. Sub-System: Auth → ### 5.1 Context → ### 5.2 FunctionalRIGHT (per-viewpoint — unified across ALL subsystems):
## 3. Architectural Views → ### 3.1 Context View → ### 3.2 Functional ViewConstraint 9: Diagrams MUST Use Mermaid Syntax
You MUST use Mermaid syntax for all architectural diagrams in both view files and AD.md. ASCII box-drawing art (characters like
┌,└,├,│,───,═══) is NOT permitted for architecture diagrams.Accepted Mermaid diagram types:
graph TB/LR— architecture, topology, flow diagramserDiagram— data models and entity relationshipssequenceDiagram— interaction flowsflowchart— process flowsDirectory tree listings (code organization) may use plain
textcode blocks — these are not architectural diagrams.
Objective: Analyze ADRs, detect sub-systems, generate customized DAG, get user approval
Script Action: Run scripts/bash/setup-architect.sh which calls plan-dag internally
{REPO_ROOT}/.adlc/drafts/adr/ (and check {REPO_ROOT}/.adlc/memory/adr/ if drafts is empty){REPO_ROOT}/.adlc/drafts/adr/adr.md or individual ADR files❌ PHASE 1 BLOCKED: No Accepted ADRs
Found: [N] Proposed, [M] Discovered, [0] Accepted
The implement command ONLY processes "Accepted" ADRs.
Run /architect-clarify to approve ADRs before implementation.
ADR Index Table Format:
| ID | Sub-System | Decision | Status | Date | Owner |
|----|------------|----------|--------|------|-------|
| ADR-001 | Core | Microservices architecture | Accepted | 2024-01-15 | @architect |
| ADR-002 | Auth | OAuth2 with PKCE | Accepted | 2024-01-16 | @security |
| ADR-003 | Data | PostgreSQL primary store | Accepted | 2024-01-17 | @data |
For each sub-system, analyze ADRs to detect:
| Characteristic | Detection Pattern | DAG Customization |
|---|---|---|
| Serverless | Lambda, Functions, serverless | Deployment view first |
| Event-driven | Events, messaging, async, Kafka, RabbitMQ | Include Concurrency view |
| Data-intensive | Analytics, ETL, data pipeline | Information view priority |
| API-first | REST, GraphQL, OpenAPI | Functional view priority |
| Multi-region | Global, multi-region, geo | Deployment + Operational |
Default DAG (Core Views):
Context → Functional → Information → Development → Deployment
Extended DAG (All Views):
Context → Functional → Information ──┬─→ Development → Deployment → Operational
└─→ Concurrency ─────────────────┘
DAG Customization Rules:
| Pattern Detected | DAG Modification |
|---|---|
| Serverless | Deployment before Development |
| Event-driven | Add Concurrency after Information |
| Data-intensive | Information has highest priority after Context |
| Microservices | Add Concurrency, expand Functional |
| Monolith | Simplify Functional, skip Concurrency |
Sub-System Count Threshold Enforcement (MANDATORY):
Regardless of any prior approval from /architect-specify, you MUST
apply the following rules before presenting the DAG plan:
| Sub-System Count | Required Action |
|---|---|
| 1–3 | Present plan; auto-approve allowed |
| 4–6 | MUST ask user confirmation — do not proceed without explicit approval |
| >6 | MUST suggest grouping and MUST ask confirmation |
CRITICAL: Approval from
/architect-specify(Phase 0) does NOT substitute for DAG execution plan approval. The user must confirm the per-sub-system DAG plan independently.
Present the execution plan to the user:
## DAG Execution Plan
**Sub-systems detected**: 3
**Total views to generate**: 15 (5 views × 3 sub-systems)
### Sub-system: Core
**ADRs**: ADR-001, ADR-005, ADR-008
**Characteristics**: Microservices, Event-driven
**DAG**: Context → Functional → Information → Concurrency → Development → Deployment
### Sub-system: Auth
**ADRs**: ADR-002, ADR-006
**Characteristics**: API-first
**DAG**: Context → Functional → Information → Development → Deployment
### Sub-system: Data
**ADRs**: ADR-003, ADR-004, ADR-007
**Characteristics**: Data-intensive
**DAG**: Context → Information → Functional → Development → Deployment
---
**Approve this plan?** [Yes/Modify/Cancel]
After user approval, write the execution plan to {REPO_ROOT}/.adlc/architect/state.json:
{
"version": "1.1.0",
"created_at": "2024-01-20T10:30:00Z",
"updated_at": "2024-01-20T10:30:00Z",
"phase": "plan_approved",
"views_mode": "core",
"workflow": {
"clarify_completed": false,
"clarify_completed_at": null,
"adrs_approved_count": 0,
"implement_started": false,
"implement_started_at": null
},
"subsystems": [
{
"id": "core",
"name": "Core",
"adrs": ["ADR-001", "ADR-005", "ADR-008"],
"characteristics": ["microservices", "event-driven"],
"dag": ["context", "functional", "information", "concurrency", "development", "deployment"],
"progress": {
"context": "pending",
"functional": "pending",
"information": "pending",
"concurrency": "pending",
"development": "pending",
"deployment": "pending"
}
},
{
"id": "auth",
"name": "Auth",
"adrs": ["ADR-002", "ADR-006"],
"characteristics": ["api-first"],
"dag": ["context", "functional", "information", "development", "deployment"],
"progress": {
"context": "pending",
"functional": "pending",
"information": "pending",
"development": "pending",
"deployment": "pending"
}
}
],
"perspectives": ["security", "performance"],
"output_file": "AD.md"
}
Objective: Generate views per sub-system following the DAG, with dependency context passing
Script Action: The agent reads state.json and executes views in DAG order
{REPO_ROOT}/.adlc/architect/state.jsonFor each view in the DAG:
dag array in state.json. If absent → mark skipped, do NOT generate,
continue to next view.templates/views/{view}.md{REPO_ROOT}/.adlc/architect/views/{subsystem}/{view}.mdView Generation with Dependency Context:
## Generating: Functional View for "Core" sub-system
**Dependencies loaded**:
- Context View: {REPO_ROOT}/.adlc/architect/views/core/context.md (completed)
**ADRs for this view**: ADR-001 (Microservices), ADR-005 (API Gateway)
**Generating content...**
Each view template contains placeholders to be filled:
| Placeholder | Replacement |
|---|---|
[SUB_SYSTEM_NAME] | Sub-system name from state.json |
[ADR_IDS] | Comma-separated ADR IDs |
[DATE] | Current date (YYYY-MM-DD) |
[ENTITY_N] | Extracted from ADRs |
[COMPONENT_N] | Extracted from ADRs |
Purpose: System scope and external interactions (blackbox view)
Dependencies: None (first in DAG)
Template: templates/views/context.md
Key Content:
Purpose: Internal components, responsibilities, interactions
Dependencies: Context View
Template: templates/views/functional.md
Key Content:
IMPORTANT: After generating the Functional view, execution pauses for user approval. This is the "cornerstone" view that shapes all subsequent views.
Rozanski & Woods: "The Functional view is the cornerstone... It usually drives the shape of other system structures."
Checkpoint Options:
- A: Approve - Continue to remaining views
- B: Modify - Edit functional view, then continue
- C: Restart - Regenerate with feedback
- D: Cancel - Stop execution
If skipping checkpoint (--no-checkpoint flag): Generate without pause but log warning.
Purpose: Data storage, management, and flow
Dependencies: Context View, Functional View
Template: templates/views/information.md
Key Content:
Purpose: Runtime processes, threads, coordination
Dependencies: Functional View, Information View
Template: templates/views/concurrency.md
Condition: Only if --views all or --views concurrency
Key Content:
Purpose: Code organization, dependencies, CI/CD
Dependencies: Functional View
Template: templates/views/development.md
Key Content:
Purpose: Physical environment, nodes, networks
Dependencies: Development View
Template: templates/views/deployment.md
Key Content:
Purpose: Operations, support, maintenance
Dependencies: Deployment View
Template: templates/views/operational.md
Condition: Only if --views all or --views operational
Key Content:
WARNING: Batching state updates (e.g., updating only after all views for a sub-system are complete) violates Constraint 2. Update state.json immediately after each individual view file is written and verified.
After each view is generated:
{
"progress": {
"context": "completed",
"functional": "completed",
"information": "in_progress",
"development": "pending",
"deployment": "pending"
},
"updated_at": "2024-01-20T11:15:00Z"
}
If the agent session is interrupted:
state.json"pending" or "in_progress" status"completed" viewsBefore proceeding to Phase 3, you MUST verify that all expected view files exist on disk:
{REPO_ROOT}/.adlc/architect/views/{subsystem}/{view}.md┌, └, ├, │, ═, ───). If found in any view that
should contain architectural diagrams (context, functional, information,
deployment), flag as a warning and note the file for correction.Verification Checklist (output this table):
| Subsystem | View | File Path | Exists | Readable | Lines | Mermaid OK |
|---|---|---|---|---|---|---|
| {subsystem} | {view} | {path} | ✓/✗ | ✓/✗ | {N} | ✓/⚠ |
Gate Decision:
⚠️ MERMAID WARNING: ASCII box-drawing art detected in:
- {subsystem}/{view}: Convert to Mermaid diagram syntax
Proceeding to Phase 3. Fix ASCII diagrams in next iteration.
❌ PHASE 2→3 GATE BLOCKED
Missing or invalid view files detected:
- {subsystem}/{view}: [reason]
Regenerate missing views before proceeding to Phase 3.
Before finalizing any view file, you MUST validate that all placeholders are filled:
| Pattern | Example | Severity | Action Required |
|---|---|---|---|
[TBD] | [TBD] | CRITICAL | Must be filled before completion |
[STAKEHOLDER_*] | [STAKEHOLDER_1] | CRITICAL | Must be replaced with actual stakeholder names |
[ENTITY_*] | [ENTITY_1] | CRITICAL | Must be replaced with actual entity names |
[COMPONENT_*] | [COMPONENT_1] | CRITICAL | Must be replaced with actual component names |
[SUB_SYSTEM_NAME] | [SUB_SYSTEM_NAME] | CRITICAL | Must be replaced with actual sub-system name |
[ADR_IDS] | [ADR_IDS] | HIGH | Must be replaced with actual ADR references |
[DATE] | [DATE] | MEDIUM | Must be replaced with actual date |
## Placeholder Validation Report
| View | Placeholder | Count | Severity | Status |
|------|-------------|-------|----------|--------|
| context | [STAKEHOLDER_1] | 3 | CRITICAL | ❌ UNFILLED |
| functional | [COMPONENT_1] | 5 | CRITICAL | ❌ UNFILLED |
### Critical Placeholders Unfilled
**❌ VALIDATION FAILED**: Cannot mark views as "completed" with unfilled critical placeholders.
**Required Actions**:
1. Review ADRs for stakeholder names → fill [STAKEHOLDER_*] placeholders
2. Review ADRs for component names → fill [COMPONENT_*] placeholders
3. Re-run view generation with complete information
--force to bypass (emergency only - document all unfilled placeholders)Objective: Aggregate all views, resolve conflicts, generate unified AD.md
Script Action: Run summarize action
CRITICAL: You MUST read each view file from the filesystem using actual file read operations. Do NOT use content from memory or from the ADRs directly. The view files are the SOLE source of truth.
{REPO_ROOT}/.adlc/architect/views/ directory{REPO_ROOT}/.adlc/architect/views/{subsystem}/{view}.md❌ PHASE 3 ERROR: Cannot read view file
File: {path}
Error: {error details}
View files must exist and be readable before AD.md generation.
❌ PHASE 3 ERROR: Invalid view file content
File: {path}
Lines: {count} (minimum 20 required)
View files must have substantial content before AD.md generation.
Directory Structure:
{REPO_ROOT}/.adlc/architect/views/
├── core/
│ ├── context.md
│ ├── functional.md
│ ├── information.md
│ ├── concurrency.md
│ ├── development.md
│ └── deployment.md
├── auth/
│ ├── context.md
│ ├── functional.md
│ ├── information.md
│ ├── development.md
│ └── deployment.md
└── data/
├── context.md
├── functional.md
├── information.md
├── development.md
└── deployment.md
Compare views across sub-systems for:
| Conflict Type | Detection | Resolution |
|---|---|---|
| Naming inconsistency | Same component, different names | Standardize to ADR terminology |
| Technology mismatch | Different tech for same purpose | Defer to relevant ADR |
| Boundary overlap | Components claimed by multiple sub-systems | Use ADR scope definitions |
| Diagram inconsistency | Same entity, different representations | Unify styling |
ADRs are the Source of Truth. When conflicts are detected:
## Conflict Resolution Log
| Conflict | ADR Reference | Resolution |
|----------|---------------|------------|
| Auth component naming | ADR-002 | Standardized to "AuthService" per ADR-002 |
| Database technology | ADR-003 | PostgreSQL confirmed as primary per ADR-003 |
CRITICAL: Viewpoint-Organized Aggregation (Constraint 8)
The AD.md MUST follow the structure below, organized by viewpoint. Each viewpoint section merges content from ALL subsystems into a unified system-level description. Do NOT organize by subsystem -- that structure belongs in the subsystem view files, not in the aggregated AD.md.
For each viewpoint:
- Present a system-level summary that shows how all subsystems relate
- Include a unified Mermaid diagram showing cross-subsystem interactions
- Summarize each subsystem's role within this viewpoint
- Link to subsystem details (if 2+ subsystems, per Step 3.5)
| Viewpoint | How to Aggregate |
|---|---|
| Context | Single system-level blackbox diagram (Mermaid graph). Subsystems appear as internal blocks only if they have independent external interfaces. Merge and deduplicate stakeholder and external entity tables across all subsystems. |
| Functional | Merged component inventory table across all subsystems. Single unified interaction diagram showing cross-subsystem data flows. Use Mermaid subgraph blocks per subsystem to show boundaries. |
| Information | Consolidated ER diagram (Mermaid erDiagram) combining all subsystem entities. Unified data flow showing how data moves across subsystem boundaries (Mermaid flowchart). Deduplicate entity tables. |
| Concurrency | Merged process structure table. Unified sequence/flow diagrams showing cross-subsystem async interactions. |
| Development | Single code organization tree showing all subsystems as top-level directories. Merged build process and CI/CD pipeline tables. Unified technology stack mapping. |
| Deployment | Single deployment topology diagram (Mermaid graph) showing all subsystems in their runtime environments. Merged runtime environments and hardware requirements tables. |
| Operational | Merged operational responsibilities table. Unified monitoring, alerting, and DR strategy across all subsystems. |
Structure of Unified AD.md:
# Architecture Description: [Project Name]
## 1. Document Information
[Version, date, authors, status]
## 2. Architectural Goals & Constraints
[From constitution and constraint ADRs]
## 3. Architectural Views
### 3.1 Context View
[Unified from all sub-system context views]
[Single system-level context diagram]
> **Subsystem Details**: [Core](.adlc/architect/views/core/context.md) | [Auth](.adlc/architect/views/auth/context.md) | [Data](.adlc/architect/views/data/context.md)
### 3.2 Functional View
[Merged functional elements from all sub-systems]
[Unified component diagram]
> **Subsystem Details**: [Core](.adlc/architect/views/core/functional.md) | [Auth](.adlc/architect/views/auth/functional.md) | [Data](.adlc/architect/views/data/functional.md)
### 3.3 Information View
[Consolidated data model]
[Unified ER diagram]
> **Subsystem Details**: [Core](.adlc/architect/views/core/information.md) | [Auth](.adlc/architect/views/auth/information.md) | [Data](.adlc/architect/views/data/information.md)
### 3.4 Concurrency View (if applicable)
[Merged from sub-systems with concurrency]
> **Subsystem Details**: [Core](.adlc/architect/views/core/concurrency.md) | [Auth](.adlc/architect/views/auth/concurrency.md)
### 3.5 Development View
[Unified code organization]
> **Subsystem Details**: [Core](.adlc/architect/views/core/development.md) | [Auth](.adlc/architect/views/auth/development.md) | [Data](.adlc/architect/views/data/development.md)
### 3.6 Deployment View
[Consolidated deployment topology]
> **Subsystem Details**: [Core](.adlc/architect/views/core/deployment.md) | [Auth](.adlc/architect/views/auth/deployment.md) | [Data](.adlc/architect/views/data/deployment.md)
### 3.7 Operational View (if applicable)
[Merged operational concerns]
> **Subsystem Details**: [Core](.adlc/architect/views/core/operational.md) | [Auth](.adlc/architect/views/auth/operational.md)
## 4. Architectural Perspectives
### 4.1 Security Perspective
[Apply security template across all views]
### 4.2 Performance & Scalability Perspective
[Apply performance template across all views]
## 5. Architecture Decision Records Summary
[Index linking to {REPO_ROOT}/.adlc/memory/adr.md]
## 6. Tech Stack Summary
[Consolidated from all ADRs]
Condition: Only generate links if len(state.json.subsystems) > 1
For each view section in AD.md:
Collect subsystem links:
dag array[SubsystemName](.adlc/architect/views/{subsystem-id}/{view}.md)Format link block:
> **Subsystem Details**: [Core](path) | [Auth](path) | [Data](path)
Handle missing views:
dag), skip that subsystem's linkSingle subsystem case:
Example Output (3 subsystems, all have Context view):
### 3.1 Context View
[Unified system-level context]
> **Subsystem Details**: [Core](.adlc/architect/views/core/context.md) | [Auth](.adlc/architect/views/auth/context.md) | [Data](.adlc/architect/views/data/context.md)
Example Output (2 subsystems, only Core has Concurrency):
### 3.4 Concurrency View
[Merged concurrency concerns]
> **Subsystem Details**: [Core](.adlc/architect/views/core/concurrency.md)
Load perspective templates and apply across all views:
templates/perspectives/security.md)templates/perspectives/performance.md)After generating AD.md, perform ALL of the following steps:
Step 1: Filter Accepted ADRs
Step 2: Copy to Canonical Location (MANDATORY)
{REPO_ROOT}/.adlc/memory/adr/Step 3: Clean Up Drafts (MANDATORY)
{REPO_ROOT}/.adlc/drafts/adr/ to {REPO_ROOT}/.adlc/memory/adr/adr.md and adr.md index regenerated for both scopesStep 4: Report Lifecycle Changes (MANDATORY) Output this summary to the user:
📋 ADR Lifecycle Summary:
├── Promoted to memory: [N] Accepted ADRs
├── Remaining in drafts: [M] ADRs (Proposed/Discovered)
├── Duplicates found: [0] ✓
└── Cleanup verified: ✓
If ANY step fails: STOP and fix before marking Phase 3 complete.
## Architecture Description Generated
**Output**: AD.md (project root)
**Views Mode**: [core|all|custom]
**Sub-systems Processed**: N
**Views Generated**:
| Sub-system | Views | Status |
|------------|-------|--------|
| Core | Context, Functional, Information, Concurrency, Development, Deployment | ✓ |
| Auth | Context, Functional, Information, Development, Deployment | ✓ |
| Data | Context, Functional, Information, Development, Deployment | ✓ |
**Perspectives Applied**:
- [x] Security
- [x] Performance & Scalability
**Conflicts Resolved**: M
**ADR Coverage**: X/Y ADRs incorporated
**ADR Lifecycle**:
- Promoted to canonical: N ADRs
- Remaining in drafts: M ADRs
**Recommended Next Steps**:
1. Review generated AD.md for accuracy
2. Run `/architect-analyze` for consistency validation
3. Share with stakeholders for review
4. Run `/architect-analyze` to validate the generated architecture
Before marking state.json phase as "completed", verify ALL outputs:
Run this 10-point verification checklist:
| Check | Expected | Verification Method | Status |
|---|---|---|---|
| 1. View files on disk | N files (one per view per subsystem) | List {REPO_ROOT}/.adlc/architect/views/ | ☐ |
| 2. AD.md exists | Yes, at project root | Check file existence | ☐ |
| 3. AD.md content size | >200 lines | Count lines in AD.md | ☐ |
| 4. AD.md has all views | N sections (## 3.x headers) | Parse AD.md headers | ☐ |
| 5. Memory ADRs promoted | N Accepted ADRs | Count files in {REPO_ROOT}/.adlc/memory/adr/ | ☐ |
| 6. Drafts cleaned | No duplicates | Compare drafts vs memory | ☐ |
| 7. state.json consistent | All views "completed" | Verify progress field | ☐ |
| 8. Subsystem links (if applicable) | Links in AD.md (if 2+ subsystems) | Scan AD.md for "Subsystem Details" | ☐ |
| 9. Viewpoint-organized (Constraint 8) | No ## N. Sub-System: sections | Scan AD.md for per-subsystem top-level headers | ☐ |
| 10. Mermaid diagrams (Constraint 9) | No ASCII box-drawing art | Scan AD.md for ┌, └, ├, ═ characters | ☐ |
Gate Rule:
Output to User:
✅ Architecture Description Generation Complete
Verification Results:
├── View files: [N] generated ✓
├── AD.md: [lines] lines, [sections] views ✓
├── Subsystem links: [N] links (if applicable) ✓
├── Viewpoint-organized: ✓
├── Mermaid diagrams: ✓
├── ADRs promoted: [N] to memory ✓
├── Drafts cleaned: [N] remaining ✓
└── State consistent: ✓
Status: READY FOR USE
Location: {REPO_ROOT}/.adlc/architect/state.json
{
"version": "1.1.0",
"created_at": "ISO8601 timestamp",
"updated_at": "ISO8601 timestamp",
"phase": "planning | plan_approved | executing | summarizing | completed",
"views_mode": "core | all | custom",
"subsystems": [
{
"id": "lowercase-kebab-case",
"name": "Display Name",
"adrs": ["ADR-001", "ADR-002"],
"characteristics": ["microservices", "event-driven"],
"dag": ["context", "functional", "information", "development", "deployment"],
"progress": {
"context": "pending | in_progress | completed | skipped",
"functional": "pending | in_progress | completed | skipped"
}
}
],
"perspectives": ["security", "performance"],
"conflicts_detected": [],
"conflicts_resolved": [],
"output_file": "AD.md"
}
$ARGUMENTS
After implement completes, run /architect-analyze to validate consistency and quality.
{REPO_ROOT}/AD.md with more than 200 lines and all viewpoint sections (## 3.x headers).{REPO_ROOT}/.adlc/architect/views/{subsystem}/{view}.md for every completed view."completed" and the phase is "completed"."Accepted" are copied to {REPO_ROOT}/.adlc/memory/adr.md.{REPO_ROOT}/.adlc/drafts/adr/ to {REPO_ROOT}/.adlc/memory/adr/; no duplicates remain; any remaining drafts are Proposed/Discovered only.## 3. Architectural Views → ### 3.1 Context View, etc.), not by subsystem.┌, └, ├, │, ═, ───) are used for architectural diagrams.[TBD], [STAKEHOLDER_*], [ENTITY_*], [COMPONENT_*], [SUB_SYSTEM_NAME]) remain unfilled in view files.Alternatives
ruvnet/ruflo
Agent skill for workflow-automation - invoke with $agent-workflow-automation
daymade/claude-code-skills
Use it for deployment and documentation tasks; the detail page covers purpose, installation, and practical steps.
huggingface/skills
Build and publish a Gradio demo on Hugging Face Spaces for a user-provided LoRA. Use when someone asks to create, generate, ship, or publish a Space, demo, Gradio app, or playground for a LoRA — including LoRAs for Qwen-Image, Qwen-Image-Edit, LTX-Video, Wan, FLUX, SDXL, or other diffusion base models. Also triggers when someone describes a LoRA they trained or hosts on the Hub and wants to share it. Covers picking the right base pipeline and `diffusers` inference recipe, designing a UI tailored
ffroliva/gflow-cli
Multi-dimensional LLM council review of an open PR (default) or a local feature branch (§ 8 branch mode, invoked via `/gflow:branch-review`). Five baseline dimensions (correctness, quality, security, tests, memory-hygiene) plus adaptive dimensions per surface (transports / data / CLI / docs / auth / BDD / scripts / release-gate). Each agent invokes specialized skills (security-review, code-review, verify) for its dimension. Reads files via `git show <sha>:<path>` to avoid stale-working-tree fals