Skip to main content
ClaudeWave
EN, English
Skill1.5k repo starsupdated 6d ago

local-dev-setup

This skill generates comprehensive local development setup guides that walk new engineers from a clean machine to a working environment with passing tests in under 30 minutes. Use it when creating onboarding documentation, writing getting-started guides for codebases, or documenting local environment setup. The output includes prerequisites, step-by-step commands, environment configuration, database seeding, test execution, troubleshooting sections, and IDE recommendations tailored to the specific service's tech stack and dependencies.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/mohitagw15856/pm-claude-skills /tmp/local-dev-setup && cp -r /tmp/local-dev-setup/plugins/pm-engineering/skills/local-dev-setup ~/.claude/skills/local-dev-setup
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# Local Dev Setup Skill

Produce a complete local development environment setup guide for a service or project — walking a new engineer from zero (a clean laptop) to a working local environment with passing tests in under 30 minutes. A good setup guide reduces onboarding time, prevents the "it works on my machine" problem, and lets engineers make their first contribution with confidence. Write every step as a concrete command or action — not a description of what needs to happen.

## Required Inputs

Ask for these if not already provided:
- **Service name** and what it does
- **Tech stack** — language, framework, database, cache, message queue, and any external services
- **Dependencies** — databases, caches, message queues, and external services (mocked or real)
- **Test framework** — how tests are run and what the test suite covers
- **CI/CD platform** — GitHub Actions, CircleCI, Jenkins, etc. (for context on what "passing CI" means locally)

## Output Format

---

# Local Development Setup: [Service Name]

