Project Management — Domain Orchestrator & Delivery Loop

Use when coordinating project-delivery work across the 8 project-management sub-skills — sprint/velocity analytics, portfolio health, Jira/JQL, Confluence, Atlassian admin, templates, meeting analysis, team comms.

How to use it

Claude Code
  1. Run the line below. It pulls the whole folder into ~/.claude/skills/pm-skills, including the files SKILL.md points to.
  2. Describe your job in plain words. Claude Code follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit alirezarezvani/claude-skills/project-management/skills/pm-skills#main ~/.claude/skills/pm-skills

For one project only, change the path to .claude/skills/pm-skills. This skill also uses snapshot.json, s.json, pm_goal_router.py, plan.json, delivery_loop_gate.py, flow_metrics.json — copying SKILL.md alone won't be enough. See the folder on GitHub.

Claude (web or desktop app)
  1. On this page open ⋯ → Download .md.
  2. Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
  3. Pick the file and Save. Claude shows the name and description and runs a security scan.
  4. Check the skill is switched on.
  5. Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
  1. ChatGPT: make a Project and paste it into Instructions.
  2. Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Source of Project Management — Domain Orchestrator & Delivery Loop

Show the full text174 lines
namedescriptioncontextversionauthorlicensetagscompatible_tools
pm-skillsUse when coordinating project-delivery work across the 8 project-management sub-skills — sprint/velocity analytics, portfolio health, Jira/JQL, Confluence, Atlassian admin, templates, meeting analysis, team comms. Triggers on 'our sprints feel off', 'project health report', 'audit our Jira permissions', 'when will it be done', 'run the delivery loop'. Forks context to route to one sub-skill via a deterministic signal router and returns a digest; can also drive a full goal→plan→execute→verify→close delivery loop through the repo-wide agent-harness with Jira MCP data bridged into the domain's analytics tools. Distinct from product-team (what to build vs how to deliver it), business-operations (internal ops), and engineering/agent-harness (the generic loop engine this orchestrator plugs into).fork2.11.1Alireza RezvaniMIT[project-management, orchestrator, jira, confluence, atlassian, scrum, agile, flow-metrics, agent-harness][claude-code, codex-cli, cursor, antigravity, opencode, gemini-cli]

Project Management — Domain Orchestrator & Delivery Loop

This orchestrator does two jobs. Routing: fork context, classify a PM inquiry with scripts/pm_goal_router.py, run exactly one of the 8 sub-skills, return a digest. Looping: turn a delivery goal into a bounded agentic loop — pull live Jira data via the bundled Atlassian MCP, bridge it into the domain's deterministic analytics tools, verify every step with machine-run gates, and refuse to close until everything is verified or a human waives it. The bundled .mcp.json wires the Atlassian Remote MCP (https://mcp.atlassian.com/v1/sse, OAuth handled by Claude Code).

When to invoke

Symptom Sub-skill
"Project/portfolio health, risk EMV, capacity" senior-pm
"Sprint velocity, retro follow-through, ceremony health, when-will-it-be-done" scrum-master
"JQL, Jira workflows, boards, automation" jira-expert
"Confluence spaces, page trees, content audits" confluence-expert
"Users, groups, permissions, SSO" atlassian-admin
"Reusable Jira/Confluence templates" atlassian-templates
"Meeting transcripts, talk time, action items" meeting-analyzer
"Status updates, 3P updates, stakeholder comms" team-communications

Routing logic (deterministic)

Run the router — do not eyeball the table when a script can decide:

python3 scripts/pm_goal_router.py --text "<the goal>" --output json

Exit 0 → route_to names the sub-skill: load its SKILL.md and follow its workflow. Exit 2 → ask ONE clarifying question naming the listed candidates, with a recommended answer. Exit 3 → no signal: ask the user to restate the goal with the deliverable named. Never guess silently; never silently chain a second sub-skill — digest first, confirm, then chain.

The delivery loop (agentic)

