Arch Lens
Explores a codebase for architectural friction through the lens of Ousterhout's deep-module principle (small interface, large implementation). Seven-step interactive workflow: an Explore sub-agent navigates the codebase organically — the friction it experiences IS the signal. Surfaces candidate clusters with coupling reasons, call patterns, shared types, dependency categories, and existing tests that a boundary test would replace. User picks what to explore, frames the problem, then 3–4 parallel sub-agents design competing deep-module interfaces. Chosen design becomes a structured RFC action file readable by GitHub MCP or ROVO (Jira) MCP. Use when the user says "arch review", "find shallow modules", "module depth", "deep module", "Ousterhout", "testability audit", "surface coupling", "design interfaces", "RFC issues", or "architectural friction".
MCP get_skill({ skillId: "arch-lens-18fbf8b2" })Use this skill with your agent
Create a free account and connect via MCP
# Arch Lens
Seven-step interactive architectural review. An Explore sub-agent navigates the
codebase the way a developer would — the confusion, file-bouncing, and untestable
seams it encounters are the findings. No checklists, no rigid heuristics.
> **Deep module:** small interface surface hiding a large, self-contained implementation.
> Lets callers test at the boundary. Lets AI agents reason without reading internals.
## Quick start
1. If a path argument is given, scope to that directory; otherwise whole repo
2. Load `${CLAUDE_SKILL_DIR}/references/WORKFLOW.md` — full step-by-step instructions
3. Load `${CLAUDE_SKILL_DIR}/references/DETECTION-PATTERNS.md`
4. Load `${CLAUDE_SKILL_DIR}/references/INTERFACE-DESIGN.md`
5. Load `${CLAUDE_SKILL_DIR}/references/RFC-FILE-FORMAT.md`
6. Execute the seven steps in WORKFLOW.md
## Workflows
| Step | What happens | Requires user input |
|------|-------------|---------------------|
| 1. Explore | Spawn Explore sub-agent; navigate organically; record friction | — |
| 2. Candidates | Synthesise friction into clusters; present max 8 with full context | — |
| 3. Pick | User selects a cluster and directs the angle | **wait** |
| 4. Frame | Problem statement, dependency category, blast radius, test boundary today | — |
| 5. Design | Spawn 3–4 parallel sub-agents with competing interface designs | — |
| 6. Choose | User picks interface or accepts recommendation | **wait** |
| 7. RFC file | Write `arch-rfcs-YYYY-MM-DD.md` to project root | — |
Full prompt text, cluster format, and step detail: see `WORKFLOW.md`.
## Behavioural rules
- Explore agent friction observations are primary evidence — never override with static analysis
- Never propose interface designs before Step 5
- Never advance past Steps 3 or 6 without a user response
- Every RFC must include exact `file:line` references and a before/after illustration
- Name every dependency category explicitly — it determines the testing strategy
- Rank clusters: testability impact first, then cognitive load, then interface stability
## Advanced features
- Full workflow detail and Explore agent prompt: `${CLAUDE_SKILL_DIR}/references/WORKFLOW.md`
- Friction vocabulary and dependency categories: `${CLAUDE_SKILL_DIR}/references/DETECTION-PATTERNS.md`
- Sub-agent brief template and design constraints: `${CLAUDE_SKILL_DIR}/references/INTERFACE-DESIGN.md`
- RFC action file format and complete example: `${CLAUDE_SKILL_DIR}/references/RFC-FILE-FORMAT.md`Related Skills
More skills in Software Engineering
Accessibility Standards
Comprehensive web accessibility standards based on WCAG 2.2 AA, with 38+ anti-patterns, legal enforcement context (EAA, ADA Title II), WAI-ARIA patterns, and framework-specific fixes for modern web frameworks and libraries.
Accord
Authoring unified specification packages across Business/Development/Design teams via staged elaboration (L0 Vision → L1 Requirements → L2 Team Detail → L3 Acceptance Criteria). No code. Use when authoring cross-team specs, building L0-L3 packages, or aligning Biz/Dev/Design on a single source of truth.
Acquire Codebase Knowledge
Use this skill when the user explicitly asks to map, document, or onboard into an existing codebase. Trigger for prompts like "map this codebase", "document this architecture", "onboard me to this repo", or "create codebase docs". Do not trigger for routine feature implementation, bug fixes, or narrow code edits unless the user asks for repository-level discovery.
Acreadiness Assess
Run the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wraps `npx github:microsoft/agentrc readiness` and hands off rendering to the @ai-readiness-reporter custom agent. Supports policies (--policy) for org-specific scoring. Use when asked to assess, audit, or score the AI readiness of a repo.
Acreadiness Generate Instructions
Generate tailored AI agent instruction files via AgentRC instructions command. Produces .github/copilot-instructions.md (default, recommended for Copilot in VS Code) plus optional per-area .instructions.md files with applyTo globs for monorepos. Use after running /acreadiness-assess to close gaps in the AI Tooling pillar.
Acreadiness Policy
Help the user pick, write, or apply an AgentRC policy. Policies customise readiness scoring by disabling irrelevant checks, overriding impact/level, setting pass-rate thresholds, or chaining org baselines with team overrides. Use when the user asks about strict mode, AI-only scoring, custom weights, CI gating, or wants org-wide standardisation.
Explore Other Categories
Skills from other categories with shared topics
Export Vault Note
Exports a single Obsidian vault note and all its linked images into a portable zip or tar.gz archive, preserving vault-root-relative paths so the archive unpacks correctly anywhere. Use only when the user explicitly invokes /export-vault-note.
Handoff
Make sure to use this skill whenever the user types /handoff (with or without a filename argument), says "handoff", "save state", "context rot", "save session", "create a handoff", "I need a clean start", wants to snapshot progress before clearing context or switching sessions, is approaching the context limit (300–400k tokens), or wants to delegate the current session state to another agent. Also invoke for RESUME mode: when the user says "load handoff", "resume from [file]", "continue where we left off", "pick up where I left off", "load the handoff at [path]", references a .claude/handoffs/ file path, or says there is a handoff file from a prior session. Creates or loads a structured JSON snapshot capturing goals, decisions, completed steps, pending work, constraints, and modified files so work can continue cleanly in a new session.
Vault Scribe
Converts transcripts, video summaries, meeting notes, brainstorming sessions, strategy documents, and rough notes into polished Obsidian-flavored Markdown. Activates when creating or editing notes in an Obsidian vault, generating front matter, applying callout blocks, structuring knowledge base articles, or producing developer-facing guides. Also triggers on mentions of Obsidian, front matter, callout blocks, vault organisation, or requests for GitHub-compatible Markdown documents.