Source profileQuality 98/100Review permissions

magnus919/agent-skills/software-architecture-analysis/SKILL.md

software-architecture-analysis

Use this skill to reverse-engineer an existing software system, map its architecture, data flow, privacy posture, coupling, quality characteristics, and feature surface, then produce an evidence-grounded clean-room design document, PRD, or migration plan under new constraints. Use for codebase archaeology, implicit contract extraction, architecture health assessment, or decomposition-readiness analysis. Do not use for greenfield architecture design, direct code review, bug hunting, security audi

Source repository stars
58
Declared platforms
0
Static risk flags
3
Last source update
2026-08-24
Source checked
2026-08-25

Decision brief

What it does: where it fits

Use this skill to reverse-engineer an existing software system, map its architecture, data flow, privacy posture, coupling, quality characteristics, and feature surface, then produce an evidence-grounded clean-room design document, PRD, or migration plan under new constraints. Use for codebase archaeology, implicit contract extraction, architecture health a…

Best for

  • A reference implementation exists and you need to understand its architecture for design inspiration
  • You need a PRD, design document, or specification for a system in the same problem space
  • The output must be clean-room: zero source code samples copied from the reference codebase

Not for

  • Do not use for greenfield architecture design, direct code review, bug hunting, security audi

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/magnus919/agent-skills --skill "software-architecture-analysis"
Safe inspection promptEditorial

Inspect the Agent Skill "software-architecture-analysis" from https://github.com/magnus919/agent-skills/blob/e10508b034c61e1ca608e6b089abe7c93d3cbf8c/software-architecture-analysis/SKILL.md at commit e10508b034c61e1ca608e6b089abe7c93d3cbf8c. 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

What the source asks the agent to do

  1. 01

    Build Workflow

    Review the “Build Workflow” section in the pinned source before continuing.

    Review and apply the “Build Workflow” source section.
  2. 02

    Phase 1: Repository Cloning and Structure Mapping

    Clone the target repository with a shallow clone:

    What language/framework it usesWhether it's frontend, backend, service, firmware, or supportWhether it's a core component (business logic) or support (CI, docs, tooling)
  3. 03

    Phase 2: Identify Key Architectural Files

    Sort by line count to find the heaviest files — these carry the core logic:

    Entry points: main, App, bootstrap — how the app bootsData models: types that flow through the systemCore services: capture, processing, storage pipelines
  4. 04

    Phase 3: Architecture Mapping

    For each core service, identify:

    What it captures: data type, source, frequency, storage locationWhere it processes: local vs cloud, which APIs/services are calledWhere it stores: local database, cloud database, file system
  5. 05

    Phase 3b: Interface Extraction Pattern (DAO/Provider Contract Design)

    When the goal is to extract an implicit contract — what operations does this codebase need from its database or storage layer? — follow this variant:

    Dual-write patterns (same data to two tables for different query paths)Dimension-mismatch detection and fallback chainsFull-table loads into numpy/scipy for operations a native substrate would support

Permission review

Static risk signals and limitations

Network access

medium · line 30

The documentation includes network, browsing, or remote request actions.

git clone --depth=1 https://github.com/owner/repo /tmp/target-repo

Runs scripts

medium · line 30

The documentation asks the agent to run terminal commands or scripts.

git clone --depth=1 https://github.com/owner/repo /tmp/target-repo

Reads files

low · line 122

The documentation asks the agent to read local files, directories, or repositories.

Read every file that touches the storage layer (database, filesystem, external service). For each file, list every distinct operation:

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score98/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars58SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
magnus919/agent-skills
Skill path
software-architecture-analysis/SKILL.md
Commit
e10508b034c61e1ca608e6b089abe7c93d3cbf8c
License
MIT
Collected
2026-08-25
Default branch
main
View the original SKILL.md

Software Architecture Analysis — Codebase Reverse Engineering to Design Document

