MCPInstall

utility-pm-workflow-orchestrator

Run an ordered sequence of pm-skills against one input, pausing for go/no-go and stopping on a failed or empty step. Accepts a saved prioritized action plan (Mode A) or an ad-hoc named chain (Mode B; the chain command routes here). Explicit invocation only; run --dry-run first while the native path is EXPERIMENTAL. To author a durable workflow instead, use utility-pm-workflow-builder.

Installs
545
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/product-on-purpose/pm-skills --skill utility-pm-workflow-orchestrator
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads utility-pm-workflow-orchestrator automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->

PM Workflow Orchestrator (Dispatch Skill)

Cross-client dispatch wrapper for the pm-workflow-orchestrator sub-agent. Detects the runtime; dispatches to the native sub-agent on Claude Code; reads agents/pm-workflow-orchestrator.md and walks the run loop inline on non-Claude clients via the "reference + execute inline" pattern. The orchestrator runs an ordered sequence of pm-skills from a saved prioritized-action-plan (Mode A) or a user-named chain (Mode B), pausing for go/no-go by default and stopping on a failed or empty step.

Status summary (updated v2.26.0): smoke-tested on the native Claude Code path; EXPERIMENTAL elsewhere.

  • Claude Code (native): Mode B chains SMOKE-TESTED PASS (2026-06-10, installed plugin). The live run confirmed the engine invokes downstream skills via the Skill tool and that they execute INLINE in the engine's context (the Skill tool injects the target SKILL.md into the caller's context; no sub-agent is spawned), with real artifacts produced and the checkpoint pause honored. Mode A native runs and a single continuous interactive engine instance across multiple checkpoints have not yet been exercised; details and caveats in the compatibility matrix's v2.26.0 smoke-gate record.
  • All non-Claude clients (Codex CLI, Cursor, Windsurf, Copilot CLI, Gemini CLI): EXPERIMENTAL until a dedicated maintainer-gate test exercises a real multi-artifact inline WRITE run. The orchestrator writes up to three full PM artifacts and may thread state; this is strictly harder than the conductor's inline path and has never been live-validated off Claude Code.

On ANY client, run --dry-run FIRST as the readiness check (it exercises parsing, checkpointing, stop-on-fail, and the tool-capability pre-flight without invoking consequential skills). See the Sub-Agent Compatibility Matrix for the canonical safe-usage matrix.

When to Use

  • You produced a foundation-prioritized-action-plan and want to run its runnable Section 7 prompts in order, pausing for go/no-go (Mode A).
  • You want to run an ad-hoc, user-named chain of pm-skills against shared context (Mode B), for example deliver-prd then deliver-user-stories. On Claude Code, the /chain command is the terse front door for this mode.
  • You want a generic runner for a dynamic chain that is NOT a pre-curated workflow-* command.

Run modes (orthogonal to client):

  • CHECKPOINTED (default): pause after each OK step for approve / edit / skip / redo.
  • GUARDED AUTO (--auto, opt-in): run without pausing on clean steps; still stop on failed, pause on empty, and stay checkpointed for Complex / Chaotic plans unless --force-auto.

--thread declares a linear dependency so each step receives the prior step's confirmed artifact; see the Mode B Chain Expression Contract in references/PARSE-CONTRACT.md.

When NOT to Use

  • You want a fixed, curated, named chain that an author maintains by hand (for example a full Foundation Sprint or Customer Discovery) -> use the existing workflow-* command (workflow-foundation-sprint, workflow-customer-discovery, ...). The orchestrator does NOT supersede those and surfaces a workflow step as MANUAL rather than nesting it.
  • You only need to PRODUCE a prioritized action plan (not run it) -> use foundation-prioritized-action-plan (which can then offer to hand its plan here).
  • You only need to review one artifact -> use utility-pm-critic.
  • You want to run library-maintenance machinery as if it were PM work -> the orchestrator refuses Tier-3 maintenance skills.
  • You want to AUTHOR a reusable workflow rather than run a chain right now -> use utility-pm-workflow-builder. That skill produces a durable, named workflow; this one runs an ephemeral chain and persists no definition.

Instructions

