---
author: 'Guilherme Lobo'
description:
  'Maintain FEATURE_MAP.md as a concise, verified index of feature entry points.
  Use before locating code for a change and after a change moves or adds an
  entry point.'
extras:
  'A `scripts/check-feature-map.mjs` validator is justified because the
  invariant is deterministic.'
focus: 'Maintain a small, trustworthy index of feature entry points.'
id: 'codebase-map'
improve:
  - 'Avoid deleting a stale entry before verifying the replacement location;
    update atomically instead.'
  - 'Define ownership and a conflict strategy for map edits in busy
    repositories.'
  - 'Add a check that every listed path exists, rather than requiring an agent
    to remember it.'
name: 'codebase-map'
path: '../submitted-skills/Guilherme%20Lobo/skills/codebase-map/SKILL.md'
status: 'Strong candidate'
title: 'Codebase map'
wins:
  - 'Excellent narrow purpose and stale-entry handling.'
  - 'Clear rule for lazy, cheap maintenance.'
---

# codebase-map

## Workflow

1. If `FEATURE_MAP.md` exists, check whether the relevant entry path still
   exists.
2. Use a valid entry as the starting point; otherwise search normally.
3. After locating the feature, update the existing entry or add one concise
   entry point.
4. Run `scripts/check-feature-map.mjs` when available.

## Rules

- Preserve a stale entry until a replacement is known, then update it in the
  same edit.
- Index features and flows, not every file.
- Do not make map edits when a change leaves entry points unchanged.

## Output

State whether the map was used, changed, or unavailable.
