pm-claude-skills 45.0.0 โ†’ 47.0.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 (380) hide show
  1. package/README.md +26 -13
  2. package/bin/brief.mjs +89 -0
  3. package/bin/cli.mjs +20 -1
  4. package/bin/init.mjs +1 -1
  5. package/bin/install.mjs +1 -1
  6. package/bin/lib/scheduler.mjs +61 -0
  7. package/bin/nightwatch.mjs +102 -0
  8. package/bin/subscribe.mjs +76 -0
  9. package/commands/adopt-ai-properly.md +1 -1
  10. package/commands/brain.md +1 -1
  11. package/commands/close-the-quarter.md +1 -1
  12. package/commands/exec-summary.md +1 -1
  13. package/commands/firm.md +1 -1
  14. package/commands/grow-a-product.md +1 -1
  15. package/commands/health-scorecard.md +1 -1
  16. package/commands/land-a-job.md +1 -1
  17. package/commands/launch-a-product.md +1 -1
  18. package/commands/launch-an-ai-feature.md +1 -1
  19. package/commands/prd.md +1 -1
  20. package/commands/red-team.md +1 -1
  21. package/commands/repurpose.md +1 -1
  22. package/commands/rescue-an-account.md +1 -1
  23. package/commands/retro.md +1 -1
  24. package/commands/rice.md +1 -1
  25. package/commands/run-discovery.md +1 -1
  26. package/commands/setup-context.md +1 -1
  27. package/commands/setup-pm-skills.md +1 -1
  28. package/commands/ship-a-feature.md +1 -1
  29. package/commands/ship-an-mcp-server.md +1 -1
  30. package/commands/sprint-plan.md +1 -1
  31. package/exports/README.md +1 -1
  32. package/exports/aider/README.md +13 -1
  33. package/exports/aider/pm-advanced/skill-fusion/skill-fusion.md +41 -0
  34. package/exports/aider/pm-business/board-deck-narrative/board-deck-narrative.md +4 -0
  35. package/exports/aider/pm-business/job-application/job-application.md +4 -0
  36. package/exports/aider/pm-calculators/schedule-monte-carlo/schedule-monte-carlo.md +42 -0
  37. package/exports/aider/pm-calculators/support-staffing-model/support-staffing-model.md +42 -0
  38. package/exports/aider/pm-calculators/tornado-sensitivity/tornado-sensitivity.md +40 -0
  39. package/exports/aider/pm-copy/cold-email/cold-email.md +4 -0
  40. package/exports/aider/pm-cross/brief-builder/brief-builder.md +6 -0
  41. package/exports/aider/pm-data/cohort-analysis/cohort-analysis.md +153 -100
  42. package/exports/aider/pm-data/sql-query-explainer/sql-query-explainer.md +15 -0
  43. package/exports/aider/pm-engineering/regex-builder/regex-builder.md +6 -0
  44. package/exports/aider/pm-engineering/skill-security-auditor/skill-security-auditor.md +1 -1
  45. package/exports/aider/pm-hr/employee-engagement-survey/employee-engagement-survey.md +5 -0
  46. package/exports/aider/pm-jobsearch/interview-prep/interview-prep.md +4 -0
  47. package/exports/aider/pm-lifeadmin/eulogy-writer/eulogy-writer.md +41 -0
  48. package/exports/aider/pm-lifeadmin/fine-appeal-letter/fine-appeal-letter.md +39 -0
  49. package/exports/aider/pm-lifeadmin/wedding-speech/wedding-speech.md +40 -0
  50. package/exports/aider/pm-people/performance-review/performance-review.md +4 -0
  51. package/exports/aider/pm-personal/cover-letter/cover-letter.md +4 -0
  52. package/exports/aider/pm-personal/one-pager/one-pager.md +4 -0
  53. package/exports/aider/pm-planning/pricing-strategy/pricing-strategy.md +4 -0
  54. package/exports/aider/pm-pmm/win-loss-analysis/win-loss-analysis.md +4 -0
  55. package/exports/aider/pm-warroom/assumption-bounty/assumption-bounty.md +40 -0
  56. package/exports/aider/pm-warroom/decision-autopsy/decision-autopsy.md +40 -0
  57. package/exports/aider/pm-warroom/devils-twin/devils-twin.md +38 -0
  58. package/exports/aider/pm-warroom/metric-gaslighting-detector/metric-gaslighting-detector.md +45 -0
  59. package/exports/aider/pm-warroom/premortem-assassin/premortem-assassin.md +49 -0
  60. package/exports/chatgpt/README.md +13 -1
  61. package/exports/chatgpt/pm-advanced/skill-fusion/SYSTEM_PROMPT.md +41 -0
  62. package/exports/chatgpt/pm-business/board-deck-narrative/SYSTEM_PROMPT.md +4 -0
  63. package/exports/chatgpt/pm-business/job-application/SYSTEM_PROMPT.md +4 -0
  64. package/exports/chatgpt/pm-calculators/schedule-monte-carlo/SYSTEM_PROMPT.md +42 -0
  65. package/exports/chatgpt/pm-calculators/support-staffing-model/SYSTEM_PROMPT.md +42 -0
  66. package/exports/chatgpt/pm-calculators/tornado-sensitivity/SYSTEM_PROMPT.md +40 -0
  67. package/exports/chatgpt/pm-copy/cold-email/SYSTEM_PROMPT.md +4 -0
  68. package/exports/chatgpt/pm-cross/brief-builder/SYSTEM_PROMPT.md +6 -0
  69. package/exports/chatgpt/pm-data/cohort-analysis/SYSTEM_PROMPT.md +153 -100
  70. package/exports/chatgpt/pm-data/sql-query-explainer/SYSTEM_PROMPT.md +15 -0
  71. package/exports/chatgpt/pm-engineering/regex-builder/SYSTEM_PROMPT.md +6 -0
  72. package/exports/chatgpt/pm-engineering/skill-security-auditor/SYSTEM_PROMPT.md +1 -1
  73. package/exports/chatgpt/pm-hr/employee-engagement-survey/SYSTEM_PROMPT.md +5 -0
  74. package/exports/chatgpt/pm-jobsearch/interview-prep/SYSTEM_PROMPT.md +4 -0
  75. package/exports/chatgpt/pm-lifeadmin/eulogy-writer/SYSTEM_PROMPT.md +41 -0
  76. package/exports/chatgpt/pm-lifeadmin/fine-appeal-letter/SYSTEM_PROMPT.md +39 -0
  77. package/exports/chatgpt/pm-lifeadmin/wedding-speech/SYSTEM_PROMPT.md +40 -0
  78. package/exports/chatgpt/pm-people/performance-review/SYSTEM_PROMPT.md +4 -0
  79. package/exports/chatgpt/pm-personal/cover-letter/SYSTEM_PROMPT.md +4 -0
  80. package/exports/chatgpt/pm-personal/one-pager/SYSTEM_PROMPT.md +4 -0
  81. package/exports/chatgpt/pm-planning/pricing-strategy/SYSTEM_PROMPT.md +4 -0
  82. package/exports/chatgpt/pm-pmm/win-loss-analysis/SYSTEM_PROMPT.md +4 -0
  83. package/exports/chatgpt/pm-warroom/assumption-bounty/SYSTEM_PROMPT.md +40 -0
  84. package/exports/chatgpt/pm-warroom/decision-autopsy/SYSTEM_PROMPT.md +40 -0
  85. package/exports/chatgpt/pm-warroom/devils-twin/SYSTEM_PROMPT.md +38 -0
  86. package/exports/chatgpt/pm-warroom/metric-gaslighting-detector/SYSTEM_PROMPT.md +45 -0
  87. package/exports/chatgpt/pm-warroom/premortem-assassin/SYSTEM_PROMPT.md +49 -0
  88. package/exports/cline/README.md +13 -1
  89. package/exports/cline/pm-advanced/skill-fusion/skill-fusion.md +41 -0
  90. package/exports/cline/pm-business/board-deck-narrative/board-deck-narrative.md +4 -0
  91. package/exports/cline/pm-business/job-application/job-application.md +4 -0
  92. package/exports/cline/pm-calculators/schedule-monte-carlo/schedule-monte-carlo.md +42 -0
  93. package/exports/cline/pm-calculators/support-staffing-model/support-staffing-model.md +42 -0
  94. package/exports/cline/pm-calculators/tornado-sensitivity/tornado-sensitivity.md +40 -0
  95. package/exports/cline/pm-copy/cold-email/cold-email.md +4 -0
  96. package/exports/cline/pm-cross/brief-builder/brief-builder.md +6 -0
  97. package/exports/cline/pm-data/cohort-analysis/cohort-analysis.md +153 -100
  98. package/exports/cline/pm-data/sql-query-explainer/sql-query-explainer.md +15 -0
  99. package/exports/cline/pm-engineering/regex-builder/regex-builder.md +6 -0
  100. package/exports/cline/pm-engineering/skill-security-auditor/skill-security-auditor.md +1 -1
  101. package/exports/cline/pm-hr/employee-engagement-survey/employee-engagement-survey.md +5 -0
  102. package/exports/cline/pm-jobsearch/interview-prep/interview-prep.md +4 -0
  103. package/exports/cline/pm-lifeadmin/eulogy-writer/eulogy-writer.md +41 -0
  104. package/exports/cline/pm-lifeadmin/fine-appeal-letter/fine-appeal-letter.md +39 -0
  105. package/exports/cline/pm-lifeadmin/wedding-speech/wedding-speech.md +40 -0
  106. package/exports/cline/pm-people/performance-review/performance-review.md +4 -0
  107. package/exports/cline/pm-personal/cover-letter/cover-letter.md +4 -0
  108. package/exports/cline/pm-personal/one-pager/one-pager.md +4 -0
  109. package/exports/cline/pm-planning/pricing-strategy/pricing-strategy.md +4 -0
  110. package/exports/cline/pm-pmm/win-loss-analysis/win-loss-analysis.md +4 -0
  111. package/exports/cline/pm-warroom/assumption-bounty/assumption-bounty.md +40 -0
  112. package/exports/cline/pm-warroom/decision-autopsy/decision-autopsy.md +40 -0
  113. package/exports/cline/pm-warroom/devils-twin/devils-twin.md +38 -0
  114. package/exports/cline/pm-warroom/metric-gaslighting-detector/metric-gaslighting-detector.md +45 -0
  115. package/exports/cline/pm-warroom/premortem-assassin/premortem-assassin.md +49 -0
  116. package/exports/continue/README.md +13 -1
  117. package/exports/continue/pm-advanced/skill-fusion/skill-fusion.md +46 -0
  118. package/exports/continue/pm-business/board-deck-narrative/board-deck-narrative.md +4 -0
  119. package/exports/continue/pm-business/job-application/job-application.md +4 -0
  120. package/exports/continue/pm-calculators/schedule-monte-carlo/schedule-monte-carlo.md +47 -0
  121. package/exports/continue/pm-calculators/support-staffing-model/support-staffing-model.md +47 -0
  122. package/exports/continue/pm-calculators/tornado-sensitivity/tornado-sensitivity.md +45 -0
  123. package/exports/continue/pm-copy/cold-email/cold-email.md +4 -0
  124. package/exports/continue/pm-cross/brief-builder/brief-builder.md +6 -0
  125. package/exports/continue/pm-data/cohort-analysis/cohort-analysis.md +153 -100
  126. package/exports/continue/pm-data/sql-query-explainer/sql-query-explainer.md +15 -0
  127. package/exports/continue/pm-engineering/regex-builder/regex-builder.md +6 -0
  128. package/exports/continue/pm-engineering/skill-security-auditor/skill-security-auditor.md +1 -1
  129. package/exports/continue/pm-hr/employee-engagement-survey/employee-engagement-survey.md +5 -0
  130. package/exports/continue/pm-jobsearch/interview-prep/interview-prep.md +4 -0
  131. package/exports/continue/pm-lifeadmin/eulogy-writer/eulogy-writer.md +46 -0
  132. package/exports/continue/pm-lifeadmin/fine-appeal-letter/fine-appeal-letter.md +44 -0
  133. package/exports/continue/pm-lifeadmin/wedding-speech/wedding-speech.md +45 -0
  134. package/exports/continue/pm-people/performance-review/performance-review.md +4 -0
  135. package/exports/continue/pm-personal/cover-letter/cover-letter.md +4 -0
  136. package/exports/continue/pm-personal/one-pager/one-pager.md +4 -0
  137. package/exports/continue/pm-planning/pricing-strategy/pricing-strategy.md +4 -0
  138. package/exports/continue/pm-pmm/win-loss-analysis/win-loss-analysis.md +4 -0
  139. package/exports/continue/pm-warroom/assumption-bounty/assumption-bounty.md +45 -0
  140. package/exports/continue/pm-warroom/decision-autopsy/decision-autopsy.md +45 -0
  141. package/exports/continue/pm-warroom/devils-twin/devils-twin.md +43 -0
  142. package/exports/continue/pm-warroom/metric-gaslighting-detector/metric-gaslighting-detector.md +50 -0
  143. package/exports/continue/pm-warroom/premortem-assassin/premortem-assassin.md +54 -0
  144. package/exports/cursor/README.md +13 -1
  145. package/exports/cursor/pm-advanced/skill-fusion/skill-fusion.mdc +47 -0
  146. package/exports/cursor/pm-business/board-deck-narrative/board-deck-narrative.mdc +4 -0
  147. package/exports/cursor/pm-business/job-application/job-application.mdc +4 -0
  148. package/exports/cursor/pm-calculators/schedule-monte-carlo/schedule-monte-carlo.mdc +48 -0
  149. package/exports/cursor/pm-calculators/support-staffing-model/support-staffing-model.mdc +48 -0
  150. package/exports/cursor/pm-calculators/tornado-sensitivity/tornado-sensitivity.mdc +46 -0
  151. package/exports/cursor/pm-copy/cold-email/cold-email.mdc +4 -0
  152. package/exports/cursor/pm-cross/brief-builder/brief-builder.mdc +6 -0
  153. package/exports/cursor/pm-data/cohort-analysis/cohort-analysis.mdc +153 -100
  154. package/exports/cursor/pm-data/sql-query-explainer/sql-query-explainer.mdc +15 -0
  155. package/exports/cursor/pm-engineering/regex-builder/regex-builder.mdc +6 -0
  156. package/exports/cursor/pm-engineering/skill-security-auditor/skill-security-auditor.mdc +1 -1
  157. package/exports/cursor/pm-hr/employee-engagement-survey/employee-engagement-survey.mdc +5 -0
  158. package/exports/cursor/pm-jobsearch/interview-prep/interview-prep.mdc +4 -0
  159. package/exports/cursor/pm-lifeadmin/eulogy-writer/eulogy-writer.mdc +47 -0
  160. package/exports/cursor/pm-lifeadmin/fine-appeal-letter/fine-appeal-letter.mdc +45 -0
  161. package/exports/cursor/pm-lifeadmin/wedding-speech/wedding-speech.mdc +46 -0
  162. package/exports/cursor/pm-people/performance-review/performance-review.mdc +4 -0
  163. package/exports/cursor/pm-personal/cover-letter/cover-letter.mdc +4 -0
  164. package/exports/cursor/pm-personal/one-pager/one-pager.mdc +4 -0
  165. package/exports/cursor/pm-planning/pricing-strategy/pricing-strategy.mdc +4 -0
  166. package/exports/cursor/pm-pmm/win-loss-analysis/win-loss-analysis.mdc +4 -0
  167. package/exports/cursor/pm-warroom/assumption-bounty/assumption-bounty.mdc +46 -0
  168. package/exports/cursor/pm-warroom/decision-autopsy/decision-autopsy.mdc +46 -0
  169. package/exports/cursor/pm-warroom/devils-twin/devils-twin.mdc +44 -0
  170. package/exports/cursor/pm-warroom/metric-gaslighting-detector/metric-gaslighting-detector.mdc +51 -0
  171. package/exports/cursor/pm-warroom/premortem-assassin/premortem-assassin.mdc +55 -0
  172. package/exports/gemini/README.md +13 -1
  173. package/exports/gemini/pm-advanced/skill-fusion/GEM_INSTRUCTIONS.md +45 -0
  174. package/exports/gemini/pm-business/board-deck-narrative/GEM_INSTRUCTIONS.md +4 -0
  175. package/exports/gemini/pm-business/job-application/GEM_INSTRUCTIONS.md +4 -0
  176. package/exports/gemini/pm-calculators/schedule-monte-carlo/GEM_INSTRUCTIONS.md +46 -0
  177. package/exports/gemini/pm-calculators/support-staffing-model/GEM_INSTRUCTIONS.md +46 -0
  178. package/exports/gemini/pm-calculators/tornado-sensitivity/GEM_INSTRUCTIONS.md +44 -0
  179. package/exports/gemini/pm-copy/cold-email/GEM_INSTRUCTIONS.md +4 -0
  180. package/exports/gemini/pm-cross/brief-builder/GEM_INSTRUCTIONS.md +6 -0
  181. package/exports/gemini/pm-data/cohort-analysis/GEM_INSTRUCTIONS.md +153 -100
  182. package/exports/gemini/pm-data/sql-query-explainer/GEM_INSTRUCTIONS.md +15 -0
  183. package/exports/gemini/pm-engineering/regex-builder/GEM_INSTRUCTIONS.md +6 -0
  184. package/exports/gemini/pm-engineering/skill-security-auditor/GEM_INSTRUCTIONS.md +1 -1
  185. package/exports/gemini/pm-hr/employee-engagement-survey/GEM_INSTRUCTIONS.md +5 -0
  186. package/exports/gemini/pm-jobsearch/interview-prep/GEM_INSTRUCTIONS.md +4 -0
  187. package/exports/gemini/pm-lifeadmin/eulogy-writer/GEM_INSTRUCTIONS.md +45 -0
  188. package/exports/gemini/pm-lifeadmin/fine-appeal-letter/GEM_INSTRUCTIONS.md +43 -0
  189. package/exports/gemini/pm-lifeadmin/wedding-speech/GEM_INSTRUCTIONS.md +44 -0
  190. package/exports/gemini/pm-people/performance-review/GEM_INSTRUCTIONS.md +4 -0
  191. package/exports/gemini/pm-personal/cover-letter/GEM_INSTRUCTIONS.md +4 -0
  192. package/exports/gemini/pm-personal/one-pager/GEM_INSTRUCTIONS.md +4 -0
  193. package/exports/gemini/pm-planning/pricing-strategy/GEM_INSTRUCTIONS.md +4 -0
  194. package/exports/gemini/pm-pmm/win-loss-analysis/GEM_INSTRUCTIONS.md +4 -0
  195. package/exports/gemini/pm-warroom/assumption-bounty/GEM_INSTRUCTIONS.md +44 -0
  196. package/exports/gemini/pm-warroom/decision-autopsy/GEM_INSTRUCTIONS.md +44 -0
  197. package/exports/gemini/pm-warroom/devils-twin/GEM_INSTRUCTIONS.md +42 -0
  198. package/exports/gemini/pm-warroom/metric-gaslighting-detector/GEM_INSTRUCTIONS.md +49 -0
  199. package/exports/gemini/pm-warroom/premortem-assassin/GEM_INSTRUCTIONS.md +53 -0
  200. package/exports/kilocode/README.md +13 -1
  201. package/exports/kilocode/pm-advanced/skill-fusion/skill-fusion.md +41 -0
  202. package/exports/kilocode/pm-business/board-deck-narrative/board-deck-narrative.md +4 -0
  203. package/exports/kilocode/pm-business/job-application/job-application.md +4 -0
  204. package/exports/kilocode/pm-calculators/schedule-monte-carlo/schedule-monte-carlo.md +42 -0
  205. package/exports/kilocode/pm-calculators/support-staffing-model/support-staffing-model.md +42 -0
  206. package/exports/kilocode/pm-calculators/tornado-sensitivity/tornado-sensitivity.md +40 -0
  207. package/exports/kilocode/pm-copy/cold-email/cold-email.md +4 -0
  208. package/exports/kilocode/pm-cross/brief-builder/brief-builder.md +6 -0
  209. package/exports/kilocode/pm-data/cohort-analysis/cohort-analysis.md +153 -100
  210. package/exports/kilocode/pm-data/sql-query-explainer/sql-query-explainer.md +15 -0
  211. package/exports/kilocode/pm-engineering/regex-builder/regex-builder.md +6 -0
  212. package/exports/kilocode/pm-engineering/skill-security-auditor/skill-security-auditor.md +1 -1
  213. package/exports/kilocode/pm-hr/employee-engagement-survey/employee-engagement-survey.md +5 -0
  214. package/exports/kilocode/pm-jobsearch/interview-prep/interview-prep.md +4 -0
  215. package/exports/kilocode/pm-lifeadmin/eulogy-writer/eulogy-writer.md +41 -0
  216. package/exports/kilocode/pm-lifeadmin/fine-appeal-letter/fine-appeal-letter.md +39 -0
  217. package/exports/kilocode/pm-lifeadmin/wedding-speech/wedding-speech.md +40 -0
  218. package/exports/kilocode/pm-people/performance-review/performance-review.md +4 -0
  219. package/exports/kilocode/pm-personal/cover-letter/cover-letter.md +4 -0
  220. package/exports/kilocode/pm-personal/one-pager/one-pager.md +4 -0
  221. package/exports/kilocode/pm-planning/pricing-strategy/pricing-strategy.md +4 -0
  222. package/exports/kilocode/pm-pmm/win-loss-analysis/win-loss-analysis.md +4 -0
  223. package/exports/kilocode/pm-warroom/assumption-bounty/assumption-bounty.md +40 -0
  224. package/exports/kilocode/pm-warroom/decision-autopsy/decision-autopsy.md +40 -0
  225. package/exports/kilocode/pm-warroom/devils-twin/devils-twin.md +38 -0
  226. package/exports/kilocode/pm-warroom/metric-gaslighting-detector/metric-gaslighting-detector.md +45 -0
  227. package/exports/kilocode/pm-warroom/premortem-assassin/premortem-assassin.md +49 -0
  228. package/exports/obsidian/README.md +13 -1
  229. package/exports/obsidian/pm-advanced/skill-fusion/skill-fusion.md +56 -0
  230. package/exports/obsidian/pm-business/board-deck-narrative/board-deck-narrative.md +4 -0
  231. package/exports/obsidian/pm-business/job-application/job-application.md +4 -0
  232. package/exports/obsidian/pm-calculators/schedule-monte-carlo/schedule-monte-carlo.md +57 -0
  233. package/exports/obsidian/pm-calculators/support-staffing-model/support-staffing-model.md +57 -0
  234. package/exports/obsidian/pm-calculators/tornado-sensitivity/tornado-sensitivity.md +55 -0
  235. package/exports/obsidian/pm-copy/cold-email/cold-email.md +4 -0
  236. package/exports/obsidian/pm-cross/brief-builder/brief-builder.md +6 -0
  237. package/exports/obsidian/pm-data/cohort-analysis/cohort-analysis.md +153 -100
  238. package/exports/obsidian/pm-data/sql-query-explainer/sql-query-explainer.md +15 -0
  239. package/exports/obsidian/pm-engineering/regex-builder/regex-builder.md +6 -0
  240. package/exports/obsidian/pm-engineering/skill-security-auditor/skill-security-auditor.md +1 -1
  241. package/exports/obsidian/pm-hr/employee-engagement-survey/employee-engagement-survey.md +5 -0
  242. package/exports/obsidian/pm-jobsearch/interview-prep/interview-prep.md +4 -0
  243. package/exports/obsidian/pm-lifeadmin/eulogy-writer/eulogy-writer.md +56 -0
  244. package/exports/obsidian/pm-lifeadmin/fine-appeal-letter/fine-appeal-letter.md +54 -0
  245. package/exports/obsidian/pm-lifeadmin/wedding-speech/wedding-speech.md +55 -0
  246. package/exports/obsidian/pm-people/performance-review/performance-review.md +4 -0
  247. package/exports/obsidian/pm-personal/cover-letter/cover-letter.md +4 -0
  248. package/exports/obsidian/pm-personal/one-pager/one-pager.md +4 -0
  249. package/exports/obsidian/pm-planning/pricing-strategy/pricing-strategy.md +4 -0
  250. package/exports/obsidian/pm-pmm/win-loss-analysis/win-loss-analysis.md +4 -0
  251. package/exports/obsidian/pm-warroom/assumption-bounty/assumption-bounty.md +55 -0
  252. package/exports/obsidian/pm-warroom/decision-autopsy/decision-autopsy.md +55 -0
  253. package/exports/obsidian/pm-warroom/devils-twin/devils-twin.md +53 -0
  254. package/exports/obsidian/pm-warroom/metric-gaslighting-detector/metric-gaslighting-detector.md +60 -0
  255. package/exports/obsidian/pm-warroom/premortem-assassin/premortem-assassin.md +64 -0
  256. package/exports/roo/README.md +13 -1
  257. package/exports/roo/pm-advanced/skill-fusion/skill-fusion.md +41 -0
  258. package/exports/roo/pm-business/board-deck-narrative/board-deck-narrative.md +4 -0
  259. package/exports/roo/pm-business/job-application/job-application.md +4 -0
  260. package/exports/roo/pm-calculators/schedule-monte-carlo/schedule-monte-carlo.md +42 -0
  261. package/exports/roo/pm-calculators/support-staffing-model/support-staffing-model.md +42 -0
  262. package/exports/roo/pm-calculators/tornado-sensitivity/tornado-sensitivity.md +40 -0
  263. package/exports/roo/pm-copy/cold-email/cold-email.md +4 -0
  264. package/exports/roo/pm-cross/brief-builder/brief-builder.md +6 -0
  265. package/exports/roo/pm-data/cohort-analysis/cohort-analysis.md +153 -100
  266. package/exports/roo/pm-data/sql-query-explainer/sql-query-explainer.md +15 -0
  267. package/exports/roo/pm-engineering/regex-builder/regex-builder.md +6 -0
  268. package/exports/roo/pm-engineering/skill-security-auditor/skill-security-auditor.md +1 -1
  269. package/exports/roo/pm-hr/employee-engagement-survey/employee-engagement-survey.md +5 -0
  270. package/exports/roo/pm-jobsearch/interview-prep/interview-prep.md +4 -0
  271. package/exports/roo/pm-lifeadmin/eulogy-writer/eulogy-writer.md +41 -0
  272. package/exports/roo/pm-lifeadmin/fine-appeal-letter/fine-appeal-letter.md +39 -0
  273. package/exports/roo/pm-lifeadmin/wedding-speech/wedding-speech.md +40 -0
  274. package/exports/roo/pm-people/performance-review/performance-review.md +4 -0
  275. package/exports/roo/pm-personal/cover-letter/cover-letter.md +4 -0
  276. package/exports/roo/pm-personal/one-pager/one-pager.md +4 -0
  277. package/exports/roo/pm-planning/pricing-strategy/pricing-strategy.md +4 -0
  278. package/exports/roo/pm-pmm/win-loss-analysis/win-loss-analysis.md +4 -0
  279. package/exports/roo/pm-warroom/assumption-bounty/assumption-bounty.md +40 -0
  280. package/exports/roo/pm-warroom/decision-autopsy/decision-autopsy.md +40 -0
  281. package/exports/roo/pm-warroom/devils-twin/devils-twin.md +38 -0
  282. package/exports/roo/pm-warroom/metric-gaslighting-detector/metric-gaslighting-detector.md +45 -0
  283. package/exports/roo/pm-warroom/premortem-assassin/premortem-assassin.md +49 -0
  284. package/exports/windsurf/README.md +13 -1
  285. package/exports/windsurf/pm-advanced/skill-fusion/skill-fusion.md +46 -0
  286. package/exports/windsurf/pm-business/board-deck-narrative/board-deck-narrative.md +4 -0
  287. package/exports/windsurf/pm-business/job-application/job-application.md +4 -0
  288. package/exports/windsurf/pm-calculators/schedule-monte-carlo/schedule-monte-carlo.md +47 -0
  289. package/exports/windsurf/pm-calculators/support-staffing-model/support-staffing-model.md +47 -0
  290. package/exports/windsurf/pm-calculators/tornado-sensitivity/tornado-sensitivity.md +45 -0
  291. package/exports/windsurf/pm-copy/cold-email/cold-email.md +4 -0
  292. package/exports/windsurf/pm-cross/brief-builder/brief-builder.md +6 -0
  293. package/exports/windsurf/pm-data/cohort-analysis/cohort-analysis.md +153 -100
  294. package/exports/windsurf/pm-data/sql-query-explainer/sql-query-explainer.md +15 -0
  295. package/exports/windsurf/pm-engineering/regex-builder/regex-builder.md +6 -0
  296. package/exports/windsurf/pm-engineering/skill-security-auditor/skill-security-auditor.md +1 -1
  297. package/exports/windsurf/pm-hr/employee-engagement-survey/employee-engagement-survey.md +5 -0
  298. package/exports/windsurf/pm-jobsearch/interview-prep/interview-prep.md +4 -0
  299. package/exports/windsurf/pm-lifeadmin/eulogy-writer/eulogy-writer.md +46 -0
  300. package/exports/windsurf/pm-lifeadmin/fine-appeal-letter/fine-appeal-letter.md +44 -0
  301. package/exports/windsurf/pm-lifeadmin/wedding-speech/wedding-speech.md +45 -0
  302. package/exports/windsurf/pm-people/performance-review/performance-review.md +4 -0
  303. package/exports/windsurf/pm-personal/cover-letter/cover-letter.md +4 -0
  304. package/exports/windsurf/pm-personal/one-pager/one-pager.md +4 -0
  305. package/exports/windsurf/pm-planning/pricing-strategy/pricing-strategy.md +4 -0
  306. package/exports/windsurf/pm-pmm/win-loss-analysis/win-loss-analysis.md +4 -0
  307. package/exports/windsurf/pm-warroom/assumption-bounty/assumption-bounty.md +45 -0
  308. package/exports/windsurf/pm-warroom/decision-autopsy/decision-autopsy.md +45 -0
  309. package/exports/windsurf/pm-warroom/devils-twin/devils-twin.md +43 -0
  310. package/exports/windsurf/pm-warroom/metric-gaslighting-detector/metric-gaslighting-detector.md +50 -0
  311. package/exports/windsurf/pm-warroom/premortem-assassin/premortem-assassin.md +54 -0
  312. package/exports/zed/README.md +13 -1
  313. package/exports/zed/pm-advanced/skill-fusion/skill-fusion.md +41 -0
  314. package/exports/zed/pm-business/board-deck-narrative/board-deck-narrative.md +4 -0
  315. package/exports/zed/pm-business/job-application/job-application.md +4 -0
  316. package/exports/zed/pm-calculators/schedule-monte-carlo/schedule-monte-carlo.md +42 -0
  317. package/exports/zed/pm-calculators/support-staffing-model/support-staffing-model.md +42 -0
  318. package/exports/zed/pm-calculators/tornado-sensitivity/tornado-sensitivity.md +40 -0
  319. package/exports/zed/pm-copy/cold-email/cold-email.md +4 -0
  320. package/exports/zed/pm-cross/brief-builder/brief-builder.md +6 -0
  321. package/exports/zed/pm-data/cohort-analysis/cohort-analysis.md +153 -100
  322. package/exports/zed/pm-data/sql-query-explainer/sql-query-explainer.md +15 -0
  323. package/exports/zed/pm-engineering/regex-builder/regex-builder.md +6 -0
  324. package/exports/zed/pm-engineering/skill-security-auditor/skill-security-auditor.md +1 -1
  325. package/exports/zed/pm-hr/employee-engagement-survey/employee-engagement-survey.md +5 -0
  326. package/exports/zed/pm-jobsearch/interview-prep/interview-prep.md +4 -0
  327. package/exports/zed/pm-lifeadmin/eulogy-writer/eulogy-writer.md +41 -0
  328. package/exports/zed/pm-lifeadmin/fine-appeal-letter/fine-appeal-letter.md +39 -0
  329. package/exports/zed/pm-lifeadmin/wedding-speech/wedding-speech.md +40 -0
  330. package/exports/zed/pm-people/performance-review/performance-review.md +4 -0
  331. package/exports/zed/pm-personal/cover-letter/cover-letter.md +4 -0
  332. package/exports/zed/pm-personal/one-pager/one-pager.md +4 -0
  333. package/exports/zed/pm-planning/pricing-strategy/pricing-strategy.md +4 -0
  334. package/exports/zed/pm-pmm/win-loss-analysis/win-loss-analysis.md +4 -0
  335. package/exports/zed/pm-warroom/assumption-bounty/assumption-bounty.md +40 -0
  336. package/exports/zed/pm-warroom/decision-autopsy/decision-autopsy.md +40 -0
  337. package/exports/zed/pm-warroom/devils-twin/devils-twin.md +38 -0
  338. package/exports/zed/pm-warroom/metric-gaslighting-detector/metric-gaslighting-detector.md +45 -0
  339. package/exports/zed/pm-warroom/premortem-assassin/premortem-assassin.md +49 -0
  340. package/package.json +7 -2
  341. package/skills/assumption-bounty/SKILL.md +45 -0
  342. package/skills/board-deck-narrative/SKILL.md +4 -0
  343. package/skills/board-deck-narrative/references/what-boards-actually-read.md +19 -0
  344. package/skills/brief-builder/SKILL.md +6 -0
  345. package/skills/cohort-analysis/SKILL.md +153 -100
  346. package/skills/cold-email/SKILL.md +4 -0
  347. package/skills/cold-email/references/reply-rate-calibration.md +21 -0
  348. package/skills/cover-letter/SKILL.md +4 -0
  349. package/skills/cover-letter/templates/cover-letter.md +22 -0
  350. package/skills/decision-autopsy/SKILL.md +45 -0
  351. package/skills/devils-twin/SKILL.md +43 -0
  352. package/skills/employee-engagement-survey/SKILL.md +5 -0
  353. package/skills/eulogy-writer/SKILL.md +46 -0
  354. package/skills/fine-appeal-letter/SKILL.md +44 -0
  355. package/skills/interview-prep/SKILL.md +4 -0
  356. package/skills/interview-prep/references/story-matrix.md +25 -0
  357. package/skills/job-application/SKILL.md +4 -0
  358. package/skills/job-application/references/six-second-scan.md +21 -0
  359. package/skills/metric-gaslighting-detector/SKILL.md +50 -0
  360. package/skills/one-pager/SKILL.md +4 -0
  361. package/skills/one-pager/templates/one-pager.md +31 -0
  362. package/skills/performance-review/SKILL.md +4 -0
  363. package/skills/performance-review/references/evidence-not-adjectives.md +22 -0
  364. package/skills/premortem-assassin/SKILL.md +54 -0
  365. package/skills/pricing-strategy/SKILL.md +4 -0
  366. package/skills/pricing-strategy/references/model-selection.md +20 -0
  367. package/skills/regex-builder/SKILL.md +6 -0
  368. package/skills/schedule-monte-carlo/SKILL.md +47 -0
  369. package/skills/schedule-monte-carlo/scripts/schedule_sim.py +153 -0
  370. package/skills/skill-fusion/SKILL.md +46 -0
  371. package/skills/skill-security-auditor/SKILL.md +1 -1
  372. package/skills/slide-deck/scripts/pptx_tool.py +3 -2
  373. package/skills/sql-query-explainer/SKILL.md +15 -0
  374. package/skills/support-staffing-model/SKILL.md +47 -0
  375. package/skills/support-staffing-model/scripts/erlang_staffing.py +144 -0
  376. package/skills/tornado-sensitivity/SKILL.md +45 -0
  377. package/skills/tornado-sensitivity/scripts/tornado.py +132 -0
  378. package/skills/wedding-speech/SKILL.md +45 -0
  379. package/skills/win-loss-analysis/SKILL.md +4 -0
  380. package/skills/win-loss-analysis/references/buyer-interview-craft.md +22 -0
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # ๐Ÿง  PM Skills โ€” 454 Professional Agent Skills for Claude, ChatGPT, Gemini, Cursor, Codex & Hermes
1
+ # ๐Ÿง  PM Skills โ€” 466 Professional Agent Skills for Claude, ChatGPT, Gemini, Cursor, Codex & Hermes
2
2
 