Runtime detection step. Determine which AI client is invoking this skill. Run mode (checkpointed vs auto) comes from the user's flags and is independent of the client.

If you are running in Claude Code with the pm-skills plugin installed

Invoke @agent-pm-skills:pm-workflow-orchestrator with the user's input plus any flags from $ARGUMENTS (--auto, --force-auto, --dry-run). The native sub-agent parses the input, builds the step list, and delegates each step via the Skill tool to the real downstream skill, running its own per-step loop with confirmation pauses. Relay the engine's per-step output blocks and the terminal output to the user.

This path is EXPERIMENTAL at v2.24.0 (see Status summary). Instruct the user to run --dry-run first.

If you are running in any other AI client

Codex CLI, Cursor, Windsurf, Copilot CLI, Gemini CLI, or any client without native pm-skills plugin sub-agent support:

  1. Tool-capability pre-flight (FIRST action, before parsing or step 1). Verify the client can (a) write a file under _pm-skills/plan-orchestrator/<run>/ and (b) run any Bash a downstream skill needs.
    • If file write is unavailable: degrade explicitly to CHAT-ONLY mode (warn that multi-step reliability drops and context budget rises because full artifacts must stay in-window) for short runs, or refuse a long run with a clear message. Do not fail mid-chain.
    • If Bash is unavailable for a step that needs it: surface that step as blocked at its boundary.
    • Record the detected capabilities; they govern disk-write below.
  2. Read the canonical sub-agent definition at agents/pm-workflow-orchestrator.md.
  3. Read the shared parse and step-status contract at references/PARSE-CONTRACT.md (the engine reads the same file; this is what keeps the inline branch and the engine from drifting).
  4. Execute the engine body as your operating instructions: run the pre-flight refusals, build the ordered step list (Mode A parse or Mode B named chain), then walk the per-step loop.
  5. At each step, read the downstream skill's SKILL.md and execute its method inline in this window; classify the return PRODUCED / EMPTY / FAILED with the rubric in references/PARSE-CONTRACT.md; write NN-<skill-name>.md to the run directory when disk-write is on.
  6. Honor the run mode: pause at each OK step in CHECKPOINTED; auto-advance only unambiguously-PRODUCED steps in GUARDED AUTO; a FAILED step STOPS the run; an EMPTY or ambiguous step always pauses for confirmation (a forced checkpoint pause the user can clear), regardless of --force-auto.
  7. Emit the terminal output (run complete or halted) per the engine's section 4.5.

The "reference + execute inline" pattern is what enables cross-client compatibility. It is EXPERIMENTAL here until the maintainer-gate WRITE harness validates a real multi-artifact run on each client.

--dry-run (readiness probe; run this FIRST on any client)

--dry-run walks the full step list and exercises parsing, checkpointing, stop-on-fail, and the tool-capability pre-flight, but does NOT invoke any consequential downstream skill. Each step emits "NOT EXECUTED - dry run" plus what WOULD happen (which skill, which mode, whether disk-write would engage). Use it to confirm the plan parses, the chain resolves, and the client has the tool access the live run needs, before spending tokens on real delegation.

Cross-Client Notes

Because non-Claude clients run the loop and every step inline in ONE context window:

  1. Context budget. The combined budget (engine body + per-step downstream skill reads + produced artifacts) can approach context limits on multi-step runs. The engine auto-enables disk-write for 2+ step runs and keeps only a one-line summary per completed step in context; CHAT-ONLY mode loses that mitigation, so prefer a write-capable client for long chains.
  2. Tool authorization. Inline execution must have file-write and Bash access (not Read-only). The pre-flight (step 1 above) checks this. Codex may need its sandbox write flag enabled; Cursor and Gemini may interpose approval gates per step.
  3. No native chaining. This is why the engine delegates by Skill (Claude Code) or inline read-and-execute (non-Claude), never by spawning a sub-agent. A Mode A step that resolves to a dispatch skill which would fan out to a sub-agent (only utility-pm-critic) is handled by inlining the leaf agent, never by chaining (engine section 7.2).

