agentleFS
mik2winmik2win/foureyes/skills/onboard/SKILL.md

onboard

Skill2 starsChanged 3 months agoMITView on GitHub

Fast comprehension of an unfamiliar codebase — surface scan, run-it-first, one traced end-to-end flow, git-history archaeology (churn hotspots, bus factor, the oldest untouched code), seams & boundaries, load-bearing weirdness list — into a written orientation map. TRIGGER when: joining/inheriting an unfamiliar repo, "разберись в этом проекте", "how does this codebase work", "map this project", before the first real task in a codebase nobody has profiled yet. DO NOT TRIGGER when: researching one feature/capability in a known repo (use /discover), hunting architectural rot in a familiar one (use /arch-health), or the user wants PROJECT.md written (that's /bootstrap — this skill *feeds* it).

165 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use soak-test, team-live-ops 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.
  • lilangMaxSkill

    soak-test

    Generate a soak test protocol for extended play sessions. Defines what to observe, measure, and log during long play sessions to surface slow leaks, fatigue effects, and edge cases that only appear after sustained play. Primarily used in Polish and Release phases.

    Also in 9 projects that use this

  • lilangMaxSkill

    team-live-ops

    Orchestrate the live-ops team for post-launch content planning: coordinates live-ops-designer, economy-designer, analytics-engineer, community-manager, writer, and narrative-director to design and plan a season, event, or live content update.

    Also in 9 projects that use this

  • HK-hubSkill

    teach-impeccable

    One-time setup that gathers design context for your project and saves it to your AI config file. Run once to establish persistent design guidelines.

    Also in 19 projects that use this

  • CoralGameSkill

    project-stage-detect

    Automatically analyze project state, detect stage, identify gaps, and recommend next steps based on existing artifacts.

    Also in 15 projects that use this

  • CoralGameSkill

    team-level

    Orchestrate level design team: level-designer + narrative-director + world-builder + art-director + systems-designer + qa-tester for complete area/level creation.

    Also in 11 projects that use this

  • +5 more from lilangMax
  • +2 more from CoralGame

The file

We split this skill into the rules it gives an agent

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

  • 0

    Common

    Most of the 153 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read-only on app code. The only file you create is the orientation report.

    line 28
  2. Very specific:

    Read README/CONTRIBUTING/docs index if present — as *claims to verify*, not facts: docs drift, code doesn't.

    line 32
  3. Distinctive:

    If a run/test command is discoverable (CI, README, manifest scripts) and safe (no prod credentials, no external writes), run the test suite …

    line 60
  4. Distinctive:

    Read the tests as documentation: test names are the behavior vocabulary.

    line 77
  5. Very specific:

    Write to the plans location if PROJECT.md defines one, else offer ./ONBOARDING.md (confirm before creating).

    line 114
  6. Very specific:

    Every claim observed (path:line, command output) or marked inferred.

    line 134

“Common” is measured: kept by at least 6 in 10 of the 153 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 Onboarding: $ARGUMENTS

Principle

Understanding is built from behavior first, then structure, then history — run it before reading it, trace one real flow before mapping all of them, and let git log tell you what the files can't: where the work happens, who knows it, and what everyone is afraid to touch. The output is a written map, because comprehension that stays in one session's head is re-paid by every next session.

Read-only on app code. The only file you create is the orientation report.

Phase 0 — Context (works pre-bootstrap by design), and which mode you are in

Read README/CONTRIBUTING/docs index if present — as claims to verify, not facts: docs drift, code doesn't. Then pick the mode from whether the repo carries an active profile:

Cold mode — no .claude/PROJECT.md. The default, and what this skill was built for: run the full suite of phases below and build the map from zero. Don't stop for the missing profile.

Verification mode — an active PROJECT.md (plus CONTEXT.md, project rules, docs index). The repo is already profiled, so start from what exists, verify it against code, and report drift rather than rediscovering from scratch: read the profile's architecture/module map and commands first, then run the phases as checks on those claims — does the entry point still live where the map says, does the stated test command still pass, does the traced flow still go through the layers the profile names. Every phase still runs; what changes is that each one starts from a claim instead of a blank page, and disagreement between doc and code is itself a finding. Do not edit the profile — this skill is read-only; drift goes into the report so the user (or /bootstrap) folds it back.

Phase 1 — Surface scan (minutes)

  • Manifest + lockfile → language, framework, the real dependency list (the framework in the lockfile beats the one in the README).
  • CI config (.github/workflows, etc.) → how it's actually built/tested/deployed — CI is the only documentation forced to stay true.
  • Top-level layout + entry points: main/app/cli/server/routes/jobs — what kinds of process exist (web, worker, cron, CLI)?
  • Config surface: env keys, settings schemas, feature flags → the system's external knobs.

Phase 2 — Run it before reading it

If a run/test command is discoverable (CI, README, manifest scripts) and safe (no prod credentials, no external writes), run the test suite and/or start the app and hit one endpoint/command. Observed behavior anchors everything you read next — and a suite that doesn't pass on a clean checkout is finding #1. If nothing runs safely, say so in the report (it's an onboarding cost every newcomer will pay).