For goals (not questions) — "get sprint 14 to a verified close", "produce a portfolio health report from live Jira", "make our flow metrics visible weekly" — run the loop-library contract (Observe → Choose → Act → Verify → Record → Repeat-or-stop):

  1. Observe — pull fresh state: mcp__atlassian__searchJiraIssuesUsingJql (get cloudId via getAccessibleAtlassianResources first), save the result JSON, then bridge it:
    python3 scripts/jira_snapshot_bridge.py --input snapshot.json --to flow            # WIP, throughput, cycle time p50/85/95, work-item age, SLE, aging alerts
    python3 scripts/jira_snapshot_bridge.py --input snapshot.json --to sprint > s.json # scrum-master schema
    python3 ../scrum-master/scripts/velocity_analyzer.py s.json                        # velocity + volatility + forecast
    
    Add --forecast N for a seeded Monte Carlo "when will N items be done" answer (refuses on < 10 completed items — thin history forecasts are lies).
  2. Choose — route the next task with pm_goal_router.py; one task at a time.
  3. Act — execute with the routed sub-skill's own tools per its SKILL.md.
  4. Verify — gate the plan and every close with:
    python3 scripts/delivery_loop_gate.py --plan plan.json --mode plan    # exit 2 = blocked
    python3 scripts/delivery_loop_gate.py --plan plan.json --mode close   # exit 4 = close refused
    
    Plus each sub-skill's own gates (scrum-master's ≥ 3-sprints rule, atlassian-admin's VERIFY steps). Never adjudicate your own verification.
  5. Record / Repeat-or-stop — for multi-task goals, run the state through the repo-wide harness (it enforces attempt caps, iteration budgets, and evidence logging):
    python3 engineering/agent-harness/skills/agent-harness/scripts/goal_compiler.py \
      --goal "<goal>" --manifest engineering/agent-harness/skills/agent-harness/assets/harnesses/project-management.json \
      --out .agent-harness/plan.json
    python3 engineering/agent-harness/skills/agent-harness/scripts/loop_controller.py init|next|record|verify|close ...
    
    Terminal states: success, clean no-op, blocked, approval-required, exhausted, stagnated. An exhausted budget is an escalation — never a success report.

Hard rules (agentic delegation governance)

  1. Agents are contributors, never owners (Linear model): every loop task carries a named human owner; agent-executed tasks also carry a named human reviewer. delivery_loop_gate.py enforces this (G1/G2).
  2. Acceptance must be machine-checkable — a command, or a criterion with a threshold. "Looks good" is not a gate (G3).
  3. Every Jira/Confluence write is auditable and reversible-first (Rovo discipline): never transitionJiraIssue to Done without verify evidence; destructive/irreversible actions (deletes, permission changes, org-wide admin) are approval-required terminal states, not loop steps.
  4. Never modify a gate you are judged by — same locked-evaluator invariant as autoresearch-agent.
  5. Forecasts are ranges with confidence, never dates — Monte Carlo percentiles (p50/p70/p85/p95), per Vacanti. Single-date promises are the anti-pattern.
  6. Max 3 attempts per task, 12 loop iterations per goal — then escalate to the named human with the evidence log.

Forcing-question library (grill-with-docs pattern)

One per turn, recommended answer, canon citation. Never run a sub-skill or start a loop until the lane-defining decision is locked:

  • SPRINT lane: "Do you want to measure flow (cycle time, WIP, throughput, age) or forecast delivery? Recommended: measure first — a forecast off unmeasured flow is noise. Canon: Kanban Guide (May 2025) four mandatory flow measures; Vacanti, Actionable Agile Metrics."
  • HEALTH lane: "Is your project status self-reported RAG or derived from signals? Recommended: derive it (schedule variance, aging WIP, scope churn) and diff against the self-report — that diff finds watermelon projects. Canon: Kanban Guide 2025; DORA 2025 (AI amplifies, doesn't fix, weak signals)."
  • JIRA lane: "Is this configuration change deployable to a test project first? Recommended: always stage in a test project; jira-expert's workflow validator must exit 0 before production. Canon: jira-expert validation workflow."
  • ADMIN lane: "Is this action reversible, and who approves it? Recommended: name the approver before touching permissions — admin actions are approval-required terminal states in any loop. Canon: atlassian-admin VERIFY discipline; loop-library stop states."
  • LOOP intake: "What single observable outcome means DONE, and which command proves it? Recommended: a named artifact + a command that exits 0 against it. Canon: agent-harness verifier's law; Anthropic, Building Effective Agents (evaluator needs clear criteria)."
  • MEETINGS/COMMS lanes: "Could this meeting be an async written update? Recommended: status-broadcast meetings convert to async 3P updates; decision meetings keep sync. Canon: GitLab async-first handbook."

Assumptions

  1. The user has (or is preparing analysis for someone with) delivery authority.
  2. Jira/Confluence access goes through the bundled MCP; capabilities NOT in project-management/references/atlassian-mcp-tools.md (project/sprint/board/space creation, admin config) are done in the web UI — never invent tool names.
  3. Inputs may be partial — every tool ships --sample so the shape is visible first.