Reference Files

  • Canonical sub-agent definition: agents/pm-workflow-orchestrator.md
  • Shared parse and step-status contract: references/PARSE-CONTRACT.md
  • Output template: references/TEMPLATE.md
  • Worked example: references/EXAMPLE.md
  • Producer (hands plans here in HANDOFF mode): skills/foundation-prioritized-action-plan/SKILL.md
  • Sub-agent compatibility matrix: docs/reference/sub-agent-compatibility.md
  • Runtime components catalog: docs/reference/runtime-components.md
  • Library sample (single checkpointed run): library/sub-agent-samples/pm-workflow-orchestrator/

FAQ

What does the utility-pm-workflow-orchestrator skill do?

Run an ordered sequence of pm-skills against one input, pausing for go/no-go and stopping on a failed or empty step. Accepts a saved prioritized action plan (Mode A) or an ad-hoc named chain (Mode B; the chain command routes here). Explicit invocation only; run --dry-run first while the native path is EXPERIMENTAL. To author a durable workflow instead, use utility-pm-workflow-builder.

How do I install utility-pm-workflow-orchestrator?

Run npx skills add https://github.com/product-on-purpose/pm-skills --skill utility-pm-workflow-orchestrator in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/utility-pm-workflow-orchestrator/ (personal) or .claude/skills/utility-pm-workflow-orchestrator/ (project).

Which AI agents can use utility-pm-workflow-orchestrator?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is utility-pm-workflow-orchestrator safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains utility-pm-workflow-orchestrator?

It is published by product-on-purpose in product-on-purpose/pm-skills. It has 545 recorded installs.

More from product-on-purpose/pm-skills

View all →

deliver-acceptance-criteria

product-on-purpose/pm-skills

Generates structured Given/When/Then acceptance criteria for a user story or feature slice, covering the happy path, key failure scenarios, and non-functional expectations in testable form. Use when turning requirements into verifiable scenarios for engineering handoff and QA sign-off. For a dedicated catalog of boundary conditions, error states, and recovery paths across a feature, use deliver-edge-cases; to write the stories themselves, use deliver-user-stories.

Testing & QA1.1K installs

deliver-prd

product-on-purpose/pm-skills

Creates a comprehensive Product Requirements Document that aligns stakeholders on what to build, why, and how success will be measured. Use when specifying features, epics, or product initiatives for engineering handoff.

deliver-user-stories

product-on-purpose/pm-skills

Generates user stories in the standard persona, action, benefit story format from product requirements or feature descriptions. Use when breaking a feature into stories for sprint planning, writing tickets, or communicating scope to engineering. For testable Given/When/Then acceptance criteria on a story, use deliver-acceptance-criteria; for boundary and failure scenarios, use deliver-edge-cases.

deliver-edge-cases

product-on-purpose/pm-skills

Documents edge cases, error states, boundary conditions, race conditions, and recovery paths for a feature - the systematic catalog of what can go wrong and the failure modes to design for. Use during specification to map the failure surface and ensure comprehensive coverage, or during QA planning to identify boundary and limit scenarios to test. Distinct from deliver-acceptance-criteria, which writes story-level Given/When/Then checks; this skill produces the whole-feature edge-case catalog.

Testing & QA878 installs

discover-competitive-analysis

product-on-purpose/pm-skills

Creates a structured competitive analysis comparing features, pricing, and positioning across 3-5 direct and indirect competitors, with a 2x2 map and actionable strategic recommendations. Use before entering a market, planning differentiation, or after losing deals. For market size rather than competitor positioning, use discover-market-sizing instead.

define-problem-statement

product-on-purpose/pm-skills

Creates a clear problem framing document with user impact, business context, and success criteria. Use when starting a new initiative, realigning a drifted project, or communicating up to leadership.

Business & Finance821 installs

Popular productivity & automation skills

View category →

agent-browser

vercel-labs/agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.

OfficialProductivity & Automation1.3M installs

lark-doc

open.feishu.cn

飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由;/page/ 是妙搭应用,非飞书云文档。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。

lark-base

open.feishu.cn

飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。

lark-drive

open.feishu.cn

飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。

lark-shared

open.feishu.cn

Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling notice JSON.

lark-im

open.feishu.cn

飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。