**Tech stack:** [Language + version] | [Framework] | [Database] | [Cache]
**Estimated setup time:** [20–30 minutes] on a clean machine
**Last verified:** [Date] on [macOS Ventura 13.x / Ubuntu 22.04]
**Questions?** Ask in [Slack: #[team-channel]] or ping [@tech-lead-handle]

> **First contribution?** Complete setup first (this doc), then read [CONTRIBUTING.md] for code standards and PR process.

---

## Prerequisites

Install these tools before starting. The versions listed are the minimum required — newer patch versions are fine, newer major versions may have compatibility issues.

### Required Tools

| Tool | Required version | Install |
|---|---|---|
| [Git] | 2.x+ | Pre-installed on most systems; or `brew install git` |
| [Language runtime — e.g. Go] | [1.22+] | [https://go.dev/dl/ or `brew install go`] |
| [Docker] | 24.x+ | [https://docs.docker.com/get-docker/] |
| [Docker Compose] | 2.x+ | Included with Docker Desktop; or `brew install docker-compose` |
| [Make] | Any | Pre-installed on macOS/Linux |
| [Tool — e.g. Node.js] | [20.x+] | [`brew install node` or https://nodejs.org] |
| [Tool — e.g. psql client] | [15+] | `brew install postgresql@15` (client only) |

### Optional but Recommended

| Tool | Purpose | Install |
|---|---|---|
| [direnv] | Auto-load `.envrc` environment variables | `brew install direnv` + [setup instructions](https://direnv.net) |
| [jq] | Pretty-print JSON in terminal | `brew install jq` |
| [k9s] | Kubernetes cluster UI (if using K8s locally) | `brew install k9s` |
| [mkcert] | Local HTTPS certificates | `brew install mkcert` |

### Required Accounts and Access

Before starting, make sure you have:
- [ ] GitHub access to [org/repo] — request via [access request process / Slack: #it-help]
- [ ] [AWS / GCP / Azure] account with [dev environment] access — request via [process]
- [ ] [Internal tool — e.g. 1Password] for retrieving development secrets — request via [process]
- [ ] [VPN access] if required to reach internal services — request via [process]

---

## 1. Repository Setup

```bash
# Clone the repository
git clone git@github.com:[org]/[repo-name].git
cd [repo-name]

# Install git hooks (required — enforces commit message format and runs pre-commit checks)
make install-hooks
# Or manually:
# cp scripts/hooks/pre-commit .git/hooks/pre-commit && chmod +x .git/hooks/pre-commit

# Verify your git setup
git config user.name   # should be your name
git config user.email  # should be your work email
```

**If you see a permission denied error on clone:** Your SSH key is not added to GitHub. Follow [GitHub's SSH key guide](https://docs.github.com/en/authentication/connecting-to-github-with-ssh) or use HTTPS with a personal access token instead.

---

## 2. Environment Variables

The service requires environment variables for configuration. **Never commit actual secrets to the repository.**

### Step 1 — Copy the example file

```bash
cp .env.example .env.local
```

### Step 2 — Fill in the values

Open `.env.local` in your editor. Below is a description of every variable and where to get its value:

| Variable | Description | Where to get it | Example (not real) |
|---|---|---|---|
| `APP_ENV` | Environment name | Set to `development` | `development` |
| `APP_PORT` | Port the service listens on | Set to `8080` for local | `8080` |
| `DATABASE_URL` | PostgreSQL connection string | Use value from Docker Compose (Section 3) | `postgres://app:password@localhost:5432/[service]_dev` |
| `REDIS_URL` | Redis connection string | Use value from Docker Compose | `redis://localhost:6379` |
| `SECRET_KEY` | Application secret key | Generate with: `openssl rand -hex 32` | `[random 64-char hex]` |
| `[EXTERNAL_SERVICE]_API_KEY` | API key for [External Service] | Retrieve from [1Password vault: "Dev API Keys"] or ask [name] | — |
| `[EXTERNAL_SERVICE]_BASE_URL` | Base URL for [External Service] | Use sandbox URL: `https://sandbox.[external-service].com` | `https://sandbox.stripe.com` |
| `LOG_LEVEL` | Logging verbosity | Set to `debug` for local development | `debug` |
| `[FEATURE_FLAG_SDK_KEY]` | Feature flag platform SDK key | Retrieve from [LaunchDarkly/Split dev project] | — |

**Using direnv (recommended):** Rename `.env.local` to `.envrc`, add `dotenv` at the top, and run `direnv allow`. Variables will load automatically when you `cd` into the project.

---

## 3. Local Service Dependencies

All infrastructure dependencies run in Docker Compose. You do not need to install PostgreSQL, Redis, or Kafka locally.

```bash
# Start all dependencies (PostgreSQL, Redis, and any other services)
docker compose up -d

# Verify all containers are healthy
docker compose ps
# Expected output: all services show "healthy" status

# View logs if something is not healthy
docker compose logs [service-name]
```

### What Docker Compose Starts

| Service | Port | Purpose | Health check |
|---|---|---|---|
| PostgreSQL [version] | `5432` | Primary database | `pg_isready -U app` |
| R
360-feedback-templateSkill

Design a 360-degree feedback survey or write a structured 360 feedback report. Use when asked to build a 360 feedback process, write 360 feedback for a colleague, design a feedback survey, or produce a feedback report. Produces either a complete survey instrument with rating scales and open-ended questions, or a structured narrative feedback report with themes, strengths, and development areas.

401k-plan-decoderSkill

Decode a 401k or workplace retirement plan — the real cost of its funds, the match's fine print, vesting math, and the plan features worth using or avoiding. Use when someone asks 'is my 401k any good', 'decode my 401k plan', 'which funds should I look at', or 'what fees am I paying'. Produces a fee decode in dollars-over-time, match and vesting math, a fund-lineup triage by cost, and the questions for HR or the plan administrator.

ab-test-plannerSkill

Design statistically rigorous A/B tests for product features, UI changes, onboarding flows, and pricing experiments. Use when asked to set up an experiment, design an A/B test, calculate sample size, or interpret test results. Produces a complete test plan with hypothesis, variant definitions, sample size, duration estimate, guardrail metrics, and a results interpretation guide.

ab-test-readoutSkill

Analyse a finished A/B test and write the readout — the result, whether it's statistically and practically significant, what it means, and the ship/no-ship call. Use when asked to analyse experiment results, write an A/B test readout, interpret test data, or decide whether to ship a variant. Produces a clear verdict with the lift and confidence, segment cuts, the risks (peeking, novelty, sample), and a recommendation. Distinct from planning a test — this reads results.

accessibility-auditSkill

Generate a WCAG 2.2 accessibility audit checklist and remediation suggestions for any UI or design. Use when asked to audit for accessibility, check WCAG compliance, review a design for a11y issues, or create an accessibility remediation plan. Produces a prioritised checklist with pass/fail assessments and specific fixes.

accessible-travel-plannerSkill

Plan a trip that actually works with a disability or access need — confirm real accessibility (not just 'accessible' labels), book the assistance in advance, plan for equipment and medication, and build in the contingencies for when access breaks down. Use when someone says 'plan an accessible trip', 'travelling with a wheelchair/disability', 'book assistance for my flight', or 'will this hotel actually work for me'. Produces an access-verified itinerary, an assistance-booking checklist, an equipment/medication plan, and contingency scripts. Verify specifics with providers.

accommodation-requestSkill

Request a reasonable accommodation at work or in education — frame it around the barrier and the adjustment (not your diagnosis), cite the right process, and navigate the back-and-forth constructively. Use when someone says 'I need a workplace accommodation', 'request reasonable adjustments', 'ADA/Equality Act accommodation', or 'how do I ask for accommodations for my disability/condition'. Produces the request letter, a barriers-and-adjustments map, disclosure guidance, and a plan for the interactive process. Not legal advice — routes to the formal process and to advocacy where needed.

account-planSkill

Build a structured account plan for any key customer or target account. Use when asked to create an account plan, key account strategy, strategic account review, or territory plan. Produces a complete account plan with relationship map, growth opportunities, risks, and 90-day action plan.