Skip to content
Back to skills

Map

ASecurity

Use when starting a new project, onboarding to an existing codebase, or when no architecture doc exists. Generates a codebase architecture doc and CLAUDE.md scaffold by exploring actual source and asking targeted questions.

  • 57 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 17, 2026
developmentgoapifrontend

Works with

  • cli
  • api

Security analysis

A100/100

Scanned October 17, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill map --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Map?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Map
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-map/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-map)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: map
description: Use when starting a new project, onboarding to an existing codebase, or when no architecture doc exists. Generates a codebase architecture doc and CLAUDE.md scaffold by exploring actual source and asking targeted questions.
---

# /map — Codebase Architecture Generator

Generate `docs/codebase-architecture.md` (the map) and `.claude/CLAUDE.md` (the scaffold) for any project.

## Hard Rules

1. **Reference source, don't duplicate it.** Use `file:line` pointers. Only inline a snippet when it's a one-liner with no source location yet.
2. **Tables over prose.** Scannable, dense.
3. **Project vocabulary.** Use the project's own names for layers, patterns, concepts.
4. **ASCII diagrams.** No Mermaid, no images.
5. **Conditional sections.** Include what's relevant, skip what isn't.
6. **Convention notes inline.** Naming patterns, formatting rules, "when to use A vs B" — attach to the relevant section, not a separate section.
7. **Working directory context.** Always specify where to run commands and what paths are relative to.

## Process

### Step 1: Detect

Check for `docs/codebase-architecture.md` and `.claude/CLAUDE.md`.

- Both exist → offer to **audit** (check stale `file:line` refs, missing files, undocumented additions)
- Missing → proceed to bootstrap

### Step 2: Explore

Use subagents to scan config files, auto-detect the stack, and build a complete picture of the codebase — entry points, processing layers, state, file inventory, communication patterns, key types.

### Step 3: Ask targeted questions

Focus on what exploration couldn't answer:

- What is this project? (one sentence)
- What are the 3-5 most common tasks a developer does in this codebase?
- Any key architectural decisions that aren't obvious from the code?
- Any gotchas or landmines you've hit?

### Step 4: Generate architecture doc

Write `docs/codebase-architecture.md` using the section catalog below.

### Step 5: Generate CLAUDE.md scaffold

Write `.claude/CLAUDE.md`:

- **Auto-filled:** Project name + one-line description, validation commands with working directory context, key stack/integration callouts
- **Empty wisdom sections:** Architecture Principles, Learned Patterns, Gotchas — each with a comment showing the expected format (one-line example with `file:line` ref)
- **Excluded:** Generic advice, stack-specific skill references, personal workflow preferences

### Step 6: User reviews and commits

Present both files. User refines. Commit when approved.

---

## Architecture Doc — Section Catalog

### Required: Header

One sentence + key tech + storage/persistence approach.

### Required: Commands

Build, test, lint, format, REPL — whatever the project actually uses. Include working directory context.

### Required: File Inventory

Tables grouped by domain concern (not directory structure). Every source file gets a one-line Role. Within each group, list subsystem enumerations (union types, enum-like constants) and note shared/reused components.

### Conditional: Data Flow

**When:** Layered processing (web apps, event systems, pipelines, CLI with middleware).

**Cover:** Entry points, processing layers, output channels, both request and push directions, naming conventions at boundaries, sync vs async patterns.

### Conditional: State Shape

**When:** Non-trivial state (game servers, real-time, complex frontend, stateful services).

**Format:** Compact key-type tables with `file:line` refs. Do NOT reproduce struct definitions — point at source. Cover: init location, key collections, polymorphic maps (flag explicitly), construction/transformation sites, derived vs stored state.

### Conditional: Event/API Surface

**When:** External-to-internal mapping layer (REST endpoints, LiveView events, GraphQL resolvers, CLI subcommands, message handlers).

**Cover:** Category groupings by domain, surface → internal format mapping, naming conventions, when to use pattern A vs B, push/subscription events.

### Conditional: Module Relationships

**When:** Composition root pattern, dependency graph, or non-obvious module coupling.

**Cover:** Composition roots, dependency direction, inline "why" notes for non-obvious coupling, boundary enforcement patterns.

### Conditional: Common Task Guide

**When:** Repeatable patterns exist for extending the codebase. This is the **highest-value section**.

For each recipe: numbered steps with `file:line` refs, a **Verify** step (the command to run), and a canonical example to follow. Identify recipes from recent commits, test patterns, repeated file-edit patterns, and framework conventions. Include as many recipes as warranted.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.