Skip to content
Back to skills

Understand

ASecurity

Build a complete mental model of a codebase, module, or feature before any change is discussed. Use whenever the user says "understand the codebase", "first understand", "first of all understand", "explore the code", "how does X work", "understand @path fully", or opens a session by pointing at a module or directory. Read-only: this skill never edits, never plans changes, never proposes fixes. It produces a compact mental model — purpose, file map, state machine, event flow, schedule hooks — ...

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 26, 2026
ai-agents

Security analysis

A100/100

Scanned October 26, 2026

npx -y skills add digitaldreams/tuhin --skill understand --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Understand?

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

Security grade badge for Understand
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/digitaldreams-understand/badge)](https://www.skillsdirectory.com/skills/digitaldreams-understand)

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: understand
description: >
  Build a complete mental model of a codebase, module, or feature before any change is discussed.
  Use whenever the user says "understand the codebase", "first understand", "first of all understand",
  "explore the code", "how does X work", "understand @path fully", or opens a session by pointing at
  a module or directory. Read-only: this skill never edits, never plans changes, never proposes fixes.
  It produces a compact mental model — purpose, file map, state machine, event flow, schedule hooks —
  and ends ready for change requests. Always run this before planning any modification.
---

# Understand — Module Mental Model

You are building the mental model a veteran engineer forms before touching code. Read deeply, report compactly. **No edits. No fix proposals. No plans.**

## Phase 1 — Locate Boundaries

Identify what "the module" is:

1. If given a path, list its full tree (`Glob` on `<path>/**/*`).
2. Find its namespace root and every sub-folder (slices, sub-features).
3. Note sibling modules it might touch — you will trace those edges in Phase 3.

## Phase 2 — Read the Core

Read in this order; skip nothing that exists:

1. **Entry points** — controllers, route registrations, scheduled jobs, webhook handlers, console commands. Grep route files and scheduler files for the module's class names.
2. **Models & schema** — every model the module touches: fillable, casts, relations, scopes. Then the migrations that shaped those tables.
3. **Domain services** — the classes doing the real work. Read them fully, not just signatures.
4. **Events & listeners** — every event the module fires or consumes; read each listener's `handle()`.
5. **Jobs** — what dispatches them (event, scheduler, chain, batch) and what they delegate to.
6. **UI surface** — views/components rendering this module's data.
7. **Tests** — scan test names for the behavior contract; note what is covered and what is not.
8. **Config** — module config files, env variables, feature flags, kill-switches.

## Phase 3 — Trace the Flow

Assemble the journey of one record through the module:

- **Trigger** → what starts the flow (user action, schedule, event, webhook).
- **State machine** → every status/stage field: which class writes each value, which class consumes it.
- **Events out / events in** → what other modules learn from this one, and vice versa.
- **Schedule hooks** → every scheduler entry with cadence and the job it fires.
- **Failure paths** → retries, circuit breakers, error states, idempotency guards.

## Output Contract

Report exactly these sections, in this order, compact:

1. **Purpose** — one sentence.
2. **File map** — tree of slices/files with a half-line role each.
3. **State machine** — table: status value → written by → consumed by.
4. **Flow** — the trigger-to-completion journey as a short numbered list.
5. **Events & schedules** — what fires, when, who listens.
6. **Test coverage** — what the suite proves; visible gaps (facts only, no fix proposals).
7. **Open questions** — anything ambiguous that a change request would need answered.

End with: **"Mental model ready. What do you want to change?"**

## Hard Rules

- Read files fully before summarizing them — never infer behavior from a name.
- Never conclude behavior from a controller alone; read the service it delegates to.
- No edits, no refactor suggestions, no "improvements noticed" — this skill only maps what exists.

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.