oma-architecture
Architecture specialist for software/system design, module and service boundaries, tradeoff analysis, and stakeholder synthesis. Uses context-aware methods such as diagnostic routing, design-twice comparison, ATAM-style risk analysis, CBAM-style prioritization, and ADR-style decision records.
- License 许可
- MIT
- 最近更新
- 2026-11-12
- Stars
- ★ 1
- Forks
- 0
01 前言 Front Matter
- name
- oma-architecture
- description
- Architecture specialist for software/system design, module and service boundaries, tradeoff analysis, and stakeholder synthesis. Uses context-aware methods such as diagnostic routing, design-twice comparison, ATAM-style risk analysis, CBAM-style prioritization, and ADR-style decision records.
02 资源文件 7
- 参考文档resources/api-evolution.md4.1 KB
- 参考文档resources/checklist.md1.7 KB
- 参考文档resources/execution-protocol.md5.2 KB
- 参考文档resources/methodology-selection.md2.6 KB
- 参考文档resources/migration-patterns.md2.8 KB
- 参考文档resources/output-templates.md2.1 KB
- 参考文档resources/stakeholder-synthesis.md2.4 KB
03 SKILL.md 正文
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.
- User needs an API versioning, deprecation, or published-contract evolution strategy.
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
- Deciding API versioning, deprecation windows, and published-contract evolution strategy
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
- A Mermaid context/container diagram when the decision changes structure (boundaries, dependencies, data flow)
- When
oma diagram resolvereportsengine: archify(the normal case — oma auto-fetches the latest archify release), an interactive sibling<artifact-stem>.archify.json+.archify.htmlderived from that Mermaid (see_shared/conditional/diagram-engine.md) - 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: false
- name: architecture-diagram-html
description: archify interactive HTML diagram (+ JSON spec) next to the Markdown artifact; only when the archify engine resolves and the decision is structural
artifact: ".agents/results/architecture/*.archify.html"
required: false
Dependencies
resources/execution-protocol.mdfor workflowresources/methodology-selection.mdfor method choiceresources/stakeholder-synthesis.mdwhen cross-cutting stakeholder consultation is justifiedresources/output-templates.mdfor final artifact shapesresources/api-evolution.mdfor published-contract versioning/deprecation decisions (MAP evolution patterns)resources/migration-patterns.mdfor transition plans when the chosen architecture requires restructuring a live system_shared/conditional/diagram-engine.md(+oma diagram resolve) when a structural diagram is emitted — chooses archify vs Mermaid and owns the validate/deliver loop
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
- Identify the architecture problem, decision, or pain signal.
- Gather existing constraints, source evidence, and stakeholder context.
- Read prior decisions in
.agents/results/architecture/— new decisions supersede old ones explicitly, never contradict them silently. - Select the lightest sufficient method.
Scenes
- PREPARE: Clarify scope, quality attributes, constraints, and artifact target.
- ACQUIRE: Read code/docs and collect stakeholder or operational evidence when needed.
- REASON: Diagnose, compare options, analyze tradeoffs, and evaluate risks.
- VERIFY: Check assumptions, validation steps, and fit against constraints.
- 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
Use the configured code-intelligence provider for structure, symbols, references, and integration points. If unavailable, use native search and scoped reads:
ls .agents/results/architecture/ # prior decisions — read before deciding
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
- Diagnose the architecture problem before selecting a method.
- Use the lightest sufficient methodology for the current decision.
- Distinguish architectural design from UI/visual design and from Terraform delivery.
- Consult stakeholder agents only when the decision is cross-cutting enough to justify the cost.
- Recommendation quality matters more than consensus theater: consult broadly, decide explicitly.
- Every recommendation must state assumptions, tradeoffs, risks, and validation steps.
- Be cost-aware by default: implementation cost, operational cost, team complexity, and future change cost.
- When a decision is material, compare at least two genuinely different options before recommending one.
- Save architecture artifacts to
.agents/results/architecture/. - Read prior artifacts in
.agents/results/architecture/before deciding; when replacing an old decision, mark it superseded rather than contradicting it. - When a durable artifact is finalized, emit the
architecture.adr-completeL1 decision event and verify the checkpoint (commands inresources/execution-protocol.mdStep 7).
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
-
Local code tools:
../_shared/core/code-intelligence.md(code search/navigation) -
Execution steps (follow for the selected task):
resources/execution-protocol.md -
Checklist (run before handoff):
resources/checklist.md -
Method selection:
resources/methodology-selection.md -
Stakeholder protocol:
resources/stakeholder-synthesis.md -
Output templates:
resources/output-templates.md -
API evolution patterns (versioning, deprecation, lifecycle guarantees):
resources/api-evolution.md -
Migration/transition patterns (strangler fig, branch by abstraction, expand-contract):
resources/migration-patterns.md -
Context loading:
../_shared/core/context-loading.md -
Difficulty guide:
../_shared/core/difficulty-guide.md -
Clarification protocol:
../_shared/core/clarification-protocol.md -
Quality principles:
../_shared/core/quality-principles.md
04 同仓库更多 Skills
type-strictness
Enforce strict type compliance by eliminating `Any` types and `# type: ignore` comments. Use when: (1) Editing code that contains `Any` as a type annotation (2) Code has `# type: ignore` or `# pyright: ignore` comments (3) User requests type fixes or type strictness enforcement (4) Importing from untyped third-party libraries (5) User asks to "fix types", "remove Any", or "add proper typing" (6) Pyrefly or mypy reports type errors that need resolution (7) Code review reveals weak typing patterns Follows hierarchical resolution: codebase inference → type stubs → library inspection → type guards → casting (last resort).
slopgate-test-extender
Extend Python test suites with parametrization, fixture reuse, and quality enforcement. Use when asked to add tests, extend existing tests, improve test coverage, consolidate duplicate tests, fix test quality issues, or when Slopgate reports untested-production-code, missing test references, or coverage gaps. Triggers on requests like "add tests for X", "extend these tests", "parametrize tests", "consolidate tests", "fix test quality", "improve test coverage", "write tests for this function", "test this module", "behavior tests", "integration tests", "missing tests", "coverage holes", "untested code", or when a hook denies with test-related findings.
slopgate-intelligent-coding-patterns
Pattern-selection playbook for agents editing code with complex branching, stateful parsers/workflows, duplicated skeletons, policy checks, or ordered transforms. Load before refactoring if/elif dispatch chains, boolean-flag state machines, repeated validation predicates, parallel provider/language implementations, or regex/content transformation pipelines. Also load when asked to "apply a design pattern", "which pattern should I use here", "refactor this switch statement", "replace if-elif chain", "state machine pattern", "strategy pattern", "template method", "pipeline pattern", "specification pattern", "dispatch table", "guard clause refactor", "reduce cyclomatic complexity", or when Slopgate fires PY-CODE-014, PY-CODE-017, PY-CODE-018, QUALITY-LINT-001, or PY-QUALITY-010. Use with behavior-locking tests and avoid pattern theater for simple one-off code.
slopgate-hygiene-orchestrator
Orchestrate systematic elimination of linter warnings and errors across Python, TypeScript, and Rust codebases. Use when asked to "clean up lints", "fix all warnings", "run hygiene", "eliminate type errors", "orchestrate code quality fixes", "fix lint errors", "resolve quality gate failures", "pass CI checks", "reduce tech debt", "refactor to pass hooks", or when a Slopgate hook denies with QUALITY-LINT-001, PY-CODE-017, PY-CODE-018, or any collector finding. This skill coordinates multiple code-hygiene-enforcer agents working in parallel on non-conflicting file groupings, tracks progress persistently via JSON exports, and loops until all issues are resolved. CRITICAL: Never run linters directly—always use `slopgate lint check` as the primary gate, discover project-specific tools from config files, and export findings to JSON for tracking.
slopgate-code-smell-utility-locator
Autoactivate when code-smell hooks or reviews mention feature envy, thin wrappers, duplicate helpers, duplicate code, scattered helpers, builders/factories/config/constants/dataclass reuse, PY-CODE-012, PY-CODE-013, QUALITY-LINT-001, or repeated slopgate code-quality denials. Also load when asked to "find existing helpers", "consolidate utilities", "search for duplicate code", "where is this already implemented", "reuse existing logic", "don't duplicate this", "find similar functions", "utility inventory", "code smell radar", or before adding new helpers/wrappers so agents can find existing shared utilities and consolidate instead of duplicating.
slopgate-code-hygiene-refactor
Recovery playbook for Slopgate and project quality failures. Load after hook/lint denials such as PY-CODE-017 flat sibling modules, PY-CODE-018 oversized modules, QUALITY-LINT-001 post-edit quality backstops, PY-QUALITY-010 magic numbers / repeated literals, PY-CODE-012/PY-CODE-013 smell findings, type-suppression bans, duplicate helpers, or repeated hygiene retry loops. Also load when asked to "refactor this module", "split this file", "extract a class", "reduce complexity", "fix god class", "flatten module hierarchy", "move code to a package", "extract helpers", "consolidate duplicates", "replace magic numbers with constants", or when a hook blocks an edit with structural complaints. Focuses on preserving public APIs while refactoring toward packages, cohesive modules, typed seams, and focused tests.