Skip to content

/init

This skill should be used when the user asks to "initialize woterclip", "set up woterclip", "woterclip init", "configure woterclip for this repo", or runs the /woterclip-init command. Scaffolds a repo with WoterClip config, persona directories, and GitHub labels.

From plugin
woterclip
597 skills1 agent3 commands

Claude Code

$ npx -y skills add wotai-dev/woterclip --skill init --agent claude-code

SKILL.md

init.SKILL.md
name: woterclip-init
description: This skill should be used when the user asks to "initialize woterclip", "set up woterclip", "woterclip init", "configure woterclip for this repo", or runs the /woterclip-init command. Scaffolds a repo with WoterClip config, persona directories, and GitHub labels.
version: 0.1.0

WoterClip Initialization

Initialize WoterClip in the current repository. This creates the `.woterclip/` directory with config, persona templates, and corresponding GitHub labels.

Prerequisites

Before starting, verify the `gh` CLI is ready:

1. Run `gh auth status` — must exit 0 (installed **and** authenticated) 2. Run `gh repo view --json nameWithOwner` — must resolve (the current directory is a repo with a GitHub remote) 3. If either fails, stop and instruct the user:

  • Install: `brew install gh` (or the platform equivalent)
  • Authenticate: `gh auth login`
  • Run from a checkout whose `origin` points at GitHub
  • Re-run `/woterclip-init`

Initialization Procedure

Step 1: Gather GitHub Context

