agentleFS
gufrancogufranco/claude-engineering-rules/skills/onboard/SKILL.md

onboard

Skill3 starsChanged 31 days agoMITView on GitHub

Onboard to a new codebase with structured exploration. Scans the project, generates an architecture map with Mermaid diagrams, identifies entry points, explains the tech stack, lists key patterns and conventions, and produces a "start here" guide. Use when user says "onboard", "new project", "understand this codebase", "what does this project do", "walk me through the project", "project overview", or joins a new team or repository. For explaining a single file, use /explain; for code review, use /review; for assessment, use /assessment.

  • Reads credentials

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

Show its rules and text

We split this skill into the rules it gives an agent

26 rules. 0 are common, 18 are distinctive, and 8 are very specific to this project.

  • 0

    Common

    Most of the 153 edited versions we read keep these.

  • 18

    Distinctive

    This author's own choices. Worth a look.

  • 8

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    No arguments: onboard the current working directory.

    line 21
  2. Distinctive:

    Before any other action, ask the user whether to trust the project.

    line 31
  3. Distinctive:

    Never install dependencies.

    line 64
  4. Very specific:

    Never read .env, .env.local, or .env.production.

    line 65
  5. Distinctive:

    Never reveal actual secret values found during the scan.

    line 66
  6. Very specific:

    Read the manifest file to determine language, framework, and runtime version.

    line 71
  7. Very specific:

    Run ls on the project root and each top-level directory.

    line 80
  8. Distinctive:

    Read these files in parallel when they exist:

    line 106
  9. Very specific:

    Use graph TD for layered architectures, graph LR for pipeline architectures.

    line 124
  10. Distinctive:

    Search the codebase for structural patterns:

    line 128
  11. Very specific:

    Read in parallel: README.md, CONTRIBUTING.md, ARCHITECTURE.md, docs/ directory contents, CLAUDE.md.

    line 143
  12. Distinctive:

    Test patterns: co-located tests vs separate test directory, naming convention

    line 151
  13. Distinctive:

    Import style: relative vs absolute, path aliases

    line 152
  14. Distinctive:

    How to Test: test commands, test database setup, coverage commands

    line 164
  15. Distinctive:

    When the scan runs and returns HIGH-RISK or MALICIOUS, abort onboarding even if the user pressures to continue.

    line 176
  16. Distinctive:

    Never modify any project files during onboarding.

    line 177
  17. Distinctive:

    Do not install dependencies or run build commands unless the user asks.

    line 178
  18. Distinctive:

    When documentation is incomplete or contradicts the code, trust the code.

    line 179
  19. Distinctive:

    Keep the Start Here guide under 200 lines.

    line 181
  20. Distinctive:

    Stop and ask the trust question when no flag was passed and no other step has run.

    line 194
  21. Very specific:

    Stop and reject the invocation when both --trust and --verify were passed.

    line 195
  22. Very specific:

    Stop and wait for the literal phrase I accept the risk when the scan returns HIGH-RISK.

    line 196
  23. Distinctive:

    Stop onboarding and recommend a Docker sandbox or deleting the directory when the scan returns MALICIOUS.

    line 197
  24. Very specific:

    Stop and read .env.example instead when the next read targets .env, .env.local, or .env.production.

    line 198
  25. Distinctive:

    Every file named under Where to Start Reading exists on disk.

    line 204
  26. Distinctive:

    Every mismatch found between the docs and the code is listed as a finding.

    line 207

“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

Overview

Structured codebase exploration that produces a navigable architecture overview and a "Start Here" guide. Designed for the first hour on a new project.

When to Use

  • First session in a repository nobody on the current task has worked in.
  • Joining a team, or picking up a take-home, an external repository, or untrusted source that needs the Phase 0 trust scan before anything else runs.
  • Refreshing a mental model of a project whose structure moved since it was last read.
  • For one file or function, use /explain; for a quality score, use /assessment; for a single diff, use /review.

Arguments

  • No arguments: onboard the current working directory. Phase 0 prompts before running the trust scan.
  • <path>: onboard the specified path as the project root.
  • --trust: I trust this project. Skip the trust scan and the prompt. Recorded in the final Start Here guide as a deliberate skip.
  • --verify: I do not trust this project. Run the trust scan without prompting. Useful for take-homes, external repos, and untrusted source.
  • Passing both --trust and --verify together is a conflict. Reject with an error.

