pm-start
Skill2 starsChanged 8 months agoMITView on GitHub
Launch the PM orchestration loop. Use when: user runs /pm:start, wants to start autonomous task execution from Linear, or says 'start the PM'.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- naderelewa/Product-to-Prodtheir own version, first seen Nov 8, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- naderelewa/Product-to-Prod★ 43same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
11 rules. About 0 are common, 3 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 28
Run these checks before starting.
- Very specific: line 30
claude-peers broker: Call list_peers — if it fails, tell user to start the claude-peers broker (cd ~/claude-peers && bun run src/index.ts)
- Very specific: line 31
Linear MCP: Call list_issues with a limit of 1 — if it fails, tell user to configure Linear MCP and link to …
- Very specific: line 32
gh CLI: Run gh auth status — if it fails, tell user to run gh auth login
- Very specific: line 33
pm-config.yaml: Read .claude/pm-config.yaml — if missing, offer to create it from ${CLAUDE_PLUGIN_ROOT}/templates/pm-config.example.yaml
- Distinctive: line 36
If any check fails, stop and report all failures at once.
- Very specific: line 40
Read .claude/pm-config.yaml and validate required fields (target_repo, linear.project)
- Very specific: line 42
Check for .claude/pm-state.json — if exists, enter crash recovery mode:
- Very specific: line 45
If --dry-run argument provided: fetch tasks, show what would be assigned, then stop
- Distinctive: line 52
Run the spawn script:
- Very specific: line 63
After spawning, wait ~15 seconds for workers to register, then verify with list_peers.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/pm:start — Launch PM Orchestration
Pre-flight Checks
Run these checks before starting. Surface clear errors for any failures:
- claude-peers broker: Call
list_peers— if it fails, tell user to start the claude-peers broker (cd ~/claude-peers && bun run src/index.ts) - Linear MCP: Call
list_issueswith a limit of 1 — if it fails, tell user to configure Linear MCP and link to https://docs.claude.ai/integrations/linear - gh CLI: Run
gh auth status— if it fails, tell user to rungh auth login - pm-config.yaml: Read
.claude/pm-config.yaml— if missing, offer to create it from${CLAUDE_PLUGIN_ROOT}/templates/pm-config.example.yaml - target_repo: Validate that
target_repois set in pm-config.yaml and the path exists and is a git repo
If any check fails, stop and report all failures at once. Do not proceed.
Startup Sequence
- Read
.claude/pm-config.yamland validate required fields (target_repo,linear.project) - Set your peer summary via
set_summary: "PM Orchestrator — managing {project_name}" - Check for
.claude/pm-state.json— if exists, enter crash recovery mode:- Reconcile against
list_peers,git worktree list, Linear statuses - Report recovered state to user
- Reconcile against
- If
--dry-runargument provided: fetch tasks, show what would be assigned, then stop
Spawn Worker Pool
The PM does NOT spawn workers itself. Workers are interactive Claude Code sessions running in visible Terminal.app tabs so the user can observe them.
Run the spawn script:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/spawn-workers.sh "{target_repo}" {max_concurrent}This opens max_concurrent Terminal tabs, each running:
cd {target_repo} && claude --dangerously-skip-permissions --dangerously-load-development-channels server:claude-peersWorkers start idle and wait for task assignments via claude-peers messages.
After spawning, wait ~15 seconds for workers to register, then verify with list_peers.
Enter Orchestration Loop
Load and follow the PM system prompt at ${CLAUDE_PLUGIN_ROOT}/templates/pm-system-prompt.md.
The PM assigns tasks to workers by sending task_assignment messages via claude-peers.
Workers are already running in the target repo — the PM just routes work to them.
Orchestration loop: fetch tasks → pick unblocked → send assignment to idle worker → monitor messages → on completion delegate to VO → repeat.
The PM session should run continuously until stopped with /pm:stop or interrupted.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

