Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Write a developer onboarding document for a service, codebase, or team. Use when asked to write a developer guide, service README, onboarding doc for a new engineer, codebase orientation, or getting-started guide for a technical team. Produces a structured doc covering service overview, architecture, local setup, key patterns, testing, deployment, and who to ask for what.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 23% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 86% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 62% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 274% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 100% | 0% |
Produce a complete developer onboarding document for a service or team — covering everything a new engineer needs to be productive within their first week.
A good onboarding doc is not a wiki dump. It answers the questions a new engineer actually has on day one, in the order they'll have them.
Ask for these if not already provided:
Team: Team name] | Tech lead: Name] Last updated: Date] | Updated by: Name]
> If something in this doc is wrong or out of date, fix it now — it will affect every engineer who onboards after you.
3–5 sentences. What problem does this service solve? Who calls it, and who does it call? What would break if this service went down?]
Service type: API / Background worker / Event consumer / Data pipeline / etc.] Consumers: List internal services or external clients that depend on this service] Dependencies: List upstream services, databases, and third-party APIs this service calls]
Architecture diagram: Link or embed — even a rough ASCII diagram helps]
[Caller A] ──→ [This Service] ──→ [Database]
│
└──→ [Downstream Service]Repository: Link] Main branch: [main / master] Language: e.g. Go 1.22 / Node.js 20 / Python 3.12] Framework: e.g. Express / FastAPI / Gin / Rails]
[repo-root]/
├── [src/ or cmd/] # Application code
│ ├── [handlers/] # HTTP handlers / controllers
│ ├── [services/] # Business logic
│ ├── [repository/] # Database access layer
│ └── [models/] # Data models / types
├── [tests/] # Test files
├── [migrations/] # Database migrations
├── [scripts/] # Utility scripts
├── [.github/workflows/] # CI/CD pipeline definitions
└── [docs/] # Additional documentationWhere to start reading: Point to 2–3 key files that give the best orientation — e.g. main.go, routes.js, app.py]
X-User-Id header"]Estimated setup time: X minutes for a fresh machine]
bash# 1. Clone the repo git clone [repo URL] cd [repo-name] # 2. Copy and configure environment variables cp .env.example .env # Edit .env — see "Environment Variables" section below # 3. Start dependencies (database, cache, etc.) [docker compose up -d / make deps / etc.] # 4. Install dependencies [npm install / go mod download / pip install -r requirements.txt] # 5. Run database migrations [migration command] # 6. Start the service [start command] # 7. Verify it's working curl http://localhost:[PORT]/health # Expected: {"status":"ok"}
If this doesn't work: Check Troubleshooting section below] or ask in #[channel].
| Variable | Required | Description | Example | |---|---|---|---| | DATABASE_URL | Yes | Connection string for the primary DB | postgres://localhost:5432/[db] | | [VAR_2] | Yes | Description] | Example] | | [VAR_3] | No | Description — default value] | Example] |
Secrets for local dev: Where to get them — e.g. "Run [command] to pull from Vault" or "Ask person] in #channel]"]
bash[start command] # Start the service [test command] # Run all tests [lint command] # Run linter [format command] # Format code [migration command] # Run pending migrations [seed command] # Seed local database
Testing philosophy: e.g. "We test at the integration layer — unit tests for pure functions, integration tests for anything touching the DB or external services"]
bash# All tests [test command] # Unit tests only [unit test command] # Integration tests (requires local deps running) [integration test command] # A specific test file or test case [test command with filter]
Test coverage: X]% (minimum required to pass CI: Y]%) Coverage report: Where to find it]
*_test.go]tests/integration/]tests/helpers/db.go"]Branch naming convention — e.g. feature/[ticket-id]-short-description, fix/[ticket-id]-short-description]
[lint command]).env.example and documentedbash# Create a new migration [migration create command] # Apply pending migrations [migration up command] # Roll back last migration [migration down command]
Migration rules:
How code gets to production: 1–2 sentence summary — link to full CI/CD playbook if it exists]
main → automatic deploy to stagingDeployment docs: Link to CI/CD playbook or pipeline docs]
Who can deploy: Any engineer / Lead engineer / On-call engineer — specify]
Deployment channel: #[deployments channel]
Dashboard: Datadog / Grafana / CloudWatch — link] Logs: Log aggregation tool and link — e.g. "Logs are in Datadog under service:name]"] Traces: Tracing tool and link if applicable] Alerts: Where alerts fire — e.g. PagerDuty / Slack #alerts-service]]
Key metrics to know:
On-call schedule: PagerDuty / Opsgenie link] Who's on-call now: Link to current schedule or #oncall channel] Escalation: On-call → team lead] → EM] — after X] minutes unacknowledged]
If you get paged:
| Role | Name | Best way to reach | |---|---|---| | Tech lead | Name] | Slack: @handle] | | On-call rotation | Team] | PagerDuty / #on-call | | Platform / infra | Team] | #platform Slack channel | | Database / DBA | Name or team] | #database Slack channel | | Upstream service] owner | Name] | Slack: @handle] |
Where to ask questions:
#engineering#[service-name]#incidents[command].env is populated — missing values cause silent failures[log command]#[channel][version check command][clean install command][start deps command]#deploymentsOther measured skills in the registry, with their headline benchmark lift.