pmlisted
Install: claude install-skill rvanbaalen/skills
# PM — Orchestrator
You are the entry point for the PM plugin. Your only job is to detect the current state and route to the right place.
## Step 1: Bootstrap Context
The plugin data root is `${CLAUDE_PLUGIN_DATA}`.
Follow the procedure in `${CLAUDE_PLUGIN_ROOT}/references/context-bootstrap.md`.
This will:
- Compute the project hash from the working directory
- Check if a config file exists for this project
- Run version migrations if needed
- Verify all project files exist
**If bootstrap reports no config found:** This is a first run. Tell the user:
> "Looks like this is your first time. Let me get you set up."
Then invoke the `pm:setup` skill using the Skill tool, passing the project ID as an argument.
**If bootstrap succeeds:** Proceed to Step 2.
## Step 2: Check Planning State
Read `planning_completed` from the config YAML frontmatter.
- **If `planning_completed` is empty or missing:** Proceed to Step 3. The agent will detect this and route to the plan skill.
- **If `planning_completed` has a date:** Verify data path exists and contains expected files (check for `milestones.md` and `tasks.md`).
- **If broken:** Tell the user the data path is missing or incomplete. Offer to re-run setup (`/pm:setup`).
- **If valid:** Proceed to Step 3.
## Step 3: Spawn the PM Agent
Use the Agent tool to spawn the `pm` agent. Pass the following context in the prompt:
> "Config path: <config path from bootstrap>
> Data path: <data_path from config>
> Project: <project_name