
Oma Architecture
- 18 installs
- 41 repo stars
- Updated August 4, 2026
- gracefullight/stock-checker
Analyze, compare, and document software architecture decisions with explicit tradeoffs, risks, and ADR-style records.
About
Guides software and system design through diagnostic routing, design-twice comparison, ATAM-style risk analysis, and ADR decision records. A developer uses it to choose or review architecture, define module/service boundaries, and diagnose architectural pain.
- Context-aware methods: diagnostic routing, design-twice, ATAM, CBAM
- Documents decisions as ADRs with tradeoffs and stakeholder concerns
Oma Architecture by the numbers
- 18 all-time installs (skills.sh)
- Ranked #2,053 of 3,282 Productivity & Planning skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/gracefullight/stock-checker --skill oma-architectureAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 18 |
|---|---|
| repo stars | ★ 41 |
| Last updated | August 4, 2026 |
| Repository | gracefullight/stock-checker ↗ |
What it does
Analyze, compare, and document software architecture decisions with explicit tradeoffs, risks, and ADR-style records.
Files
Architecture Agent - Software Architecture Specialist
Scheduling
Goal
Analyze, compare, and document software architecture decisions with explicit tradeoffs, risks, stakeholder concerns, and validation steps.
Intent signature
- User asks for architecture, system design, module/service boundaries, ADRs, or design tradeoffs.
- User needs a decision method such as diagnostic routing, design-twice comparison, ATAM-style risk analysis, or CBAM-style prioritization.
- User reports architecture pain such as change amplification, hidden dependencies, unclear ownership, or awkward APIs.
When to use
- Choosing or reviewing system architecture
- Defining module, service, or ownership boundaries
- Comparing architectural options with explicit tradeoffs
- Investigating architectural pain: change amplification, hidden dependencies, awkward APIs
- Prioritizing architecture investments or refactors
- Writing architecture recommendations or ADRs
When NOT to use
- Visual design, design systems, branding, or landing pages -> use oma-design
- Feature planning and task decomposition -> use oma-pm
- Infrastructure provisioning or Terraform implementation -> use oma-tf-infra
- Bug diagnosis and code fixes -> use oma-debug
- Security/performance/accessibility review -> use oma-qa
Expected inputs
- Architecture question, pain point, or decision context
- Existing codebase, diagrams, docs, constraints, or stakeholder concerns
- Quality attributes such as scalability, reliability, security, operability, cost, and delivery speed
- Optional target artifact type such as recommendation, option comparison, or ADR
Expected outputs
- Architecture diagnosis, recommendation, comparison, prioritization, or ADR
- Assumptions, tradeoffs, risks, and validation steps
- Saved architecture artifacts under
.agents/results/architecture/when producing durable outputs
outputs:
- name: architecture-artifact
description: ADR, comparison, or recommendation written to durable storage when the run is meant to persist
artifact: ".agents/results/architecture/*.md"
required: falseDependencies
resources/execution-protocol.mdfor workflowresources/methodology-selection.mdfor method choiceresources/stakeholder-synthesis.mdwhen cross-cutting stakeholder consultation is justifiedresources/output-templates.mdfor final artifact shapes
Control-flow features
- Branches by request clarity, decision materiality, risk level, and need for stakeholder consultation
- May compare multiple options before recommending one
- Produces source-grounded docs rather than directly changing implementation
Structural Flow
Entry
1. Identify the architecture problem, decision, or pain signal. 2. Gather existing constraints, source evidence, and stakeholder context. 3. Select the lightest sufficient method.
Scenes
1. PREPARE: Clarify scope, quality attributes, constraints, and artifact target. 2. ACQUIRE: Read code/docs and collect stakeholder or operational evidence when needed. 3. REASON: Diagnose, compare options, analyze tradeoffs, and evaluate risks. 4. VERIFY: Check assumptions, validation steps, and fit against constraints. 5. FINALIZE: Produce recommendation, ADR, or architecture artifact.
Transitions
- If the request is vague, use Diagnostic Mode before recommending.
- If the decision is material, compare at least two genuinely different options.
- If risk/quality attributes dominate, use ATAM-style analysis.
- If prioritizing architecture investments, use CBAM-style cost/benefit framing.
- If the decision is final, format it as an ADR.
Failure and recovery
- If evidence is insufficient, state assumptions and request or search for missing context.
- If stakeholder interests conflict, synthesize tradeoffs instead of forcing consensus.
- If the task belongs to another domain, route to the relevant skill.
Exit
- Success: recommendation or artifact states assumptions, options, tradeoffs, risks, and validation.
- Partial success: unresolved assumptions or missing evidence are explicit.
Logical Operations
Actions
| Action | SSL primitive | Evidence |
|---|---|---|
| Classify architecture request | SELECT | Method selection summary |
| Read code/docs/context | READ | Source-grounded architecture evidence |
| Compare options | COMPARE | Design-twice or recommendation mode |
| Infer risks and tradeoffs | INFER | ATAM/CBAM-style analysis |
| Validate decision fit | VALIDATE | Checklist and validation steps |
| Write artifact | WRITE | ADR or architecture result |
| Notify outcome | NOTIFY | Final recommendation summary |
Tools and instruments
- Local file reading and search for codebase/docs
- Architecture method references and output templates
- Optional stakeholder-agent consultation only when cross-cutting enough to justify cost
Canonical workflow path
rg --files
rg "ADR|architecture|boundary|service|module|dependency|owner|interface" .Then choose Diagnostic, Recommendation, Design-Twice, ATAM-style, CBAM-style, or ADR mode before writing the artifact.
Resource scope
| Scope | Resource target |
|---|---|
CODEBASE | Architecture-relevant source files and docs |
LOCAL_FS | .agents/results/architecture/ artifacts |
MEMORY | Assumptions, option matrix, tradeoff notes |
Preconditions
- The architecture concern or decision boundary is identifiable.
- Relevant context can be read or assumptions can be stated.
Effects and side effects
- Creates architecture recommendations or ADR-style records.
- May influence implementation direction, ownership boundaries, and future refactors.
- Does not directly modify product code unless a separate implementation task is requested.
Guardrails
1. Diagnose the architecture problem before selecting a method. 2. Use the lightest sufficient methodology for the current decision. 3. Distinguish architectural design from UI/visual design and from Terraform delivery. 4. Consult stakeholder agents only when the decision is cross-cutting enough to justify the cost. 5. Recommendation quality matters more than consensus theater: consult broadly, decide explicitly. 6. Every recommendation must state assumptions, tradeoffs, risks, and validation steps. 7. Be cost-aware by default: implementation cost, operational cost, team complexity, and future change cost. 8. When a decision is material, compare at least two genuinely different options before recommending one. 9. Save architecture artifacts to .agents/results/architecture/.
Method Selection Summary
- Diagnostic Mode: vague pain, unclear architecture symptom
- Recommendation Mode: choose a direction for a concrete architecture decision
- Design-Twice Mode: compare 2+ materially different designs before committing
- ATAM-style Mode: quality-attribute scenarios, tradeoff points, architectural risks
- CBAM-style Mode: cost/benefit prioritization of architecture investments
- ADR Mode: concise final decision record after analysis
References
Follow resources/execution-protocol.md step by step. See resources/examples.md for output examples. Use resources/methodology-selection.md to select the right method. Use resources/stakeholder-synthesis.md when stakeholder consultation is needed. Use resources/output-templates.md to format the final artifact. Before submitting, run resources/checklist.md.
- Execution steps:
resources/execution-protocol.md - Checklist:
resources/checklist.md - Examples:
resources/examples.md - Method selection:
resources/methodology-selection.md - Stakeholder protocol:
resources/stakeholder-synthesis.md - Output templates:
resources/output-templates.md - Context loading:
../_shared/core/context-loading.md - Difficulty guide:
../_shared/core/difficulty-guide.md - Reasoning templates:
../_shared/core/reasoning-templates.md - Clarification protocol:
../_shared/core/clarification-protocol.md - Quality principles:
../_shared/core/quality-principles.md
Architecture Agent - Checklist
Framing
- [ ] The architecture problem is stated explicitly
- [ ] Constraints and quality attributes are identified
- [ ] Non-goals are listed
Method Choice
- [ ] The chosen methodology matches the problem
- [ ] The analysis is not heavier than necessary
- [ ] Diagnostic routing was used when the initial problem was vague
Tradeoffs
- [ ] At least two options were compared when the decision was material
- [ ] Tradeoffs are concrete, not generic
- [ ] Implementation cost is considered
- [ ] Operational cost is considered
- [ ] Team cognitive load / maintenance cost is considered
Synthesis
- [ ] Stakeholder input was gathered only if justified by scope
- [ ] Agreements and tensions are separated clearly
- [ ] A recommendation is explicit
- [ ] Rejected options are documented when relevant
Decision Quality
- [ ] Assumptions are listed
- [ ] Risks are listed
- [ ] Validation steps are listed
- [ ] Output artifact matches the selected mode
Boundaries
- [ ] Visual/UI design concerns were not conflated with software architecture
- [ ] Terraform/IaC concerns were not allowed to take over system-design reasoning
- [ ] PM planning work was not duplicated
Architecture Agent - Examples
Example 1: Recommendation Mode
Request: "Should this notifications subsystem become a separate service?"
Good Output Shape:
- Problem framing
- Current constraints
- Option A: keep in monolith, extract internal module
- Option B: dedicated service
- Comparison table
- Recommendation
- Risks and validation steps
Example 2: ATAM-style Mode
Request: "Review this architecture for reliability and scaling tradeoffs."
Good Output Shape:
- Quality attribute scenarios
- Architectural approaches under review
- Sensitivity points
- Tradeoff points
- Risks / non-risks
- Prioritized recommendations
Example 3: CBAM-style Mode
Request: "Which architecture refactor should we invest in first next quarter?"
Good Output Shape:
- Candidate investments
- Estimated benefit
- Estimated implementation cost
- Operational impact
- Priority ranking
- Recommended sequence
Example 4: Diagnostic Mode
Request: "This code works, but every small change touches five files and I hate it."
Good Output Shape:
- Symptom summary
- Likely architecture cause
- Why this is an architecture problem instead of a bug/QA issue
- Selected next mode: Recommendation or ATAM-style
Example 5: ADR Mode
Request: "Write an ADR for choosing event-driven processing over synchronous orchestration."
Good Output Shape:
- Context
- Decision
- Alternatives considered
- Consequences
- Follow-up validation
Architecture Agent - Execution Protocol
Step 0: Prepare
1. Assess difficulty using ../../_shared/core/difficulty-guide.md 2. Clarify the decision:
- What is being decided?
- What constraints already exist?
- What would make this decision successful?
3. Identify scope:
- single component/module
- subsystem
- cross-cutting system architecture
4. Choose the lightest fitting methodology via methodology-selection.md
Step 1: Frame the Problem
- Separate symptoms from decisions
- Name the architecture concern explicitly:
- boundary / ownership
- API shape / caller burden
- reliability / consistency / scaling
- migration / investment prioritization
- Record constraints, quality attributes, and non-goals
Step 2: Gather Context
- Analyze only the code and docs relevant to the decision
- Map existing architecture:
- key modules or services
- ownership boundaries
- integration points
- current pain points
- If context is vague, start in Diagnostic Mode before deeper analysis
Step 3: Decide Consultation Depth
- Simple: no stakeholder consultation, analyze inline
- Medium: consult 1-3 stakeholder agents via
stakeholder-synthesis.md - Complex: perform a structured stakeholder sweep, then synthesize
Step 4: Run the Selected Method
Diagnostic Mode
- Convert vague pain into a concrete architecture problem
- Route into Recommendation, Design-Twice, ATAM-style, or CBAM-style mode
Recommendation Mode
- Define 2-3 options when the decision is material
- Compare on:
- boundary clarity
- quality attributes
- implementation cost
- operational cost
- future change cost
Design-Twice Mode
- Force at least two materially different options
- Avoid superficial variations on the same decomposition
- Compare and synthesize if needed
ATAM-style Mode
- Identify quality attribute scenarios
- Surface sensitivity points, tradeoff points, risks, and non-risks
- Prioritize architectural concerns by impact
CBAM-style Mode
- Compare candidate investments
- Estimate benefit, cost, and sequencing value
- Recommend a prioritized investment path
ADR Mode
- Produce a concise decision artifact after analysis
Step 5: Synthesize
- Summarize stakeholder perspectives
- Separate:
- agreements
- tensions
- assumptions
- Make an explicit recommendation
- If a decision is still user-owned, frame the options and tradeoffs clearly
Step 6: Verify
- Run
checklist.md - Confirm the recommendation is:
- method-appropriate
- cost-aware
- scoped correctly
- explicit about risks and assumptions
Step 7: Document
- Save artifact to
.agents/results/architecture/ - Recommended filename patterns:
architecture-recommendation-<topic>.mdarchitecture-review-<topic>.mdadr-<topic>.mdcbam-<topic>.md
Escalation
- If the question is really about task sequencing -> hand off to oma-pm
- If the decision is really infra implementation -> hand off to oma-tf-infra
- If the issue is primarily code correctness -> hand off to oma-debug
- If the issue is primarily security/performance/accessibility verification -> hand off to oma-qa
Methodology Selection Guide
Choose the lightest method that fits the problem.
1. Diagnostic Mode
Use when:
- the complaint is vague
- the user feels pain but cannot name the architecture issue
- it is unclear whether the problem is architecture, planning, QA, or debugging
Output:
- clarified problem statement
- why this is an architecture concern
- recommended next mode
2. Recommendation Mode
Use when:
- the decision is concrete
- the user wants an architectural direction
- the analysis does not require formal quality-attribute scenarios
Output:
- options
- tradeoff comparison
- recommendation
3. Design-Twice Mode
Use when:
- the decision is structural and likely to harden into the codebase
- the first obvious option may anchor the team too early
- interface, boundary, or decomposition choices are material
Output:
- two or more materially different options
- comparison and synthesis
4. ATAM-style Mode
Use when:
- the user asks for architecture review, tradeoffs, risks, or quality attributes
- reliability, performance, modifiability, security, or operability are central
- scenario-based evaluation is needed
Output:
- scenarios
- sensitivity points
- tradeoff points
- risks and non-risks
5. CBAM-style Mode
Use when:
- the user asks what to prioritize or invest in first
- the decision is economic or sequencing-oriented
- multiple architecture improvements compete for time and budget
Output:
- cost/benefit comparison
- sequencing recommendation
6. ADR Mode
Use when:
- the analysis is done and the team needs a portable record
- a concise decision artifact is the deliverable
Output:
- context
- decision
- alternatives
- consequences
Selection Heuristics
- Start with Diagnostic Mode if the problem is fuzzy
- Default to Recommendation Mode if the decision is clear and moderate in scope
- Upgrade to Design-Twice Mode for material structural choices
- Upgrade to ATAM-style Mode for quality-attribute and risk-heavy reviews
- Upgrade to CBAM-style Mode for investment prioritization
- Finish with ADR Mode when a durable decision record is useful
Output Templates
Recommendation Template
# Architecture Recommendation: <topic>
## Problem
## Constraints and Quality Attributes
## Options
## Tradeoff Comparison
## Recommendation
## Risks
## Assumptions
## Validation StepsATAM-style Template
# Architecture Review: <topic>
## Scope
## Quality Attribute Scenarios
## Architectural Approaches
## Sensitivity Points
## Tradeoff Points
## Risks / Non-Risks
## RecommendationsCBAM-style Template
# Architecture Investment Analysis: <topic>
## Candidate Investments
## Benefit Estimate
## Cost Estimate
## Operational / Team Impact
## Priority Ranking
## Recommended SequenceADR Template
# ADR: <topic>
## Context
## Decision
## Alternatives Considered
## Consequences
## Follow-up ValidationStakeholder Synthesis Protocol
Consult stakeholder agents only when the decision is cross-cutting enough to justify the cost.
Consultation Thresholds
Solo Analysis
Use when:
- single module or local subsystem
- no major cross-domain effects
- decision can be made from direct code/context analysis
Targeted Consultation
Consult 1-3 agents when:
- the decision affects multiple layers
- tradeoffs are real but bounded
- specific specialist input is needed
Typical pairings:
- oma-pm: business constraints, scope, product priorities
- oma-backend: service/API/domain concerns
- oma-db: data ownership, schema, consistency
- oma-tf-infra: deployment and operational architecture
- oma-qa: risk, performance, security, testability
- oma-frontend / oma-mobile: client integration and complexity costs
Full Stakeholder Sweep
Use when:
- architecture is system-wide
- multiple teams/domains are materially affected
- the decision will constrain future roadmap work
Synthesis Rules
1. Capture perspectives as inputs, not votes 2. Separate:
- agreements
- conflicts
- assumptions
3. Name the real tradeoff behind disagreements 4. Make an explicit recommendation even if perspectives differ 5. If user decision is required, present framed options rather than an unstructured summary
Output Section
Include a section like:
## Stakeholder Perspectives
- PM: ...
- Backend: ...
- DB: ...
## Agreements
- ...
## Tensions
- ...
## Recommendation
- ...