Non-goals

  • Not a replacement for the sub-skills — the orchestrator routes and loops; the sub-skills do the work.
  • Not the generic loop engine — that is engineering/agent-harness; this orchestrator is the PM-domain adapter (data bridge + governance gate + lane router).
  • Does not decide what to build — that's product-team.

Output artifacts

Mode Artifact
Route Sub-skill's own artifact + ≤ 200-word digest with one canon-cited challenge
Flow report flow_metrics.json (bridge output) with SLE conformance + aging alerts
Delivery loop .agent-harness/plan.json + state.json + gate verdicts + close handoff

Anti-patterns (do not)

  • ❌ Run all 8 sub-skills "to be thorough" — route to one, digest, chain on confirmation
  • ❌ Report sprint health or forecasts from hand-typed numbers when a Jira snapshot is one MCP call away — bridge real data
  • ❌ Close a loop with unverified tasks, or report an exhausted budget as success
  • ❌ Let an agent be the assignee of record — humans own, agents contribute
  • ❌ Auto-transition Jira issues or touch permissions inside a loop without the named approver

References

1---
2name: "pm-skills"
3description: "Use when coordinating project-delivery work across the 8 project-management sub-skills — sprint/velocity analytics, portfolio health, Jira/JQL, Confluence, Atlassian admin, templates, meeting analysis, team comms. Triggers on 'our sprints feel off', 'project health report', 'audit our Jira permissions', 'when will it be done', 'run the delivery loop'. Forks context to route to one sub-skill via a deterministic signal router and returns a digest; can also drive a full goal→plan→execute→verify→close delivery loop through the repo-wide agent-harness with Jira MCP data bridged into the domain's analytics tools. Distinct from product-team (what to build vs how to deliver it), business-operations (internal ops), and engineering/agent-harness (the generic loop engine this orchestrator plugs into)."
4context: fork
5version: 2.11.1
6author: Alireza Rezvani
7license: MIT
8tags: [project-management, orchestrator, jira, confluence, atlassian, scrum, agile, flow-metrics, agent-harness]
9compatible_tools: [claude-code, codex-cli, cursor, antigravity, opencode, gemini-cli]
10---
11 
12# Project Management — Domain Orchestrator & Delivery Loop
13 
14This orchestrator does two jobs. **Routing:** fork context, classify a PM inquiry with
15`scripts/pm_goal_router.py`, run exactly one of the 8 sub-skills, return a digest.
16**Looping:** turn a delivery goal into a bounded agentic loop — pull live Jira data via the
17bundled Atlassian MCP, bridge it into the domain's deterministic analytics tools, verify
18every step with machine-run gates, and refuse to close until everything is verified or a
19human waives it. The bundled `.mcp.json` wires the Atlassian Remote MCP
20(`https://mcp.atlassian.com/v1/sse`, OAuth handled by Claude Code).
21 
22## When to invoke
23 
24| Symptom | Sub-skill |
25|---|---|
26| "Project/portfolio health, risk EMV, capacity" | `senior-pm` |
27| "Sprint velocity, retro follow-through, ceremony health, when-will-it-be-done" | `scrum-master` |
28| "JQL, Jira workflows, boards, automation" | `jira-expert` |
29| "Confluence spaces, page trees, content audits" | `confluence-expert` |
30| "Users, groups, permissions, SSO" | `atlassian-admin` |
31| "Reusable Jira/Confluence templates" | `atlassian-templates` |
32| "Meeting transcripts, talk time, action items" | `meeting-analyzer` |
33| "Status updates, 3P updates, stakeholder comms" | `team-communications` |
34 
35## Routing logic (deterministic)
36 
37Run the router — do not eyeball the table when a script can decide:
38 
39```bash
40python3 scripts/pm_goal_router.py --text "<the goal>" --output json
41```
42 
43Exit 0 → `route_to` names the sub-skill: load its SKILL.md and follow its workflow.
44Exit 2 → ask ONE clarifying question naming the listed candidates, with a recommended
45answer. Exit 3 → no signal: ask the user to restate the goal with the deliverable named.
46Never guess silently; never silently chain a second sub-skill — digest first, confirm, then
47chain.
48 
49## The delivery loop (agentic)
50 
51For goals (not questions) — "get sprint 14 to a verified close", "produce a portfolio
52health report from live Jira", "make our flow metrics visible weekly" — run the
53loop-library contract (Observe → Choose → Act → Verify → Record → Repeat-or-stop):
54 
551. **Observe** — pull fresh state: `mcp__atlassian__searchJiraIssuesUsingJql` (get
56 `cloudId` via `getAccessibleAtlassianResources` first), save the result JSON, then
57 bridge it:
58 ```bash
59 python3 scripts/jira_snapshot_bridge.py --input snapshot.json --to flow # WIP, throughput, cycle time p50/85/95, work-item age, SLE, aging alerts
60 python3 scripts/jira_snapshot_bridge.py --input snapshot.json --to sprint > s.json # scrum-master schema
61 python3 ../scrum-master/scripts/velocity_analyzer.py s.json # velocity + volatility + forecast
62 ```
63 Add `--forecast N` for a seeded Monte Carlo "when will N items be done" answer
64 (refuses on < 10 completed items — thin history forecasts are lies).
652. **Choose** — route the next task with `pm_goal_router.py`; one task at a time.
663. **Act** — execute with the routed sub-skill's own tools per its SKILL.md.
674. **Verify** — gate the plan and every close with:
68 ```bash
69 python3 scripts/delivery_loop_gate.py --plan plan.json --mode plan # exit 2 = blocked
70 python3 scripts/delivery_loop_gate.py --plan plan.json --mode close # exit 4 = close refused
71 ```
72 Plus each sub-skill's own gates (scrum-master's ≥ 3-sprints rule, atlassian-admin's
73 VERIFY steps). Never adjudicate your own verification.
745. **Record / Repeat-or-stop** — for multi-task goals, run the state through the repo-wide
75 harness (it enforces attempt caps, iteration budgets, and evidence logging):
76 ```bash
77 python3 engineering/agent-harness/skills/agent-harness/scripts/goal_compiler.py \
78 --goal "<goal>" --manifest engineering/agent-harness/skills/agent-harness/assets/harnesses/project-management.json \
79 --out .agent-harness/plan.json
80 python3 engineering/agent-harness/skills/agent-harness/scripts/loop_controller.py init|next|record|verify|close ...
81 ```
82 Terminal states: success, clean no-op, blocked, approval-required, exhausted,
83 stagnated. An exhausted budget is an escalation — never a success report.
84 
85## Hard rules (agentic delegation governance)
86 
871. **Agents are contributors, never owners** (Linear model): every loop task carries a
88 named human owner; agent-executed tasks also carry a named human reviewer.
89 `delivery_loop_gate.py` enforces this (G1/G2).
902. **Acceptance must be machine-checkable** — a command, or a criterion with a threshold.
91 "Looks good" is not a gate (G3).
923. **Every Jira/Confluence write is auditable and reversible-first** (Rovo discipline):
93 never `transitionJiraIssue` to Done without verify evidence; destructive/irreversible
94 actions (deletes, permission changes, org-wide admin) are approval-required terminal
95 states, not loop steps.
964. **Never modify a gate you are judged by** — same locked-evaluator invariant as
97 autoresearch-agent.
985. **Forecasts are ranges with confidence, never dates** — Monte Carlo percentiles
99 (p50/p70/p85/p95), per Vacanti. Single-date promises are the anti-pattern.
1006. **Max 3 attempts per task, 12 loop iterations per goal** — then escalate to the named
101 human with the evidence log.
102 
103## Forcing-question library (grill-with-docs pattern)
104 
105One per turn, recommended answer, canon citation. Never run a sub-skill or start a loop
106until the lane-defining decision is locked:
107 
108- **SPRINT lane**: "Do you want to *measure* flow (cycle time, WIP, throughput, age) or
109 *forecast* delivery? Recommended: measure first — a forecast off unmeasured flow is
110 noise. Canon: Kanban Guide (May 2025) four mandatory flow measures; Vacanti,
111 *Actionable Agile Metrics*."
112- **HEALTH lane**: "Is your project status self-reported RAG or derived from signals?
113 Recommended: derive it (schedule variance, aging WIP, scope churn) and diff against the
114 self-report — that diff finds watermelon projects. Canon: Kanban Guide 2025;
115 DORA 2025 (AI amplifies, doesn't fix, weak signals)."
116- **JIRA lane**: "Is this configuration change deployable to a test project first?
117 Recommended: always stage in a test project; jira-expert's workflow validator must exit
118 0 before production. Canon: jira-expert validation workflow."
119- **ADMIN lane**: "Is this action reversible, and who approves it? Recommended: name the
120 approver before touching permissions — admin actions are approval-required terminal
121 states in any loop. Canon: atlassian-admin VERIFY discipline; loop-library stop states."
122- **LOOP intake**: "What single observable outcome means DONE, and which command proves
123 it? Recommended: a named artifact + a command that exits 0 against it. Canon:
124 agent-harness verifier's law; Anthropic, *Building Effective Agents* (evaluator needs
125 clear criteria)."
126- **MEETINGS/COMMS lanes**: "Could this meeting be an async written update? Recommended:
127 status-broadcast meetings convert to async 3P updates; decision meetings keep sync.
128 Canon: GitLab async-first handbook."
129 
130## Assumptions
131 
1321. The user has (or is preparing analysis for someone with) delivery authority.
1332. Jira/Confluence access goes through the bundled MCP; capabilities NOT in
134 `project-management/references/atlassian-mcp-tools.md` (project/sprint/board/space
135 creation, admin config) are done in the web UI — never invent tool names.
1363. Inputs may be partial — every tool ships `--sample` so the shape is visible first.
137 
138## Non-goals
139 
140- Not a replacement for the sub-skills — the orchestrator routes and loops; the
141 sub-skills do the work.
142- Not the generic loop engine — that is `engineering/agent-harness`; this orchestrator is
143 the PM-domain adapter (data bridge + governance gate + lane router).
144- Does not decide *what* to build — that's `product-team`.
145 
146## Output artifacts
147 
148| Mode | Artifact |
149|---|---|
150| Route | Sub-skill's own artifact + ≤ 200-word digest with one canon-cited challenge |
151| Flow report | `flow_metrics.json` (bridge output) with SLE conformance + aging alerts |
152| Delivery loop | `.agent-harness/plan.json` + `state.json` + gate verdicts + close handoff |
153 
154## Anti-patterns (do not)
155 
156- ❌ Run all 8 sub-skills "to be thorough" — route to one, digest, chain on confirmation
157- ❌ Report sprint health or forecasts from hand-typed numbers when a Jira snapshot is one
158 MCP call away — bridge real data
159- ❌ Close a loop with unverified tasks, or report an exhausted budget as success
160- ❌ Let an agent be the assignee of record — humans own, agents contribute
161- ❌ Auto-transition Jira issues or touch permissions inside a loop without the named
162 approver
163 
164## References
165 
166- [references/flow_forecasting_canon.md](references/flow_forecasting_canon.md) — Kanban
167 Guide 2025, Vacanti Monte Carlo, DORA 2025, EBM, SPACE
168- [references/agentic_delivery_governance.md](references/agentic_delivery_governance.md) —
169 Linear/Rovo delegation models, Anthropic agent patterns, audit discipline
170- [references/pm_loop_playbook.md](references/pm_loop_playbook.md) — the five reusable PM
171 loops (sprint, health, retro-action, RAID-hygiene, comms) mapped to the loop contract
172- Canonical MCP tool list: `project-management/references/atlassian-mcp-tools.md`
173- Loop engine: `engineering/agent-harness` · Loop vocabulary: `loop-library`
174 