1. Run `gh repo view --json nameWithOwner --jq .nameWithOwner` to resolve the target repo 2. Run `gh api user --jq .login` to identify the authenticated user 3. Present findings and ask the user to confirm:

  • The **repo** whose issues drive the heartbeat (default: the current checkout's repo)
  • The **Board user's GitHub login** for @-mentions in comments (pre-filled from `gh api user`)

When the confirmed Board user equals the authenticated login (the common single-account setup), warn: GitHub does not notify a user of their own comments, so blocked-escalation @-mentions will not produce notifications — the Board should watch the repo or rely on `/woterclip-status`. A separate bot/machine account for `gh auth` avoids this.

Step 2: Choose Persona Preset

Ask the user which persona set to scaffold:

| Preset | Personas Created | |--------|-----------------| | **engineering** (default) | Orchestrator, CEO, Backend, Frontend | | **full** | Orchestrator, CEO, Backend, Frontend, Infra, QA | | **minimal** | Orchestrator, CEO only | | **custom** | Orchestrator, CEO + user-specified personas |

For "custom", ask the user to name each persona and its GitHub label.

Step 3: Create GitHub Labels

GitHub labels are flat (no groups). Create the WoterClip labels on the target repo:

1. Check what already exists: `gh label list --repo <owner/name> --limit 200` 2. Create each missing label with `gh label create <name> --repo <owner/name> --color <hex> --description "<desc>"`:

  • `agent-working` (color `0E8A16`) — state label for active work
  • `agent-blocked` (color `B60205`) — state label for blocked issues
  • `in-progress` and `in-review` — status labels the heartbeat writes on state transitions
  • `priority:high` and `priority:low` — priority labels the Orchestrator writes when bumping sub-issues
  • One label per persona that has a non-null label (e.g., `backend` `1D76DB`, `frontend` `5319E7`)

3. Skip creation for any label that already exists (matching on name).

All labels above are created unconditionally — the heartbeat and Orchestrator write them (`gh issue edit --add-label` fails when a label doesn't exist on the repo). Only the human-managed `backlog` and `todo` status labels are optional — offer them, but the heartbeat treats unlabeled open issues as eligible without them (see `${CLAUDE_PLUGIN_ROOT}/references/status-mapping.md`).

Step 4: Scaffold Config & Personas

1. Create the directory structure:

   .woterclip/
   ├── config.yaml
   └── personas/
       ├── orchestrator/
       │   ├── SOUL.md
       │   ├── TOOLS.md
       │   └── config.yaml
       ├── ceo/
       │   ├── SOUL.md
       │   ├── TOOLS.md
       │   └── config.yaml
       ├── backend/          (if selected)
       │   ├── SOUL.md
       │   ├── TOOLS.md
       │   └── config.yaml
       └── frontend/         (if selected)
           ├── SOUL.md
           ├── TOOLS.md
           └── config.yaml

2. Copy templates from the plugin's `templates/` directory:

  • Read each template file from `${CLAUDE_PLUGIN_ROOT}/templates/`
  • Replace `{{USER_NAME}}` with the Board user's GitHub login
  • Replace `{{REPO}}` with the target repo (`owner/name`)
  • Write to `.woterclip/`

3. Update `config.yaml` personas section to match the selected preset — remove entries for personas that weren't scaffolded.

Step 5: Offer Schedule Setup

Ask the user if they want to set up a recurring heartbeat:

  • **Yes, unattended** → Suggest `/schedule 30m /heartbeat`. This is the default recommendation because it survives a closed session.
  • **Yes, while I'm working** → Suggest `/loop /heartbeat` with no interval, which self-paces from what each beat finds but is in-session only.
  • **Not now** → Explain they can run `/heartbeat` manually or set up a schedule later

The full trade-off, and the ~2h threshold for treating a quiet repo as stopped, are in `${CLAUDE_PLUGIN_ROOT}/references/beat-economics.md` § Scheduling Preconditions.

Step 6: Print Summary

Display what was created:

WoterClip initialized!

GitHub labels created on owner/name:
  ✓ agent-working
  ✓ agent-blocked
  ✓ backend
  ✓ frontend

Config: .woterclip/config.yaml
Personas:
  ✓ orchestrator → default (no label)
  ✓ ceo          → "ceo" label
  ✓ backend  → "backend" label
  ✓ frontend → "frontend" label

Next steps:
  1. Review .woterclip/config.yaml
  2. Customize persona SOUL.md files for your project
  3. Run /heartbeat or /schedule 30m /heartbeat

Error Handling

| Error | Response | |-------|----------| | `gh` not installed or not authenticated | Stop. Print install/auth instructions (`brew install gh`, `gh auth login`). | | No GitHub remote on the current repo | Stop. Ask user to run from a GitHub-hosted checkout or pass the repo explicitly. | | Label creation fails | Log the error, continue with remaining labels, report at end. | | `.woterclip/` already exists | Check the config `v

Read more
@wotai-dev
Ships withwoterclip

GitHub Issues-backed agent orchestration for Claude Code. A single Claude instance wears different "hats" (personas) based on GitHub issue labels – an Orchestrator routes work, a CEO makes strategic calls, and worker personas execute.

Stars on GitHub

Momentum

stars in total
59
Star history of wotai-dev/woterclip on GitHub, a chart by star-history.com

Other skills on woterclip.

heartbeat-log
Auto-invoked

heartbeat-log

This skill should be used when the user asks to "show heartbeat log", "heartbeat history", "what has woterclip done", "show agent…

@wotai-dev@wotai-devInstall Skill
heartbeat
Auto-invoked

heartbeat

This skill should be used when the user asks to "run a heartbeat", "run the agent loop", "process GitHub issues", "check for…

@wotai-dev@wotai-devInstall Skill
persona-create
Auto-invoked

persona-create

This skill should be used when the user asks to "create a persona", "add a new persona", "set up a new agent role", "add a…

@wotai-dev@wotai-devInstall Skill
persona-import
Auto-invoked

persona-import

This skill should be used when the user asks to "import a paperclip agent", "convert paperclip to woterclip", "migrate from…

@wotai-dev@wotai-devInstall Skill
persona-list
Auto-invoked

persona-list

This skill should be used when the user asks to "list personas", "show personas", "what personas are configured", "show woterclip…

@wotai-dev@wotai-devInstall Skill
status
Auto-invoked

status

This skill should be used when the user asks to "check woterclip status", "show agent status", "what is woterclip doing", "show…

@wotai-dev@wotai-devInstall Skill

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n10d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

browser-usetoday120k
@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about init.

Which coding agents can use init?
init installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.