Repository Setup
Help the user bring a repository to a solid baseline. Prefer understanding and confirmation over spraying every tool into every repo.
Setup is easy to overdo. A marketing site does not need PyPI publishing; a docs repo may not need a heavy test matrix; a monorepo needs different release config than a single library.
- Infer what you can from the tree, then state your working assumptions.
- If repo type, stack, hosting, or whether a step applies is ambiguous, ask before changing files.
- Apply only baselines that fit this repo. Skip or defer the rest and say why.
- Do not invent boilerplate. Leave the repo so a human or agent can operate from
README.md and AGENTS.md.
Phase 1: Understand the repository
First understand if it is a greenfield or a brownfield project. In case of greenfield, ask human what he wants to achieve and the purpose of repo.
Inspect the workspace before proposing a plan. Read package manifests, lockfiles, existing CI, README, and directory layout.
Repo shape (pick the best fit; confirm if unsure)
| Shape |
Signals |
| Monorepo |
Multiple packages/apps, workspaces, apps/ + packages/, turborepo/pnpm-workspaces |
| Landing / marketing / blogs |
Content-heavy, CMS or MDX, little backend, static or SSG |
| Backend |
API/server entrypoints, OpenAPI, workers, auth, DB migrations |
| Library |
Publishable package metadata, src/ + exports, consumers expected |
| Documentation |
Docs framework, mostly markdown, few runtime deps |
Repos can be mixed. Name the mix explicitly.
Tech stack
Use whatever the repo actually uses. Note language(s), package manager, frameworks, test runners, and infrastructure when visible (database, hosting, IaC, container setup).
If detection conflicts (e.g. both package.json and pyproject.toml with no clear primary app), ask which surface this setup pass should target.
Phase 2: Confirm the plan
Present a short plan:
- What you think the repo is (shape + stack + infra)
- Baselines you will apply now
- Optional steps you will skip or ask about (release automation, publishing, branch protection, extra skills)
Wait for confirmation when anything material is unclear or when optional tooling would change release/publish behavior.
Phase 3: Functional baselines
Ensure these exist and match the stack — create or wire them only when missing or broken for this repo type:
- README.md — what the repo is, how to run it, how to test it
- LICENSE — appropriate license file if the user wants one (ask if missing and intent is unclear)
- Tests — a real test runner for the stack (e.g. pytest, vitest) when the repo has executable code worth testing
- Type checking — project-appropriate (e.g. mypy/pyright,
tsc)
- Linter / formatter — project-appropriate (e.g. ruff, eslint/biome)
Prefer the repo's existing tools over replacing them. For new Python work prefer uv; for new JS/TS prefer bun unless the repo already standardized on something else.
Phase 4: Agent and repo infrastructure
- AGENTS.md — conventions future agents need (commands, layout, non-obvious rules)
- CONTRIBUTING.md — human/agent contribution norms when useful; keep it short. Point contributors at engineering principles rather than pasting a long essay into every repo
- Conventional Commits — use and document
feat:, fix:, chore:, etc. for commits and PR titles
- Branch protection — expect
main to require PRs, reviews, and passing CI; create feature branches for work. Configure via GitHub only when the user asks and access is available
- Pre-commit — see references/pre-commit.md
- CI — minimal workflows that match the stack (lint, typecheck, test) when none exist
Phase 5: Optional release and publish tooling
Only when the repo shape warrants it and the user agrees:
- release-please / changelog - libraries, versioned apps, monorepos with releasable packages. See references/release-please.md
- uv trusted publishing - publishable Python packages only. See
- npm trusted publishing - publishable npm packages. See @https://docs.npmjs.com/trusted-publishers
Do not add publishing to apps, marketing sites, or docs-only repos unless the user explicitly wants it.
Phase 6: Relevant agent skills
Equip the repo with skills that match the stack.
- Prefer
npx autoskills to detect and install sensible defaults when available
- Use
npx skills to search for relevant skills
Install only what clearly helps this repo. Ask before bulk-installing skills.
Phase 7: Agent Engineering workflows
Setup the repo with workflows that improves engineering quality and velocity. Refer to the following most common ones and ask human if he wants to install them:
- Superpowers - Superpowers is a complete software development methodology for coding agents. Refer: @https://github.com/obra/superpowers
- Mattpocock skills - Small, easy to adapt, and composable skills from Matt Pocock. Refer: https://github.com/mattpocock/skills
- Addy Osmani Skills - Production-grade engineering skills for AI coding agents from google team. Refer to: https://github.com/addyosmani/agent-skills
Done criteria
Finish when:
- Assumptions and skips are stated
- Applied baselines match the confirmed plan
README.md and AGENTS.md are enough to operate the repo
- Optional release/publish steps are either correctly wired or explicitly deferred
- Create a file setup.md and explicitly mention what was done and what was skipped.
1---2name: setup3description: Initialize or scaffold a repository with standardized project baselines (README, license, tests, lint/types, AGENTS.md, pre-commit, CI, skills). Use when the user asks to set up a new repo, bootstrap project tooling, or apply your standard repo setup — not for routine feature work or code review. Prefer this skill whenever they say "set up this repo", "scaffold", "initialize the project", or want release-please / pre-commit / PyPI trusted publishing as part of initial setup.4---5# Repository Setup67Help the user bring a repository to a solid baseline. Prefer understanding and confirmation over spraying every tool into every repo.8910Setup is easy to overdo. A marketing site does not need PyPI publishing; a docs repo may not need a heavy test matrix; a monorepo needs different release config than a single library.1112* Infer what you can from the tree, then **state your working assumptions**.13* If repo type, stack, hosting, or whether a step applies is ambiguous, **ask before changing files**.14* Apply only baselines that fit this repo. Skip or defer the rest and say why.15* Do not invent boilerplate. Leave the repo so a human or agent can operate from `README.md` and `AGENTS.md`.1617## Phase 1: Understand the repository181920First understand if it is a greenfield or a brownfield project. In case of greenfield, ask human what he wants to achieve and the purpose of repo.2122Inspect the workspace before proposing a plan. Read package manifests, lockfiles, existing CI, README, and directory layout.2324### Repo shape (pick the best fit; confirm if unsure)2526| Shape | Signals |27|-------|---------|28| Monorepo | Multiple packages/apps, workspaces, `apps/` + `packages/`, turborepo/pnpm-workspaces |29| Landing / marketing / blogs | Content-heavy, CMS or MDX, little backend, static or SSG |30| Backend | API/server entrypoints, OpenAPI, workers, auth, DB migrations |31| Library | Publishable package metadata, `src/` + exports, consumers expected |32| Documentation | Docs framework, mostly markdown, few runtime deps |3334Repos can be mixed. Name the mix explicitly.3536### Tech stack 3738Use whatever the repo actually uses. Note language(s), package manager, frameworks, test runners, and **infrastructure** when visible (database, hosting, IaC, container setup).3940If detection conflicts (e.g. both `package.json` and `pyproject.toml` with no clear primary app), ask which surface this setup pass should target.4142## Phase 2: Confirm the plan4344Present a short plan:4546471. What you think the repo is (shape + stack + infra)482. Baselines you will apply now493. Optional steps you will skip or ask about (release automation, publishing, branch protection, extra skills)5051Wait for confirmation when anything material is unclear or when optional tooling would change release/publish behavior.5253## Phase 3: Functional baselines5455Ensure these exist and match the stack — create or wire them only when missing or broken for this repo type:5657* **README.md** — what the repo is, how to run it, how to test it58* **LICENSE** — appropriate license file if the user wants one (ask if missing and intent is unclear)59* **Tests** — a real test runner for the stack (e.g. pytest, vitest) when the repo has executable code worth testing60* **Type checking** — project-appropriate (e.g. mypy/pyright, `tsc`)61* **Linter / formatter** — project-appropriate (e.g. ruff, eslint/biome)6263Prefer the repo's existing tools over replacing them. For new Python work prefer `uv`; for new JS/TS prefer `bun` unless the repo already standardized on something else.6465## Phase 4: Agent and repo infrastructure6667* **AGENTS.md** — conventions future agents need (commands, layout, non-obvious rules)68* **CONTRIBUTING.md** — human/agent contribution norms when useful; keep it short. Point contributors at engineering principles rather than pasting a long essay into every repo69* **Conventional Commits** — use and document `feat:`, `fix:`, `chore:`, etc. for commits and PR titles70* **Branch protection** — expect `main` to require PRs, reviews, and passing CI; create feature branches for work. Configure via GitHub only when the user asks and access is available71* **Pre-commit** — see [references/pre-commit.md](references/pre-commit.md)72* **CI** — minimal workflows that match the stack (lint, typecheck, test) when none exist7374## Phase 5: Optional release and publish tooling7576Only when the repo shape warrants it and the user agrees:7778* **release-please / changelog** - libraries, versioned apps, monorepos with releasable packages. See [references/release-please.md](references/release-please.md)79* **uv trusted publishing** - publishable Python packages only. See 80* npm trusted publishing - publishable npm packages. See @[https://docs.npmjs.com/trusted-publishers](mention://5363cfb1-53e3-4bf8-807d-f88952bd0394/url/d534b671-121a-4ad3-ad8b-d07425a1737e) 8182Do not add publishing to apps, marketing sites, or docs-only repos unless the user explicitly wants it.8384## Phase 6: Relevant agent skills8586Equip the repo with skills that match the stack.8788* Prefer `npx autoskills` to detect and install sensible defaults when available89* Use `npx skills` to search for relevant skills9091Install only what clearly helps this repo. Ask before bulk-installing skills.9293## Phase 7: Agent Engineering workflows9495Setup the repo with workflows that improves engineering quality and velocity. Refer to the following most common ones and ask human if he wants to install them:9697* Superpowers - Superpowers is a complete software development methodology for coding agents. Refer: @[https://github.com/obra/superpowers](mention://974f83a8-521c-43bc-90c2-3fc391e6a4ae/url/18060d13-2b66-4fc6-943c-670c8af0da5c) 98* Mattpocock skills - Small, easy to adapt, and composable skills from Matt Pocock. Refer: <https://github.com/mattpocock/skills>99* Addy Osmani Skills - Production-grade engineering skills for AI coding agents from google team. Refer [to: https://github.com/addyosmani/agent-skills](to:https://github.com/addyosmani/agent-skills)100101## Done criteria102103Finish when:104105* Assumptions and skips are stated106* Applied baselines match the confirmed plan107* `README.md` and `AGENTS.md` are enough to operate the repo108* Optional release/publish steps are either correctly wired or explicitly deferred109* Create a file setup.md and explicitly mention what was done and what was skipped.