pm-claude-skills 28.2.0 β†’ 28.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +24 -24
  2. package/exports/README.md +1 -1
  3. package/exports/aider/README.md +2 -1
  4. package/exports/aider/pm-cross/action-runner/action-runner.md +81 -0
  5. package/exports/aider/pm-delivery/product-launch-checklist/product-launch-checklist.md +4 -0
  6. package/exports/aider/pm-delivery/sprint-planning/sprint-planning.md +4 -0
  7. package/exports/aider/pm-engineering/incident-postmortem/incident-postmortem.md +4 -0
  8. package/exports/chatgpt/README.md +2 -1
  9. package/exports/chatgpt/pm-cross/action-runner/SYSTEM_PROMPT.md +81 -0
  10. package/exports/chatgpt/pm-delivery/product-launch-checklist/SYSTEM_PROMPT.md +4 -0
  11. package/exports/chatgpt/pm-delivery/sprint-planning/SYSTEM_PROMPT.md +4 -0
  12. package/exports/chatgpt/pm-engineering/incident-postmortem/SYSTEM_PROMPT.md +4 -0
  13. package/exports/cline/README.md +2 -1
  14. package/exports/cline/pm-cross/action-runner/action-runner.md +81 -0
  15. package/exports/cline/pm-delivery/product-launch-checklist/product-launch-checklist.md +4 -0
  16. package/exports/cline/pm-delivery/sprint-planning/sprint-planning.md +4 -0
  17. package/exports/cline/pm-engineering/incident-postmortem/incident-postmortem.md +4 -0
  18. package/exports/continue/README.md +2 -1
  19. package/exports/continue/pm-cross/action-runner/action-runner.md +86 -0
  20. package/exports/continue/pm-delivery/product-launch-checklist/product-launch-checklist.md +4 -0
  21. package/exports/continue/pm-delivery/sprint-planning/sprint-planning.md +4 -0
  22. package/exports/continue/pm-engineering/incident-postmortem/incident-postmortem.md +4 -0
  23. package/exports/cursor/README.md +2 -1
  24. package/exports/cursor/pm-cross/action-runner/action-runner.mdc +87 -0
  25. package/exports/cursor/pm-delivery/product-launch-checklist/product-launch-checklist.mdc +4 -0
  26. package/exports/cursor/pm-delivery/sprint-planning/sprint-planning.mdc +4 -0
  27. package/exports/cursor/pm-engineering/incident-postmortem/incident-postmortem.mdc +4 -0
  28. package/exports/gemini/README.md +2 -1
  29. package/exports/gemini/pm-cross/action-runner/GEM_INSTRUCTIONS.md +85 -0
  30. package/exports/gemini/pm-delivery/product-launch-checklist/GEM_INSTRUCTIONS.md +4 -0
  31. package/exports/gemini/pm-delivery/sprint-planning/GEM_INSTRUCTIONS.md +4 -0
  32. package/exports/gemini/pm-engineering/incident-postmortem/GEM_INSTRUCTIONS.md +4 -0
  33. package/exports/obsidian/README.md +2 -1
  34. package/exports/obsidian/pm-cross/action-runner/action-runner.md +96 -0
  35. package/exports/obsidian/pm-delivery/product-launch-checklist/product-launch-checklist.md +4 -0
  36. package/exports/obsidian/pm-delivery/sprint-planning/sprint-planning.md +4 -0
  37. package/exports/obsidian/pm-engineering/incident-postmortem/incident-postmortem.md +4 -0
  38. package/exports/roo/README.md +2 -1
  39. package/exports/roo/pm-cross/action-runner/action-runner.md +81 -0
  40. package/exports/roo/pm-delivery/product-launch-checklist/product-launch-checklist.md +4 -0
  41. package/exports/roo/pm-delivery/sprint-planning/sprint-planning.md +4 -0
  42. package/exports/roo/pm-engineering/incident-postmortem/incident-postmortem.md +4 -0
  43. package/exports/windsurf/README.md +2 -1
  44. package/exports/windsurf/pm-cross/action-runner/action-runner.md +86 -0
  45. package/exports/windsurf/pm-delivery/product-launch-checklist/product-launch-checklist.md +4 -0
  46. package/exports/windsurf/pm-delivery/sprint-planning/sprint-planning.md +4 -0
  47. package/exports/windsurf/pm-engineering/incident-postmortem/incident-postmortem.md +4 -0
  48. package/exports/zed/README.md +2 -1
  49. package/exports/zed/pm-cross/action-runner/action-runner.md +81 -0
  50. package/exports/zed/pm-delivery/product-launch-checklist/product-launch-checklist.md +4 -0
  51. package/exports/zed/pm-delivery/sprint-planning/sprint-planning.md +4 -0
  52. package/exports/zed/pm-engineering/incident-postmortem/incident-postmortem.md +4 -0
  53. package/package.json +1 -1
  54. package/skill-tiers.json +1 -0
  55. package/skills/action-runner/SKILL.md +86 -0
  56. package/skills/action-runner/scripts/action_preview.py +102 -0
  57. package/skills/incident-postmortem/SKILL.md +4 -0
  58. package/skills/product-launch-checklist/SKILL.md +4 -0
  59. package/skills/sprint-planning/SKILL.md +4 -0
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  </a>
5
5
  </p>
6
6
 
7
- # 🧠 PM Skills β€” 206 Professional Agent Skills for Claude, ChatGPT, Gemini, Cursor, Codex & Hermes
7
+ # 🧠 PM Skills β€” 207 Professional Agent Skills for Claude, ChatGPT, Gemini, Cursor, Codex & Hermes
8
8
 
