project-onboarding

安装量: 56
排名: #13176

安装

npx skills add https://github.com/oimiragieo/agent-studio --skill project-onboarding
When to Use
Invoke this skill when:
Starting work on an unfamiliar codebase
After context is lost (new session)
When
check_onboarding_performed
indicates no memories exist
When user asks to "learn about this project" or "understand this codebase"
Onboarding Workflow
Step 1: Check Existing Knowledge
First, check if onboarding was already performed:
List files in: .claude/context/memory/
Look for: project-structure.md, build-commands.md, test-commands.md
If memories exist, read them and skip to Step 6 (Validation).
Step 2: Project Discovery
First, classify the project:
Greenfield vs Brownfield Detection
Indicator
Present?
Classification
.git
directory with history
Yes
Brownfield
Package manifest (
package.json
,
requirements.txt
, etc.)
Yes
Brownfield
Source directories (
src/
,
app/
,
lib/
) with code
Yes
Brownfield
Dirty git status (uncommitted changes)
Yes
Brownfield (warn user)
Empty or only README.md
None of above
Greenfield
For Brownfield Projects:
Respect Ignore Files
Check
.gitignore
and
.claudeignore
BEFORE scanning
Efficient File Triage
:
Use
git ls-files
to list tracked files (respects .gitignore)
For large files (>1MB): Read only head/tail (first and last 20 lines)
Skip binary files, node_modules, build artifacts
Infer Tech Stack
Analyze manifests before asking questions
Context-Aware Questions
Base questions on discovered patterns

Efficient file listing (respects .gitignore)

git ls-files --exclude-standard -co | head -100

For non-git projects with manual ignores

find . -type f \ -not -path '/node_modules/' \ -not -path '/.git/' \ -not -path '/dist/' \ -not -path '/build/' \ | head -100 For Greenfield Projects: Create fresh context artifacts Use interactive-requirements-gathering skill for setup Analyze the project root to identify: Package Manager & Language : package.json - Node.js/JavaScript/TypeScript pyproject.toml , requirements.txt - Python Cargo.toml - Rust go.mod - Go pom.xml , build.gradle - Java composer.json - PHP Project Type : Frontend, Backend, Fullstack, Library, CLI, Mobile, Monorepo Framework Detection : Parse dependencies for frameworks (React, Next.js, FastAPI, etc.) Step 3: Build System Analysis Identify how to build/run the project: Check package.json scripts (Node.js): { "scripts" : { "dev" : "..." , "build" : "..." , "start" : "..." , "test" : "..." } } Check Makefiles (Python, Go, Rust): build : test : lint : Check pyproject.toml (Python): [ tool.poetry.scripts ] [ tool.poe.tasks ] Document discovered commands : Development: npm run dev , uv run dev Build: npm run build , cargo build Test: npm test , pytest Lint: npm run lint , ruff check Step 4: Directory Structure Mapping Map key directories: Directory Purpose src/ Source code lib/ Library code test/ , tests/ , tests/ Test files docs/ Documentation scripts/ Utility scripts config/ Configuration files Identify: Entry points ( index.ts , main.py , app.py ) Component directories API routes Database models Step 5: Create Onboarding Memories Save discovered information to persistent memories: Memory: project-structure.md

Project Structure

Overview

Project Type: [fullstack/backend/frontend/library]

Primary Language: [TypeScript/Python/Go/Rust]

Framework: [Next.js/FastAPI/Express/etc.]

Key Directories

Source: src/ - Tests: test/ - Config: .claude/

Entry Points

Main: src/index.ts - API: src/api/

Important Files

Configuration: package.json , tsconfig.json - Environment: .env.example Memory: build-commands.md

Build Commands

Development

Start dev server: npm run dev - Watch mode: npm run watch

Build

Production build: npm run build - Type check: npm run typecheck

Clean

Clean build: npm run clean Memory: test-commands.md

Test Commands

Unit Tests

Run all: npm test - Watch mode: npm test -- --watch - Coverage: npm test -- --coverage

E2E Tests

Run: npm run test:e2e

Linting

Lint: npm run lint - Fix: npm run lint:fix Step 6: Validation Validate discovered information: Test Commands (if safe): Run npm --version or equivalent to verify package manager Run npm run --silent to list available scripts Do NOT run build or test without user permission Verify Paths : Confirm key directories exist Verify entry points are correct Step 7: Report Summary Output a concise summary:

Onboarding Complete

Project: [name] Type: [fullstack/backend/etc.] Framework: [Next.js/FastAPI/etc.] Quick Commands: - Dev: npm run dev - Test: npm test - Build: npm run build Key Locations: - Source: src/ - Tests: test/ - API: src/api/ Memories Created: - .claude/context/memory/project-structure.md - .claude/context/memory/build-commands.md - .claude/context/memory/test-commands.md Agent Actions : Check for existing memories in .claude/context/memory/ If no memories, run project discovery Analyze package.json, directory structure Create memory files Report summary Output :

Onboarding Complete

Project: agent-studio Type: Multi-agent orchestration framework Framework: Claude Code + Custom agents Quick Commands: - Validate: node .claude/tools/cli/validate-agents.mjs - Test hooks: node .claude/hooks/routing/router-enforcer.cjs (uses .claude/lib/routing/routing-table.cjs) Key Locations: - Agents: .claude/agents/ - Skills: .claude/skills/ - Memory: .claude/context/memory/ Memories Created: 3 files Iron Laws ALWAYS check for existing onboarding memories before running discovery — duplicate onboarding creates contradictory knowledge entries that mislead future agents. NEVER assume standard conventions without verification — run commands to confirm what actually works in this specific project environment. ALWAYS write discovered commands and paths to persistent memory files — session context resets, but named memory files survive indefinitely. ALWAYS verify discovered commands with a safe test step before documenting — incorrect commands in onboarding memories mislead every agent that reads them. NEVER complete onboarding without revisiting memories when the project evolves — stale onboarding artifacts are more dangerous than no onboarding. Anti-Patterns Anti-Pattern Why It Fails Correct Approach Assuming standard conventions without checking Every project has unique build/test/lint commands; wrong assumptions cause silent failures Read package.json, Makefile, or pyproject.toml and run --version to confirm Skipping verification of discovered commands Documented-but-wrong commands mislead every future agent session Run each command with a safe no-op or --help flag to confirm it works Storing onboarding only in session context Context resets on every new conversation; discoveries are permanently lost Write all findings to named memory files in .claude/context/memory/named/ Treating onboarding as a one-time event Projects evolve; stale commands fail silently and waste agent time Update onboarding memories after any significant project structure change Over-documenting without prioritizing key commands Long files with low-priority info bury the critical build/test commands Structure memories with Quick Start commands at the top, details below Memory Protocol (MANDATORY) Before starting: Read .claude/context/memory/learnings.md After completing: New pattern discovered -> .claude/context/memory/learnings.md Issue encountered -> .claude/context/memory/issues.md Decision made -> .claude/context/memory/decisions.md ASSUME INTERRUPTION: If it's not in memory, it didn't happen.

返回排行榜