Phase 3 — Trace one real flow, end to end

Pick the most representative user-facing operation (from routes/CLI verbs) and trace it: entry → validation → domain logic → persistence → response/effects, citing path:line at each hop. One deep vertical teaches the architecture's dialect — layering, error style, DI wiring, naming — better than ten shallow horizontals. Where the repo is large, fan out Explore agents in parallel with distinct lenses (by-entry-points, by-tests, by-config), but trace the spine yourself: the spine is judgment, not sweep. Reconcile the trace against the Phase 2 run and mark each hop observed or inferred: reading misses the frames a framework injects — middleware, inherited callbacks, ORM hooks.

Read the tests as documentation: test names are the behavior vocabulary; fixtures show the domain objects' real shapes; what has no tests is the first danger-zone entry.

When re-reading a method stops paying, frame it: on paper, name each field it touches as a parameter, each mutation as a return value. A field overwritten before any read was never an input; a parameter you cannot name is a glossary candidate, not an "unclear" note.

Phase 4 — History archaeology (the part files can't tell you)

git log --format="%an" | sort | uniq -c | sort -rn | head   # who holds the knowledge (bus factor)
git log --since="6 months ago" --diff-filter=M --name-only --format= | sort | uniq -c | sort -rn | head -20   # churn hotspots
git log --format="%ad" --date=short -1 -- <dir>             # per-area last-touched
  • Churn hotspots = where the business actually lives (and where bugs cluster — churn × complexity is the best bug predictor available without running anything). Drop generated files, lockfiles and locale dumps, then say WHY each survivor churns — feature work, repeated fixing, or a mass edit that orients nobody.
  • Recent activity = the current front: what the team is building now.
  • The untouched old code = either finished-and-stable or feared — git log --grep for revert/hotfix language around it tells you which.
  • Skim merged PR/commit messages for the last month — vocabulary, active concerns, and how much process the team really uses.

Phase 5 — Seams, boundaries, weirdness

  • Module map: the 5–10 real components and the dependency direction between them (delegate breadth to arch-tracer-style tracing where wiring is opaque).
  • External surface: integrations, queues, storages — everything that leaves the process.
  • Load-bearing weirdness list: everything that surprised you — the odd lock order, the duplicated constant, the hand-rolled thing a library usually does. Each entry is "surprising, reason unknown — check git log -L before touching" (core.md: surprise is evidence of a constraint you can't see; never normalize on first contact).

Phase 6 — The orientation report

Write to the plans location if PROJECT.md defines one, else offer ./ONBOARDING.md (confirm before creating). In verification mode the report's most valuable section is the drift list — that is what the user folds back into the profile and rules. Structure:

# <Repo> — orientation map (<date>)

## What this is · How to run/test (verified: <what you actually ran>)
## Architecture in 5 lines (+ the traced flow, path:line per hop)
## Drift vs docs (verification mode only — each claim in PROJECT.md / CONTEXT.md / project
##   rules that the code contradicts: the claim, the `path:line` that disproves it, and which
##   of the two is now right. Omit this section entirely in cold mode.)
## Hotspots (churn, filtered — with why each churns) · Current front · Bus factor
## Danger zones (untested / feared-old / weird-with-unknown-reason)
## External surface (integrations, storages, queues)
## Glossary candidates (domain terms → /domain-model)
## Open questions (what only the team can answer)
## Suggested next: /bootstrap (profile), /domain-model (glossary), /arch-health (debt scan)

Every claim observed (path:line, command output) or marked inferred. If /bootstrap runs next, this report is its input — offer to chain it.

Hard rules

  • Run before you read; trace before you map; verify docs against code — README claims are tier-Guessed until observed.
  • Read-only on app code; never "fix" anything mid-onboarding — weirdness goes on the list, not into a diff.
  • Depth over coverage: one flow traced to the bottom beats every directory skimmed. Say what you did NOT explore — a map that hides its edges misleads (core.md).

See also

  • /bootstrap — turn the map into PROJECT.md; /discover — one capability, known repo; /arch-health — debt scan once oriented; /domain-model — capture the glossary.

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.