{"id":50599994,"url":"https://github.com/googlarz/codebase-onboarding","last_synced_at":"2026-06-05T17:02:26.388Z","repository":{"id":358053540,"uuid":"1239765454","full_name":"googlarz/codebase-onboarding","owner":"googlarz","description":"Claude Code skill: systematic orientation in an unfamiliar codebase. Join, return, or audit mode.","archived":false,"fork":false,"pushed_at":"2026-05-15T12:36:22.000Z","size":34,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-15T14:26:24.910Z","etag":null,"topics":["claude-code","claude-code-skill","codebase","developer-tools","onboarding"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/googlarz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-15T12:20:02.000Z","updated_at":"2026-05-15T12:36:06.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/googlarz/codebase-onboarding","commit_stats":null,"previous_names":["googlarz/codebase-onboarding"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/googlarz/codebase-onboarding","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googlarz%2Fcodebase-onboarding","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googlarz%2Fcodebase-onboarding/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googlarz%2Fcodebase-onboarding/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googlarz%2Fcodebase-onboarding/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/googlarz","download_url":"https://codeload.github.com/googlarz/codebase-onboarding/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googlarz%2Fcodebase-onboarding/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33951164,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-05T02:00:06.157Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude-code","claude-code-skill","codebase","developer-tools","onboarding"],"created_at":"2026-06-05T17:02:25.665Z","updated_at":"2026-06-05T17:02:26.367Z","avatar_url":"https://github.com/googlarz.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# codebase-onboarding\n\n**For developers:** You joined a new team. The README says \"it's pretty simple.\" There are 47 open TODOs, a file that's 2,800 lines long, and everyone goes quiet when you ask about the payments module. You could spend three days reading files — or run this and know in an hour what to avoid, who owns what, and what to touch first.\n\n**For non-technical users:** Someone told you the codebase is \"in good shape.\" Before you say that in a board meeting, sign off on a launch, or make a vendor decision — run this. It maps the system in plain language, surfaces the real risk areas, and generates questions you can actually ask in your next engineering meeting without sounding like you're guessing.\n\n---\n\n**Stop guessing. Build the right mental model before you break something.**\n\nNew repo. Inherited codebase. Your own code after six months away. The instinct is to start reading files. That's slow, incomplete, and leaves you blind to the things that will actually burn you — the undocumented env var, the file everyone avoids, the test suite that breaks when run in parallel.\n\nThis skill does the archaeology. Claude runs the investigation, maps the architecture, hunts for gotchas, generates a working local dev guide, and produces a living `CODEBASE.md`. Then it stays useful: check a file before touching it, catch problems before pushing, map a ticket to the codebase before writing a line.\n\n---\n\n## Seven modes\n\n| Mode | Use when |\n|------|----------|\n| **join** | First day on a team, inherited repo, colleague's codebase |\n| **return** | Your own code you haven't touched in 3+ months |\n| **audit** | Evaluating an OSS project before contributing |\n| **quick** | Need \"what do I avoid\" in 15 minutes — no time for full investigation |\n| **touch** | About to modify a specific file — get a risk assessment first |\n| **preflight** | About to push a PR — catch what reviewers will catch, before review |\n| **task** | Assigned a ticket or feature — map it to the codebase before starting |\n\n`quick` is a triage tool — Danger Zones and Gotchas only, no `CODEBASE.md` written.\n`touch`, `preflight`, and `task` are ongoing — they require an existing `CODEBASE.md`.\n\n---\n\n## The investigation\n\n```\nPhase 0   Bootstrap          README, CI config, open issues, package manifests\n          └─ AI detection    Signals that the codebase is largely AI-generated — adjusts assessment lens\nPhase 1   Critical Paths     Entry points, data stores, Mermaid architecture diagram\nPhase 2   Conventions        What git history reveals vs. what the README claims\nPhase 3   Danger Zones       High-churn files, debt clusters, frequently reverted code\nPhase 4   Gotcha Detector    Security pre-check first, then: undocumented env vars, pre-commit/CI gaps, test traps\nPhase 5   Local Dev Guide    Step-by-step to get it running — real commands, common failures  [technical]\nPhase 6   Team Questions     1:1 format with priority tiers  [technical]\n          Meeting Questions  Sprint planning / roadmap / board framing  [non-technical]\n          └─ Answers loop    When answers arrive: which sections to update, how to close Open Questions\nPhase 7   Executive Brief    One-page health summary — framed for your stated goal  [non-technical]\nPhase 8   First Contribution Specific file + line + fix — not just a category  [technical]\nPhase 8b  Ramp-up Timeline   Week-by-week gates derived from findings — not a template  [technical]\n────────────────────────────────────────────────────────────────────────────────────────\nPhase 9   Archaeology        return only — why decisions were made, not just what they are\nPhase 10  Contributor Signal audit only — merge rate, PR velocity, go/no-go\n```\n\n---\n\n## Works for technical and non-technical users\n\nBefore any phase runs, Claude asks two questions:\n\n**1. Technical or non-technical?**\n\n- **Technical:** file paths, code snippets, git commands, local dev guide, PR preflight\n- **Non-technical:** plain language throughout, shareable architecture diagram, executive brief, questions framed for meetings — not for debugging sessions\n\n**2. What's your goal?**\n\n- **Technical examples:** make a contribution, take ownership, security review, evaluate OSS\n- **Non-technical examples:** understand what the system does, assess risk before a launch, prepare for a roadmap or board conversation\n\nThe same investigation runs either way. The output is completely different.\n\n---\n\n## What you get\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eSee a complete example CODEBASE.md\u003c/strong\u003e\u003c/summary\u003e\n\n```markdown\n# CODEBASE.md — payments-api\nGenerated: 2024-03-15 | Mode: join | Investigator: Claude\nLast verified: 2024-03-15 | Staleness threshold: 4 weeks\n\n---\n\n## Project at a Glance ✅ Verified\n\n**What it does:** Stripe payment processing API for the SaaS billing layer.\nHandles subscriptions, webhooks, and invoice generation.\n\n**Stack:** Go 1.21, PostgreSQL 15, Redis 7, deployed on Railway.\n**Test runner:** `pytest -x` (CI), `make test` (README — inconsistent, see Q2)\n**Commit convention:** Conventional commits (28 of last 30 PRs)\n\n**AI-generated signal:** None detected. 1 author email, organic commit messages.\n\n---\n\n## Architecture ✅ Verified\n\n```mermaid\ngraph LR\n    Client --\u003e|HTTP| API[api/routes.go]\n    API --\u003e Auth[auth/middleware.go]\n    Auth --\u003e Stripe[stripe/client.go]\n    Auth --\u003e Handler[handlers/]\n    Handler --\u003e DB[(postgres)]\n    Handler --\u003e Cache[(redis)]\n    Stripe --\u003e|webhooks| Webhook[handlers/webhook.go]\n```\n\nEntry points: `cmd/server/main.go` (API), `cmd/worker/main.go` (background jobs)\nData stores: PostgreSQL (primary), Redis (session cache + job queue)\n\n---\n\n## Danger Zones ✅ Verified\n\n| File / Area              | Why dangerous                            | When to touch     |\n|--------------------------|------------------------------------------|-------------------|\n| `src/core/engine.go`     | 2,847 lines, 47 TODOs, in 89% of PRs    | After 4+ weeks    |\n| `migrations/`            | Irreversible schema changes              | Never solo        |\n| `auth/middleware.go`     | No tests, last touched 18 months ago     | With alice@ review|\n| `payments/sync.go`       | Reverted 3× in 6 months                 | Ask bob@ first    |\n\n---\n\n## Gotchas ✅ Verified\n\n- `STRIPE_WEBHOOK_SECRET` required but absent from `.env.example` —\n  payments fail silently without it\n- Pre-commit runs `eslint --fix`; CI runs `eslint` — passes locally,\n  fails CI if you don't re-stage after the hook fires\n- `auth/` tests share a singleton — `pytest -n 4` causes random failures;\n  always run `pytest -p no:xdist auth/`\n- `scripts/seed.sh` required for tests — not in README\n\n---\n\n## Conventions ⚠️ Inferred\n\n- **Commits:** Conventional commits enforced by pre-commit hook\n- **PR size:** Median 280 lines (last 30 PRs); over 400 gets flagged in review\n- **Ownership:** auth/ → alice@example.com, payments/ + API → bob@example.com\n- **Tests:** Every source commit touches a test file (22 of last 25 PRs)\n- **Branches:** `feat/`, `fix/`, `chore/` prefixes, squash-merged\n\n---\n\n## Local Dev Guide ✅ Verified\n\n1. `cp .env.example .env`\n2. Set missing variables:\n   - `STRIPE_WEBHOOK_SECRET` — ask alice@example.com for the dev key\n   - `JWT_SECRET` — any 32-char string works locally\n3. `npm install`\n4. `docker-compose up -d postgres redis`\n5. `npm run db:migrate`\n6. `node scripts/seed.sh`   ← not in README; required for tests\n7. `npm run dev`            → http://localhost:3000\n\nVerify: `curl http://localhost:3000/health` → `{\"status\":\"ok\"}`\n\n---\n\n## Team Questions\n\n### 🔴 Blocking (ask in the first hour)\n1. `STRIPE_WEBHOOK_SECRET` is in code but not `.env.example`. Shared dev key?\n2. CI runs `pytest -x`, README says `make test`. Which for local dev?\n\n### 🟡 Important (this week)\n3. `payments/sync.go` reverted 3× in 6 months — active fix, or avoided?\n4. `auth/middleware.go` has no tests — intentional or technical debt?\n\n### 🟢 Nice-to-know\n5. `core/engine.go` is 2,847 lines — plan to split it, or intentional?\n\n---\n\n## Open Questions ❓ Gap\n\n- No staging environment documented. Does one exist? How to access?\n- `scripts/seed.sh` undocumented — what does it seed, and is it safe to re-run?\n\n---\n\n## First Safe Contribution ✅ Verified\n\n**Target:** `tests/auth/test_middleware.py`, line 47 — missing edge case for\nexpired tokens. Bob added a TODO comment 3 weeks ago. Low risk, high value.\n\nPattern to follow: `tests/api/test_logging.py` (same structure, merged cleanly).\n\n---\n\n## Ramp-up Timeline ⚠️ Inferred\n\n### Week 1 — get oriented and unblocked\n  □ Local dev running: `curl http://localhost:3000/health` → {\"status\":\"ok\"}\n  □ Blocking questions answered (Q1 + Q2 above)\n  □ Can explain Client → API → Auth → Handler → DB without this file\n\n### Week 2 — know how the team works\n  □ First PR merged without commit message feedback\n  □ PR size within team norm (under 400 lines)\n  □ Know who to ping for auth and payments changes\n\n### Week 4 — own the codebase\n  □ Can name all 4 Danger Zones without reading this file\n  □ Touch mode no longer needed outside Danger Zones\n  □ CODEBASE.md updated with anything that was wrong or missing\n```\n\n\u003c/details\u003e\n\n---\n\n### `CODEBASE.md` — honest by design\n\nEvery section carries a confidence tag:\n\n```\n✅ Verified   Based on CI config, git history, or explicit documentation\n⚠️ Inferred   Based on patterns — likely but not confirmed\n❓ Gap        Couldn't assess from code — needs a human answer\n```\n\nGap sections automatically become Team Questions. If something is tagged ❓, there's a corresponding question to ask.\n\n**Example sections:**\n\n```markdown\n## Danger Zones ✅ Verified\n\n| File / Area         | Why dangerous                         | When to touch  |\n|---------------------|---------------------------------------|----------------|\n| src/core/engine.go  | 2,847 lines, 47 TODOs, in 89% of PRs | After 4+ weeks |\n| migrations/         | Schema changes need team coordination | Never solo     |\n| auth/               | No tests, last touched 18 months ago  | With review    |\n\n## Gotchas ✅ Verified\n\n- `STRIPE_WEBHOOK_SECRET` required but absent from `.env.example` —\n  payments fail silently without it\n- Pre-commit runs `eslint --fix`; CI runs `eslint` — passes locally,\n  fails CI if you don't re-stage after the hook fires\n- `auth/` tests share a singleton — `pytest -n 4` causes random failures;\n  always run `pytest -p no:xdist auth/`\n\n## Local Dev Guide ✅ Verified\n\n1. `cp .env.example .env`\n2. Set missing variables:\n   - `STRIPE_WEBHOOK_SECRET` — ask alice@example.com for the dev key\n   - `JWT_SECRET` — any 32-char string works locally\n3. `npm install`\n4. `docker-compose up -d postgres redis`\n5. `npm run db:migrate`\n6. `node scripts/seed.sh`   ← not in README; required for tests\n7. `npm run dev`            → http://localhost:3000\n\nVerify: `curl http://localhost:3000/health` → `{\"status\":\"ok\"}`\n```\n\n### Architecture Map — generated in Phase 1\n\nFor engineers:\n```mermaid\ngraph LR\n    Client --\u003e|HTTP| API[api/routes.go]\n    API --\u003e Auth[auth/middleware.go]\n    Auth --\u003e Handler[handlers/user.go]\n    Handler --\u003e DB[(postgres)]\n    Handler --\u003e Cache[(redis)]\n```\n\nFor non-technical stakeholders — same investigation, plain language:\n```mermaid\ngraph LR\n    User --\u003e|sends request| API[Web API]\n    API --\u003e Auth[Login Check]\n    Auth --\u003e Logic[Business Logic]\n    Logic --\u003e DB[(Database)]\n    Logic --\u003e Cache[(Fast Cache)]\n```\n\n### Team Questions — prioritised\n\n**For technical users (1:1 format):**\n```markdown\n### 🔴 Blocking (ask in the first hour)\n1. `STRIPE_WEBHOOK_SECRET` is in code but not `.env.example`. Shared dev key?\n2. CI runs `pytest -x`, README says `make test`. Which for local dev?\n\n### 🟡 Important (this week)\n3. `payments/sync.go` reverted 3× in 6 months — active fix, or avoided?\n\n### 🟢 Nice-to-know\n4. `core/engine.go` is 2,400 lines — plan to split it, or intentional?\n```\n\n**For non-technical users (meeting format):**\n```markdown\n### For your next sprint planning\n- The payment module has broken 3 times this year — what's the risk\n  if we ship features that touch it this sprint?\n\n### For a board or investor conversation\n- How would you describe the overall health of the engineering foundation?\n```\n\n### Ramp-up Timeline — technical only\n\nGenerated after Phase 8. Every checkpoint references actual files, people, and question numbers found during the investigation — not generic milestones.\n\n```markdown\n## Ramp-up Timeline ⚠️ Inferred\n\n### Week 1 — get oriented and unblocked\n  □ Local dev running: `curl http://localhost:3000/health` → {\"status\":\"ok\"}\n  □ STRIPE_WEBHOOK_SECRET and JWT_SECRET added to .env (ask alice@example.com)\n  □ Can explain Client → API → Auth → Handler → DB without CODEBASE.md\n  □ Blocking team questions answered (questions 1 and 2 — see Team Questions 🔴)\n  □ First safe contribution submitted (target: test_auth.py line 47)\n\n### Week 2 — know how the team works\n  □ First PR merged without commit message feedback (conventional commits format)\n  □ PR size within team norm (under 400 lines, based on git log)\n  □ Know who to ping: auth → alice@example.com, payments/API → bob@example.com\n  □ Important questions answered (questions 3–5 — see Team Questions 🟡)\n\n### Week 4 — own the codebase\n  □ Can name all 3 Danger Zones without looking at CODEBASE.md\n  □ Touch mode no longer needed outside Danger Zones\n  □ Ready to review a teammate's PR for convention compliance\n  □ CODEBASE.md updated with anything that was wrong or missing\n```\n\nReturn mode adds a **recovery gate at end of Week 1**: archaeology complete, changes since your absence absorbed, prior mental model assumptions flagged as outdated.\n\n---\n\n### Executive Brief — non-technical only\n\n```markdown\n## Executive Brief\n\n### Codebase health\n| Area | Status | Business impact |\n|------|--------|----------------|\n| Core engine | 🔴 High risk | Changes here are slow and bug-prone |\n| Payments | 🟡 Unstable | Has broken 3× in 6 months |\n| Auth | 🟡 Untested | No safety net; bugs affect all users |\n| API | 🟢 Healthy | Well-maintained, stable |\n\n### Top risks\n1. Payment processing has broken and been reverted three times — any change\n   here carries meaningful risk of customer-facing outage.\n2. Authentication has no automated tests — bugs affect every user.\n\n### Overall assessment\nMedium risk. The API layer is healthy, but two critical areas (payments\nand auth) need investment before safely shipping major new features.\n```\n\n---\n\n## Quick mode\n\n\u003e *\"Quick mode — I need to make a change in the next hour.\"*\n\nNo CODEBASE.md written. Runs Bootstrap + Danger Zones + Gotchas only. Output is a single briefing:\n\n```\nQuick Briefing: payments-api\n\n⚠️  This is triage, not orientation. Run join mode when you have time.\n\nDON'T TOUCH FIRST\n  migrations/   — irreversible schema changes, never solo\n  auth/         — no tests, 3 reverts in 6 months, get review first\n  .env files    — shared config, changes affect everyone immediately\n\nGOTCHAS TO KNOW NOW\n  STRIPE_WEBHOOK_SECRET missing from .env.example — payments fail silently\n  Pre-commit runs eslint --fix; CI runs eslint — re-stage after hook fires\n  auth/ tests share a singleton — run pytest -p no:xdist, not pytest -n 4\n\nSuggested prompt for your change:\n  \"In api/middleware.go, [your change]. Be minimal. Don't touch auth/.\"\n```\n\n---\n\n## Touch mode\n\n\u003e *\"I'm about to modify `auth/middleware.go` — run touch mode.\"*\n\nChecks CODEBASE.md staleness first. If it's older than 4 weeks, warns before using its data.\n\n```\nBefore You Touch: auth/middleware.go\n\nRisk level: HIGH — listed in Danger Zones\n\nRecent commits:\n  3 days ago   fix: token expiry edge case       alice@example.com\n  2 weeks ago  REVERT: \"refactor auth flow\" — broke staging\n\nWho to ping: alice@example.com (14 of last 20 commits)\n\nKnown issues:\n  Line 47   TODO  refresh token rotation not implemented\n  Line 203  FIXME breaks with multiple active sessions\n\nTests covering this:\n  tests/auth/middleware_test.go\n  tests/integration/session_test.go\n\n  Run these now, before editing, to establish a baseline.\n  A failure before you start is not your bug. A failure after is.\n\nWatch out for:\n  Session singleton on line 89 — caused the revert two weeks ago\n\nSuggested prompt for your next message:\n  \"In auth/middleware.go, [your change]. Be minimal.\n   Don't touch the session singleton on line 89.\"\n```\n\n---\n\n## Preflight mode\n\n\u003e *\"Run preflight on my current changes.\"*\n\nChecks CODEBASE.md staleness first. Every ❌ includes the corrected version and exact command. Every ⚠️ includes the specific action and the relevant CODEBASE.md reference. The verdict is a sequence to execute, not a list to interpret.\n\n```\nPR Pre-flight: feat/add-rate-limiting\nBranch: feat/add-rate-limiting (3 source files, 0 test files changed)\n\n────────────────────────────────────────\nCOMMIT MESSAGE\n────────────────────────────────────────\n❌ Doesn't follow conventional commits (used in 28 of last 30 commits)\n\n   Current:  \"add rate limiting\"\n   Fix to:   \"feat(api): add rate limiting to middleware\"\n\n   Command:  git commit --amend -m \"feat(api): add rate limiting to middleware\"\n\n────────────────────────────────────────\nFILES CHANGED\n────────────────────────────────────────\n✅ api/routes.go — not a Danger Zone\n✅ api/middleware.go — not a Danger Zone\n\n⚠️  auth/middleware.go — DANGER ZONE\n   Why: No tests, last touched 18 months ago, security-sensitive\n   Action: alice@example.com must review (14 of last 20 commits here)\n   Watch for: session singleton on line 89 — caused a revert last month\n\n────────────────────────────────────────\nPR SIZE\n────────────────────────────────────────\n⚠️  430 lines changed — team norm is under 400 (based on last 30 merged PRs)\n\n   Consider splitting: rate limiting logic vs. test files\n\n────────────────────────────────────────\nTEST COVERAGE\n────────────────────────────────────────\n❌ No test files in diff (convention: every commit that touches source touches tests)\n\n   Add tests to:\n     api/middleware.go  → tests/api/middleware_test.go\n     auth/middleware.go → tests/auth/middleware_test.go\n\n   Pattern to follow: tests/api/logging_test.go\n   (added with \"feat(api): add request logging\" — same structure)\n\n────────────────────────────────────────\nGOTCHAS\n────────────────────────────────────────\n⚠️  Pre-commit runs eslint --fix; CI runs eslint without fix\n   After hook fires: git add api/middleware.go \u0026\u0026 git push\n\n⚠️  auth/ tests share a singleton — don't run with -n\n   Use: pytest -p no:xdist tests/auth/\n\n────────────────────────────────────────\nVERDICT: ⚠️ ADDRESS BEFORE PUSHING\n────────────────────────────────────────\n  1. git commit --amend -m \"feat(api): add rate limiting to middleware\"\n  2. Add tests to tests/api/middleware_test.go and tests/auth/middleware_test.go\n     (follow tests/api/logging_test.go)\n  3. Re-stage after pre-commit hook fires, then push\n```\n\n---\n\n## Task mode\n\n\u003e *\"I need to add rate limiting to the API — where do I start?\"*\n\n```\nTask: Add rate limiting to the API\n\nRelevant files:\n  api/routes.go       — entry point; where rate limiting hooks in\n  api/middleware.go   — existing pattern to follow ← start here\n\nDanger Zone proximity:\n  auth/middleware.go  ⚠️  adjacent — avoid unless necessary\n\nSimilar past work:\n  \"feat(api): add request logging middleware\" — bob@example.com, 3 months ago\n  Same pattern: middleware.go, not routes.go\n\nConventions:\n  Every new middleware needs an integration test in tests/api/\n\nWho to loop in: bob@example.com (owns api/, built existing middleware)\n\nRisk level: LOW — api/ is not a Danger Zone, pattern is established\n```\n\n---\n\n## Install\n\n```bash\nmkdir -p ~/.claude/skills/codebase-onboarding\ncurl -o ~/.claude/skills/codebase-onboarding/SKILL.md \\\n  https://raw.githubusercontent.com/googlarz/codebase-onboarding/main/SKILL.md\n```\n\n---\n\n## Usage\n\n```\n/codebase-onboarding join       # new team or repo\n/codebase-onboarding return     # your own code after months away\n/codebase-onboarding audit      # evaluating OSS before contributing\n/codebase-onboarding quick      # 15-minute triage — danger zones + gotchas only\n/codebase-onboarding touch      # before modifying a file\n/codebase-onboarding preflight  # before pushing a PR\n/codebase-onboarding task       # when starting any new piece of work\n```\n\n---\n\n## Used at your company?\n\nUsing codebase-onboarding on your team? [Open an issue](https://github.com/googlarz/codebase-onboarding/issues/new?title=We+use+codebase-onboarding+at+[Company]) — I'd love to add your logo here.\n\n---\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgooglarz%2Fcodebase-onboarding","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgooglarz%2Fcodebase-onboarding","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgooglarz%2Fcodebase-onboarding/lists"}