3
3
  [![In the official Anthropic plugin directory](https://img.shields.io/badge/Anthropic%20Plugin%20Directory-Published-D97757?logo=anthropic&logoColor=white)](#-quick-install-2-minutes)
4
4
  [![Stars](https://img.shields.io/github/stars/mohitagw15856/pm-claude-skills?style=social)](https://github.com/mohitagw15856/pm-claude-skills/stargazers)
@@ -9,8 +9,13 @@
9
9
  [![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)
10
10
  [![Remote MCP](https://img.shields.io/badge/ChatGPT%20%C2%B7%20Claude.ai-connector-10A37F)](mcp-remote/)
11
11
  [![Smithery](https://smithery.ai/badge/mohit15856/pm-skills)](https://smithery.ai/servers/mohit15856/pm-skills)
12
- [![Skills](https://img.shields.io/badge/skills-454-blue)](https://github.com/mohitagw15856/pm-claude-skills)
12
+ [![Skills](https://img.shields.io/badge/skills-466-blue)](https://github.com/mohitagw15856/pm-claude-skills)
13
13
  [![Free runs served](https://img.shields.io/endpoint?url=https%3A%2F%2Fpm-skills-mcp.pm-claude-skills.workers.dev%2Ftry%2Fstats&cacheSeconds=300)](https://mohitagw15856.github.io/pm-claude-skills/)
14
+ [![Sponsor](https://img.shields.io/badge/๐Ÿ’›_sponsors_fund_the_free_runs-ea4aaa)](https://github.com/sponsors/mohitagw15856)
15
+
16
+ > **Big repo?** It's a monorepo on purpose โ€” but you probably need one folder. **[REPO-MAP.md](REPO-MAP.md)** tells you which, and the skills-only clone is 10 seconds: `git clone --filter=blob:none --sparse <url> && git sparse-checkout set skills`
17
+
18
+ > ๐Ÿ’› **The free runs are sponsor-funded.** Every sponsor dollar visibly raises the daily cap on the counter above โ€” and sponsors get [naming rights, not influence](docs/SPONSORSHIP.md): your name in this README, your logo on the playground, or **a Boardroom bench carrying your company's name**. โ†’ [Become a sponsor](https://github.com/sponsors/mohitagw15856)
14
19
  [![eval](https://img.shields.io/badge/eval--scored-208%20%C2%B7%20avg%204.8%2F5-brightgreen)](https://mohitagw15856.github.io/pm-claude-skills/leaderboard.html)
15
20
  [![Subagents](https://img.shields.io/badge/subagents-4-blueviolet)](agents/)
16
21
  [![Commands](https://img.shields.io/badge/slash%20commands-21-blueviolet)](commands/)
@@ -26,7 +31,7 @@
26
31
 
27
32
  <p align="center">
28
33
  <a href="https://mohitagw15856.github.io/pm-claude-skills/">
29
- <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=454+pro+AI+skills;PRDs%2C+roadmaps%2C+launches+%E2%80%94+done+right;Run+any+one+free+in+your+browser" alt="PM Skills" />
34
+ <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=466+pro+AI+skills;PRDs%2C+roadmaps%2C+launches+%E2%80%94+done+right;Run+any+one+free+in+your+browser" alt="PM Skills" />
30
35
  </a>
31
36
  </p>
32
37
 
@@ -75,11 +80,11 @@
75
80
  </details>
76
81
 
77
82
  > **PM stands for Professional, not just Product Management.**
78
- > 454 professional skills + 4 agent templates across 65 bundles covering 25 professions. Built for Claude Code โ€” and now portable to ChatGPT, Gemini, and Hermes Agent. Built by a PM, used by everyone.
83
+ > 466 professional skills + 4 agent templates across 65 bundles covering 25 professions. Built for Claude Code โ€” and now portable to ChatGPT, Gemini, and Hermes Agent. Built by a PM, used by everyone.
79
84
 
80
85
  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).
81
86
 
82
- **๐Ÿ†• v45.0.0 โ€” the spectacle release:** โš”๏ธ **Duels** โ€” challenge a friend to the *identical* Gym negotiation or Panel candidate (same hidden state, side-by-side scorecard), ๐ŸŽ“ **[The Charter](https://mohitagw15856.github.io/pm-claude-skills/charter.html)** โ€” the performance-based, cryptographically verifiable certification, and **the library in 3D**: ๐ŸŒŒ [Galaxy 3D](https://mohitagw15856.github.io/pm-claude-skills/galaxy3d.html) (fly a bloom-lit starfield where your used skills burn brighter), ๐Ÿ— **[the Tower of Claims](https://mohitagw15856.github.io/pm-claude-skills/tower.html)** (your document as a physics tower โ€” data is steel, assumptions are glass, watch it stand or **collapse**), ๐Ÿ› [the Stage](https://mohitagw15856.github.io/pm-claude-skills/stage.html) (Boardroom replays as cinema with a cracking hologram), โœจ holo persona cards, ๐Ÿ† [the Trophy Forge](https://mohitagw15856.github.io/pm-claude-skills/trophy.html), ๐ŸŒƒ [Skill City](https://mohitagw15856.github.io/pm-claude-skills/city.html), โ˜„๏ธ the Reckoning orrery. Plus the record going public: **first official [SkillBench results](skillbench/results.json)** (Haiku 4.5 vs Sonnet 4.6), evolution loop run #1 (all champions held under blind judging), 3 sha256-pinned [registry packs](packs/), and a live **free-runs-served badge**. *Earlier โ€” v44, the legendary release:* Campaign mode, the Professional Work Handbook (2,237-rule Anti-Pattern Almanac), the Reckoning, the ecosystem package manager, zero-key MCP sampling, pm-skills-tools, the SkillSpec badge & the census. *Earlier โ€” v43, the local-first & learning wave:* the ๐Ÿ—‚ workspace bridge, Boardroom replay links & bench packs, ๐ŸŽค The Panel, ๐ŸŽ“ The Academy, ๐ŸŽ Wrapped, the evolution loop & pm-method. *Earlier โ€” v42:* depth (`references/` + `templates/`) on all Production-Ready skills, ๐Ÿ”Š Theatre voices, Firm calibration & the CI smoke suite. *Earlier โ€” v41, the modern skills wave:* two new domains โ€” **๐Ÿค– [`pm-agentnative`](plugins/pm-agentnative)** (build for non-human users: [`mcp-server-spec`](skills/mcp-server-spec/SKILL.md), [`agent-readiness-audit`](skills/agent-readiness-audit/SKILL.md), [`agent-era-pricing`](skills/agent-era-pricing/SKILL.md), [`human-in-the-loop-design`](skills/human-in-the-loop-design/SKILL.md), [`voice-agent-design`](skills/voice-agent-design/SKILL.md)) and **๐Ÿง‘โ€๐Ÿ’ผ [`pm-aiwork`](plugins/pm-aiwork)** (the questions every manager has this year: [`ai-roi-audit`](skills/ai-roi-audit/SKILL.md), [`role-redesign-for-ai`](skills/role-redesign-for-ai/SKILL.md), [`ai-usage-policy`](skills/ai-usage-policy/SKILL.md), [`ai-assisted-performance-review`](skills/ai-assisted-performance-review/SKILL.md), [`ai-content-audit`](skills/ai-content-audit/SKILL.md)) โ€” plus 5 singles ([`ai-code-review`](skills/ai-code-review/SKILL.md), [`synthetic-user-research`](skills/synthetic-user-research/SKILL.md), [`async-decision-memo`](skills/async-decision-memo/SKILL.md), [`brand-impersonation-response`](skills/brand-impersonation-response/SKILL.md), [`feature-sunset-plan`](skills/feature-sunset-plan/SKILL.md)). Also: ๐ŸŒ  Galaxy shooting stars + a ๐ŸŽฒ Warp button, ๐ŸŽ“ frameable [certificates](web/export-doc.js) from the arena pages, and ๐Ÿ”Œ [MCP pairings](connectors/mcp-pairings.md) โ€” skills that act through your connected servers. *Earlier โ€” v40: [The Firm](https://mohitagw15856.github.io/pm-claude-skills/firm.html). v39 (three waves):* โšก *Superpowers:* [SkillBench](skillbench/) (the professional-work benchmark for models) ยท the [community registry](community/) (npm-for-skills) ยท the [Interview Gauntlet](https://mohitagw15856.github.io/pm-claude-skills/gauntlet.html) ยท [CI recipes](action/examples/) + [ambient hooks](hooks/) ยท Hugging Face [dataset publishing](dataset/) ยท [localization to 8 languages](i18n/). ๐Ÿคฏ *Breathtaking:* [living artifacts](https://mohitagw15856.github.io/pm-claude-skills/), [Document X-ray](https://mohitagw15856.github.io/pm-claude-skills/xray.html), [The Gym](https://mohitagw15856.github.io/pm-claude-skills/gym.html), [`pm-vision`](plugins/pm-vision), [`style-fingerprint`](skills/style-fingerprint/SKILL.md), [`evidence-lock`](skills/evidence-lock/SKILL.md). โœจ *Revamped:* the playground command bar + Galaxy 2.0 with a guided Sky tour. **454 skills ยท 65 bundles ยท 25 professions.** โ†’ [CHANGELOG](CHANGELOG.md) ยท [all releases](https://github.com/mohitagw15856/pm-claude-skills/releases).
87
+ **๐Ÿ†• v47.0.0 โ€” the off-web release:** the library now reaches you where you already work โ€” ๐Ÿ“ฑ **[text or call a skill](integrations/twilio)** (a signature-verified Twilio Worker that answers an SMS with a skill run), โœ‰๏ธ **[email-native operator](integrations/email)** (mail an address, get the skill's reply in-thread), ๐Ÿƒ **[the Operator's Deck](https://mohitagw15856.github.io/pm-claude-skills/deck.html)** (a printable 54-card deck, each with a QR that deep-links the skill), ๐ŸŽฎ **[Run the Firm โ€” the game](https://mohitagw15856.github.io/pm-claude-skills/firm-game.html)** (an 8-quarter AI-company tycoon where every choice is a real skill), ๐Ÿงญ **[the Watch-me-work Coach](integrations/coach-extension)** (a local-only browser extension that nudges *"there's a skill for this"* as you write), and ๐Ÿ“ป **[the auto morning-show newsletter](newsletter)** (a zero-cost weekly issue + TTS script, published by a scheduled Action). Plus a **๐Ÿ†• New** nav group and scrollable dropdowns so it's all one click away. **466 skills ยท 66 bundles.** *Earlier โ€” v46, the arsenal release:* โš”๏ธ **[`pm-warroom`](plugins/pm-warroom)** โ€” the adversarial bundle (Premortem Assassin's twelve failure vectors, Devil's Twin writes the opposition's best memo, Metric Gaslighting Detector's eleven distortions, Decision Autopsy, Assumption Bounty), ๐Ÿงฎ **three more skills that do real math** (Erlang-C staffing, schedule Monte Carlo over the task DAG, tornado sensitivity โ€” CI-pinned exact outputs), ๐ŸŽญ shareable singles (eulogy-writer, wedding-speech, fine-appeal-letter, skill-fusion), ๐ŸŽจ **generative identities on every skill page and playground card** (five banner families seeded from the name, matching colours + monograms, โ“˜ links), ๐ŸŽฏ **466/466 SkillSpec L3 โ€” CI-enforced**, ๐Ÿงช the 76-assertion scripts harness, ๐Ÿ“ฑ the **PWA** (no-API core offline), ๐Ÿ“ˆ [public vitals](https://mohitagw15856.github.io/pm-claude-skills/status.html) + self-operating crons, ๐Ÿ—บ [REPO-MAP](REPO-MAP.md). **466 skills ยท 66 bundles.** *Earlier โ€” v45, the spectacle release:* Duels, the Charter, Galaxy 3D, the collapsing Tower of Claims, the Stage, holo cards & Skill City. *Earlier โ€” v44, the legendary release:* Campaign mode, the Professional Work Handbook (2,297-rule Anti-Pattern Almanac), the Reckoning, the ecosystem package manager, zero-key MCP sampling, pm-skills-tools, the SkillSpec badge & the census. *Earlier โ€” v43, the local-first & learning wave:* the ๐Ÿ—‚ workspace bridge, Boardroom replay links & bench packs, ๐ŸŽค The Panel, ๐ŸŽ“ The Academy, ๐ŸŽ Wrapped, the evolution loop & pm-method. *Earlier โ€” v42:* depth (`references/` + `templates/`) on all Production-Ready skills, ๐Ÿ”Š Theatre voices, Firm calibration & the CI smoke suite. *Earlier โ€” v41, the modern skills wave:* two new domains โ€” **๐Ÿค– [`pm-agentnative`](plugins/pm-agentnative)** (build for non-human users: [`mcp-server-spec`](skills/mcp-server-spec/SKILL.md), [`agent-readiness-audit`](skills/agent-readiness-audit/SKILL.md), [`agent-era-pricing`](skills/agent-era-pricing/SKILL.md), [`human-in-the-loop-design`](skills/human-in-the-loop-design/SKILL.md), [`voice-agent-design`](skills/voice-agent-design/SKILL.md)) and **๐Ÿง‘โ€๐Ÿ’ผ [`pm-aiwork`](plugins/pm-aiwork)** (the questions every manager has this year: [`ai-roi-audit`](skills/ai-roi-audit/SKILL.md), [`role-redesign-for-ai`](skills/role-redesign-for-ai/SKILL.md), [`ai-usage-policy`](skills/ai-usage-policy/SKILL.md), [`ai-assisted-performance-review`](skills/ai-assisted-performance-review/SKILL.md), [`ai-content-audit`](skills/ai-content-audit/SKILL.md)) โ€” plus 5 singles ([`ai-code-review`](skills/ai-code-review/SKILL.md), [`synthetic-user-research`](skills/synthetic-user-research/SKILL.md), [`async-decision-memo`](skills/async-decision-memo/SKILL.md), [`brand-impersonation-response`](skills/brand-impersonation-response/SKILL.md), [`feature-sunset-plan`](skills/feature-sunset-plan/SKILL.md)). Also: ๐ŸŒ  Galaxy shooting stars + a ๐ŸŽฒ Warp button, ๐ŸŽ“ frameable [certificates](web/export-doc.js) from the arena pages, and ๐Ÿ”Œ [MCP pairings](connectors/mcp-pairings.md) โ€” skills that act through your connected servers. *Earlier โ€” v40: [The Firm](https://mohitagw15856.github.io/pm-claude-skills/firm.html). v39 (three waves):* โšก *Superpowers:* [SkillBench](skillbench/) (the professional-work benchmark for models) ยท the [community registry](community/) (npm-for-skills) ยท the [Interview Gauntlet](https://mohitagw15856.github.io/pm-claude-skills/gauntlet.html) ยท [CI recipes](action/examples/) + [ambient hooks](hooks/) ยท Hugging Face [dataset publishing](dataset/) ยท [localization to 8 languages](i18n/). ๐Ÿคฏ *Breathtaking:* [living artifacts](https://mohitagw15856.github.io/pm-claude-skills/), [Document X-ray](https://mohitagw15856.github.io/pm-claude-skills/xray.html), [The Gym](https://mohitagw15856.github.io/pm-claude-skills/gym.html), [`pm-vision`](plugins/pm-vision), [`style-fingerprint`](skills/style-fingerprint/SKILL.md), [`evidence-lock`](skills/evidence-lock/SKILL.md). โœจ *Revamped:* the playground command bar + Galaxy 2.0 with a guided Sky tour. **466 skills ยท 66 bundles ยท 25 professions.** โ†’ [CHANGELOG](CHANGELOG.md) ยท [all releases](https://github.com/mohitagw15856/pm-claude-skills/releases).
83
88
 
84
89
  ### โ–ถ See it in action โ€” [try the live Skill Playground](https://mohitagw15856.github.io/pm-claude-skills/)
85
90
 
@@ -135,7 +140,7 @@ In Claude Code, [`/firm`](commands/firm.md) runs the same session natively โ€” g
135
140
  <tr>
136
141
  <td width="50%">
137
142
  <a href="https://mohitagw15856.github.io/pm-claude-skills/"><img src="web/docs-assets/showcase/cmdbar.png" alt="The command bar โ€” describe your task in plain words and get matched to the right skill instantly" /></a>
138
- <b>๐Ÿช„ <a href="https://mohitagw15856.github.io/pm-claude-skills/">The command bar</a></b> โ€” don't browse 454 cards; just say it: <i>"a blameless postmortem for Friday's outage"</i> โ†’ the top three skills, instantly, locally, before you've even entered a key. Enter opens the best match.
143
+ <b>๐Ÿช„ <a href="https://mohitagw15856.github.io/pm-claude-skills/">The command bar</a></b> โ€” don't browse 466 cards; just say it: <i>"a blameless postmortem for Friday's outage"</i> โ†’ the top three skills, instantly, locally, before you've even entered a key. Enter opens the best match.
139
144
  </td>
140
145
  <td width="50%">
141
146
  <a href="https://mohitagw15856.github.io/pm-claude-skills/galaxy.html"><img src="web/docs-assets/showcase/galaxy.png" alt="Skill Galaxy โ€” the library as a living star map with a guided sky tour" /></a>
@@ -229,7 +234,7 @@ Generic AI forgets everything between sessions, so you re-paste context forever
229
234
  <details>
230
235
  <summary>Read more โ†“</summary>
231
236
 
232
- These 454 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:
237
+ These 466 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:
233
238
 
234
239
  ```mermaid
235
240
  flowchart LR
@@ -352,7 +357,13 @@ Connect the Firm or the Boardroom to a **real folder on disk** (the ๐Ÿ—‚ chip, C
352
357
 
353
358
  ### ๐ŸŒŒ The library in 3D
354
359
 
355
- - **[Galaxy 3D](https://mohitagw15856.github.io/pm-claude-skills/galaxy3d.html)** โ€” 454 skills as a bloom-lit starfield you fly through; **your sky is yours** (stars you've run burn brighter). **[Skill City](https://mohitagw15856.github.io/pm-claude-skills/city.html)** โ€” the same idea as a dusk skyline: windows light up in buildings you've used.
360
+ <p align="center">
361
+ <a href="https://mohitagw15856.github.io/pm-claude-skills/tower.html"><img src="web/docs-assets/demo-tower.gif" width="420" alt="The Tower of Claims โ€” the argument collapses because the conclusion rested on glass" /></a>
362
+ <a href="https://mohitagw15856.github.io/pm-claude-skills/galaxy3d.html"><img src="web/docs-assets/demo-galaxy.gif" width="420" alt="Galaxy 3D โ€” hyperspace warp between skill constellations" /></a>
363
+ </p>
364
+
365
+
366
+ - **[Galaxy 3D](https://mohitagw15856.github.io/pm-claude-skills/galaxy3d.html)** โ€” 466 skills as a bloom-lit starfield you fly through; **your sky is yours** (stars you've run burn brighter). **[Skill City](https://mohitagw15856.github.io/pm-claude-skills/city.html)** โ€” the same idea as a dusk skyline: windows light up in buildings you've used.
356
367
  - **[The Tower of Claims](https://mohitagw15856.github.io/pm-claude-skills/tower.html)** โ€” your document as a physics tower: data is steel, assumptions are glass, and the stress test shows the argument stand or **collapse**. Keyless demo built in.
357
368
  - **[The Stage](https://mohitagw15856.github.io/pm-claude-skills/stage.html)** โ€” any Boardroom replay as a cinematic 3D scene: the hologram document cracks as objections land; the verdict seals it gold or shatters it.
358
369
  - **โš”๏ธ Duels** โ€” challenge links from the Gym and the Panel: your friend faces the *identical* hidden scenario, side-by-side scorecard at the end. **[The Charter](https://mohitagw15856.github.io/pm-claude-skills/charter.html)** โ€” the performance-based, cryptographically verifiable certification. **[The Trophy Forge](https://mohitagw15856.github.io/pm-claude-skills/trophy.html)** โ€” cast it in spinning gold.
@@ -360,13 +371,13 @@ Connect the Firm or the Boardroom to a **real folder on disk** (the ๐Ÿ—‚ chip, C
360
371
  ### ๐Ÿ—บ The Campaign, the Book, and the Ledger
361
372
 
362
373
  - **[Your First 90 Days](https://mohitagw15856.github.io/pm-claude-skills/campaign.html)** โ€” campaign mode: one story across every arena. You join a fictional Series A startup, and your *real* arena scores write the plot โ€” lose the Gym negotiation and the account churns; get fooled in the Panel and the bad hire haunts Week 10. Replayable, saves locally, certificate at Day 90.
363
- - **[The Professional Work Handbook](https://mohitagw15856.github.io/pm-claude-skills/handbook.html)** โ€” the library as a book: 11 chapters of craft (the Production-Ready tier in full) + **the Anti-Pattern Almanac: 2,237 rules of professional judgment** from all 454 skills. Printable ([PDF](web/docs-assets/handbook.pdf)), free, regenerated every release.
374
+ - **[The Professional Work Handbook](https://mohitagw15856.github.io/pm-claude-skills/handbook.html)** โ€” the library as a book: 11 chapters of craft (the Production-Ready tier in full) + **the Anti-Pattern Almanac: 2,237 rules of professional judgment** from all 466 skills. Printable ([PDF](web/docs-assets/handbook.pdf)), free, regenerated every release.
364
375
  - **[The Reckoning](https://mohitagw15856.github.io/pm-claude-skills/reckoning.html)** โ€” your prediction ledger: confidences, due dates, resurfacing, and a personal **calibration curve with a Brier score**. Also in the CLI: `npx pm-claude-skills reckoning`. When you say 80%, does it happen 80% of the time? Now you'll know.
365
376
  - **๐Ÿ” The chain of trust** โ€” security scan โ†’ [sha256 content pinning](community/README.md#-trust--integrity--the-full-chain) in the registry โ†’ install lockfile + `npx pm-claude-skills verify` drift detection โ†’ npm provenance. Verifiable end to end, no trust in us required.
366
377
 
367
378
  ### ๐ŸŒ Infrastructure for the whole ecosystem
368
379
 
369
- - **[`pm-skills-tools`](tools-pkg/)** โ€” all 454 skills as **agent tools**: OpenAI function schemas, Vercel AI SDK adapters, `pick()`/`search()` runtime. `npm i pm-skills-tools` and your agent wields the library.
380
+ - **[`pm-skills-tools`](tools-pkg/)** โ€” all 466 skills as **agent tools**: OpenAI function schemas, Vercel AI SDK adapters, `pick()`/`search()` runtime. `npm i pm-skills-tools` and your agent wields the library.
370
381
  - **[The SkillSpec badge](skillspec/README.md#the-badge)** โ€” any skills repo can wear its live-graded conformance level: `![SkillSpec](https://img.shields.io/endpoint?url=โ€ฆ/badge?repo=you/yours)`.
371
382
  - **[The State of Agent Skills](docs/reports/)** โ€” the census of the public SKILL.md ecosystem (counts, conformance pyramid, security hits), regenerated from GitHub code search. The observatory, not just a participant.
372
383
  - **[Every protocol](connectors/mcp-pairings.md#every-protocol-one-library)** โ€” MCP (with zero-key sampling) ยท A2A ยท AGENTS.md ยท function calling ยท REST.
@@ -465,7 +476,7 @@ Most skill repos are a folder of prompts. This one is a **system** โ€” measured,
465
476
 
466
477
  | | **PM Skills** | Typical skill repo |
467
478
  |---|:---:|:---:|
468
- | Skills | **454**, across 25 professions | a handful โ†’ dozens, usually one domain |
479
+ | Skills | **466**, across 25 professions | a handful โ†’ dozens, usually one domain |
469
480
  | Quality | **eval-scored** on a rubric + a public [benchmark](https://mohitagw15856.github.io/pm-claude-skills/benchmark.html) | trust the README |
470
481
  | Improves itself | โœ… eval โ†’ critique โ†’ rewrite (kept only if it scores higher) | โœ— |
471
482
  | Grounded in frameworks | โœ… each cites its source (RICE, JTBD, Pyramid Principleโ€ฆ) | rarely |
@@ -580,6 +591,8 @@ The same 451 skills reach you through every channel โ€” pick whatever fits your
580
591
  | ๐Ÿš€ **Raycast / Alfred** | Search every skill from your launcher, then open, run, or install it โ€” [`integrations/raycast/`](integrations/raycast/) ยท [`integrations/alfred/`](integrations/alfred/) |
581
592
  | ๐Ÿค– **Custom GPT / Gemini Gem** | Publish the library as a GPT (live Actions API) or a Gem โ€” copy-paste setup in [`integrations/custom-gpt/`](integrations/custom-gpt/) ยท [`integrations/gemini-gem/`](integrations/gemini-gem/) |
582
593
  | ๐Ÿ’ฌ **Slack / Discord** | A `/pmskill` slash command in your team chat โ€” one signature-verified Worker for both โ€” [`integrations/chatops/`](integrations/chatops/) |
594
+ | ๐Ÿ“ฑ **Text a skill (SMS/WhatsApp)** | Text a task to a Twilio number, get the drafted artifact back โ€” no app, no browser โ€” [`integrations/twilio/`](integrations/twilio/) |
595
+ | ๐Ÿ“ง **Email operator** | Forward a thread to a routing address; the drafted artifact replies in-thread โ€” [`integrations/email/`](integrations/email/) |
583
596
  | ๐Ÿ–ฅ๏ธ **IDE rules** | Generated exports for **Cursor, Windsurf, Aider, Cline, Continue, Zed, Roo, Kilo Code** โ€” [`exports/`](exports/) |
584
597
  | ๐Ÿค– **Agents & answer engines** | [`llms.txt`](https://mohitagw15856.github.io/pm-claude-skills/llms.txt) makes the whole library discoverable & citable |
585
598
 
@@ -943,7 +956,7 @@ More templates will follow. If you want to contribute one, see the [template con
943
956
  <details>
944
957
  <summary>Read more โ†“</summary>
945
958
 
946
- **Latest: v45.0.0 โ€” the spectacle release: โš”๏ธ Duels, ๐ŸŽ“ the verifiable Charter, and the library in 3D (Galaxy 3D, the collapsing Tower of Claims, the Stage, holo cards, the Trophy Forge, Skill City, the orrery) โ€” plus the first official SkillBench results and the first evolution-loop run (454 skills, 65 bundles)** ยท *v44:* Campaign mode, the Handbook, the Reckoning, the ecosystem package manager, zero-key MCP sampling, pm-skills-tools, the badge & the census ยท *v43:* the workspace bridge, replay links & bench packs, The Panel, The Academy, Wrapped, the evolution loop & pm-method ยท *v42:* depth on all Production-Ready skills, arena voices, Firm calibration & the web-tests safety net ยท *v41, modern skills:* [`pm-agentnative`](plugins/pm-agentnative) + [`pm-aiwork`](plugins/pm-aiwork) (15 skills for the agent era), Galaxy cosmic events, ๐ŸŽ“ certificates & [MCP pairings](connectors/mcp-pairings.md) ยท *v40: [The Firm](https://mohitagw15856.github.io/pm-claude-skills/firm.html) ยท v39, three waves:* [SkillBench](skillbench/), the [community registry](community/), the [Interview Gauntlet](https://mohitagw15856.github.io/pm-claude-skills/gauntlet.html), [living artifacts](https://mohitagw15856.github.io/pm-claude-skills/), [Document X-ray](https://mohitagw15856.github.io/pm-claude-skills/xray.html), [The Gym](https://mohitagw15856.github.io/pm-claude-skills/gym.html), pm-vision, i18n, HF publishing, CI recipes & the Galaxy Sky tour. 454 skills across 65 bundles, 25 professions. Every tagged release has complete notes on the **[Releases page](https://github.com/mohitagw15856/pm-claude-skills/releases)**.
959
+ **Latest: v47.0.0 โ€” the off-web release: text or call a skill (signature-verified Twilio Worker), the email-native operator, the printable Operator's Deck with QR deep-links, Run the Firm tycoon game, the local-only Watch-me-work coach extension, and the auto morning-show newsletter โ€” plus a ๐Ÿ†• New nav group + scrollable dropdowns (466 skills, 66 bundles)** ยท *v46, the arsenal release:* the pm-warroom adversarial bundle, three more computed skills, the shareable singles, generative identities everywhere, 466/466 L3 CI-enforced, the PWA, public vitals & the self-operating crons ยท *v44:* Campaign mode, the Handbook, the Reckoning, the ecosystem package manager, zero-key MCP sampling, pm-skills-tools, the badge & the census ยท *v43:* the workspace bridge, replay links & bench packs, The Panel, The Academy, Wrapped, the evolution loop & pm-method ยท *v42:* depth on all Production-Ready skills, arena voices, Firm calibration & the web-tests safety net ยท *v41, modern skills:* [`pm-agentnative`](plugins/pm-agentnative) + [`pm-aiwork`](plugins/pm-aiwork) (15 skills for the agent era), Galaxy cosmic events, ๐ŸŽ“ certificates & [MCP pairings](connectors/mcp-pairings.md) ยท *v40: [The Firm](https://mohitagw15856.github.io/pm-claude-skills/firm.html) ยท v39, three waves:* [SkillBench](skillbench/), the [community registry](community/), the [Interview Gauntlet](https://mohitagw15856.github.io/pm-claude-skills/gauntlet.html), [living artifacts](https://mohitagw15856.github.io/pm-claude-skills/), [Document X-ray](https://mohitagw15856.github.io/pm-claude-skills/xray.html), [The Gym](https://mohitagw15856.github.io/pm-claude-skills/gym.html), pm-vision, i18n, HF publishing, CI recipes & the Galaxy Sky tour. 466 skills across 66 bundles, 25 professions. Every tagged release has complete notes on the **[Releases page](https://github.com/mohitagw15856/pm-claude-skills/releases)**.
947
960
 
948
961
  Full [Keep a Changelog](https://keepachangelog.com/)-format history โ€” every release back to the start โ€” is in **[CHANGELOG.md](CHANGELOG.md)**.
949
962
 
@@ -1054,7 +1067,7 @@ Every skill, grouped by profession. **[Browse the full per-skill catalog โ†’ SKI
1054
1067
  <details>
1055
1068
  <summary>Read more โ†“</summary>
1056
1069
 
1057
- Building and maintaining 454 skills across 65 bundles takes real time โ€” testing skills against new model releases, building new ones from community requests, writing the article series, and keeping documentation current.
1070
+ Building and maintaining 466 skills across 66 bundles takes real time โ€” testing skills against new model releases, building new ones from community requests, writing the article series, and keeping documentation current.
1058
1071
 
1059
1072
  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)).
1060
1073
 
package/bin/brief.mjs ADDED
@@ -0,0 +1,89 @@
1
+ // `pm-claude-skills brief` โ€” the chief-of-staff, on demand. The SessionStart
2
+ // hook's morning brief as a human command: predictions due, the latest arena
3
+ // verdicts, open hypotheses, and (with --stats) the project's public vitals.
4
+ // Pure file reads + two public GETs. No API key, no cost.
5
+ //
6
+ // pm-claude-skills brief # this directory's professional state
7
+ // pm-claude-skills stats # the public vitals (runs served, stars, bench)
8
+ import { readFileSync, readdirSync, existsSync } from 'node:fs';
9
+ import { join } from 'node:path';
10
+
11
+ const cwd = process.cwd();
12
+ const today = () => new Date().toISOString().slice(0, 10);
13
+ const dim = (s) => `\x1b[2m${s}\x1b[0m`;
14
+ const bold = (s) => `\x1b[1m${s}\x1b[0m`;
15
+
16
+ function predictions() {
17
+ const dir = join(cwd, 'brain', 'predictions');
18
+ if (!existsSync(dir)) return { due: [], open: 0 };
19
+ const due = []; let open = 0;
20
+ for (const f of readdirSync(dir).filter((x) => x.endsWith('.md'))) {
21
+ const t = readFileSync(join(dir, f), 'utf8');
22
+ if (!/^status:\s*pending$/m.test(t)) continue;
23
+ open++;
24
+ const d = (t.match(/^due:\s*(\S+)/m) || [])[1];
25
+ if (d && d <= today()) {
26
+ const line = (t.split(/\n---\n/)[1] || '').trim().split('\n')[0];
27
+ due.push({ due: d, text: line, file: f });
28
+ }
29
+ }
30
+ return { due, open };
31
+ }
32
+ function latestIn(dir, skipDirs = true) {
33
+ const p = join(cwd, dir);
34
+ if (!existsSync(p)) return null;
35
+ const files = readdirSync(p).filter((f) => !skipDirs || f.includes('.'));
36
+ if (!files.length) return null;
37
+ return files.sort().pop();
38
+ }
39
+ function hypotheses() {
40
+ for (const c of ['brain/hypotheses.md', 'brain/hypotheses']) {
41
+ const p = join(cwd, c);
42
+ if (!existsSync(p)) continue;
43
+ try {
44
+ const text = c.endsWith('.md') ? readFileSync(p, 'utf8')
45
+ : readdirSync(p).map((f) => readFileSync(join(p, f), 'utf8')).join('\n');
46
+ return text.split('\n').filter((l) => l.trim().startsWith('- ')).slice(0, 5);
47
+ } catch { return []; }
48
+ }
49
+ return [];
50
+ }
51
+
52
+ export async function brief() {
53
+ console.log(bold(`โ˜€๏ธ Chief of Staff โ€” ${today()}`) + dim(` (${cwd})`) + '\n');
54
+ const { due, open } = predictions();
55
+ if (due.length) {
56
+ console.log(bold('๐Ÿ”” Predictions due โ€” settle them:'));
57
+ for (const d of due) console.log(` ${d.due} ${d.text} ${dim(d.file)}`);
58
+ console.log(dim(' pm-claude-skills reckoning score <file> hit|miss') + '\n');
59
+ } else if (open) console.log(`โณ ${open} prediction(s) open, none due today.\n`);
60
+ for (const [dir, label] of [['firm-minutes', '๐Ÿข Latest Firm minutes'], ['boardroom', '๐Ÿ› Latest Boardroom artifact']]) {
61
+ const f = latestIn(dir);
62
+ if (f) console.log(`${label}: ${f}${dim(' โ€” read before revising what it discusses')}`);
63
+ }
64
+ const hyp = hypotheses();
65
+ if (hyp.length) {
66
+ console.log('\n' + bold('๐Ÿงช Open hypotheses') + dim(' ([hunch] stays unsettled until tested):'));
67
+ hyp.forEach((h) => console.log(' ' + h.trim().slice(0, 100)));
68
+ }
69
+ if (!due.length && !open && !latestIn('firm-minutes') && !hyp.length) {
70
+ console.log(dim('Nothing on file here. Scaffold the workspace: pm-claude-skills init'));
71
+ }
72
+ return 0;
73
+ }
74
+
75
+ export async function stats() {
76
+ console.log(bold('๐Ÿ“ˆ PM Skills โ€” public vitals\n'));
77
+ try {
78
+ const h = await (await fetch('https://raw.githubusercontent.com/mohitagw15856/pm-claude-skills/vitals-data/history.json')).json();
79
+ const last = h[h.length - 1] || {}, first = h[0] || {};
80
+ console.log(` ๐Ÿ”ฅ Free runs served: ${bold(String(last.runs ?? 'โ€”'))} (${h.length} days on the ledger, +${(last.runs ?? 0) - (first.runs ?? 0)} this period)`);
81
+ console.log(` โญ Stars: ${bold(String(last.stars ?? 'โ€”'))}`);
82
+ } catch { console.log(dim(' vitals ledger unreachable')); }
83
+ try {
84
+ const b = await (await fetch('https://raw.githubusercontent.com/mohitagw15856/pm-claude-skills/main/skillbench/results.json')).json();
85
+ for (const r of (b.runs || [])) console.log(` ๐Ÿ† SkillBench: ${r.model} โ†’ ${r.score} ${dim('(' + (r.date || '').slice(0, 10) + ')')}`);
86
+ } catch { /* fine */ }
87
+ console.log(dim('\n Live dashboard: https://mohitagw15856.github.io/pm-claude-skills/status.html'));
88
+ return 0;
89
+ }
package/bin/cli.mjs CHANGED
@@ -19,7 +19,7 @@ import { homedir } from 'node:os';
19
19
  import { createRequire } from 'node:module';
20
20
 
21
21
  const PKG_ROOT = dirname(dirname(fileURLToPath(import.meta.url)));
22
- const STAR = 'โญ Find this useful? Star the repo: https://github.com/mohitagw15856/pm-claude-skills';
22
+ const STAR = 'โญ Find this useful? Star the repo: https://github.com/mohitagw15856/pm-claude-skills\n๐Ÿ’› The free playground runs are sponsor-funded โ€” fund more: https://github.com/sponsors/mohitagw15856';
23
23
  const VERSION = (() => {
24
24
  try { return createRequire(import.meta.url)('../package.json').version; } catch { return '0.0.0'; }
25
25
  })();
@@ -252,6 +252,10 @@ Usage:
252
252
  npx pm-claude-skills council <skill> # author -> cross-vendor critique -> arbiter (2+ provider keys)
253
253
  npx pm-claude-skills migrate <dir> # convert a folder of prompts/SOPs into SkillSpec skills
254
254
  npx pm-claude-skills init # scaffold the professional workspace here (brain/, context, arena folders)
255
+ npx pm-claude-skills nightwatch # AI staff work this directory while you sleep (install | --once | --dry-run)
256
+ npx pm-claude-skills subscribe # standing skills: scheduled runs that report what CHANGED
257
+ npx pm-claude-skills brief # the chief-of-staff: predictions due, latest verdicts, open hypotheses
258
+ npx pm-claude-skills stats # the project's public vitals (runs served, stars, benchmark)
255
259
  npx pm-claude-skills reckoning # your prediction ledger: due calls, hit rate, calibration curve, Brier score
256
260
  npx pm-claude-skills doctor # checkup: what's installed, what's stale, what to fix (read-only)
257
261
  npx pm-claude-skills list
@@ -297,6 +301,21 @@ else if (cmd === 'verify') {
297
301
  try { process.exit(await run(process.argv.slice(3))); }
298
302
  catch (e) { console.error(`Error: ${e.message}`); process.exit(1); }
299
303
  }
304
+ else if (cmd === 'nightwatch') {
305
+ const { run } = await import('./nightwatch.mjs');
306
+ try { process.exit(await run(process.argv.slice(3))); }
307
+ catch (e) { console.error(`Error: ${e.message}`); process.exit(1); }
308
+ }
309
+ else if (cmd === 'subscribe') {
310
+ const { run } = await import('./subscribe.mjs');
311
+ try { process.exit(await run(process.argv.slice(3))); }
312
+ catch (e) { console.error(`Error: ${e.message}`); process.exit(1); }
313
+ }
314
+ else if (cmd === 'brief' || cmd === 'stats') {
315
+ const m = await import('./brief.mjs');
316
+ try { process.exit(await (cmd === 'brief' ? m.brief() : m.stats())); }
317
+ catch (e) { console.error(`Error: ${e.message}`); process.exit(1); }
318
+ }
300
319
  else if (cmd === 'reckoning') {
301
320
  const { run } = await import('./reckoning.mjs');
302
321
  try { process.exit(await run(process.argv.slice(3))); }
package/bin/init.mjs CHANGED
@@ -13,7 +13,7 @@ import { join, dirname } from 'node:path';
13
13
  import { fileURLToPath } from 'node:url';
14
14
 
15
15
  const PKG_ROOT = dirname(dirname(fileURLToPath(import.meta.url)));
16
- const STAR = 'โญ Find this useful? Star the repo: https://github.com/mohitagw15856/pm-claude-skills';
16
+ const STAR = 'โญ Find this useful? Star the repo: https://github.com/mohitagw15856/pm-claude-skills\n๐Ÿ’› The free playground runs are sponsor-funded โ€” fund more: https://github.com/sponsors/mohitagw15856';
17
17
 
18
18
  const CLAUDE_MD_SECTION = `
19
19
  ## PM Skills โ€” this project's professional setup
package/bin/install.mjs CHANGED
@@ -16,7 +16,7 @@ import { fileURLToPath } from 'node:url';
16
16
  import { homedir } from 'node:os';
17
17
 
18
18
  const PKG_ROOT = dirname(dirname(fileURLToPath(import.meta.url)));
19
- const STAR = 'โญ Find this useful? Star the repo: https://github.com/mohitagw15856/pm-claude-skills';
19
+ const STAR = 'โญ Find this useful? Star the repo: https://github.com/mohitagw15856/pm-claude-skills\n๐Ÿ’› The free playground runs are sponsor-funded โ€” fund more: https://github.com/sponsors/mohitagw15856';
20
20
 
21
21
  const AGENT_DIRS = {
22
22
  claude: join(homedir(), '.claude', 'skills'),
@@ -0,0 +1,61 @@
1
+ // Local job scheduling for the Nightwatch and standing-skill subscriptions.
2
+ // macOS: launchd plists in ~/Library/LaunchAgents; Linux: user crontab lines.
3
+ // Everything is inspectable, labeled, and uninstallable by name.
4
+ import { writeFileSync, existsSync, unlinkSync, readdirSync } from 'node:fs';
5
+ import { join } from 'node:path';
6
+ import { homedir, platform } from 'node:os';
7
+ import { execSync } from 'node:child_process';
8
+
9
+ const PREFIX = 'com.pm-skills.';
10
+
11
+ export function install(name, argvArray, { hour = 5, minute = 30, cron = null } = {}) {
12
+ if (platform() === 'darwin') {
13
+ const label = PREFIX + name;
14
+ const plist = `<?xml version="1.0" encoding="UTF-8"?>
15
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
16
+ <plist version="1.0"><dict>
17
+ <key>Label</key><string>${label}</string>
18
+ <key>ProgramArguments</key><array>${argvArray.map((a) => `<string>${a}</string>`).join('')}</array>
19
+ <key>StartCalendarInterval</key><dict><key>Hour</key><integer>${hour}</integer><key>Minute</key><integer>${minute}</integer></dict>
20
+ <key>WorkingDirectory</key><string>${process.cwd()}</string>
21
+ <key>StandardOutPath</key><string>${join(process.cwd(), '.pm-skills', name + '.log')}</string>
22
+ <key>StandardErrorPath</key><string>${join(process.cwd(), '.pm-skills', name + '.log')}</string>
23
+ </dict></plist>`;
24
+ const p = join(homedir(), 'Library', 'LaunchAgents', label + '.plist');
25
+ writeFileSync(p, plist);
26
+ try { execSync(`launchctl unload ${JSON.stringify(p)} 2>/dev/null`); } catch { /* not loaded */ }
27
+ execSync(`launchctl load ${JSON.stringify(p)}`);
28
+ return { kind: 'launchd', path: p, when: `daily ${String(hour).padStart(2, '0')}:${String(minute).padStart(2, '0')}` };
29
+ }
30
+ // Linux: append a labeled crontab line.
31
+ const line = `${cron || `${minute} ${hour} * * *`} cd ${process.cwd()} && ${argvArray.map((a) => JSON.stringify(a)).join(' ')} >> .pm-skills/${name}.log 2>&1 # ${PREFIX}${name}`;
32
+ const current = (() => { try { return execSync('crontab -l').toString(); } catch { return ''; } })();
33
+ const cleaned = current.split('\n').filter((l) => !l.includes(`# ${PREFIX}${name}`)).join('\n').trim();
34
+ execSync('crontab -', { input: cleaned + '\n' + line + '\n' });
35
+ return { kind: 'cron', path: 'crontab', when: cron || `daily ${hour}:${minute}` };
36
+ }
37
+
38
+ export function uninstall(name) {
39
+ if (platform() === 'darwin') {
40
+ const p = join(homedir(), 'Library', 'LaunchAgents', PREFIX + name + '.plist');
41
+ if (!existsSync(p)) return false;
42
+ try { execSync(`launchctl unload ${JSON.stringify(p)}`); } catch { /* fine */ }
43
+ unlinkSync(p);
44
+ return true;
45
+ }
46
+ const current = (() => { try { return execSync('crontab -l').toString(); } catch { return ''; } })();
47
+ const cleaned = current.split('\n').filter((l) => !l.includes(`# ${PREFIX}${name}`)).join('\n');
48
+ if (cleaned === current) return false;
49
+ execSync('crontab -', { input: cleaned });
50
+ return true;
51
+ }
52
+
53
+ export function list() {
54
+ if (platform() === 'darwin') {
55
+ const dir = join(homedir(), 'Library', 'LaunchAgents');
56
+ if (!existsSync(dir)) return [];
57
+ return readdirSync(dir).filter((f) => f.startsWith(PREFIX)).map((f) => f.slice(PREFIX.length).replace(/\.plist$/, ''));
58
+ }
59
+ try { return execSync('crontab -l').toString().split('\n').filter((l) => l.includes('# ' + PREFIX)).map((l) => l.split('# ' + PREFIX)[1]); }
60
+ catch { return []; }
61
+ }
@@ -0,0 +1,102 @@
1
+ // `pm-claude-skills nightwatch` โ€” your AI staff work while you sleep.
2
+ // A scheduled Agent SDK run (YOUR key, YOUR machine, this directory) where the
3
+ // Firm's discipline meets real files: triage the brain, draft what the open
4
+ // hypotheses and due predictions imply, file memos to firm-minutes/, and leave
5
+ // a morning brief of WORK DONE, not work suggested.
6
+ //
7
+ // pm-claude-skills nightwatch --once # run right now, watch it work
8
+ // pm-claude-skills nightwatch --once --dry-run # show the shift plan, no API calls
9
+ // pm-claude-skills nightwatch install [--hour 5 --minute 30] # schedule nightly
10
+ // pm-claude-skills nightwatch uninstall | status
11
+ //
12
+ // Requires: ANTHROPIC_API_KEY in the environment (for scheduled runs, launchd/cron
13
+ // must see it โ€” the installer checks and tells you). Spend is bounded by
14
+ // --max-turns (default 30) and the model (default Sonnet). All writes stay in
15
+ // this directory: artifacts/, firm-minutes/, brain/.
16
+ import { readFileSync, readdirSync, existsSync, mkdirSync, writeFileSync } from 'node:fs';
17
+ import { join } from 'node:path';
18
+ import { install, uninstall, list } from './lib/scheduler.mjs';
19
+
20
+ const getArg = (argv, n, d) => { const i = argv.indexOf('--' + n); return i >= 0 && argv[i + 1] ? argv[i + 1] : d; };
21
+ const today = () => new Date().toISOString().slice(0, 10);
22
+
23
+ function shiftPlan(cwd) {
24
+ // The night shift's standing orders, grounded in what's actually on file.
25
+ const read = (p) => { try { return readFileSync(join(cwd, p), 'utf8'); } catch { return ''; } };
26
+ const ctx = read('brain/context.md') || read('pm-context.md');
27
+ const duties = [];
28
+ const predDir = join(cwd, 'brain', 'predictions');
29
+ if (existsSync(predDir)) {
30
+ const due = readdirSync(predDir).filter((f) => {
31
+ const t = read('brain/predictions/' + f);
32
+ const d = (t.match(/^due:\s*(\S+)/m) || [])[1];
33
+ return /^status:\s*pending$/m.test(t) && d && d <= today();
34
+ });
35
+ if (due.length) duties.push(`RECKON: ${due.length} prediction(s) are due (${due.join(', ')}). For each: search this directory's files for evidence, then either settle it by editing its status to hit/miss with a one-line justification appended, or write why it cannot be settled from available evidence.`);
36
+ }
37
+ const hyp = read('brain/hypotheses.md');
38
+ const hunches = (hyp.match(/^- \[hunch\].*$/gm) || []).slice(0, 2);
39
+ if (hunches.length) duties.push(`INVESTIGATE: for each open hunch (${hunches.map((h) => '"' + h.slice(0, 60) + '"').join('; ')}), gather whatever evidence exists in this directory's files and append a dated [data]/[external] line to brain/ if anything upgrades or kills it.`);
40
+ duties.push('DRAFT: pick the ONE most useful artifact this workspace obviously needs next (an overdue update, the doc a settled prediction implies, the summary firm-minutes/ has been circling) and draft it properly to artifacts/' + today() + '-<slug>.md using the matching installed skill\'s structure โ€” its Quality Checks are your acceptance test.');
41
+ duties.push('REPORT: write firm-minutes/nightwatch-' + today() + '.md โ€” the morning brief: what was DONE (with file paths), what was settled, what needs a human decision (max 3 items), each with your recommendation.');
42
+ return { ctx, duties };
43
+ }
44
+
45
+ export async function run(argv) {
46
+ const cmd = argv.find((a) => !a.startsWith('--')) || (argv.includes('--once') ? 'once' : 'help');
47
+ const cwd = process.cwd();
48
+
49
+ if (cmd === 'install') {
50
+ if (!process.env.ANTHROPIC_API_KEY) console.error('โš  ANTHROPIC_API_KEY is not in this shell โ€” the scheduled job needs it. Add it to the plist/cron environment or a .env this directory loads.');
51
+ const r = install('nightwatch', [process.execPath, join(new URL('.', import.meta.url).pathname, 'cli.mjs'), 'nightwatch', '--once'],
52
+ { hour: +getArg(argv, 'hour', 5), minute: +getArg(argv, 'minute', 30) });
53
+ mkdirSync(join(cwd, '.pm-skills'), { recursive: true });
54
+ console.log(`๐ŸŒ™ Nightwatch scheduled (${r.kind}, ${r.when}) for ${cwd}\n Logs: .pm-skills/nightwatch.log ยท remove: pm-claude-skills nightwatch uninstall`);
55
+ return 0;
56
+ }
57
+ if (cmd === 'uninstall') { console.log(uninstall('nightwatch') ? '๐ŸŒ™ Nightwatch unscheduled.' : 'Nothing scheduled.'); return 0; }
58
+ if (cmd === 'status') { const l = list(); console.log(l.length ? 'Scheduled: ' + l.join(', ') : 'Nothing scheduled.'); return 0; }
59
+
60
+ if (cmd === 'once' || argv.includes('--once')) {
61
+ const { ctx, duties } = shiftPlan(cwd);
62
+ if (argv.includes('--dry-run')) {
63
+ console.log(`๐ŸŒ™ Nightwatch shift plan for ${cwd} (dry run โ€” no API calls):\n`);
64
+ duties.forEach((d, i) => console.log(` ${i + 1}. ${d.split(':')[0]}: ${d.split(': ').slice(1).join(': ').slice(0, 140)}โ€ฆ\n`));
65
+ console.log(`Context loaded: ${ctx ? 'brain/context.md (' + ctx.length + ' chars)' : 'NONE โ€” run pm-claude-skills init'}`);
66
+ return 0;
67
+ }
68
+ if (!process.env.ANTHROPIC_API_KEY) { console.error('ANTHROPIC_API_KEY not set. (--dry-run shows the shift plan for free.)'); return 1; }
69
+ let query;
70
+ try { ({ query } = await import('@anthropic-ai/claude-agent-sdk')); }
71
+ catch { console.error('The Nightwatch needs the Agent SDK: npm install -g @anthropic-ai/claude-agent-sdk (or run from a directory that has it)'); return 1; }
72
+ mkdirSync(join(cwd, 'artifacts'), { recursive: true });
73
+ console.error(`๐ŸŒ™ Nightwatch shift starting in ${cwd} โ€” ${duties.length} standing ordersโ€ฆ`);
74
+ const prompt = `You are the Nightwatch โ€” the professional staff working this workspace overnight. Complete these standing orders IN ORDER, doing real file work (read, then write), never inventing facts not found in the files:\n\n${duties.map((d, i) => `${i + 1}. ${d}`).join('\n\n')}`;
75
+ const append = `\nSTANDING CONTEXT:\n${(ctx || '(none)').slice(0, 4000)}\n\nHOUSE RULES: honour brain/ provenance tags; artifacts follow installed skill structures where one matches; every claim in the morning brief cites the file it came from; if evidence is insufficient, say so rather than padding.`;
76
+ let cost = 0, turns = 0;
77
+ for await (const message of query({ prompt, options: {
78
+ systemPrompt: { type: 'preset', preset: 'claude_code', append },
79
+ allowedTools: ['Read', 'Write', 'Edit', 'Glob', 'Grep'],
80
+ permissionMode: 'acceptEdits',
81
+ maxTurns: +getArg(argv, 'max-turns', 30),
82
+ model: getArg(argv, 'model', undefined),
83
+ } })) {
84
+ if (message.type === 'result') { cost = message.total_cost_usd ?? 0; turns = message.num_turns; }
85
+ }
86
+ const brief = join(cwd, 'firm-minutes', `nightwatch-${today()}.md`);
87
+ console.error(`๐ŸŒ™ Shift complete โ€” ${turns} turns, $${cost.toFixed(4)}. Morning brief: ${existsSync(brief) ? brief : '(not filed โ€” check the log)'}`);
88
+ return 0;
89
+ }
90
+
91
+ console.log(`The Nightwatch โ€” AI staff that work this directory while you sleep.
92
+
93
+ pm-claude-skills nightwatch --once run a shift now
94
+ pm-claude-skills nightwatch --once --dry-run see the shift plan, no API calls
95
+ pm-claude-skills nightwatch install schedule nightly (5:30am default; --hour/--minute)
96
+ pm-claude-skills nightwatch uninstall | status
97
+
98
+ A shift: settle due predictions against file evidence ยท investigate open hunches ยท
99
+ draft the one artifact the workspace needs ยท file the morning brief of work DONE.
100
+ Writes only inside this directory. Your key, bounded turns.`);
101
+ return 0;
102
+ }
@@ -0,0 +1,76 @@
1
+ // `pm-claude-skills subscribe` โ€” skills as standing subscriptions. A skill that
2
+ // runs on a schedule against a living input (a CSV export, a notes file), files
3
+ // dated artifacts into brain/artifacts, and DIFFS against last time: the run's
4
+ // headline is what CHANGED, not what is.
5
+ //
6
+ // pm-claude-skills subscribe churn-analysis --input ./exports/latest.csv --weekly monday
7
+ // pm-claude-skills subscribe run churn-analysis --input ./exports/latest.csv # run one cycle now
8
+ // pm-claude-skills subscribe list | unsubscribe <skill>
9
+ //
10
+ // Scheduled runs need ANTHROPIC_API_KEY visible to launchd/cron. Artifacts:
11
+ // brain/subscriptions/<skill>/<date>.md (+ latest.md symlink-copy + CHANGES.md).
12
+ import { readFileSync, writeFileSync, existsSync, mkdirSync, readdirSync, copyFileSync } from 'node:fs';
13
+ import { join, dirname } from 'node:path';
14
+ import { fileURLToPath } from 'node:url';
15
+ import { install, uninstall, list } from './lib/scheduler.mjs';
16
+ import { complete, parseSkill } from './lib/anthropic.mjs';
17
+
18
+ const PKG_ROOT = dirname(dirname(fileURLToPath(import.meta.url)));
19
+ const getArg = (argv, n, d) => { const i = argv.indexOf('--' + n); return i >= 0 && argv[i + 1] ? argv[i + 1] : d; };
20
+ const DAYS = { sunday: 0, monday: 1, tuesday: 2, wednesday: 3, thursday: 4, friday: 5, saturday: 6 };
21
+ const today = () => new Date().toISOString().slice(0, 10);
22
+
23
+ async function runCycle(skill, inputPath, model) {
24
+ const file = join(PKG_ROOT, 'skills', skill, 'SKILL.md');
25
+ if (!existsSync(file)) { console.error(`Unknown skill "${skill}".`); return 1; }
26
+ if (!existsSync(inputPath)) { console.error(`Input not found: ${inputPath}`); return 1; }
27
+ const apiKey = process.env.ANTHROPIC_API_KEY;
28
+ if (!apiKey) { console.error('ANTHROPIC_API_KEY not set.'); return 1; }
29
+ const dir = join(process.cwd(), 'brain', 'subscriptions', skill);
30
+ mkdirSync(dir, { recursive: true });
31
+ const prev = existsSync(join(dir, 'latest.md')) ? readFileSync(join(dir, 'latest.md'), 'utf8') : null;
32
+ const { body } = parseSkill(readFileSync(file, 'utf8'));
33
+ const input = readFileSync(inputPath, 'utf8').slice(0, 60000);
34
+ console.error(`โฐ ${skill} โ† ${inputPath}${prev ? ' (diffing vs last run)' : ' (first run)'}`);
35
+ const out = await complete({ apiKey, model: model || 'claude-sonnet-4-6', maxTokens: 8192,
36
+ system: body + '\n\n---\nExecute this skill on the input below. This is a RECURRING run.' +
37
+ (prev ? ' The previous run\'s output is provided โ€” begin your output with a "## What changed since last run" section (3-6 bullets, most decision-relevant first, honest "nothing material" if true), THEN the full artifact.' : ''),
38
+ messages: [{ role: 'user', content: 'INPUT:\n' + input + (prev ? '\n\nPREVIOUS RUN OUTPUT:\n' + prev.slice(0, 20000) : '') }] });
39
+ const dated = join(dir, today() + '.md');
40
+ writeFileSync(dated, out + '\n');
41
+ copyFileSync(dated, join(dir, 'latest.md'));
42
+ const changes = (out.match(/## What changed[\s\S]*?(?=\n## |$)/) || [''])[0];
43
+ if (changes) writeFileSync(join(dir, 'CHANGES.md'), `# ${skill} โ€” last delta (${today()})\n\n${changes}\n`);
44
+ console.error(`โœ… ${dated}${changes ? ' ยท delta โ†’ CHANGES.md' : ''}`);
45
+ return 0;
46
+ }
47
+
48
+ export async function run(argv) {
49
+ const a0 = argv[0];
50
+ if (a0 === 'list') { const l = list().filter((n) => n.startsWith('sub-')); console.log(l.length ? l.map((x) => ' โฐ ' + x.slice(4)).join('\n') : 'No subscriptions.'); return 0; }
51
+ if (a0 === 'unsubscribe') { console.log(uninstall('sub-' + argv[1]) ? 'โฐ Unsubscribed ' + argv[1] : 'No such subscription.'); return 0; }
52
+ if (a0 === 'run') return runCycle(argv[1], getArg(argv, 'input'), getArg(argv, 'model'));
53
+
54
+ const skill = a0 && !a0.startsWith('--') ? a0 : null;
55
+ const input = getArg(argv, 'input');
56
+ if (!skill || !input) {
57
+ console.log(`Standing skills โ€” a skill that runs on a schedule and reports what CHANGED.
58
+
59
+ pm-claude-skills subscribe <skill> --input <file> [--weekly monday | --daily] [--hour 6]
60
+ pm-claude-skills subscribe run <skill> --input <file> # one cycle now
61
+ pm-claude-skills subscribe list | unsubscribe <skill>
62
+
63
+ Artifacts land in brain/subscriptions/<skill>/ โ€” dated runs, latest.md, and
64
+ CHANGES.md (the delta since last run, which is the part worth reading).`);
65
+ return skill ? 0 : 1;
66
+ }
67
+ const weekly = getArg(argv, 'weekly', null);
68
+ const hour = +getArg(argv, 'hour', 6);
69
+ const cron = weekly ? `0 ${hour} * * ${DAYS[weekly.toLowerCase()] ?? 1}` : null;
70
+ const r = install('sub-' + skill,
71
+ [process.execPath, join(dirname(fileURLToPath(import.meta.url)), 'cli.mjs'), 'subscribe', 'run', skill, '--input', input],
72
+ { hour, minute: 0, cron });
73
+ mkdirSync(join(process.cwd(), '.pm-skills'), { recursive: true });
74
+ console.log(`โฐ Subscribed: ${skill} โ† ${input} (${r.kind}, ${weekly ? 'weekly ' + weekly : r.when})\n First cycle now: pm-claude-skills subscribe run ${skill} --input ${input}`);
75
+ return 0;
76
+ }
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Workflow recipe โ€” the org-side AI adoption arc, policy to proof, by chaining 4 skills.
3
- argument-hint: [the org: size, industry, what AI tools are in use (officially and not), what's worrying leadership]
3
+ argument-hint: "[the org: size, industry, what AI tools are in use (officially and not), what's worrying leadership]"
4
4
  ---
5
5
 
6
6
  Run the **Adopt AI Properly** workflow recipe for: $ARGUMENTS
package/commands/brain.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Set up or use your Professional Brain โ€” init, ingest, recall, or review.
3
- argument-hint: [init | ingest <thing> | recall <query> | review]
3
+ argument-hint: "[init | ingest <thing> | recall <query> | review]"
4
4
  ---
5
5
 
6
6
  Apply the **professional-brain** skill to: $ARGUMENTS
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Workflow recipe โ€” turn the quarter's raw numbers into a leadership story and board deck by chaining 4 skills.
3
- argument-hint: [the quarter's metrics, wins, and misses]
3
+ argument-hint: "[the quarter's metrics, wins, and misses]"
4
4
  ---
5
5
 
6
6
  Run the **Close the Quarter** workflow recipe for: $ARGUMENTS
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Compress a document or update into a crisp executive summary.
3
- argument-hint: [text, decision, or document to summarise]
3
+ argument-hint: "[text, decision, or document to summarise]"
4
4
  ---
5
5
 
6
6
  Apply the **executive-summary** skill to: $ARGUMENTS
package/commands/firm.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Convene your standing AI staff โ€” memos on every beat, a board session without you, minutes with dissent preserved.
3
- argument-hint: [optional board agenda โ€” otherwise the staff pick the sharpest open question]
3
+ argument-hint: "[optional board agenda โ€” otherwise the staff pick the sharpest open question]"
4
4
  ---
5
5
 
6
6
  You are the **chief of staff** running a session of the user's standing Firm โ€” a staffed team, not a chatbot. Full concept: the repo's `web/firm.html`; this command is its Claude Code native form, grounded in real files instead of a pasted charter.