agentleFS
ethosagentethosagent/ethos/skills/framework/codebase-inspection/SKILL.md

codebase-inspection

Skill22 starsChanged 8 days agoMITView on GitHub

First-pass survey of an unfamiliar codebase. Counts LOC by language, finds entry points and config files, scans the dependency graph, and reports back in three sections (shape, conventions, risks) so the agent grounds its next action in what's actually there rather than guessing.

25 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use touchdesigner-mcp, blocked-page-recovery and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • john-data-chenSkill

    touchdesigner-mcp

    Control a running TouchDesigner instance via twozero MCP — create operators, set parameters, wire connections, execute Python, build real-time visuals. 36 native tools.

    Also in 7 projects that use this

  • aivrarSkill

    blocked-page-recovery

    Recover blocked/paywalled/WAF'd pages via fallbacks.

    Also in 7 projects that use this

  • john-data-chenSkill

    teams-meeting-pipeline

    Operate the Teams meeting summary pipeline via Hermes CLI — summarize meetings, inspect pipeline status, replay jobs, manage Microsoft Graph subscriptions.

    Also in 10 projects that use this

  • Tommy-ywSkill

    songwriting-and-ai-music

    Songwriting craft, AI music generation prompts (Suno focus), parody/adaptation techniques, phonetic tricks, and lessons learned. These are tools and ideas, not rules. Break any of them when the art calls for it.

    Also in 12 projects that use this

  • aivrarSkill

    competitor-news-monitor

    Watch named companies for material news; cited digests.

    Also in 6 projects that use this

  • mae616Skill

    p5js

    p5.js(クリエイティブコーディング)のProcessing由来「コードでスケッチ」思想を軸に、setup/drawループ・座標系・インタラクション・パフォーマンス最適化を整理する。p5.js、Processing、クリエイティブコーディング、ジェネラティブアート、インタラクティブ表現、ビジュアルプログラミング、Canvas描画、パーティクル、フラクタル、ノイズ表現に関する相談で必ず使うこと。ユーザーが「コードでアート」「動くビジュアル」「インタラクティブな描画」と言った場合にも適用する。

    Also in 12 projects that use this

  • +3 more from aivrar

The file

We split this skill into the rules it gives an agent

2 rules. 0 are common, 2 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 24 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read whichever exist, in order:

    line 67
  2. Distinctive:

    Inventing rules: If CLAUDE.md says nothing about commit messages, don't enforce a convention you imagined.

    line 128

“Common” is measured: kept by at least 6 in 10 of the 24 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Codebase Inspection

Survey a codebase you don't already know before recommending changes. The output is a short report, not a deep dive.

When to use this skill

  • Agent is about to work in a repo it has never touched in this session.
  • User asks "what does this project do?" or "walk me through the layout".
  • A change request lands and you can't articulate the architecture from memory.

When NOT to use this skill

  • The repo is already familiar — re-running the survey on every turn is waste.
  • The user asked for a specific file edit — read just that file, don't survey the world.
  • The task is "fix this typo" — the survey is overkill.

Step 1 — top-level shape

ls -la
git log -1 --format="%h %s · %ad" --date=short    # last commit, when
cat README.md 2>/dev/null | head -60               # what the project says it is

Note the top-level layout: monorepo (packages/, apps/, extensions/)? Library (src/, lib/)? Framework (pages/, routes/, app/)?

Step 2 — language + size

# Lightweight, no install — works in any unix shell
git ls-files | sed 's/.*\.//' | sort | uniq -c | sort -rn | head -10

# Richer if pygount is available
command -v pygount >/dev/null && pygount --format=summary . 2>/dev/null

Capture: which languages dominate, rough LOC, the file-type ratio (e.g. "80% TS, 12% test, 5% config, 3% docs").

Step 3 — convention files

Read whichever exist, in order:

FileRole
CLAUDE.md / AGENTS.md / .cursorrulesProject rules for agents
CONTRIBUTING.mdHuman-process rules
ARCHITECTURE.md / DESIGN.mdStructural source of truth
package.json / pyproject.toml / Cargo.tomlManifest + scripts + deps
tsconfig.json / biome.json / eslint.config.*Tooling + style
.github/workflows/*.ymlCI gates

The point is to learn the rules before changing anything. Don't invent new ones.

Step 4 — entry points

Find where execution starts:

# Node / TS
grep -E '"main"|"bin"|"exports"' package.json 2>/dev/null
# CLI binary?
ls bin/ 2>/dev/null; ls cmd/ 2>/dev/null
# Tests
find . -name "*.test.*" -not -path "*/node_modules/*" | head -5

Step 5 — dependency surface

# Node
jq -r '.dependencies // {} | keys[]' package.json 2>/dev/null | head -20
# Python
head -40 pyproject.toml 2>/dev/null
# Anything
find . -maxdepth 2 -name "*.lock" -o -name "package-lock.json" -o -name "yarn.lock" -o -name "pnpm-lock.yaml" -o -name "uv.lock" 2>/dev/null | head

Step 6 — write the report

Return three short sections — no more than 20 lines total. The user wanted a survey, not a re-read of the codebase.

## Shape
- <language(s) + LOC bucket + monorepo/library/framework>
- <top-level layout in one sentence>
- <entry point(s)>

## Conventions
- <rules source: CLAUDE.md / AGENTS.md / etc.>
- <build/test commands from the manifest>
- <style/lint tooling>

## Risks for the requested change
- <pre-existing test failures / lint baselines / frozen schemas>
- <relevant constraints from rules files>
- <anything surprising>

Anti-patterns

  • Re-reading every file. Survey is fast and shallow. Deep reads are for the actual change.
  • Inventing rules. If CLAUDE.md says nothing about commit messages, don't enforce a convention you imagined.
  • Skipping the rules step. The whole point of the survey is to ground later changes in documented rules.
  • Re-running the survey on every turn. Once is enough per repo per session.

Hard rules

  • Findings come with file paths. "There's a frozen schema" without <path> is gossip.
  • Survey reads, never writes. No write_file, no patch_file, no git mutations.
  • Stop at the report. The next turn decides what to do; this skill's job ends at "here's what's there".

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.