Process

Phase 0: Trust decision (asked first)

Before any other action, ask the user whether to trust the project. The trust scan is opt-in per invocation.

Decision flow:

InvocationBehavior
/onboard <path> with no flagAskUserQuestion fires. Two options below. Default focus is "No, scan it first"
/onboard <path> --trustSkip the prompt. Skip the scan. Continue to Step 1. The Start Here guide records Safety verdict: SKIPPED (--trust)
/onboard <path> --verifySkip the prompt. Run the scan. Continue per the verdict-to-action table below
/onboard <path> --trust --verifyReject with error: conflicting flags

Prompt wording:

Do you trust this project? Picking "No, scan it first" runs a read-only scan for install-time hooks, credential-theft patterns, and known supply-chain attack signatures. Takes under 30 seconds on most projects.

Options:

OptionEffect
Yes, trust it (skip scan)Skip scan. Continue to Step 1. Start Here guide records Safety verdict: SKIPPED (user trusts project)
No, scan it first (default focus, Recommended for new or external projects)Call the Skill tool with audit and the arguments trust --json against the project root. Apply the verdict mapping below

When the scan runs, map the verdict to action:

Verdict/onboard action
SAFEContinue to Step 1 silently. Note the verdict in the final Start Here guide
SUSPICIOUSPresent the findings to the user. Ask "Continue with onboarding?" with default no. If yes, proceed to Step 1. If no, abort
HIGH-RISKBlock. Present the findings. Require the user to type the literal phrase I accept the risk before continuing
MALICIOUSBlock. Present the findings. Refuse to continue. Recommend running the project inside a Docker sandbox or deleting the directory. Do not proceed to Step 1 under any circumstance

Phase 0 constraints, apply when the scan runs:

  • Never install dependencies. Never run any command defined in the project.
  • Never read .env, .env.local, or .env.production. Only .env.example.
  • Never reveal actual secret values found during the scan. Show file, line, and pattern name only.
  • The scan is read-only. The user's trust choice is recorded in the Start Here guide either way.

Step 1: Detect the project

Read the manifest file to determine language, framework, and runtime version. Check in order: package.json, go.mod, Cargo.toml, pyproject.toml, pom.xml, build.gradle, mix.exs, Gemfile. Record:

  • Language and version
  • Framework and version
  • Package manager
  • Runtime constraints

Step 2: Map directory structure

Run ls on the project root and each top-level directory. Classify each directory by purpose:

Directory typeExamples
Source codesrc/, lib/, app/, pkg/, internal/
Teststest/, tests/, __tests__/, spec/
Configurationconfig/, .github/, .husky/
Build outputdist/, build/, .next/, out/
Documentationdocs/, doc/
Infrastructureinfra/, terraform/, k8s/, docker/
Databaseprisma/, migrations/, db/
Scriptsscripts/, bin/, tools/
Static assetspublic/, static/, assets/

Step 3: Identify entry points

Find the files where execution begins:

  • main field in package.json
  • Files named main.ts, index.ts, app.ts, server.ts, main.go, main.rs
  • Route definitions: search for router setup, controller decorators, API route files
  • CLI entry points: bin field in package.json, files with shebang lines
  • Worker or job entry points: queue consumers, cron handlers

Step 4: Read configuration