When to Use

  • A reference implementation exists and you need to understand its architecture for design inspiration
  • You need a PRD, design document, or specification for a system in the same problem space
  • The output must be clean-room: zero source code samples copied from the reference codebase
  • You're designing a system with different architectural constraints (local-first, privacy-first, self-hosted) than the reference
  • You need to extract an implicit contract — the storage operations a codebase performs — to design a formal provider abstraction
  • You need to assess architecture health, coupling, modularity, data ownership, distributed workflows, or readiness for a boundary change from repository evidence

Don't use for: Greenfield or proactive architecture design (route to software-architecture), direct code review, bug hunting, or security auditing. Route API/interface semantics to api-design-and-evolution, data-platform strategy to data-architect, implementation to the relevant engineering skill, deployment substrate to platform-engineering, and execution of an approved cross-system migration to migration-engineering.

Build Workflow

Phase 1: Clone + Map  →  Phase 2: Find Key Files  →  Phase 3: Map Architecture
                                                              ↓
Phase 6: Constraint Redesign  ←  Phase 5: Write Spec  ←  Phase 4: Feature Inventory
                                                              ↓
                                                      Phase 7: QA

Phase 1: Repository Cloning and Structure Mapping

Clone the target repository with a shallow clone:

git clone --depth=1 https://github.com/owner/repo /tmp/target-repo

Map the top-level directory structure. For each directory, identify:

  • What language/framework it uses
  • Whether it's frontend, backend, service, firmware, or support
  • Whether it's a core component (business logic) or support (CI, docs, tooling)
ls -la /tmp/target-repo/
find /tmp/target-repo -type f -name "*.swift" | sort   # or *.py, *.rs, *.ts, *.go

Phase 2: Identify Key Architectural Files

Sort by line count to find the heaviest files — these carry the core logic:

wc -l /tmp/target-repo/**/*.swift /tmp/target-repo/**/**/*.swift 2>/dev/null | sort -n

Read the top 15-25 files, prioritized in this order:

  1. Entry points: main, App, bootstrap — how the app boots
  2. Data models: types that flow through the system
  3. Core services: capture, processing, storage pipelines
  4. UI/page files: feature surface from the user's perspective
  5. Configuration: env files, config structs — external dependencies
  6. Privacy-sensitive files: any service accessing user data

Phase 3: Architecture Mapping

For each core service, identify:

  • What it captures: data type, source, frequency, storage location
  • Where it processes: local vs cloud, which APIs/services are called
  • Where it stores: local database, cloud database, file system
  • External dependencies: every third-party service, API key, cloud provider
  • Privacy profile: what data leaves the machine, under what conditions

Build diagrams using Mermaid syntax (renders natively in GitHub and most markdown editors):

graph TD
    subgraph Capture["Capture Layer"]
        CAM[Camera/Mic Capture]
        FS[File Scanner]
    end

    subgraph Processing["Processing Layer"]
        OCR[OCR/NLP]
        STT[Speech-to-Text]
    end

    subgraph Storage["Storage Layer"]
        DB[(Local Database)]
        CLOUD[(Cloud Sync)]
    end

    CAM --> OCR
    FS --> OCR
    STT --> DB
    OCR --> DB
    DB --> CLOUD

    style Capture fill:#0a1a2e,stroke:#22d3ee
    style Processing fill:#0a2a1a,stroke:#34d399
    style Storage fill:#1a0a3a,stroke:#a78bfa

Use subgraphs for cloud/local boundaries. All diagram code blocks MUST use ```mermaid — never ASCII box drawing, never image files.

Architecture evidence lenses

After the initial map, load only the references needed by the question:

Treat every claim as observed, inferred, reported, or unknown. Cite the artifact, trace, configuration, test, metric, or interview evidence that supports it. Do not turn a missing observation into a defect without labeling the uncertainty.

Phase 3b: Interface Extraction Pattern (DAO/Provider Contract Design)

When the goal is to extract an implicit contract — what operations does this codebase need from its database or storage layer? — follow this variant:

Step 1 — Read the philosophy first

Before touching code, read any PHILOSOPHY.md, DESIGN.md, ARCHITECTURE.md, or main README. These contain the design constraints the interface must respect. For example, the cashew thought-graph library's PHILOSOPHY.md says "dumb graph, smart reasoning layer" — edges carry no type labels, node types are descriptive hints for the LLM, not load-bearing for graph engine operations. That constraint must be baked into the contract.

Step 2 — Catalog every storage operation

Read every file that touches the storage layer (database, filesystem, external service). For each file, list every distinct operation:

CategoryExample Operations
Node CRUDcreate, read, update, delete, scan, count
Edge CRUDcreate_edge, get_neighbors, delete_incident
Vector KNNfind_similar, set_embedding, delete_embedding
Graph Traversalbfs, shortest_path, trace_derivation
Maintenancesimilarity_candidates, random_sample, get_metrics
Transactionsbegin, commit, rollback

Target files by naming convention: db.py, store.py, storage.py, embedding.py, session.py, persist.py, and any batch/maintenance modules.

Step 3 — Identify workarounds that signal boundary leaks

The code that exists because of substrate limitations rather than application logic. Signals:

  • Dual-write patterns (same data to two tables for different query paths)
  • Dimension-mismatch detection and fallback chains
  • Full-table loads into numpy/scipy for operations a native substrate would support
  • Recursive CTEs that reimplement graph traversal in SQL
  • try/except switching between fast and fallback paths
  • Comments like "needed because X doesn't support Y natively"

These workarounds are the cost of the current boundary being in the wrong place. They are candidates to move behind the contract.

Step 4 — Design the contract from the catalog

Define the abstract interface (ABC, Protocol, or trait) capturing every operation from Step 2 without leaking substrate-specific details from Step 3.

Design principles:

  • Design against what the codebase needs, not what the current substrate does
  • Let the philosophy constrain the interface
  • The expensive operations (similarity search, graph traversal, scanning) define the performance profile — the contract must make them implementable efficiently on a native substrate
  • Transactions must be explicit

Step 5 — Validate with a two-provider proof

Design a second provider implementation to test the abstraction. It doesn't need to be production-ready — it just needs to pass the same test suite. The two-provider proof catches:

  • Operations too specific to the original substrate's semantics
  • Missing operations the second provider would need
  • Contract leaks (method signatures that assume SQL-like cursor behavior instead of returning data classes)

See references/interface-extraction-pattern.md for a full worked example using the cashew thought-graph library — a real open-source project demonstrating all five steps.

Phase 4: Feature Surface Inventory

Map every user-facing feature by reading UI view files, page files, and onboarding screens. Group by category:

  • Capture: recording, scanning, import
  • Processing: transcription, OCR, analysis
  • AI: chat, assistants, insights, recommendations
  • Storage: local, cloud, export
  • Integrations: third-party services, APIs
  • Plugins: extensions, custom tools, MCP

Phase 5: Clean-Room Specification Writing

This is the most critical phase. The output document must:

  1. Describe architecture patterns without quoting or reproducing source code
  2. Use natural language to describe how components interact
  3. Reference the original codebase by architecture layer, not by line numbers or variable names
  4. Never include source code snippets — no Swift, Rust, Python, or any code from the reference. The spec is for new code, not a derivative work

The "no contamination" principle: If the output contains a code pattern recognizable from the reference, rewrite at a higher level of abstraction.

Structure the output with these sections:

  • Product Vision and Design Principles
  • Architecture Overview (Mermaid diagram)
  • Functional Requirements (numbered)
  • Non-Functional Requirements (performance, battery, privacy)
  • Technical Architecture (component list with technologies)
  • Plugin/Extension API Specification
  • Privacy Architecture Detail (data flow map)
  • Release Criteria (MVP → v1 → v2)

Diagram rules:

  • All diagrams use ```mermaid code blocks — no ASCII box drawing, no image files
  • Data flow diagrams should be separate Mermaid blocks per pipeline, not one monolithic diagram
  • Every external dependency calls out its open-standard substitute (e.g., "OpenAI-compatible API, so any provider works")

Phase 6: Breaking Constraints

When re-imagining the system under new design constraints (local-first, privacy-first):

  1. Identify every mandatory cloud dependency in the reference architecture
  2. For each, identify the local alternative (cloud API → local model, Firestore → SQLite, etc.)
  3. For interfaces that support both local and cloud, specify the open standard (OpenAI-compatible API, S3-compatible storage, Whisper-compatible STT)
  4. Where the reference used privacy-invasive patterns (browser cookie access, direct SQLite reads of other apps' data), call these out as prohibited mechanisms — the new design must use proper APIs (OAuth, platform APIs, official SDKs)

Phase 7: Post-Delivery QA

After delivering the design document:

  1. Verify link integrity — if your document references other design documents, ensure bidirectional links exist. Run a markdown link checker to catch broken references.
  2. Verify diagram rendering — confirm all ```mermaid blocks render by checking no ASCII box-drawing characters (, , , , , , , , ) remain in the output
  3. Check for code contamination — scan for any inline source code snippets that look like they came from the reference. If found, rewrite at the architecture level
  4. Cross-reference audit — every concept introduced in one section should be connected to its implementation in another. The document should be internally consistent

Exit criteria

This skill is complete when the requested architecture artifact exists, the evidence ledger distinguishes facts from inference and unknowns, clean-room checks find no copied implementation material, linked references resolve, and the output states the boundary to neighboring skills. Stop before proposing implementation or migration execution unless the user separately authorizes that work.

References

Frequently asked questions

What to verify before installation and use

What does the software-architecture-analysis source document cover?

Use this skill to reverse-engineer an existing software system, map its architecture, data flow, privacy posture, coupling, quality characteristics, and feature surface, then produce an evidence-grounded clean-room design document, PRD, or migration plan under new constraints. Use for codebase archaeology, implicit contract extraction, architecture health a…

How do I install software-architecture-analysis?

The source record exposes this install command: npx skills add https://github.com/magnus919/agent-skills --skill "software-architecture-analysis". Inspect the command and pinned source before running it.

Which permission-related actions were detected?

Static rules flagged network, exec-script, read-files in the source; the page lists the matching lines and excerpts.

Alternatives

Compare before choosing

Computed 9582

mblode/agent-skills

pr-reviewer

Reviews the local diff or branch and returns a read-only, severity-tiered findings report. Modes cover standard bugs, structural quality, AI slop, and security audit. Use when asked to run /pr-reviewer, "review my changes", "code review", "thermo-nuclear review", "structural review", "deslop this", "clean up AI code", "security audit", "find vulnerabilities", or before commit, push, or handoff. For fixes use tidy; for PR creation use pr-creator; for CI or review comments use pr-babysitter; for f

Computed 9024,921

alirezarezvani/claude-skills

terraform-patterns

Terraform infrastructure-as-code agent skill and plugin for Claude Code, Codex, Gemini CLI, Cursor, OpenClaw. Covers module design patterns, state management strategies, provider configuration, security hardening, policy-as-code with Sentinel/OPA, and CI/CD plan/apply workflows. Use when: user wants to design Terraform modules, manage state backends, review Terraform security, implement multi-region deployments, or follow IaC best practices.

Computed 90236

ArabelaTso/Skills-4-SE

code-change-summarizer

Generates clear and structured pull request descriptions from code changes. Use when Claude needs to: (1) Create PR descriptions from git diffs or code changes, (2) Summarize what changed and why, (3) Document breaking changes with migration guides, (4) Add technical details and design decisions, (5) Provide testing instructions, (6) Enhance descriptions with security, performance, and architecture notes, (7) Document dependency changes. Takes code changes as input, outputs comprehensive PR desc

Computed 9764

Jamie-BitFlight/claude_skills

standards-for-python-development

Shared Python 3.11+ development standards covering type safety (ty, native generics, Protocol, TypeIs), layered architecture, error handling, performance, identifier naming, UI/CLI patterns (Rich/Typer), testing requirements (pytest, 80% coverage, TDD), and quality gates. Activates when any Python skill or agent needs to apply shared standards for implementation, code review, refactoring, or test authoring.