skills/dowwie/architectural-forensics/SKILL.md
Master protocol for deconstructing agent frameworks to inform derivative system architecture. Use when (1) analyzing an agent framework's codebase comprehensively, (2) comparing multiple frameworks to select best practices, (3) designing a new agent system based on prior art, (4) documenting architectural decisions with evidence, or (5) conducting technical due diligence on AI agent implementations. This skill orchestrates sub-skills for data substrate, execution engine, cognitive architecture, and synthesis phases.
npx skillsauth add aiskillstore/marketplace architectural-forensicsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Deconstruct agent frameworks to inform derivative system architecture.
Distinguish between software engineering decisions (how it runs) and cognitive architecture decisions (how it thinks) to extract reusable patterns for new systems.
# 1. Map the codebase (uses codebase-mapping skill's script)
python .claude/skills/codebase-mapping/scripts/map_codebase.py /path/to/framework --output codebase-map.json
# 2. Run analysis via the command
/analyze-frameworks
Analyze the software substrate. See references/phase1-engineering.md for detailed guidance.
| Analysis | Focus Files | Output | |----------|-------------|--------| | Data Substrate | types.py, schema.py, state.py | Typing strategy, mutation patterns | | Execution Engine | runner.py, executor.py, agent.py | Async model, control flow topology | | Component Model | base_*.py, interfaces.py | Abstraction depth, DI patterns | | Resilience | executor.py, try/except blocks | Error propagation, sandboxing |
Extract agent "business logic". See references/phase2-cognitive.md for detailed guidance.
| Analysis | Focus Files | Output | |----------|-------------|--------| | Control Loop | agent.py, loop.py | Reasoning pattern, step function | | Memory | memory.py, context.py | Context assembly, eviction policies | | Tool Interface | tool.py, functions.py | Schema generation, error feedback | | Harness-Model Protocol | llm.py, adapters/, stream.py | Wire format, tool call encoding, agentic primitives | | Multi-Agent | orchestrator.py, router.py | Coordination model, state sharing |
Generate actionable outputs:
┌─────────────────────────────────────────────────────────┐
│ For Each Framework │
├─────────────────────────────────────────────────────────┤
│ 1. codebase-mapping │
│ ↓ │
│ 2. Phase 1 Analysis (parallel) │
│ ├── data-substrate-analysis │
│ ├── execution-engine-analysis │
│ ├── component-model-analysis │
│ └── resilience-analysis │
│ ↓ │
│ 3. Phase 2 Analysis (parallel) │
│ ├── control-loop-extraction │
│ ├── memory-orchestration │
│ ├── tool-interface-analysis │
│ ├── harness-model-protocol │
│ └── multi-agent-analysis (if applicable) │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Synthesis │
├─────────────────────────────────────────────────────────┤
│ 4. comparative-matrix │
│ 5. antipattern-catalog │
│ 6. architecture-synthesis │
└─────────────────────────────────────────────────────────┘
For rapid assessment, run the minimal path:
codebase-mapping → execution-engine-analysis → control-loop-extraction → tool-interface-analysis
forensics-output/ # Working/intermediate files
├── .state/
│ ├── manifest.json
│ └── {framework}.state.json
└── frameworks/
└── {framework}/
├── codebase-map.json
├── phase1/*.md
└── phase2/*.md
reports/ # Final deliverables
├── frameworks/
│ └── {framework}.md # Framework summary
└── synthesis/
├── comparison-matrix.md
├── antipatterns.md
├── reference-architecture.md
└── executive-summary.md
The protocol is designed to be stateful and resumable.
manifest.json and will skip frameworks marked as completed.in_progress are considered "stale". Use python scripts/state_manager.py reset-running to move them back to pending and delete their partial output directories, ensuring a clean restart for those items.This skill uses a 4-tier hierarchy of specialized agents for context efficiency:
Orchestrator
│
└── Framework Agents (parallel, one per framework)
│
└── Skill Agents (parallel, one per skill) [COORDINATORS]
│
└── Reader Agents (parallel, one per file cluster) [EXTRACTORS]
│
└── Synthesis Agent (cross-framework synthesis)
| Agent | Context Budget | Reads | Produces | |-------|---------------|-------|----------| | Orchestrator | ~10K | State files | Coordination decisions | | Framework Agent | ~50K | Skill outputs | Framework summary report | | Skill Agent | ~25K | Cluster extracts | Skill analysis report | | Reader Agent | ~20K | 1-5 source files | JSON extract (~2K) | | Synthesis Agent | ~40K | All framework reports | Comparison matrix, architecture spec |
Reader Agents read file clusters (1-5 related files) rather than individual files:
See:
references/orchestrator-agent.md — Top-level coordinationreferences/framework-agent.md — Per-framework analysis coordinationreferences/skill-agent.md — Skill coordination and cluster assignmentreferences/reader-agent.md — File cluster extractionreferences/synthesis-agent.md — Cross-framework synthesis| Skill | Purpose | Key Outputs |
|-------|---------|-------------|
| codebase-mapping | Repository structure | File tree, dependencies, entry points |
| data-substrate-analysis | Type system | Typing strategy, serialization |
| execution-engine-analysis | Control flow | Async model, event architecture |
| component-model-analysis | Extensibility | Abstraction patterns, DI |
| resilience-analysis | Error handling | Error propagation, sandboxing |
| control-loop-extraction | Reasoning loop | Pattern classification, step function |
| memory-orchestration | Context management | Assembly, eviction, tiers |
| tool-interface-analysis | Tool system | Schema gen, error feedback |
| harness-model-protocol | LLM interface layer | Wire format, encoding, agentic primitives |
| multi-agent-analysis | Coordination | Handoffs, state sharing |
| comparative-matrix | Comparison | Decision tables |
| antipattern-catalog | Tech debt | Do-not-repeat list |
| architecture-synthesis | New design | Reference spec |
development
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.