9
9
  [![Stars](https://img.shields.io/github/stars/mohitagw15856/pm-claude-skills?style=social)](https://github.com/mohitagw15856/pm-claude-skills/stargazers)
10
10
  [![npm](https://img.shields.io/npm/v/pm-claude-skills?logo=npm&color=cb3837)](https://www.npmjs.com/package/pm-claude-skills)
@@ -14,7 +14,7 @@
14
14
  [![MCP](https://img.shields.io/badge/MCP-registry-0098FF?logo=modelcontextprotocol&logoColor=white)](https://github.com/mohitagw15856/pm-claude-skills#-use-it-anywhere--the-ai-ecosystem)
15
15
  [![Remote MCP](https://img.shields.io/badge/ChatGPT%20%C2%B7%20Claude.ai-connector-10A37F)](mcp-remote/)
16
16
  [![Smithery](https://smithery.ai/badge/mohit15856/pm-skills)](https://smithery.ai/servers/mohit15856/pm-skills)
17
- [![Skills](https://img.shields.io/badge/skills-206-blue)](https://github.com/mohitagw15856/pm-claude-skills)
17
+ [![Skills](https://img.shields.io/badge/skills-207-blue)](https://github.com/mohitagw15856/pm-claude-skills)
18
18
  [![eval](https://img.shields.io/badge/eval--scored-196%20%C2%B7%20avg%204.8%2F5-brightgreen)](https://mohitagw15856.github.io/pm-claude-skills/leaderboard.html)
19
19
  [![Subagents](https://img.shields.io/badge/subagents-4-blueviolet)](agents/)
20
20
  [![Commands](https://img.shields.io/badge/slash%20commands-6-blueviolet)](commands/)
@@ -30,7 +30,7 @@
30
30
 
31
31
  <p align="center">
32
32
  <a href="https://mohitagw15856.github.io/pm-claude-skills/">
33
- <img src="https://readme-typing-svg.demolab.com?font=Inter&weight=600&size=24&pause=900&color=D97757&center=true&vCenter=true&width=720&lines=206+pro+AI+skills;PRDs%2C+roadmaps%2C+launches+%E2%80%94+done+right;Run+any+one+free+in+your+browser" alt="PM Skills" />
33
+ <img src="https://readme-typing-svg.demolab.com?font=Inter&weight=600&size=24&pause=900&color=D97757&center=true&vCenter=true&width=720&lines=207+pro+AI+skills;PRDs%2C+roadmaps%2C+launches+%E2%80%94+done+right;Run+any+one+free+in+your+browser" alt="PM Skills" />
34
34
  </a>
35
35
  </p>
36
36
 
@@ -41,11 +41,11 @@
41
41
  ### ⭐ If this saves you time, [star the repo](https://github.com/mohitagw15856/pm-claude-skills) β€” it's the #1 way to help others find it.
42
42
 
43
43
  > **PM stands for Professional, not just Product Management.**
44
- > 206 professional skills + 4 agent templates across 28 bundles covering 21 professions. Built for Claude Code β€” and now portable to ChatGPT, Gemini, and Hermes Agent. Built by a PM, used by everyone.
44
+ > 207 professional skills + 4 agent templates across 28 bundles covering 21 professions. Built for Claude Code β€” and now portable to ChatGPT, Gemini, and Hermes Agent. Built by a PM, used by everyone.
45
45
 
46
46
  A community-built library of professional skills for every field β€” product management, engineering, customer success, marketing, social media, writers, design, legal, finance, HR, sales, operations, research, and more. Each skill is a structured `SKILL.md` file that teaches an AI assistant how to produce professional-grade outputs for your workflows. Skills run natively in **Claude Code** and **Hermes Agent** (same open `SKILL.md` standard), and ship as ready-to-paste exports for **ChatGPT** and **Gemini** β€” see [Works With](#-works-with--cross-tool-compatibility).
47
47
 
48
- **πŸ†• Latest release (v28.1.0 β€” Integrations):** PM Skills now plugs into **[n8n](connectors/n8n.md)**, powers **[Lovable](connectors/lovable.md)** apps, and lives in your **[Obsidian](connectors/obsidian.md)** vault β€” all backed by a read-only **REST API** (`/v1`) on the hosted Worker, auto-deployed via GitHub Actions. *Previously (v28.0.0 β€” live across the whole AI ecosystem):* every channel is now shipped & public β€” **[`pip install pm-skills`](https://pypi.org/project/pm-skills/)** (LangChain/CrewAI), the **hosted MCP connector** `https://pm-skills-mcp.pm-claude-skills.workers.dev/` (add to **ChatGPT/Claude.ai/Cursor** by URL), and the **[official MCP registry](https://github.com/mohitagw15856/pm-claude-skills/blob/main/server.json)** listing. See the new **[🌍 Use It Anywhere](#-use-it-anywhere--the-ai-ecosystem)** section. Also: **multi-model playground** (run any skill with your own **Claude / OpenAI / Gemini / Ollama** key β€” local models included), a **[remote MCP connector](mcp-remote/)** (add PM Skills to **ChatGPT, Claude.ai & Cursor** with one URL β€” no install), the MCP server now exposes skills as **prompts + resources**, **4 new IDE targets** (Cline, Continue, Zed, Roo β€” 9 platforms total), a **[Python package](python/)** (`pip install pm-skills` β†’ LangChain/CrewAI tools), an **[`llms.txt`](https://mohitagw15856.github.io/pm-claude-skills/llms.txt)** for agent discovery, a reusable **[score-skills GitHub Action](.github/actions/score-skills/)**, and **MCP-registry manifests**. Plus the full library is now **eval-scored: 196 skills, avg 4.8/5**. **206 skills**. See the [changelog](#-changelog).
48
+ **πŸ†• Latest release (v28.1.0 β€” Integrations):** PM Skills now plugs into **[n8n](connectors/n8n.md)**, powers **[Lovable](connectors/lovable.md)** apps, and lives in your **[Obsidian](connectors/obsidian.md)** vault β€” all backed by a read-only **REST API** (`/v1`) on the hosted Worker, auto-deployed via GitHub Actions. *Previously (v28.0.0 β€” live across the whole AI ecosystem):* every channel is now shipped & public β€” **[`pip install pm-skills`](https://pypi.org/project/pm-skills/)** (LangChain/CrewAI), the **hosted MCP connector** `https://pm-skills-mcp.pm-claude-skills.workers.dev/` (add to **ChatGPT/Claude.ai/Cursor** by URL), and the **[official MCP registry](https://github.com/mohitagw15856/pm-claude-skills/blob/main/server.json)** listing. See the new **[🌍 Use It Anywhere](#-use-it-anywhere--the-ai-ecosystem)** section. Also: **multi-model playground** (run any skill with your own **Claude / OpenAI / Gemini / Ollama** key β€” local models included), a **[remote MCP connector](mcp-remote/)** (add PM Skills to **ChatGPT, Claude.ai & Cursor** with one URL β€” no install), the MCP server now exposes skills as **prompts + resources**, **4 new IDE targets** (Cline, Continue, Zed, Roo β€” 9 platforms total), a **[Python package](python/)** (`pip install pm-skills` β†’ LangChain/CrewAI tools), an **[`llms.txt`](https://mohitagw15856.github.io/pm-claude-skills/llms.txt)** for agent discovery, a reusable **[score-skills GitHub Action](.github/actions/score-skills/)**, and **MCP-registry manifests**. Plus the full library is now **eval-scored: 196 skills, avg 4.8/5**. **207 skills**. See the [changelog](#-changelog).
49
49
 
50
50
  ### β–Ά See it in action β€” [try the live Skill Playground](https://mohitagw15856.github.io/pm-claude-skills/)
51
51
 
@@ -74,13 +74,13 @@ A community-built library of professional skills for every field β€” product man
74
74
  | πŸ”­ [Competitor Teardown](skills/competitor-teardown) | "what are rivals up to?" | a positioning map, feature gaps & strategy |
75
75
  | πŸ“ [Meeting Notes](skills/meeting-notes) | a raw transcript | decisions, owners & next steps |
76
76
 
77
- β†’ Want proof first? See [**real sample outputs**](https://mohitagw15856.github.io/pm-claude-skills/examples.html) from each skill. Like what you see? [**Install in 2 minutes**](#-quick-install-2-minutes) Β· [browse all 206 skills](#️-all-206-skills) Β· [**⭐ star the repo**](https://github.com/mohitagw15856/pm-claude-skills/stargazers) so others find it.
77
+ β†’ Want proof first? See [**real sample outputs**](https://mohitagw15856.github.io/pm-claude-skills/examples.html) from each skill. Like what you see? [**Install in 2 minutes**](#-quick-install-2-minutes) Β· [browse all 207 skills](#️-all-207-skills) Β· [**⭐ star the repo**](https://github.com/mohitagw15856/pm-claude-skills/stargazers) so others find it.
78
78
 
79
79
  ---
80
80
 
81
81
  ## πŸ”„ One library, the whole professional workflow
82
82
 
83
- These 206 skills aren't a random catalog β€” they cover the **full arc of professional work**, end to end. Wherever you are in the loop, there's a skill for it:
83
+ These 207 skills aren't a random catalog β€” they cover the **full arc of professional work**, end to end. Wherever you are in the loop, there's a skill for it:
84
84
 
85
85
  ```mermaid
86
86
  flowchart LR
@@ -99,7 +99,7 @@ flowchart LR
99
99
  | **πŸ“Š Measure** | Track outcomes & analyse | `metrics-framework` Β· `cohort-analysis` Β· `ab-test-planner` Β· `churn-analysis` |
100
100
  | **πŸ“£ Communicate** | Report up and out | `executive-update` Β· `board-deck-narrative` Β· `stakeholder-update` Β· `qbr-deck` |
101
101
 
102
- > New here? Start with the [**top-tier skills**](#️-skill-tiers--start-with-the-strongest), or jump straight to [**all 206 skills**](#️-all-206-skills) grouped by profession.
102
+ > New here? Start with the [**top-tier skills**](#️-skill-tiers--start-with-the-strongest), or jump straight to [**all 207 skills**](#️-all-207-skills) grouped by profession.
103
103
 
104
104
  ---
105
105
 
@@ -195,7 +195,7 @@ Most skill repos are a folder of prompts. This one is a **system** β€” measured,
195
195
 
196
196
  | | **PM Skills** | Typical skill repo |
197
197
  |---|:---:|:---:|
198
- | Skills | **206**, across 21 professions | a handful β†’ dozens, usually one domain |
198
+ | Skills | **207**, across 21 professions | a handful β†’ dozens, usually one domain |
199
199
  | Quality | **eval-scored** on a rubric + a public [benchmark](https://mohitagw15856.github.io/pm-claude-skills/benchmark.html) | trust the README |
200
200
  | Improves itself | βœ… eval β†’ critique β†’ rewrite (kept only if it scores higher) | βœ— |
201
201
  | Grounded in frameworks | βœ… each cites its source (RICE, JTBD, Pyramid Principle…) | rarely |
@@ -220,7 +220,7 @@ Most skill repos are a folder of prompts. This one is a **system** β€” measured,
220
220
  - [πŸ“¦ Plugin Directory](#-plugin-directory)
221
221
  - [πŸ€– Building Blocks for Agent Templates](#-building-blocks-for-agent-templates)
222
222
  - [🏷️ Skill Tiers β€” start with the strongest](#️-skill-tiers--start-with-the-strongest)
223
- - [πŸ—‚οΈ All 206 Skills](#️-all-206-skills)
223
+ - [πŸ—‚οΈ All 207 Skills](#️-all-207-skills)
224
224
  - [πŸ“‹ Changelog](#-changelog)
225
225
  - [🀝 Contributing](#-contributing--add-your-skill)
226
226
  - [πŸ”— Related Projects](#-related-projects)
@@ -229,13 +229,13 @@ Most skill repos are a folder of prompts. This one is a **system** β€” measured,
229
229
 
230
230
  ## πŸš€ Quick Install (2 minutes)
231
231
 
232
- **With the [`skills`](https://github.com/vercel-labs/skills) CLI** (the open agent-skills installer that works across Claude Code, Cursor, Codex, OpenCode & 60+ agents) β€” pick from all 206 interactively:
232
+ **With the [`skills`](https://github.com/vercel-labs/skills) CLI** (the open agent-skills installer that works across Claude Code, Cursor, Codex, OpenCode & 60+ agents) β€” pick from all 207 interactively:
233
233
 
234
234
  ```bash
235
235
  npx skills add mohitagw15856/pm-claude-skills # browse & pick (auto-detects your agent)
236
236
  npx skills add mohitagw15856/pm-claude-skills --list # just preview the catalog
237
237
  npx skills add mohitagw15856/pm-claude-skills --skill prd-template # grab one
238
- npx skills add mohitagw15856/pm-claude-skills --skill '*' # install all 206
238
+ npx skills add mohitagw15856/pm-claude-skills --skill '*' # install all 207
239
239
  ```
240
240
 
241
241
  **Or our own installer** β€” via the [`pm-claude-skills`](https://www.npmjs.com/package/pm-claude-skills) npm package (Windows/macOS/Linux, needs Node), which also installs subagents, slash commands & cross-tool exports:
@@ -244,7 +244,7 @@ npx skills add mohitagw15856/pm-claude-skills --skill '*' # install a
244
244
  npx pm-claude-skills add --agent claude # or: codex Β· cursor Β· hermes Β· openclaw
245
245
  ```
246
246
 
247
- **Or one-line MCP** β€” make all 206 skills + 5 workflow recipes available in *every* session of any MCP client (Claude Code, Claude Desktop, Cursor, Windsurf), no per-file install:
247
+ **Or one-line MCP** β€” make all 207 skills + 5 workflow recipes available in *every* session of any MCP client (Claude Code, Claude Desktop, Cursor, Windsurf), no per-file install:
248
248
 
249
249
  ```bash
250
250
  claude mcp add pm-skills -- npx -y pm-claude-skills-mcp
@@ -301,7 +301,7 @@ ln -s ~/pm-claude-skills/skills/* ~/.claude/skills/
301
301
 
302
302
  ## 🌍 Use It Anywhere β€” the AI Ecosystem
303
303
 
304
- The same 206 skills reach you through every channel β€” pick whatever fits your stack:
304
+ The same 207 skills reach you through every channel β€” pick whatever fits your stack:
305
305
 
306
306
  | Channel | Get it |
307
307
  |---|---|
@@ -315,7 +315,7 @@ The same 206 skills reach you through every channel β€” pick whatever fits your
315
315
  | πŸ–₯️ **IDE rules** | Generated exports for **Cursor, Windsurf, Aider, Cline, Continue, Zed, Roo** β€” [`exports/`](exports/) |
316
316
  | πŸ€– **Agents & answer engines** | [`llms.txt`](https://mohitagw15856.github.io/pm-claude-skills/llms.txt) makes the whole library discoverable & citable |
317
317
 
318
- > **196 of 206 skills are eval-scored, averaging 4.8/5** β€” see the [leaderboard](https://mohitagw15856.github.io/pm-claude-skills/leaderboard.html).
318
+ > **196 of 207 skills are eval-scored, averaging 4.8/5** β€” see the [leaderboard](https://mohitagw15856.github.io/pm-claude-skills/leaderboard.html).
319
319
 
320
320
  ---
321
321
 
@@ -330,7 +330,7 @@ There are two kinds of support. **Native `SKILL.md` agents** read the file as-is
330
330
  auto-discover skills from the `description` frontmatter. **Other tools** take the markdown
331
331
  body as a system prompt β€” for those we ship ready-made [exports](#ready-to-use-exports).
332
332
 
333
- **In your editor (VS Code / Cursor):** the [**`vscode-extension/`**](vscode-extension/) brings all 206 skills into the Command Palette β€” search and *insert a skill as context* for Copilot/Cursor chat, copy it, or open it in the Playground.
333
+ **In your editor (VS Code / Cursor):** the [**`vscode-extension/`**](vscode-extension/) brings all 207 skills into the Command Palette β€” search and *insert a skill as context* for Copilot/Cursor chat, copy it, or open it in the Playground.
334
334
 
335
335
  | Platform | How it works | Auto-trigger? |
336
336
  |---|---|---|
@@ -475,7 +475,7 @@ ANTHROPIC_API_KEY=sk-ant-… npx pm-claude-skills generate --from ./team-process
475
475
 
476
476
  **πŸ† Skill Leaderboard β€” [evals](evals/).** An LLM-as-judge harness scores each skill across Claude models on structure, completeness, usefulness, and grounding. **[View the leaderboard β†’](https://mohitagw15856.github.io/pm-claude-skills/leaderboard.html)**
477
477
 
478
- > **Score the *whole* library, cheaply.** `npm run eval:gen-cases` writes a representative input for **all 206 skills** (curated cases kept verbatim; the rest auto-generated), then `npm run eval:all` runs the full pass on Haiku for **~$2** total. The weakest scorers can then be auto-rewritten with **`npm run improve -- <skill>`** (`/improve`), which keeps a change only if the score goes up.
478
+ > **Score the *whole* library, cheaply.** `npm run eval:gen-cases` writes a representative input for **all 207 skills** (curated cases kept verbatim; the rest auto-generated), then `npm run eval:all` runs the full pass on Haiku for **~$2** total. The weakest scorers can then be auto-rewritten with **`npm run improve -- <skill>`** (`/improve`), which keeps a change only if the score goes up.
479
479
 
480
480
  ---
481
481
 
@@ -551,7 +551,7 @@ Not sure which plugin to install? Here's what each one covers:
551
551
 
552
552
  On May 5, 2026, Anthropic [released their first agent templates](https://www.anthropic.com/news/finance-agents) β€” pre-packaged Claude agents that combine **skills, connectors, and subagents** into ready-to-run workflows for financial services.
553
553
 
554
- This library is the largest open-source collection of professional skills available β€” covering 20 professions beyond financial services. **The 206 skills here are the building blocks for agent templates outside of finance.**
554
+ This library is the largest open-source collection of professional skills available β€” covering 20 professions beyond financial services. **The 207 skills here are the building blocks for agent templates outside of finance.**
555
555
 
556
556
  ### What is an agent template?
557
557
 
@@ -630,11 +630,11 @@ More templates will follow. If you want to contribute one, see the [template con
630
630
 
631
631
  ## πŸ“‹ Changelog
632
632
 
633
- **Latest: v28.1.0 β€” Integrations (n8n, Lovable, Obsidian) + a `/v1` REST API.** PM Skills now runs inside [n8n](connectors/n8n.md), powers [Lovable](connectors/lovable.md) apps, and lives in your [Obsidian](connectors/obsidian.md) vault β€” all backed by a read-only REST API on the hosted Worker (auto-deployed via a new GitHub Action). Builds on **v28.0.0 β€” live across the whole AI ecosystem.** Now public on every channel: **PyPI** (`pip install pm-skills`), a **hosted MCP connector** URL for ChatGPT/Claude.ai/Cursor, and the **official MCP registry** β€” plus a new **🌍 Use It Anywhere** section + PyPI/MCP header badges. Builds on the v27 ecosystem work: multi-model playground (Claude / OpenAI / Gemini / **Ollama**); a **remote MCP connector** ([`mcp-remote/`](mcp-remote/)) to add PM Skills to **ChatGPT, Claude.ai & Cursor** by URL; MCP server now serves skills as **prompts + resources**; **4 new IDE export targets** (Cline, Continue, Zed, Roo β†’ 9 platforms); a **Python package** ([`python/`](python/), `pip install pm-skills` with LangChain/CrewAI adapters); an **`llms.txt`** for agent discovery; a reusable **[score-skills Action](.github/actions/score-skills/)**; and **MCP-registry manifests** (`server.json`, `smithery.yaml`). The full library is now eval-scored β€” **196 skills, avg 4.8/5**. Builds on **v26.0.0** (the Creator stack). **206 skills** across **28 bundles**, **21 professions**.
633
+ **Latest: v28.1.0 β€” Integrations (n8n, Lovable, Obsidian) + a `/v1` REST API.** PM Skills now runs inside [n8n](connectors/n8n.md), powers [Lovable](connectors/lovable.md) apps, and lives in your [Obsidian](connectors/obsidian.md) vault β€” all backed by a read-only REST API on the hosted Worker (auto-deployed via a new GitHub Action). Builds on **v28.0.0 β€” live across the whole AI ecosystem.** Now public on every channel: **PyPI** (`pip install pm-skills`), a **hosted MCP connector** URL for ChatGPT/Claude.ai/Cursor, and the **official MCP registry** β€” plus a new **🌍 Use It Anywhere** section + PyPI/MCP header badges. Builds on the v27 ecosystem work: multi-model playground (Claude / OpenAI / Gemini / **Ollama**); a **remote MCP connector** ([`mcp-remote/`](mcp-remote/)) to add PM Skills to **ChatGPT, Claude.ai & Cursor** by URL; MCP server now serves skills as **prompts + resources**; **4 new IDE export targets** (Cline, Continue, Zed, Roo β†’ 9 platforms); a **Python package** ([`python/`](python/), `pip install pm-skills` with LangChain/CrewAI adapters); an **`llms.txt`** for agent discovery; a reusable **[score-skills Action](.github/actions/score-skills/)**; and **MCP-registry manifests** (`server.json`, `smithery.yaml`). The full library is now eval-scored β€” **196 skills, avg 4.8/5**. Builds on **v26.0.0** (the Creator stack). **207 skills** across **28 bundles**, **21 professions**.
634
634
 
635
635
  Full [Keep a Changelog](https://keepachangelog.com/)-format history β€” every release back to the start β€” is in **[CHANGELOG.md](CHANGELOG.md)**.
636
636
 
637
- β†’ Earlier releases (v20 and before β€” the road from 6 to 206 skills) are in **[CHANGELOG.md](CHANGELOG.md)**.
637
+ β†’ Earlier releases (v20 and before β€” the road from 6 to 207 skills) are in **[CHANGELOG.md](CHANGELOG.md)**.
638
638
 
639
639
  ---
640
640
 
@@ -670,7 +670,7 @@ This repo was built alongside a published 16-part article series on Medium.
670
670
 
671
671
  ## 🏷️ Skill Tiers β€” Start With the Strongest
672
672
 
673
- A 206-skill library doesn't have 206 equally-mature skills, and pretending otherwise
673
+ A 207-skill library doesn't have 207 equally-mature skills, and pretending otherwise
674
674
  wastes your time. Skills are tiered honestly so you can start with the best work:
675
675
 
676
676
  - 🟒 **Production-Ready (50)** β€” battle-tested, stable output, used in real work. Includes the three skills with computed Python helpers (sprint planning, RICE, customer health). **Start here.**
@@ -683,7 +683,7 @@ If you're new, install `pm-essentials` and try a couple of Production-Ready skil
683
683
 
684
684
  ---
685
685
 
686
- ## πŸ—‚οΈ All 206 Skills
686
+ ## πŸ—‚οΈ All 207 Skills
687
687
 
688
688
  Every skill, grouped by profession. **[Browse the full per-skill catalog β†’ SKILLS.md](SKILLS.md)** Β· **[searchable live catalog](https://mohitagw15856.github.io/pm-claude-skills/catalog.html)** Β· **[run any skill in the browser](https://mohitagw15856.github.io/pm-claude-skills/)**
689
689
 
@@ -706,7 +706,7 @@ Every skill, grouped by profession. **[Browse the full per-skill catalog β†’ SKI
706
706
  | 🀝 Sales | `pm-sales` | 6 | `sales-battlecard` |
707
707
  | βš™οΈ Operations | `pm-operations` | 10 | `sop-writer` |
708
708
  | πŸ₯ Research & Healthcare | `pm-research` | 4 | `literature-review` |
709
- | 🌐 Cross-Profession | `pm-cross` | 9 | `meeting-notes` · `red-team-review` |
709
+ | 🌐 Cross-Profession | `pm-cross` | 10 | `meeting-notes` · `professional-brain` · `action-runner` |
710
710
  | πŸ–ΌοΈ Figma | `pm-figma` | 10 | `figma-design-review` |
711
711
  | πŸ“± Social Media | `pm-social` | 5 | `social-media-strategy` |
712
712
  | ✍️ Writers & Content | `pm-writers` | 6 | `aeo-optimizer` |
@@ -717,7 +717,7 @@ Every skill, grouped by profession. **[Browse the full per-skill catalog β†’ SKI
717
717
 
718
718
  ## ❀️ Sponsor This Work
719
719
 
720
- Building and maintaining 206 skills across 28 bundles takes real time β€” testing skills against new model releases, building new ones from community requests, writing the article series, and keeping documentation current.
720
+ Building and maintaining 207 skills across 28 bundles takes real time β€” testing skills against new model releases, building new ones from community requests, writing the article series, and keeping documentation current.
721
721
 
722
722
  If these skills save you time at work β€” or you're a company that wants your logo in front of the PMs, engineers, and operators who use them daily β€” **[become a sponsor β†’](https://github.com/sponsors/mohitagw15856)** (or [β˜• buy me a coffee](https://www.buymeacoffee.com/mohit15856)).
723
723
 
package/exports/README.md CHANGED
@@ -8,7 +8,7 @@ by hand; edit the source skill and run:
8
8
  node scripts/build-exports.mjs
9
9
  ```
10
10
 
11
- Currently exporting **206 skills** to:
11
+ Currently exporting **207 skills** to:
12
12
 
13
13
  - **ChatGPT β€” Custom GPT instructions** β†’ `exports/chatgpt/`
14
14
  - **Google Gemini β€” Gem instructions** β†’ `exports/gemini/`
@@ -3,7 +3,7 @@
3
3
  > Auto-generated from `skills/*/SKILL.md` by `scripts/build-exports.mjs`.
4
4
  > **Do not edit these files by hand** β€” edit the source skill and regenerate.
5
5
 
6
- 206 skills exported. Copy a `.mdc rule` into the tool to use it.
6
+ 207 skills exported. Copy a `.mdc rule` into the tool to use it.
7
7
 
8
8
  | Skill | Bundle | Path |
9
9
  |---|---|---|
@@ -12,6 +12,7 @@
12
12
  | A/B Test Readout | `pm-data` | `pm-data/ab-test-readout/ab-test-readout.md` |
13
13
  | Accessibility Audit | `pm-design` | `pm-design/accessibility-audit/accessibility-audit.md` |
14
14
  | Account Plan | `pm-sales` | `pm-sales/account-plan/account-plan.md` |
15
+ | Action Runner | `pm-cross` | `pm-cross/action-runner/action-runner.md` |
15
16
  | AEO Optimizer | `pm-writers` | `pm-writers/aeo-optimizer/aeo-optimizer.md` |
16
17
  | AI Ethics Review | `pm-advanced` | `pm-advanced/ai-ethics-review/ai-ethics-review.md` |
17
18
  | AI Product Canvas | `pm-advanced` | `pm-advanced/ai-product-canvas/ai-product-canvas.md` |
@@ -0,0 +1,81 @@
1
+ # Action Runner Skill
2
+
3
+ The library is great at *recommending* work. This skill executes it β€” the action layer of the
4
+ [Professional Brain](../professional-brain/SKILL.md) (Phase 2). A skill says "open a ticket per
5
+ checklist item"; this turns that into real GitHub/Linear/Slack actions, **safely**: previewed,
6
+ risk-rated, approved, then recorded. The cardinal rule: **nothing acts silently.**
7
+
8
+ ## What This Skill Produces
9
+
10
+ 1. A **dry-run actions plan** β€” every proposed action with its target, operation, and **risk**.
11
+ 2. After approval, the **executed actions** (via the connected action MCP) β€” outbound/destructive
12
+ ones gated individually.
13
+ 3. A **record back to the brain** of what was actually done, with provenance.
14
+
15
+ ## Required Inputs
16
+
17
+ Ask for (if not already provided):
18
+ - **The recommendations to act on** (a launch checklist, PRD requirements, postmortem follow-ups…).
19
+ - **The connected action MCP** and **targets** β€” which GitHub repo / Linear project / Slack channel. Scope is limited to what the user names; never act outside it.
20
+ - **Approval posture** β€” what may run with a single OK vs. what needs per-action confirmation.
21
+
22
+ ## How it works
23
+
24
+ ```
25
+ recommend β†’ build an actions plan (JSON) β†’ preview + risk-gate β†’ approve β†’ execute β†’ record
26
+ ```
27
+
28
+ 1. **Build the plan** β€” express each action as JSON: `{"target","op","args","why","risk?"}`.
29
+ 2. **Preview + gate** β€” run the helper; it prints a dry-run, classifies risk (🟒 low / 🟑 medium /
30
+ πŸ”΄ high), and **refuses to proceed while any πŸ”΄ outbound/destructive action is unapproved**:
31
+ ```bash
32
+ echo '<plan json>' | python3 scripts/action_preview.py -
33
+ # after the user approves the risky ones:
34
+ echo '<plan json>' | python3 scripts/action_preview.py - --allow-high
35
+ ```
36
+ 3. **Approve** β€” low/medium can run on a single confirmation; every πŸ”΄ (post, send, delete, deploy,
37
+ merge, charge…) needs explicit per-action approval. Default is **do nothing** until told.
38
+ 4. **Execute** β€” only approved actions, only via the connected action MCP (e.g. Composio/GitHub
39
+ `create_issue`). One target at a time; stop and report on the first failure.
40
+ 5. **Record** β€” append what was actually done to the brain so the loop closes:
41
+ ```bash
42
+ python3 ../professional-brain/scripts/brain_write.py ./brain decisions "Filed launch tickets" \
43
+ --tag external --body "Opened 7 issues in acme/app from the launch checklist" --commit
44
+ ```
45
+
46
+ ## Safety rules (non-negotiable)
47
+
48
+ - **Dry-run by default.** The plan is shown before anything runs.
49
+ - **Approval-gated.** No execution without a yes; πŸ”΄ actions are confirmed one by one.
50
+ - **Scope-limited.** Only the repos/channels/projects the user named.
51
+ - **Logged.** Every executed action is recorded to the brain with an `[external]` tag and a link.
52
+ - **No silent retries, no bulk outbound.** If a step fails, stop and surface it.
53
+
54
+ ## The contract for other skills
55
+
56
+ An action-aware skill adds a short **"Proposes Actions"** section: after producing its artifact,
57
+ it lists the actions it *could* take (target Β· op Β· why), then hands off to `action-runner` β€”
58
+ which previews, gates, executes, and records. The skill never executes directly.
59
+
60
+ ## Output Format
61
+
62
+ 1. **Proposed actions** β€” a table: # Β· target Β· operation Β· why Β· risk.
63
+ 2. **Gate result** β€” the preview output; the πŸ”΄ actions needing approval called out explicitly.
64
+ 3. **Executed** (after approval) β€” what ran, with links/IDs returned by the MCP.
65
+ 4. **Recorded to the brain** β€” the line(s) appended, with provenance.
66
+
67
+ ## Quality Checks
68
+
69
+ - [ ] A dry-run plan is shown before anything executes
70
+ - [ ] Every action has a risk level; πŸ”΄ actions are individually approved
71
+ - [ ] Execution stays within the named scope and uses only the connected MCP
72
+ - [ ] Each executed action is recorded back to the brain with an `[external]` tag
73
+ - [ ] On failure, it stops and reports rather than retrying blindly
74
+
75
+ ## Anti-Patterns
76
+
77
+ - Executing anything without showing the dry-run plan first
78
+ - Treating an outbound/destructive action (post, email, delete, deploy) as low-risk
79
+ - Acting outside the scope the user named, or fanning out to many targets
80
+ - "Helpfully" doing more than was approved
81
+ - Forgetting to record what was done β€” the brain must reflect reality
@@ -2,6 +2,10 @@
2
2
 
3
3
  Never launch without checking everything. Generate a complete, role-assigned checklist covering pre-launch readiness, launch day execution, and post-launch monitoring.
4
4
 
5
+ ## Proposes Actions
6
+
7
+ Once the checklist is approved, it can be *executed*: hand the items to [`action-runner`](../action-runner/SKILL.md), which previews them (dry-run, risk-rated), runs only what you approve via the connected action MCP (GitHub/Linear/Slack), and records what was done back to the brain. Typical: **open an issue per checklist item** in the named repo/project (🟑), and **post the launch summary to Slack** (πŸ”΄ β€” approved individually). This skill proposes; action-runner gates and runs β€” never silently.
8
+
5
9
  ## Required Inputs
6
10
 
7
11
  Ask the user for these if not provided:
@@ -9,6 +9,10 @@ If a [`professional-brain`](../professional-brain/SKILL.md) (`brain/`) exists, g
9
9
  - **Read first:** priority `decisions/` (what the team agreed matters), feature `entities/`, and open `hypotheses/` the sprint might test. Run `python3 ../professional-brain/scripts/brain_query.py ./brain "<sprint goal>"` and carry each fact's provenance tag through.
10
10
  - **πŸ“₯ Propose to the Brain:** after producing, propose logging the sprint commitment (goal + committed scope) as a `decisions/` record, provenance-tagged. Show it, get a yes, then write with `../professional-brain/scripts/brain_write.py … --commit` (append-only, dry-run by default).
11
11
 
12
+ ## Proposes Actions
13
+
14
+ Once the sprint is agreed, hand it to [`action-runner`](../action-runner/SKILL.md): it previews (dry-run, risk-rated), runs only what you approve via the connected action MCP, and records what was done back to the brain. Typical: **create a ticket per committed backlog item** and **set the sprint milestone** (🟑). This skill proposes; action-runner gates and runs β€” never silently.
15
+
12
16
  ## What This Skill Produces
13
17
 
14
18
  - **Sprint Goal** β€” single, outcome-focused sentence the whole team can rally around
@@ -2,6 +2,10 @@
2
2
 
3
3
  This skill produces a complete, blameless incident postmortem document following industry-standard format. Output enforces blameless framing throughout β€” system gaps over individual failures β€” and drives toward specific, closeable action items rather than vague process commitments.
4
4
 
5
+ ## Proposes Actions
6
+
7
+ The action items don't have to stay on the page: hand them to [`action-runner`](../action-runner/SKILL.md), which previews them (dry-run, risk-rated), runs only what you approve via the connected action MCP, and records what was done back to the brain. Typical: **file a follow-up issue per action item** (🟑), assigned to its owner with a due date. This skill proposes; action-runner gates and runs β€” never silently.
8
+
5
9
  ## Required Inputs
6
10
 
7
11
  Ask the user for these if not provided:
@@ -3,7 +3,7 @@
3
3
  > Auto-generated from `skills/*/SKILL.md` by `scripts/build-exports.mjs`.
4
4
  > **Do not edit these files by hand** β€” edit the source skill and regenerate.
5
5
 
6
- 206 skills exported. Copy a `SYSTEM_PROMPT.md` into the tool to use it.
6
+ 207 skills exported. Copy a `SYSTEM_PROMPT.md` into the tool to use it.
7
7
 
8
8
  | Skill | Bundle | Path |
9
9
  |---|---|---|
@@ -12,6 +12,7 @@
12
12
  | A/B Test Readout | `pm-data` | `pm-data/ab-test-readout/SYSTEM_PROMPT.md` |
13
13
  | Accessibility Audit | `pm-design` | `pm-design/accessibility-audit/SYSTEM_PROMPT.md` |
14
14
  | Account Plan | `pm-sales` | `pm-sales/account-plan/SYSTEM_PROMPT.md` |
15
+ | Action Runner | `pm-cross` | `pm-cross/action-runner/SYSTEM_PROMPT.md` |
15
16
  | AEO Optimizer | `pm-writers` | `pm-writers/aeo-optimizer/SYSTEM_PROMPT.md` |
16
17
  | AI Ethics Review | `pm-advanced` | `pm-advanced/ai-ethics-review/SYSTEM_PROMPT.md` |
17
18
  | AI Product Canvas | `pm-advanced` | `pm-advanced/ai-product-canvas/SYSTEM_PROMPT.md` |
@@ -0,0 +1,81 @@
1
+ # Action Runner Skill
2
+
3
+ The library is great at *recommending* work. This skill executes it β€” the action layer of the
4
+ [Professional Brain](../professional-brain/SKILL.md) (Phase 2). A skill says "open a ticket per
5
+ checklist item"; this turns that into real GitHub/Linear/Slack actions, **safely**: previewed,
6
+ risk-rated, approved, then recorded. The cardinal rule: **nothing acts silently.**
7
+
8
+ ## What This Skill Produces
9
+
10
+ 1. A **dry-run actions plan** β€” every proposed action with its target, operation, and **risk**.
11
+ 2. After approval, the **executed actions** (via the connected action MCP) β€” outbound/destructive
12
+ ones gated individually.
13
+ 3. A **record back to the brain** of what was actually done, with provenance.
14
+
15
+ ## Required Inputs
16
+
17
+ Ask for (if not already provided):
18
+ - **The recommendations to act on** (a launch checklist, PRD requirements, postmortem follow-ups…).
19
+ - **The connected action MCP** and **targets** β€” which GitHub repo / Linear project / Slack channel. Scope is limited to what the user names; never act outside it.
20
+ - **Approval posture** β€” what may run with a single OK vs. what needs per-action confirmation.
21
+
22
+ ## How it works
23
+
24
+ ```
25
+ recommend β†’ build an actions plan (JSON) β†’ preview + risk-gate β†’ approve β†’ execute β†’ record
26
+ ```
27
+
28
+ 1. **Build the plan** β€” express each action as JSON: `{"target","op","args","why","risk?"}`.
29
+ 2. **Preview + gate** β€” run the helper; it prints a dry-run, classifies risk (🟒 low / 🟑 medium /
30
+ πŸ”΄ high), and **refuses to proceed while any πŸ”΄ outbound/destructive action is unapproved**:
31
+ ```bash
32
+ echo '<plan json>' | python3 scripts/action_preview.py -
33
+ # after the user approves the risky ones:
34
+ echo '<plan json>' | python3 scripts/action_preview.py - --allow-high
35
+ ```
36
+ 3. **Approve** β€” low/medium can run on a single confirmation; every πŸ”΄ (post, send, delete, deploy,
37
+ merge, charge…) needs explicit per-action approval. Default is **do nothing** until told.
38
+ 4. **Execute** β€” only approved actions, only via the connected action MCP (e.g. Composio/GitHub
39
+ `create_issue`). One target at a time; stop and report on the first failure.
40
+ 5. **Record** β€” append what was actually done to the brain so the loop closes:
41
+ ```bash
42
+ python3 ../professional-brain/scripts/brain_write.py ./brain decisions "Filed launch tickets" \
43
+ --tag external --body "Opened 7 issues in acme/app from the launch checklist" --commit
44
+ ```
45
+
46
+ ## Safety rules (non-negotiable)
47
+
48
+ - **Dry-run by default.** The plan is shown before anything runs.
49
+ - **Approval-gated.** No execution without a yes; πŸ”΄ actions are confirmed one by one.
50
+ - **Scope-limited.** Only the repos/channels/projects the user named.
51
+ - **Logged.** Every executed action is recorded to the brain with an `[external]` tag and a link.
52
+ - **No silent retries, no bulk outbound.** If a step fails, stop and surface it.
53
+
54
+ ## The contract for other skills
55
+
56
+ An action-aware skill adds a short **"Proposes Actions"** section: after producing its artifact,
57
+ it lists the actions it *could* take (target Β· op Β· why), then hands off to `action-runner` β€”
58
+ which previews, gates, executes, and records. The skill never executes directly.
59
+
60
+ ## Output Format
61
+
62
+ 1. **Proposed actions** β€” a table: # Β· target Β· operation Β· why Β· risk.
63
+ 2. **Gate result** β€” the preview output; the πŸ”΄ actions needing approval called out explicitly.
64
+ 3. **Executed** (after approval) β€” what ran, with links/IDs returned by the MCP.
65
+ 4. **Recorded to the brain** β€” the line(s) appended, with provenance.
66
+
67
+ ## Quality Checks
68
+
69
+ - [ ] A dry-run plan is shown before anything executes
70
+ - [ ] Every action has a risk level; πŸ”΄ actions are individually approved
71
+ - [ ] Execution stays within the named scope and uses only the connected MCP
72
+ - [ ] Each executed action is recorded back to the brain with an `[external]` tag
73
+ - [ ] On failure, it stops and reports rather than retrying blindly
74
+
75
+ ## Anti-Patterns
76
+
77
+ - Executing anything without showing the dry-run plan first
78
+ - Treating an outbound/destructive action (post, email, delete, deploy) as low-risk
79
+ - Acting outside the scope the user named, or fanning out to many targets
80
+ - "Helpfully" doing more than was approved
81
+ - Forgetting to record what was done β€” the brain must reflect reality
@@ -2,6 +2,10 @@
2
2
 
3
3
  Never launch without checking everything. Generate a complete, role-assigned checklist covering pre-launch readiness, launch day execution, and post-launch monitoring.
4
4
 
5
+ ## Proposes Actions
6
+
7
+ Once the checklist is approved, it can be *executed*: hand the items to [`action-runner`](../action-runner/SKILL.md), which previews them (dry-run, risk-rated), runs only what you approve via the connected action MCP (GitHub/Linear/Slack), and records what was done back to the brain. Typical: **open an issue per checklist item** in the named repo/project (🟑), and **post the launch summary to Slack** (πŸ”΄ β€” approved individually). This skill proposes; action-runner gates and runs β€” never silently.
8
+
5
9
  ## Required Inputs
6
10
 
7
11
  Ask the user for these if not provided:
@@ -9,6 +9,10 @@ If a [`professional-brain`](../professional-brain/SKILL.md) (`brain/`) exists, g
9
9
  - **Read first:** priority `decisions/` (what the team agreed matters), feature `entities/`, and open `hypotheses/` the sprint might test. Run `python3 ../professional-brain/scripts/brain_query.py ./brain "<sprint goal>"` and carry each fact's provenance tag through.
10
10
  - **πŸ“₯ Propose to the Brain:** after producing, propose logging the sprint commitment (goal + committed scope) as a `decisions/` record, provenance-tagged. Show it, get a yes, then write with `../professional-brain/scripts/brain_write.py … --commit` (append-only, dry-run by default).
11
11
 
12
+ ## Proposes Actions
13
+
14
+ Once the sprint is agreed, hand it to [`action-runner`](../action-runner/SKILL.md): it previews (dry-run, risk-rated), runs only what you approve via the connected action MCP, and records what was done back to the brain. Typical: **create a ticket per committed backlog item** and **set the sprint milestone** (🟑). This skill proposes; action-runner gates and runs β€” never silently.
15
+
12
16
  ## What This Skill Produces
13
17
 
14
18
  - **Sprint Goal** β€” single, outcome-focused sentence the whole team can rally around
@@ -2,6 +2,10 @@
2
2
 
3
3
  This skill produces a complete, blameless incident postmortem document following industry-standard format. Output enforces blameless framing throughout β€” system gaps over individual failures β€” and drives toward specific, closeable action items rather than vague process commitments.
4
4
 
5
+ ## Proposes Actions
6
+
7
+ The action items don't have to stay on the page: hand them to [`action-runner`](../action-runner/SKILL.md), which previews them (dry-run, risk-rated), runs only what you approve via the connected action MCP, and records what was done back to the brain. Typical: **file a follow-up issue per action item** (🟑), assigned to its owner with a due date. This skill proposes; action-runner gates and runs β€” never silently.
8
+
5
9
  ## Required Inputs
6
10
 
7
11
  Ask the user for these if not provided:
@@ -3,7 +3,7 @@
3
3
  > Auto-generated from `skills/*/SKILL.md` by `scripts/build-exports.mjs`.
4
4
  > **Do not edit these files by hand** β€” edit the source skill and regenerate.
5
5
 
6
- 206 skills exported. Copy a `.mdc rule` into the tool to use it.
6
+ 207 skills exported. Copy a `.mdc rule` into the tool to use it.
7
7
 
8
8
  | Skill | Bundle | Path |
9
9
  |---|---|---|
@@ -12,6 +12,7 @@
12
12
  | A/B Test Readout | `pm-data` | `pm-data/ab-test-readout/ab-test-readout.md` |
13
13
  | Accessibility Audit | `pm-design` | `pm-design/accessibility-audit/accessibility-audit.md` |
14
14
  | Account Plan | `pm-sales` | `pm-sales/account-plan/account-plan.md` |
15
+ | Action Runner | `pm-cross` | `pm-cross/action-runner/action-runner.md` |
15
16
  | AEO Optimizer | `pm-writers` | `pm-writers/aeo-optimizer/aeo-optimizer.md` |
16
17
  | AI Ethics Review | `pm-advanced` | `pm-advanced/ai-ethics-review/ai-ethics-review.md` |
17
18
  | AI Product Canvas | `pm-advanced` | `pm-advanced/ai-product-canvas/ai-product-canvas.md` |
@@ -0,0 +1,81 @@
1
+ # Action Runner Skill
2
+
3
+ The library is great at *recommending* work. This skill executes it β€” the action layer of the
4
+ [Professional Brain](../professional-brain/SKILL.md) (Phase 2). A skill says "open a ticket per
5
+ checklist item"; this turns that into real GitHub/Linear/Slack actions, **safely**: previewed,
6
+ risk-rated, approved, then recorded. The cardinal rule: **nothing acts silently.**
7
+
8
+ ## What This Skill Produces
9
+
10
+ 1. A **dry-run actions plan** β€” every proposed action with its target, operation, and **risk**.
11
+ 2. After approval, the **executed actions** (via the connected action MCP) β€” outbound/destructive
12
+ ones gated individually.
13
+ 3. A **record back to the brain** of what was actually done, with provenance.
14
+
15
+ ## Required Inputs
16
+
17
+ Ask for (if not already provided):
18
+ - **The recommendations to act on** (a launch checklist, PRD requirements, postmortem follow-ups…).
19
+ - **The connected action MCP** and **targets** β€” which GitHub repo / Linear project / Slack channel. Scope is limited to what the user names; never act outside it.
20
+ - **Approval posture** β€” what may run with a single OK vs. what needs per-action confirmation.
21
+
22
+ ## How it works
23
+
24
+ ```
25
+ recommend β†’ build an actions plan (JSON) β†’ preview + risk-gate β†’ approve β†’ execute β†’ record
26
+ ```
27
+
28
+ 1. **Build the plan** β€” express each action as JSON: `{"target","op","args","why","risk?"}`.
29
+ 2. **Preview + gate** β€” run the helper; it prints a dry-run, classifies risk (🟒 low / 🟑 medium /
30
+ πŸ”΄ high), and **refuses to proceed while any πŸ”΄ outbound/destructive action is unapproved**:
31
+ ```bash
32
+ echo '<plan json>' | python3 scripts/action_preview.py -
33
+ # after the user approves the risky ones:
34
+ echo '<plan json>' | python3 scripts/action_preview.py - --allow-high
35
+ ```
36
+ 3. **Approve** β€” low/medium can run on a single confirmation; every πŸ”΄ (post, send, delete, deploy,
37
+ merge, charge…) needs explicit per-action approval. Default is **do nothing** until told.
38
+ 4. **Execute** β€” only approved actions, only via the connected action MCP (e.g. Composio/GitHub
39
+ `create_issue`). One target at a time; stop and report on the first failure.
40
+ 5. **Record** β€” append what was actually done to the brain so the loop closes:
41
+ ```bash
42
+ python3 ../professional-brain/scripts/brain_write.py ./brain decisions "Filed launch tickets" \
43
+ --tag external --body "Opened 7 issues in acme/app from the launch checklist" --commit
44
+ ```
45
+
46
+ ## Safety rules (non-negotiable)
47
+
48
+ - **Dry-run by default.** The plan is shown before anything runs.
49
+ - **Approval-gated.** No execution without a yes; πŸ”΄ actions are confirmed one by one.
50
+ - **Scope-limited.** Only the repos/channels/projects the user named.
51
+ - **Logged.** Every executed action is recorded to the brain with an `[external]` tag and a link.
52
+ - **No silent retries, no bulk outbound.** If a step fails, stop and surface it.
53
+
54
+ ## The contract for other skills
55
+
56
+ An action-aware skill adds a short **"Proposes Actions"** section: after producing its artifact,
57
+ it lists the actions it *could* take (target Β· op Β· why), then hands off to `action-runner` β€”
58
+ which previews, gates, executes, and records. The skill never executes directly.
59
+
60
+ ## Output Format
61
+
62
+ 1. **Proposed actions** β€” a table: # Β· target Β· operation Β· why Β· risk.
63
+ 2. **Gate result** β€” the preview output; the πŸ”΄ actions needing approval called out explicitly.
64
+ 3. **Executed** (after approval) β€” what ran, with links/IDs returned by the MCP.
65
+ 4. **Recorded to the brain** β€” the line(s) appended, with provenance.
66
+
67
+ ## Quality Checks
68
+
69
+ - [ ] A dry-run plan is shown before anything executes
70
+ - [ ] Every action has a risk level; πŸ”΄ actions are individually approved
71
+ - [ ] Execution stays within the named scope and uses only the connected MCP
72
+ - [ ] Each executed action is recorded back to the brain with an `[external]` tag
73
+ - [ ] On failure, it stops and reports rather than retrying blindly
74
+
75
+ ## Anti-Patterns
76
+
77
+ - Executing anything without showing the dry-run plan first
78
+ - Treating an outbound/destructive action (post, email, delete, deploy) as low-risk
79
+ - Acting outside the scope the user named, or fanning out to many targets
80
+ - "Helpfully" doing more than was approved
81
+ - Forgetting to record what was done β€” the brain must reflect reality
@@ -2,6 +2,10 @@
2
2
 
3
3
  Never launch without checking everything. Generate a complete, role-assigned checklist covering pre-launch readiness, launch day execution, and post-launch monitoring.
4
4
 
5
+ ## Proposes Actions
6
+
7
+ Once the checklist is approved, it can be *executed*: hand the items to [`action-runner`](../action-runner/SKILL.md), which previews them (dry-run, risk-rated), runs only what you approve via the connected action MCP (GitHub/Linear/Slack), and records what was done back to the brain. Typical: **open an issue per checklist item** in the named repo/project (🟑), and **post the launch summary to Slack** (πŸ”΄ β€” approved individually). This skill proposes; action-runner gates and runs β€” never silently.
8
+
5
9
  ## Required Inputs
6
10
 
7
11
  Ask the user for these if not provided:
@@ -9,6 +9,10 @@ If a [`professional-brain`](../professional-brain/SKILL.md) (`brain/`) exists, g
9
9
  - **Read first:** priority `decisions/` (what the team agreed matters), feature `entities/`, and open `hypotheses/` the sprint might test. Run `python3 ../professional-brain/scripts/brain_query.py ./brain "<sprint goal>"` and carry each fact's provenance tag through.
10
10
  - **πŸ“₯ Propose to the Brain:** after producing, propose logging the sprint commitment (goal + committed scope) as a `decisions/` record, provenance-tagged. Show it, get a yes, then write with `../professional-brain/scripts/brain_write.py … --commit` (append-only, dry-run by default).
11
11
 
12
+ ## Proposes Actions
13
+
14
+ Once the sprint is agreed, hand it to [`action-runner`](../action-runner/SKILL.md): it previews (dry-run, risk-rated), runs only what you approve via the connected action MCP, and records what was done back to the brain. Typical: **create a ticket per committed backlog item** and **set the sprint milestone** (🟑). This skill proposes; action-runner gates and runs β€” never silently.
15
+
12
16
  ## What This Skill Produces
13
17
 
14
18
  - **Sprint Goal** β€” single, outcome-focused sentence the whole team can rally around