Discussion

Alternatives

Also in Project managementSee all 58 in Operations →
Senior Project Management ExpertSenior Project Manager for enterprise software, SaaS, and digital transformation projects. Specializes in portfolio management, quantitative risk analysis, resource optimization, stakeholder alignment, and executive reporting. Uses advanced methodologies including EMV analysis, Monte Carlo simulation, WSJF prioritization, and multi-dimensional health scoring. Use when a user needs help with project plans, project status reports, risk assessments, resource allocation, project roadmaps, milestone tracking, team capacity planning, portfolio health reviews, program management, or executive-level project reporting — especially for enterprise-scale initiatives with multiple workstreams, complex dependencies, or multi-million dollar budgets.Business & ops · MITProject managerUse this agent when you need to establish project plans, track execution progress, manage risks, control budget/schedule, and coordinate stakeholders across complex initiatives.Business & ops · MITMeeting Notes SkillStructure and format meeting notes following PM best practices. Use when asked to create meeting notes, format discussion notes, capture action items, or document decisions from any meeting type. Produces structured notes with decisions, action items (owner + deadline), open questions, and next steps.Business & ops · MIT"Explain It Like I Built It" Technical Documentation for Non-Technical FoundersA prompt system for generating plain-language project documentation. This prompt generates a [FORME].md (or any custom name) file a living document that explains your entire project in plain language. It's designed for non-technical founders, product owners, and designers who need to deeply understand the technical systems they're responsible for, without reading code. The document doesn't dumb things down. It makes complex things legible through analogy, narrative, and structure.Coding · CC0-1.0