onboard-team
Take a new or half-set-up delivery team to a working state with the person — its team, members, board, repositories, team page and charter, dispatch, and local wiring. Reads first, lists the gaps, asks before each write; safe to run again.
- License 许可
- Apache-2.0
- 最近更新
- 2026-11-13
- Stars
- ★ 1
- Forks
- 4
01 前言 Front Matter
- name
- onboard-team
- description
- Take a new or half-set-up delivery team to a working state with the person — its team, members, board, repositories, team page and charter, dispatch, and local wiring. Reads first, lists the gaps, asks before each write; safe to run again.
- argument-hint
- [team slug | new team name]
- disable-model-invocation
- true
03 SKILL.md 正文
Onboard a team
Take one delivery team to a working state, step by step, with the person. Do this when a team is new, or when a team works but has gaps: no repository linked, an empty charter, no route for requests.
The rules:
- Read first. Read the state of the team before you write. Then show the person a checklist of what is there and what is missing.
- Ask before each write. Say what you will change, and wait for a yes. A "yes" to one step is not a yes to the next.
- Only fix what is missing. You can run this skill again on a team that is set up. Do not change a thing that is already correct.
- Use the MCP tools. When a step has no MCP tool, use the CLI command that this skill names, or tell the person which step they must do in the web UI.
0. Check the admin tools
Most tools of this skill are in the admin profile of the Kairos MCP server (KAIROS-T-0454): create_team, update_team, add_team_member, grant_capability, the column and transition tools, the dispatch tools, set_agent_triage and the tools that write the team page. The default server (/mcp) does not list them, and Claude Code calls only the tools that a server lists.
Look for the kairos-admin server: its tools have names such as mcp__kairos-admin__create_team_page. (team_pages, which reads the team page, and list_dispatch_rules are on the default server only: read with the default server, write with kairos-admin.) If it is not there, tell the person to add it with this command, then to start a new session:
claude mcp add --scope user kairos-admin -- kairos mcp-proxy --profile admin
The command adds a second kairos mcp-proxy with the admin profile. It uses the same deployment and credential as the kairos server of the plugin: kairos login, or an agent key in KAIROS_KEY or KAIROS_MCP_KEY. Do not add the server yourself, and do not add a different MCP server: the person decides.
Use the kairos-admin tools for the admin steps, and the default server for the rest.
The CLI fallback. When the person does not add the server, use the CLI for the admin steps. It uses the same login. For example:
- A team and its delivery board:
kairos teams create --name <NAME> --slug <SLUG> --code-prefix <PREFIX> [--kind <KIND>]. - Members:
kairos teams members add|remove. - Boards, columns and transitions:
kairos boards --help. - The team page:
kairos teams pages list|show|create|edit|move|delete.
Run kairos <command> --help for the arguments. Show the person each command before you run it.
1. Read the state
Find the team with whoami (your teams) and my_boards (boards, columns, the team of each ADR board). For a team that does not exist yet, go to step 2.
Collect:
| Part | Read with |
|---|---|
| The team: name, slug, type | whoami, my_boards |
| Members | kairos teams members list <TEAM> (slug or UUID; no MCP tool reads members) |
| Delivery board: prefix, columns, entry column, WIP limits | my_boards; kairos boards show <BOARD> |
| Transitions | kairos boards transitions list <BOARD> (no MCP tool reads them) |
| ADR board | my_boards (ADR board of the team <slug>) |
| Repositories, each with one owner team | list_repositories {team}, get_repository |
| Team page: the charter and the tree | team_pages {team}, then team_pages {team, page: "charter"} |
| Dispatch rules of the board | list_dispatch_rules {board} |
Then show the checklist. Mark each line ok, missing or to check. Example:
Team platform — checklist
ok team, stream_aligned, 4 members
ok delivery board platform-delivery (PLAT), entry column Backlog
to check ADR board: none (does the team record its own decisions?)
missing repository payments-api has no owner team here
missing charter: still the empty skeleton
to check dispatch: no rules (does the team use a board session?)
Ask the person which lines to work on, in which order.
2. The team and its members
- No team:
create_team {name, slug, code_prefix}. It makes the team and its delivery board ({slug}-delivery); an ADR board is a question of step 3. The prefix does not change later, so agree it with the person first. - A different name or type:
update_team. - Members:
add_team_member {team, user}for each person. Membership givesmanage_tasks,manage_documentsandtransition_itemson the boards of the team, and the right to edit the team page.remove_team_membertakes a person off. - An agent of the team (a service account or the agent key of a person) must also be a member to edit the team page. A board capability does not give that right.
- Extra rights:
grant_capabilityorset_board_capabilities, for exampleconfigure_boardsfor the person who looks after the board.
These calls need the organization admin role or manage_structure on the organization. If they are refused, tell the person who can do them.
3. The board
The delivery board gets the default columns and transitions. Change them only when the team works in a different way.
- Columns:
add_column,update_column(name, position, WIP limit, done column),remove_column. - Transitions:
set_transition. A board allows one-column hops by default. - No ADR board, and the team wants one:
create_board {board_level: "adr", team, ...}with the prefix of the team.
4. Repositories
Each repository has exactly one owner team. For each repository of the team:
- Not in the directory:
add_repositorywith the team as owner. - In the directory with a different owner: ask the person. A move to this team is
update_repositorywithteam, orkairos repos update --team. You need the right on the old team and on the new team. - The description says how to work in the repository (build, test, review). Fill it in with
update_repositorywhen it is empty.
5. The team page
The team page has the charter and the folders and pages that the team grows. A folder holds folders and pages. A page holds nothing. You need membership of the team (or the organization admin role) to write.
The charter is the landing page and the social contract of the team. Write it with the person, not for them. Ask one question at a time and put the answers in these sections:
- Mission: why the team exists, in one or two sentences.
- Scope: what the team owns (products, repositories, services) and what it does not.
- How to send us work: a request to this team is a task on its delivery board. It lands in the entry column, in the support lane. Name who triages, and how often.
- Ways of working: the cadence, reviews, on-call, where decisions are recorded.
- Success measures: how the team knows it is doing well.
Read the charter first (team_pages {team, page: "charter"}), and keep what the person already wrote. Save it with edit_team_page {team, page: "charter", content, version}. Use the version that you read. A CONFLICT means that somebody saved first: read again, merge, and save.
Folders and pages: there is no fixed set. Ask the person what the team writes down (runbooks, how-to guides, design documents), and make only those: create_team_page {team, kind: "folder", title}, then pages in them with parent. move_team_page moves, reorders or renames. delete_team_page archives a page, or a folder with everything in it; a person restores it in the Archived list of the Pages view of the team.
The same steps are in the CLI: kairos teams pages list|show|create|edit|move|delete.
6. Dispatch and agent triage (when the team uses a board session)
Ask the person whether an agent session works the board of the team. If no, skip this step. If yes:
- Check
list_dispatch_rules {board}. It also shows the agent triage setting. A missing rule:create_dispatch_rule(it can make the webhook target fromurl). - Ask who decides the triage of intake (a request in the support lane). By default a person decides, and an agent only writes its proposal with
append_note. When the team wants the agent to decide, callset_agent_triage {board, agents_decide: true}. It needsconfigure_boardson the board.
7. Local wiring
In each checkout of a repository of the team, run /kairos:bootstrap. It adds a [[project]] with the team board and the repository to config.toml of the user (kairos config project). The repository gets no file. Then check that the repository has a code index: rebuild_code_index builds one when it is missing.
8. Close
Read the state again (step 1) and show the checklist. Each line must be ok, or the person must agree that it stays open. For each line that stays open, give the reason and who can close it.
04 同仓库更多 Skills
triage
Groom the delivery board — refine acceptance criteria, prioritize bugs, weigh tech debt, archive stale items, restock Todo, escalate cross-team blockers.
to-initiative
Turn the current conversation into a Kairos initiative with an attached PRD — no interview, just synthesis of what's already been discussed.
ralph
Run Kairos tasks one by one in a Ralph loop, through the steps of /kairos:implement.
ralph-initiative
Run the open tasks of a Kairos initiative in a Ralph loop, in the sequence of their blocks edges.
implement
Implement one Kairos task from Todo to Completed. Use when the user names a task or short code to implement, asks to pick up the next todo item, or when groomed work is handed off for execution.
grill-initiative
A relentless interview that sharpens a Kairos initiative (or a strategy) and writes each settled answer into the item at once. Pass an initiative or strategy short code, or a title for a new initiative.