Read these files in parallel when they exist:

  • TypeScript config: tsconfig.json
  • Linter config: .eslintrc*, biome.json, .prettierrc*
  • Docker: Dockerfile, docker-compose.yml
  • CI: .github/workflows/*.yml, .gitlab-ci.yml, Jenkinsfile
  • Environment: .env.example
  • Database: prisma/schema.prisma, migration files

Step 5: Generate architecture diagram

Produce a Mermaid diagram showing:

  • Modules and their responsibilities
  • Dependencies between modules
  • External services and integrations
  • Data flow direction

Use graph TD for layered architectures, graph LR for pipeline architectures. Label edges with the type of interaction: HTTP, event, import, query.

Step 6: Identify patterns

Search the codebase for structural patterns:

PatternHow to detect
RepositoryFiles named *.repository.ts, *.repo.go, data access abstractions
Service layerFiles named *.service.ts, *.svc.go, business logic classes
ControllerFiles named *.controller.ts, route handlers
MiddlewareFiles in middleware/ directories, request interceptors
Event handlersFiles subscribing to events, queue consumers
State machinesEnum-based state transitions, status fields with defined flows
DTOsFiles named *.dto.ts, input/output shapes at boundaries
Guards/interceptorsAuth guards, validation interceptors, logging interceptors

Step 7: Read existing documentation

Read in parallel: README.md, CONTRIBUTING.md, ARCHITECTURE.md, docs/ directory contents, CLAUDE.md. Note what is documented and what is missing.

Step 8: Detect conventions

Identify the project's conventions by sampling 5-10 source files:

  • Naming: camelCase vs snake_case, file naming patterns
  • File structure: one export per file, barrel files, feature-based vs layer-based
  • Test patterns: co-located tests vs separate test directory, naming convention
  • Import style: relative vs absolute, path aliases
  • Error handling: exceptions vs Result types, error classes

Step 9: Output the Start Here guide

Produce a structured guide with these sections:

  1. What This Project Does: one paragraph summary of the project's purpose
  2. Tech Stack: language, framework, database, key dependencies
  3. Architecture: the Mermaid diagram from Step 5 with a brief explanation
  4. Key Patterns: list each pattern found in Step 6 with an example file
  5. How to Run: commands to install, configure, and start the project
  6. How to Test: test commands, test database setup, coverage commands
  7. Where to Start Reading: the 3-5 most important files to read first, ordered
  8. Conventions to Follow: the conventions detected in Step 8

Step 10: Suggest next steps

Recommend running /retro discover to capture the detected conventions as durable rules in the project's configuration.

Rules

  • Phase 0 prompts the user before any scan runs. The default option in the prompt is "No, scan it first", aligned with the protective intent for unknown projects.
  • The user can pre-decide non-interactively with --trust, skip scan or --verify, run scan. Passing both is a conflict.
  • When the scan runs and returns HIGH-RISK or MALICIOUS, abort onboarding even if the user pressures to continue. The HIGH-RISK override path requires the explicit phrase. MALICIOUS has no override.
  • Never modify any project files during onboarding. This is a read-only exploration.
  • Do not install dependencies or run build commands unless the user asks.
  • When documentation is incomplete or contradicts the code, trust the code.
  • Flag discrepancies between docs and code as findings.
  • Keep the Start Here guide under 200 lines. Link to files instead of inlining code.
  • The Start Here guide must include a "Safety verdict" line near the top, summarizing the trust decision and the scan result if applicable.

Common Rationalizations

  • "The repository comes from a well-known organization, the trust question is noise": Phase 0 asks on every run without a flag, and the default focus is the scan.
  • "An install would let me read the generated types": onboarding installs nothing and runs no project command unless the user asks.
  • "The README says the service uses X, so it does": when the docs and the code disagree, the code wins, and the mismatch becomes a finding.
  • "Inlining the key functions saves the reader a click": the guide links to files and stays under 200 lines.
  • "The user insists, so the MALICIOUS verdict can be waived": MALICIOUS has no override, and HIGH-RISK continues only on the literal phrase I accept the risk.

Red Flags

  • Stop and ask the trust question when no flag was passed and no other step has run.
  • Stop and reject the invocation when both --trust and --verify were passed.
  • Stop and wait for the literal phrase I accept the risk when the scan returns HIGH-RISK.
  • Stop onboarding and recommend a Docker sandbox or deleting the directory when the scan returns MALICIOUS.
  • Stop and read .env.example instead when the next read targets .env, .env.local, or .env.production.

Verification

  • The Start Here guide carries a Safety verdict line near the top that matches the Phase 0 outcome.
  • The guide has all eight sections from Step 9 and stays under 200 lines.
  • Every file named under Where to Start Reading exists on disk.
  • The Mermaid diagram labels every edge with its interaction type.
  • git status shows no project file modified by the onboarding run.
  • Every mismatch found between the docs and the code is listed as a finding.

Related skills

  • /audit trust -- Untrusted-project safety scan. Runs automatically as Phase 0. Can also be invoked standalone before adding a new dependency or considering a third-party project.
  • /explain -- Deep explanation of a specific file or function.
  • /assessment -- Full quality assessment of the codebase.
  • /retro discover -- Capture conventions as rules.
  • /review -- Review specific code changes.

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.