Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/warrendeanlangeveldt-team-init
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
team-init- Description
- None
- License
- MIT
- Instructions
- 56 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- invalid YAML frontmatter: Nested mappings are not allowed in compact mappings at line 2, column 14:
- name: missing
- description: missing
Files (1)
- SKILL.md
SKILL.md (first lines)
# Set up the team
A team is several people in one repository, each with their own lead and agents (spec 16). code-kit then claims a story before anyone builds it, leases the files it changes, has intents raised before shared things change, and shows it all in `/team`. One developer needs none of this, and the project works the same without it.
The CLI is `node "${CLAUDE_PLUGIN_ROOT}/bin/code-kit.mjs"`, run from the project root. Its `team init` shows the team section it would write; with `--write` it writes it, once the person agrees. Only the lead writes it: the hooks refuse it from a lane agent.
## 1. Where things stand
1. `.claude/code-kit.json` must exist and be valid (`check`). If it doesn't, stop: the person runs `/code-kit:init` first.
2. Run `check --json` and read `team` (null when the project isn't a team's), `me` (who's signed in to gh here) and `lanes`.
3. The shared repository: `git remote get-url origin` must be on GitHub, and `gh auth status` signed in. Without either, say what's missing; code-kit's own team provider works through both.
Say which applies: **new team**, **change the team**, or **back to one developer** (the person asked to stop working as a team).
## 2. Ask, one question at a time
Ask only what the config can't answer, with the current value as the default on a change.
- **Is this a team?** On a new setup, unless the person already said so: "Do other developers work in this repository with their own Claude Code sessions?" No → stop, and say nothing changed.
- **Tech lead:** whose GitHub handle owns the plan, specs, contracts and principles, agrees or drops intents, and may release or reassign anyone's claim. Default: `me`.
- **Lane owners:** for each lane, whose sessions build its stories (GitHub handles), or nobody, in which case whoever claims a story first builds it. `git log --format='%an' -- <lane paths> | sort | uniq -c` and CODEOWNERS suggest people, but ask for handles: names in commits aren't handles.
- **Stale after:** how many working days without a push before a claim is stale (default 3).
- **Intents category:** the GitHub Discussions category intents go in (default `Intents`). Skip it when the config's `team.provider` names a hosted provider (`{ "<name>": "<https address>" }`) and `team.intents` isn't set: that provider keeps the intents.
- **Back to one developer:** confirm that claims, owners and intents stop applying, and that teammates' sessions lose them too once it's merged.
## 3. Show, then write
Run it without `--write` and show the person exactly what it prints:
```bash
node "${CLAUDE_PLUGIN_ROOT}/bin/code-kit.mjs" team init --tech-lead <handle> --owner <lane>=<handle>,<handle> [--stale-days <n>] [--intents <category>]
node "${CLAUDE_PLUGIN_ROOT}/bin/code-kit.mjs" team init --off
```
Give `--owner <lane>=` (nothing after `=`) to take a lane's owners out. Once they agree, run the same command with `--write`. It prints what GitHub still needs; tell the person each, in their words:
- **gh isn't signed in:** they run `! gh auth login`.
- **Discussions are off, or there's no intents category:** GitHub doesn't let a tool create a category. They turn Discussions on (Settings › Features) and add an "Open-ended discussion" category with the intents' name (Settings › Discussions), once.
## 4. Also offer
Each is optional; ask, and do only what they want:
- **CODEOWNERS** (TEAM-11): `team codeowners --write` writes `.github/CODEOWNERS` from the config, so GitHub asks the tech lead and lane owners to review. Then they require code owners' review in a ruleset on the protected branch.
- **A Project board** (TEAM-12): with a GitHub Project's owner and number, add `"board": { "owner": "<user or organisation>", "number": <n> }` to `team` in the config; the mod then mirrors the plan onto it.
- **A hosted team provider, only when the config already names one:** hosted providers are in preview, so never offer or suggest one. When `team.provider` is `{ "<name>": "<https address>" }` (set by hand), connect this machine: run `team provider status`; if it isn't signed in, run `team provider signin` in the background, give the person the code and the GitHub address it prints, and wait (they enter the code in their browser; never ask for a password or token); then `team provider connect`, which checks the provider can see the repository, adds its MCP server to `.mcp.json` and links this session (no restart). Commit `.mcp.json` with the config, on the base branch: the hub reads the team from there, and a session only links where the checked-out config names the hub. Then run `team provider status` and give the person its last line; for each ✗, say what it asks for.
## 5. Finish
1. Run `check` and `team` to confirm.
2. Commit `.claude/code-kit.json` (and CODEOWNERS, if written) on a branch, open a pull request, and merge it as any change to the kit's rules.
3. Tell the person what each teammate does once: install code-kit, `gh auth login`, pull the change. Their sessions then share the claims, and `/team` shows the team.
Report in three lines: the tech lead and owners as written (or that the project is one developer's again), what GitHub still needs, and what each teammate does.From warrendeanlangeveldt/code-kit, MIT.
More from warrendeanlangeveldt/code-kit
- 0.565score
lead
warrendeanlangeveldt
Make this Claude Code session the project's lead session, where code-kit's loop runs and the plan's stories are dispatched from, when several sessions work…
SkillAFreshness: AClaude Code +9 - 0.565score
decide
warrendeanlangeveldt
The lead decides what a lane asked for and couldn't do itself (a new package, a migration, a protected file, a UX question) against the story's requirements…
SkillAFreshness: AClaude Code +9 - 0.565score
design
warrendeanlangeveldt
Design a design story's screens with the person before any of them is built, and record each approved design so its screen can be coded.
SkillAFreshness: AClaude Code +9 - 0.565score
dispatch
warrendeanlangeveldt
Hand stories from the plan to their lane agents, one per lane, every free lane at once.
SkillAFreshness: AClaude Code +9 - 0.565score
init
warrendeanlangeveldt
Set up code-kit in a project, or bring an existing setup up to date.
SkillAFreshness: AClaude Code +9 - 0.565score
next
warrendeanlangeveldt
The one command for code-kit.
SkillAFreshness: AClaude Code +9 - 0.565score
review
warrendeanlangeveldt
The lead's review of a lane's finished branch before it merges.
SkillAFreshness: AClaude Code +9 - 0.565score
spec-design
warrendeanlangeveldt
Turn an idea into a buildable specification by working it through with the person.
SkillAFreshness: AClaude Code +9 - 0.565score
status
warrendeanlangeveldt
Where the build stands against the spec.
SkillAFreshness: AClaude Code +9 - 0.561score
spec-check
warrendeanlangeveldt
Check a task against the project's specs before implementing it, and again before declaring it done.
SkillAFreshness: AClaude Code +9 - 0.556score
check
warrendeanlangeveldt
Validate the project's .claude/code-kit.json and show who owns what.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 23, 2026 (5 days ago)
- Last release
- Oct 23, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/warrendeanlangeveldt/code-kit
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from warrendeanlangeveldt
- 0.565score
lead
warrendeanlangeveldt
Make this Claude Code session the project's lead session, where code-kit's loop runs and the plan's stories are dispatched from, when several sessions work…
SkillAFreshness: AClaude Code +9 - 0.565score
decide
warrendeanlangeveldt
The lead decides what a lane asked for and couldn't do itself (a new package, a migration, a protected file, a UX question) against the story's requirements…
SkillAFreshness: AClaude Code +9 - 0.565score
design
warrendeanlangeveldt
Design a design story's screens with the person before any of them is built, and record each approved design so its screen can be coded.
SkillAFreshness: AClaude Code +9 - 0.565score
dispatch
warrendeanlangeveldt
Hand stories from the plan to their lane agents, one per lane, every free lane at once.
SkillAFreshness: AClaude Code +9 - 0.565score
init
warrendeanlangeveldt
Set up code-kit in a project, or bring an existing setup up to date.
SkillAFreshness: AClaude Code +9 - 0.565score
next
warrendeanlangeveldt
The one command for code-kit.
SkillAFreshness: AClaude Code +9
Cite this page
team-init skill. Agent Mart. https://agentmart.dev/skills/warrendeanlangeveldt-team-init (last updated 2026-10-24)