pm-claude-skills 76.0.0 → 76.2.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.
- package/README.md +56 -16
- package/bin/cli.mjs +9 -1
- package/bin/skillcheck.mjs +213 -0
- package/commands/design-review.md +27 -0
- package/exports/README.md +1 -1
- package/exports/aider/README.md +2 -1
- package/exports/aider/pm-advanced/design-handoff-brief/design-handoff-brief.md +25 -0
- package/exports/aider/pm-design/accessibility-audit/accessibility-audit.md +25 -0
- package/exports/aider/pm-design/brand-guidelines/brand-guidelines.md +24 -1
- package/exports/aider/pm-design/design-system-audit/design-system-audit.md +36 -0
- package/exports/aider/pm-design/design-system-generate/design-system-generate.md +157 -0
- package/exports/aider/pm-engineering/debugging-log-analyser/debugging-log-analyser.md +36 -0
- package/exports/aider/pm-engineering/incident-postmortem/incident-postmortem.md +38 -0
- package/exports/aider/pm-engineering/oncall-runbook/oncall-runbook.md +36 -0
- package/exports/aider/pm-engineering/slo-error-budget/slo-error-budget.md +35 -0
- package/exports/aider/pm-figma/figma-annotation-guide/figma-annotation-guide.md +24 -0
- package/exports/aider/pm-figma/figma-design-brief/figma-design-brief.md +24 -0
- package/exports/aider/pm-figma/figma-design-qa/figma-design-qa.md +24 -0
- package/exports/aider/pm-hobbies/board-game-night-planner/board-game-night-planner.md +20 -0
- package/exports/chatgpt/README.md +2 -1
- package/exports/chatgpt/pm-advanced/design-handoff-brief/SYSTEM_PROMPT.md +25 -0
- package/exports/chatgpt/pm-design/accessibility-audit/SYSTEM_PROMPT.md +25 -0
- package/exports/chatgpt/pm-design/brand-guidelines/SYSTEM_PROMPT.md +24 -1
- package/exports/chatgpt/pm-design/design-system-audit/SYSTEM_PROMPT.md +36 -0
- package/exports/chatgpt/pm-design/design-system-generate/SYSTEM_PROMPT.md +157 -0
- package/exports/chatgpt/pm-engineering/debugging-log-analyser/SYSTEM_PROMPT.md +36 -0
- package/exports/chatgpt/pm-engineering/incident-postmortem/SYSTEM_PROMPT.md +38 -0
- package/exports/chatgpt/pm-engineering/oncall-runbook/SYSTEM_PROMPT.md +36 -0
- package/exports/chatgpt/pm-engineering/slo-error-budget/SYSTEM_PROMPT.md +35 -0
- package/exports/chatgpt/pm-figma/figma-annotation-guide/SYSTEM_PROMPT.md +24 -0
- package/exports/chatgpt/pm-figma/figma-design-brief/SYSTEM_PROMPT.md +24 -0
- package/exports/chatgpt/pm-figma/figma-design-qa/SYSTEM_PROMPT.md +24 -0
- package/exports/chatgpt/pm-hobbies/board-game-night-planner/SYSTEM_PROMPT.md +20 -0
- package/exports/cline/README.md +2 -1
- package/exports/cline/pm-advanced/design-handoff-brief/design-handoff-brief.md +25 -0
- package/exports/cline/pm-design/accessibility-audit/accessibility-audit.md +25 -0
- package/exports/cline/pm-design/brand-guidelines/brand-guidelines.md +24 -1
- package/exports/cline/pm-design/design-system-audit/design-system-audit.md +36 -0
- package/exports/cline/pm-design/design-system-generate/design-system-generate.md +157 -0
- package/exports/cline/pm-engineering/debugging-log-analyser/debugging-log-analyser.md +36 -0
- package/exports/cline/pm-engineering/incident-postmortem/incident-postmortem.md +38 -0
- package/exports/cline/pm-engineering/oncall-runbook/oncall-runbook.md +36 -0
- package/exports/cline/pm-engineering/slo-error-budget/slo-error-budget.md +35 -0
- package/exports/cline/pm-figma/figma-annotation-guide/figma-annotation-guide.md +24 -0
- package/exports/cline/pm-figma/figma-design-brief/figma-design-brief.md +24 -0
- package/exports/cline/pm-figma/figma-design-qa/figma-design-qa.md +24 -0
- package/exports/cline/pm-hobbies/board-game-night-planner/board-game-night-planner.md +20 -0
- package/exports/continue/README.md +2 -1
- package/exports/continue/pm-advanced/design-handoff-brief/design-handoff-brief.md +25 -0
- package/exports/continue/pm-design/accessibility-audit/accessibility-audit.md +25 -0
- package/exports/continue/pm-design/brand-guidelines/brand-guidelines.md +24 -1
- package/exports/continue/pm-design/design-system-audit/design-system-audit.md +36 -0
- package/exports/continue/pm-design/design-system-generate/design-system-generate.md +162 -0
- package/exports/continue/pm-engineering/debugging-log-analyser/debugging-log-analyser.md +36 -0
- package/exports/continue/pm-engineering/incident-postmortem/incident-postmortem.md +38 -0
- package/exports/continue/pm-engineering/oncall-runbook/oncall-runbook.md +36 -0
- package/exports/continue/pm-engineering/slo-error-budget/slo-error-budget.md +35 -0
- package/exports/continue/pm-figma/figma-annotation-guide/figma-annotation-guide.md +24 -0
- package/exports/continue/pm-figma/figma-design-brief/figma-design-brief.md +24 -0
- package/exports/continue/pm-figma/figma-design-qa/figma-design-qa.md +24 -0
- package/exports/continue/pm-hobbies/board-game-night-planner/board-game-night-planner.md +20 -0
- package/exports/cursor/README.md +2 -1
- package/exports/cursor/pm-advanced/design-handoff-brief/design-handoff-brief.mdc +25 -0
- package/exports/cursor/pm-design/accessibility-audit/accessibility-audit.mdc +25 -0
- package/exports/cursor/pm-design/brand-guidelines/brand-guidelines.mdc +24 -1
- package/exports/cursor/pm-design/design-system-audit/design-system-audit.mdc +36 -0
- package/exports/cursor/pm-design/design-system-generate/design-system-generate.mdc +163 -0
- package/exports/cursor/pm-engineering/debugging-log-analyser/debugging-log-analyser.mdc +36 -0
- package/exports/cursor/pm-engineering/incident-postmortem/incident-postmortem.mdc +38 -0
- package/exports/cursor/pm-engineering/oncall-runbook/oncall-runbook.mdc +36 -0
- package/exports/cursor/pm-engineering/slo-error-budget/slo-error-budget.mdc +35 -0
- package/exports/cursor/pm-figma/figma-annotation-guide/figma-annotation-guide.mdc +24 -0
- package/exports/cursor/pm-figma/figma-design-brief/figma-design-brief.mdc +24 -0
- package/exports/cursor/pm-figma/figma-design-qa/figma-design-qa.mdc +24 -0
- package/exports/cursor/pm-hobbies/board-game-night-planner/board-game-night-planner.mdc +20 -0
- package/exports/gemini/README.md +2 -1
- package/exports/gemini/pm-advanced/design-handoff-brief/GEM_INSTRUCTIONS.md +25 -0
- package/exports/gemini/pm-design/accessibility-audit/GEM_INSTRUCTIONS.md +25 -0
- package/exports/gemini/pm-design/brand-guidelines/GEM_INSTRUCTIONS.md +24 -1
- package/exports/gemini/pm-design/design-system-audit/GEM_INSTRUCTIONS.md +36 -0
- package/exports/gemini/pm-design/design-system-generate/GEM_INSTRUCTIONS.md +161 -0
- package/exports/gemini/pm-engineering/debugging-log-analyser/GEM_INSTRUCTIONS.md +36 -0
- package/exports/gemini/pm-engineering/incident-postmortem/GEM_INSTRUCTIONS.md +38 -0
- package/exports/gemini/pm-engineering/oncall-runbook/GEM_INSTRUCTIONS.md +36 -0
- package/exports/gemini/pm-engineering/slo-error-budget/GEM_INSTRUCTIONS.md +35 -0
- package/exports/gemini/pm-figma/figma-annotation-guide/GEM_INSTRUCTIONS.md +24 -0
- package/exports/gemini/pm-figma/figma-design-brief/GEM_INSTRUCTIONS.md +24 -0
- package/exports/gemini/pm-figma/figma-design-qa/GEM_INSTRUCTIONS.md +24 -0
- package/exports/gemini/pm-hobbies/board-game-night-planner/GEM_INSTRUCTIONS.md +20 -0
- package/exports/kilocode/README.md +2 -1
- package/exports/kilocode/pm-advanced/design-handoff-brief/design-handoff-brief.md +25 -0
- package/exports/kilocode/pm-design/accessibility-audit/accessibility-audit.md +25 -0
- package/exports/kilocode/pm-design/brand-guidelines/brand-guidelines.md +24 -1
- package/exports/kilocode/pm-design/design-system-audit/design-system-audit.md +36 -0
- package/exports/kilocode/pm-design/design-system-generate/design-system-generate.md +157 -0
- package/exports/kilocode/pm-engineering/debugging-log-analyser/debugging-log-analyser.md +36 -0
- package/exports/kilocode/pm-engineering/incident-postmortem/incident-postmortem.md +38 -0
- package/exports/kilocode/pm-engineering/oncall-runbook/oncall-runbook.md +36 -0
- package/exports/kilocode/pm-engineering/slo-error-budget/slo-error-budget.md +35 -0
- package/exports/kilocode/pm-figma/figma-annotation-guide/figma-annotation-guide.md +24 -0
- package/exports/kilocode/pm-figma/figma-design-brief/figma-design-brief.md +24 -0
- package/exports/kilocode/pm-figma/figma-design-qa/figma-design-qa.md +24 -0
- package/exports/kilocode/pm-hobbies/board-game-night-planner/board-game-night-planner.md +20 -0
- package/exports/obsidian/README.md +2 -1
- package/exports/obsidian/pm-advanced/design-handoff-brief/design-handoff-brief.md +25 -0
- package/exports/obsidian/pm-design/accessibility-audit/accessibility-audit.md +25 -0
- package/exports/obsidian/pm-design/brand-guidelines/brand-guidelines.md +24 -1
- package/exports/obsidian/pm-design/design-system-audit/design-system-audit.md +36 -0
- package/exports/obsidian/pm-design/design-system-generate/design-system-generate.md +172 -0
- package/exports/obsidian/pm-engineering/debugging-log-analyser/debugging-log-analyser.md +36 -0
- package/exports/obsidian/pm-engineering/incident-postmortem/incident-postmortem.md +38 -0
- package/exports/obsidian/pm-engineering/oncall-runbook/oncall-runbook.md +36 -0
- package/exports/obsidian/pm-engineering/slo-error-budget/slo-error-budget.md +35 -0
- package/exports/obsidian/pm-figma/figma-annotation-guide/figma-annotation-guide.md +24 -0
- package/exports/obsidian/pm-figma/figma-design-brief/figma-design-brief.md +24 -0
- package/exports/obsidian/pm-figma/figma-design-qa/figma-design-qa.md +24 -0
- package/exports/obsidian/pm-hobbies/board-game-night-planner/board-game-night-planner.md +20 -0
- package/exports/openclaw/README.md +2 -1
- package/exports/openclaw/accessibility-audit/SKILL.md +25 -0
- package/exports/openclaw/board-game-night-planner/SKILL.md +20 -0
- package/exports/openclaw/brand-guidelines/SKILL.md +24 -1
- package/exports/openclaw/debugging-log-analyser/SKILL.md +36 -0
- package/exports/openclaw/design-handoff-brief/SKILL.md +25 -0
- package/exports/openclaw/design-system-audit/SKILL.md +36 -0
- package/exports/openclaw/design-system-generate/SKILL.md +167 -0
- package/exports/openclaw/figma-annotation-guide/SKILL.md +24 -0
- package/exports/openclaw/figma-design-brief/SKILL.md +24 -0
- package/exports/openclaw/figma-design-qa/SKILL.md +24 -0
- package/exports/openclaw/incident-postmortem/SKILL.md +38 -0
- package/exports/openclaw/oncall-runbook/SKILL.md +36 -0
- package/exports/openclaw/slo-error-budget/SKILL.md +35 -0
- package/exports/roo/README.md +2 -1
- package/exports/roo/pm-advanced/design-handoff-brief/design-handoff-brief.md +25 -0
- package/exports/roo/pm-design/accessibility-audit/accessibility-audit.md +25 -0
- package/exports/roo/pm-design/brand-guidelines/brand-guidelines.md +24 -1
- package/exports/roo/pm-design/design-system-audit/design-system-audit.md +36 -0
- package/exports/roo/pm-design/design-system-generate/design-system-generate.md +157 -0
- package/exports/roo/pm-engineering/debugging-log-analyser/debugging-log-analyser.md +36 -0
- package/exports/roo/pm-engineering/incident-postmortem/incident-postmortem.md +38 -0
- package/exports/roo/pm-engineering/oncall-runbook/oncall-runbook.md +36 -0
- package/exports/roo/pm-engineering/slo-error-budget/slo-error-budget.md +35 -0
- package/exports/roo/pm-figma/figma-annotation-guide/figma-annotation-guide.md +24 -0
- package/exports/roo/pm-figma/figma-design-brief/figma-design-brief.md +24 -0
- package/exports/roo/pm-figma/figma-design-qa/figma-design-qa.md +24 -0
- package/exports/roo/pm-hobbies/board-game-night-planner/board-game-night-planner.md +20 -0
- package/exports/windsurf/README.md +2 -1
- package/exports/windsurf/pm-advanced/design-handoff-brief/design-handoff-brief.md +25 -0
- package/exports/windsurf/pm-design/accessibility-audit/accessibility-audit.md +25 -0
- package/exports/windsurf/pm-design/brand-guidelines/brand-guidelines.md +24 -1
- package/exports/windsurf/pm-design/design-system-audit/design-system-audit.md +36 -0
- package/exports/windsurf/pm-design/design-system-generate/design-system-generate.md +162 -0
- package/exports/windsurf/pm-engineering/debugging-log-analyser/debugging-log-analyser.md +36 -0
- package/exports/windsurf/pm-engineering/incident-postmortem/incident-postmortem.md +38 -0
- package/exports/windsurf/pm-engineering/oncall-runbook/oncall-runbook.md +36 -0
- package/exports/windsurf/pm-engineering/slo-error-budget/slo-error-budget.md +35 -0
- package/exports/windsurf/pm-figma/figma-annotation-guide/figma-annotation-guide.md +24 -0
- package/exports/windsurf/pm-figma/figma-design-brief/figma-design-brief.md +24 -0
- package/exports/windsurf/pm-figma/figma-design-qa/figma-design-qa.md +24 -0
- package/exports/windsurf/pm-hobbies/board-game-night-planner/board-game-night-planner.md +20 -0
- package/exports/zed/README.md +2 -1
- package/exports/zed/pm-advanced/design-handoff-brief/design-handoff-brief.md +25 -0
- package/exports/zed/pm-design/accessibility-audit/accessibility-audit.md +25 -0
- package/exports/zed/pm-design/brand-guidelines/brand-guidelines.md +24 -1
- package/exports/zed/pm-design/design-system-audit/design-system-audit.md +36 -0
- package/exports/zed/pm-design/design-system-generate/design-system-generate.md +157 -0
- package/exports/zed/pm-engineering/debugging-log-analyser/debugging-log-analyser.md +36 -0
- package/exports/zed/pm-engineering/incident-postmortem/incident-postmortem.md +38 -0
- package/exports/zed/pm-engineering/oncall-runbook/oncall-runbook.md +36 -0
- package/exports/zed/pm-engineering/slo-error-budget/slo-error-budget.md +35 -0
- package/exports/zed/pm-figma/figma-annotation-guide/figma-annotation-guide.md +24 -0
- package/exports/zed/pm-figma/figma-design-brief/figma-design-brief.md +24 -0
- package/exports/zed/pm-figma/figma-design-qa/figma-design-qa.md +24 -0
- package/exports/zed/pm-hobbies/board-game-night-planner/board-game-night-planner.md +20 -0
- package/mcp/server.mjs +127 -0
- package/package.json +2 -2
- package/skills/accessibility-audit/SKILL.md +25 -0
- package/skills/action-runner/scripts/__pycache__/action_preview.cpython-314.pyc +0 -0
- package/skills/board-game-night-planner/SKILL.md +20 -0
- package/skills/brand-guidelines/SKILL.md +24 -1
- package/skills/debugging-log-analyser/SKILL.md +36 -0
- package/skills/design-handoff-brief/SKILL.md +25 -0
- package/skills/design-system-audit/SKILL.md +36 -0
- package/skills/design-system-generate/SKILL.md +162 -0
- package/skills/figma-annotation-guide/SKILL.md +24 -0
- package/skills/figma-design-brief/SKILL.md +24 -0
- package/skills/figma-design-qa/SKILL.md +24 -0
- package/skills/incident-postmortem/SKILL.md +38 -0
- package/skills/oncall-runbook/SKILL.md +36 -0
- package/skills/pricing-sensitivity-model/scripts/__pycache__/van_westendorp.cpython-314.pyc +0 -0
- package/skills/professional-brain/scripts/__pycache__/brain_write.cpython-314.pyc +0 -0
- package/skills/slo-error-budget/SKILL.md +35 -0
- package/web/app.js +26 -4
- package/web/benchmark.html +1 -1
- package/web/catalog.html +4355 -0
- package/web/cheatsheet.html +4 -4
- package/web/city.html +1 -1
- package/web/community.html +81 -0
- package/web/compare.html +1 -1
- package/web/galaxy.html +1 -1
- package/web/galaxy3d.html +2 -2
- package/web/guide.html +5 -5
- package/web/handbook.html +3 -3
- package/web/holo.html +2 -2
- package/web/index.html +9 -9
- package/web/leaderboard.html +240 -0
- package/web/learn.html +1 -1
- package/web/llms-full.txt +73924 -0
- package/web/llms.txt +1108 -0
- package/web/personas/ai-engineer.svg +16 -0
- package/web/personas/compliance-lead.svg +14 -0
- package/web/personas/customer-success.svg +13 -0
- package/web/personas/designer.svg +8 -0
- package/web/personas/engineering-lead.svg +12 -0
- package/web/personas/founder-exec.svg +15 -0
- package/web/personas/growth-marketing.svg +20 -0
- package/web/personas/product-manager.svg +16 -0
- package/web/personas.json +2 -2
- package/web/remix.html +1 -1
- package/web/robots.txt +3 -0
- package/web/semantic.html +2 -2
- package/web/sitemap.xml +821 -0
- package/web/skill/360-feedback-template.html +149 -0
- package/web/skill/401k-plan-decoder.html +141 -0
- package/web/skill/ab-test-planner.html +149 -0
- package/web/skill/ab-test-readout.html +141 -0
- package/web/skill/accessibility-audit.html +144 -0
- package/web/skill/account-plan.html +145 -0
- package/web/skill/acquirer-red-team.html +140 -0
- package/web/skill/action-runner.html +141 -0
- package/web/skill/ad-copy.html +142 -0
- package/web/skill/aeo-optimizer.html +141 -0
- package/web/skill/agenda-or-cancel.html +141 -0
- package/web/skill/agent-design-review.html +143 -0
- package/web/skill/agent-era-pricing.html +141 -0
- package/web/skill/agent-incident-postmortem.html +141 -0
- package/web/skill/agent-observability-spec.html +141 -0
- package/web/skill/agent-readiness-audit.html +141 -0
- package/web/skill/agent-spec.html +143 -0
- package/web/skill/ai-assisted-performance-review.html +141 -0
- package/web/skill/ai-code-review.html +142 -0
- package/web/skill/ai-content-audit.html +141 -0
- package/web/skill/ai-ethics-review.html +145 -0
- package/web/skill/ai-eval-plan.html +143 -0
- package/web/skill/ai-feature-prd.html +142 -0
- package/web/skill/ai-product-canvas.html +141 -0
- package/web/skill/ai-roi-audit.html +141 -0
- package/web/skill/ai-usage-policy.html +143 -0
- package/web/skill/air-quality.html +140 -0
- package/web/skill/all-hands-deck.html +141 -0
- package/web/skill/altitude-shifter.html +141 -0
- package/web/skill/ambiguity-resolver.html +139 -0
- package/web/skill/analyst-relations-brief.html +145 -0
- package/web/skill/announcement-card.html +143 -0
- package/web/skill/api-docs-writer.html +148 -0
- package/web/skill/api-test-plan.html +142 -0
- package/web/skill/api-versioning-strategy.html +145 -0
- package/web/skill/apology-letter.html +143 -0
- package/web/skill/architecture-decision-record.html +150 -0
- package/web/skill/architecture-diagram.html +146 -0
- package/web/skill/archive-strategy.html +141 -0
- package/web/skill/assumption-bounty.html +138 -0
- package/web/skill/assumption-mapper.html +138 -0
- package/web/skill/async-decision-memo.html +142 -0
- package/web/skill/async-instead.html +141 -0
- package/web/skill/async-standup-compiler.html +140 -0
- package/web/skill/async-update-format.html +140 -0
- package/web/skill/auto-repair-estimate-decoder.html +141 -0
- package/web/skill/autopilot-charter.html +141 -0
- package/web/skill/beneficiary-audit.html +141 -0
- package/web/skill/benefits-decoder.html +141 -0
- package/web/skill/bid-tender-review.html +142 -0
- package/web/skill/blast-radius-drill.html +141 -0
- package/web/skill/board-deck-narrative.html +147 -0
- package/web/skill/board-minutes.html +148 -0
- package/web/skill/board-pre-read.html +142 -0
- package/web/skill/bom-cost-review.html +142 -0
- package/web/skill/bookkeeping-categorization.html +142 -0
- package/web/skill/boolean-search-builder.html +142 -0
- package/web/skill/brag-doc.html +141 -0
- package/web/skill/brainstorming.html +140 -0
- package/web/skill/brand-guidelines.html +142 -0
- package/web/skill/brand-impersonation-response.html +142 -0
- package/web/skill/brief-builder.html +141 -0
- package/web/skill/brief-from-pile.html +141 -0
- package/web/skill/briefing-note.html +141 -0
- package/web/skill/browser-agent-preflight.html +141 -0
- package/web/skill/budget-builder.html +141 -0
- package/web/skill/budget-tracker-design.html +141 -0
- package/web/skill/budget-variance-analysis.html +142 -0
- package/web/skill/bug-diagnosis.html +141 -0
- package/web/skill/bug-report.html +142 -0
- package/web/skill/calendar-defrag.html +139 -0
- package/web/skill/candidate-scorecard.html +142 -0
- package/web/skill/cap-table-explainer.html +140 -0
- package/web/skill/capacity-planning.html +147 -0
- package/web/skill/capital-allocation.html +142 -0
- package/web/skill/car-lease-decoder.html +141 -0
- package/web/skill/car-tco.html +140 -0
- package/web/skill/carbon-accounting-check.html +146 -0
- package/web/skill/career-ladder-map.html +140 -0
- package/web/skill/caregiver-coordination.html +141 -0
- package/web/skill/case-for-support.html +143 -0
- package/web/skill/case-study-writeup.html +142 -0
- package/web/skill/cash-flow-forecast.html +142 -0
- package/web/skill/category-page-brief.html +142 -0
- package/web/skill/change-management-plan.html +146 -0
- package/web/skill/change-order-writer.html +143 -0
- package/web/skill/changelog-for-humans.html +141 -0
- package/web/skill/changelog-from-commits.html +140 -0
- package/web/skill/changelog-generator.html +147 -0
- package/web/skill/changelog-writer.html +141 -0
- package/web/skill/channel-hygiene.html +141 -0
- package/web/skill/chart-choice.html +140 -0
- package/web/skill/chart-data-extractor.html +141 -0
- package/web/skill/chart.html +146 -0
- package/web/skill/churn-analysis.html +151 -0
- package/web/skill/cicd-playbook.html +147 -0
- package/web/skill/citation-hygiene.html +141 -0
- package/web/skill/claim-denial-decoder.html +142 -0
- package/web/skill/claims-triage.html +143 -0
- package/web/skill/claude-superpowers.html +142 -0
- package/web/skill/clause-explainer.html +141 -0
- package/web/skill/client-discovery.html +140 -0
- package/web/skill/climate-risk-assessment.html +143 -0
- package/web/skill/clinical-case-summary.html +146 -0
- package/web/skill/clinical-trial-protocol.html +143 -0
- package/web/skill/closing-disclosure-decoder.html +142 -0
- package/web/skill/co-marketing.html +142 -0
- package/web/skill/code-explainer.html +136 -0
- package/web/skill/code-review-checklist.html +143 -0
- package/web/skill/code-review-guide.html +141 -0
- package/web/skill/code-simplification.html +137 -0
- package/web/skill/cohort-analysis.html +138 -0
- package/web/skill/cohort-curve-model.html +140 -0
- package/web/skill/cold-email.html +144 -0
- package/web/skill/collaboration-contract.html +141 -0
- package/web/skill/collections-email.html +142 -0
- package/web/skill/college-app-parent-guide.html +141 -0
- package/web/skill/college-cost.html +141 -0
- package/web/skill/community-management-playbook.html +148 -0
- package/web/skill/company-brief.html +140 -0
- package/web/skill/company-event-ops.html +141 -0
- package/web/skill/comparative-market-analysis.html +142 -0
- package/web/skill/competitive-analysis.html +146 -0
- package/web/skill/competitive-intelligence-monitor.html +141 -0
- package/web/skill/competitive-scan-lite.html +141 -0
- package/web/skill/competitor-signal-tracker.html +140 -0
- package/web/skill/competitor-teardown.html +147 -0
- package/web/skill/complaint-letter.html +143 -0
- package/web/skill/compliance-checklist.html +144 -0
- package/web/skill/conference-talk-proposal.html +142 -0
- package/web/skill/consulting-proposal.html +142 -0
- package/web/skill/content-calendar.html +146 -0
- package/web/skill/content-repurposer.html +139 -0
- package/web/skill/content-style-guide.html +142 -0
- package/web/skill/context-budget.html +141 -0
- package/web/skill/context-crusher.html +140 -0
- package/web/skill/context-engineering-review.html +141 -0
- package/web/skill/context-mode.html +142 -0
- package/web/skill/context-switch-budget.html +141 -0
- package/web/skill/contract-renewal-tracker.html +141 -0
- package/web/skill/contract-review.html +142 -0
- package/web/skill/contributor-guide.html +142 -0
- package/web/skill/conversion-rate-optimization.html +141 -0
- package/web/skill/counteroffer-decoder.html +141 -0
- package/web/skill/cover-letter.html +143 -0
- package/web/skill/coverage-gap-analysis.html +142 -0
- package/web/skill/creator-brand-kit.html +141 -0
- package/web/skill/creator-media-kit.html +141 -0
- package/web/skill/credit-memo.html +144 -0
- package/web/skill/crypto-prices.html +140 -0
- package/web/skill/cs-escalation-brief.html +148 -0
- package/web/skill/cs-health-scorecard.html +149 -0
- package/web/skill/csat-nps-analysis.html +140 -0
- package/web/skill/currency-rates.html +140 -0
- package/web/skill/customer-advisory-board.html +145 -0
- package/web/skill/customer-journey-map.html +146 -0
- package/web/skill/customer-outage-notice.html +143 -0
- package/web/skill/customer-success-plan.html +148 -0
- package/web/skill/dashboard-brief.html +145 -0
- package/web/skill/data-analysis-standard.html +143 -0
- package/web/skill/data-breach-response.html +141 -0
- package/web/skill/data-cleaning-pass.html +140 -0
- package/web/skill/data-contract.html +141 -0
- package/web/skill/data-pipeline-spec.html +148 -0
- package/web/skill/data-quality-audit.html +141 -0
- package/web/skill/data-quality-checks.html +141 -0
- package/web/skill/data-retention-policy.html +141 -0
- package/web/skill/data-slide-design.html +141 -0
- package/web/skill/database-migration-plan.html +148 -0
- package/web/skill/database-schema-design.html +147 -0
- package/web/skill/dataset-datasheet.html +143 -0
- package/web/skill/daycare-vs-stay-home.html +142 -0
- package/web/skill/dbt-model-spec.html +142 -0
- package/web/skill/debt-payoff-plan.html +140 -0
- package/web/skill/debt-payoff.html +141 -0
- package/web/skill/debugging-log-analyser.html +145 -0
- package/web/skill/decision-autopsy.html +140 -0
- package/web/skill/decision-forensics.html +140 -0
- package/web/skill/decision-journal.html +141 -0
- package/web/skill/decision-log-setup.html +141 -0
- package/web/skill/decision-meeting-format.html +141 -0
- package/web/skill/decision-memo.html +143 -0
- package/web/skill/deck-autopsy.html +139 -0
- package/web/skill/deck-from-doc.html +140 -0
- package/web/skill/deck-narrative-arc.html +141 -0
- package/web/skill/deck-outline-first.html +141 -0
- package/web/skill/deck-review-rubric.html +141 -0
- package/web/skill/deep-work-blocking.html +141 -0
- package/web/skill/delay-claim-letter.html +143 -0
- package/web/skill/delegation-brief.html +141 -0
- package/web/skill/delta-briefing.html +141 -0
- package/web/skill/demand-forecast-review.html +143 -0
- package/web/skill/demand-letter.html +143 -0
- package/web/skill/demo-script.html +141 -0
- package/web/skill/dependency-audit.html +144 -0
- package/web/skill/dependency-conflict-resolver.html +136 -0
- package/web/skill/design-critique.html +144 -0
- package/web/skill/design-handoff-brief.html +141 -0
- package/web/skill/design-system-audit.html +147 -0
- package/web/skill/desk-research-sprint.html +141 -0
- package/web/skill/desktop-zero.html +140 -0
- package/web/skill/developer-onboarding-doc.html +149 -0
- package/web/skill/devils-twin.html +139 -0
- package/web/skill/dictionary-lookup.html +140 -0
- package/web/skill/difficult-conversation.html +142 -0
- package/web/skill/digital-legacy-planner.html +140 -0
- package/web/skill/disability-insurance-decoder.html +142 -0
- package/web/skill/disaster-recovery-plan.html +147 -0
- package/web/skill/discharge-summary.html +143 -0
- package/web/skill/discovery-call-prep.html +144 -0
- package/web/skill/discovery-eyes.html +140 -0
- package/web/skill/discovery-interview-guide.html +143 -0
- package/web/skill/dispute-letter.html +143 -0
- package/web/skill/dns-lookup.html +139 -0
- package/web/skill/doc-restructure-live.html +140 -0
- package/web/skill/doc-versioning-discipline.html +141 -0
- package/web/skill/docs-quickstart.html +142 -0
- package/web/skill/doctor-visit-prep.html +141 -0
- package/web/skill/document-retention-map.html +141 -0
- package/web/skill/docx-tracked-changes.html +143 -0
- package/web/skill/donor-update.html +142 -0
- package/web/skill/double-opt-in-intro.html +140 -0
- package/web/skill/downloads-triage.html +140 -0
- package/web/skill/earthquake-watch.html +140 -0
- package/web/skill/elder-scam-briefing.html +140 -0
- package/web/skill/email-agent-preflight.html +141 -0
- package/web/skill/email-campaign.html +147 -0
- package/web/skill/email-sequence.html +142 -0
- package/web/skill/email-to-tasks.html +140 -0
- package/web/skill/email-triage-system.html +140 -0
- package/web/skill/email-triage.html +142 -0
- package/web/skill/emergency-fund.html +141 -0
- package/web/skill/employee-engagement-survey.html +147 -0
- package/web/skill/empty-state-writer.html +142 -0
- package/web/skill/energy-scheduling.html +141 -0
- package/web/skill/engagement-retro.html +141 -0
- package/web/skill/engineering-hiring-rubric.html +145 -0
- package/web/skill/engineering-weekly-report.html +151 -0
- package/web/skill/entity-relationship-diagram.html +141 -0
- package/web/skill/error-decoder.html +136 -0
- package/web/skill/error-message-writer.html +142 -0
- package/web/skill/escalation-email.html +141 -0
- package/web/skill/escalation-tree.html +142 -0
- package/web/skill/esg-disclosure-draft.html +145 -0
- package/web/skill/estate-settlement-organizer.html +141 -0
- package/web/skill/eulogy-writer.html +140 -0
- package/web/skill/ev-vs-gas.html +141 -0
- package/web/skill/eval-rubric-designer.html +142 -0
- package/web/skill/evidence-grading.html +140 -0
- package/web/skill/evidence-lock.html +141 -0
- package/web/skill/evt-dvt-pvt-gate-review.html +142 -0
- package/web/skill/exam-prep-planner.html +141 -0
- package/web/skill/excel-model.html +141 -0
- package/web/skill/exec-vs-working-deck.html +141 -0
- package/web/skill/executing-plans.html +137 -0
- package/web/skill/executive-presence.html +142 -0
- package/web/skill/executive-summary.html +150 -0
- package/web/skill/executive-update.html +147 -0
- package/web/skill/exit-interview-strategy.html +141 -0
- package/web/skill/exit-waterfall.html +138 -0
- package/web/skill/expense-audit.html +141 -0
- package/web/skill/expense-discipline.html +141 -0
- package/web/skill/expense-filer.html +139 -0
- package/web/skill/expense-policy.html +142 -0
- package/web/skill/expense-sheet-design.html +140 -0
- package/web/skill/experiment-designer.html +138 -0
- package/web/skill/experiment-readout.html +142 -0
- package/web/skill/expert-interview-prep.html +141 -0
- package/web/skill/exploratory-test-charter.html +142 -0
- package/web/skill/factory-acceptance-test.html +143 -0
- package/web/skill/faq-builder.html +141 -0
- package/web/skill/feature-flag-guide.html +144 -0
- package/web/skill/feature-prioritisation.html +141 -0
- package/web/skill/feature-sunset-plan.html +143 -0
- package/web/skill/figma-annotation-guide.html +143 -0
- package/web/skill/figma-component-audit.html +142 -0
- package/web/skill/figma-design-brief.html +144 -0
- package/web/skill/figma-design-critique-pm.html +144 -0
- package/web/skill/figma-design-qa.html +143 -0
- package/web/skill/figma-design-review.html +142 -0
- package/web/skill/figma-prototype-plan.html +144 -0
- package/web/skill/figma-spacing-system.html +144 -0
- package/web/skill/figma-user-flow-planner.html +144 -0
- package/web/skill/figma-variant-matrix.html +143 -0
- package/web/skill/file-access-preflight.html +141 -0
- package/web/skill/filename-convention.html +141 -0
- package/web/skill/financial-aid-appeal.html +141 -0
- package/web/skill/financial-due-diligence.html +143 -0
- package/web/skill/financial-model-narrative.html +143 -0
- package/web/skill/financial-statement-explainer.html +142 -0
- package/web/skill/fine-appeal-letter.html +140 -0
- package/web/skill/fire-number.html +141 -0
- package/web/skill/first-client-contract.html +141 -0
- package/web/skill/flight-tracker.html +140 -0
- package/web/skill/flowchart.html +146 -0
- package/web/skill/foia-request.html +142 -0
- package/web/skill/folder-structure-designer.html +141 -0
- package/web/skill/follow-up-chaser.html +140 -0
- package/web/skill/follow-up-sequence.html +140 -0
- package/web/skill/followup-sweep.html +140 -0
- package/web/skill/form-filler-operator.html +139 -0
- package/web/skill/formula-detangler.html +141 -0
- package/web/skill/founder-market-fit.html +140 -0
- package/web/skill/freelance-rate.html +141 -0
- package/web/skill/frontend-design.html +141 -0
- package/web/skill/fundraising-faq.html +139 -0
- package/web/skill/gantt-roadmap.html +146 -0
- package/web/skill/gdpr-compliance.html +142 -0
- package/web/skill/git-troubleshooter.html +136 -0
- package/web/skill/github-repo-vitals.html +140 -0
- package/web/skill/giving-feedback.html +142 -0
- package/web/skill/glossary-builder.html +142 -0
- package/web/skill/go-to-market-planner.html +145 -0
- package/web/skill/go-to-market.html +146 -0
- package/web/skill/grant-proposal.html +147 -0
- package/web/skill/greenwashing-self-audit.html +142 -0
- package/web/skill/growth-experiment-backlog.html +141 -0
- package/web/skill/handbook-page.html +141 -0
- package/web/skill/hardware-prd.html +144 -0
- package/web/skill/headline-options.html +141 -0
- package/web/skill/help-center-article.html +142 -0
- package/web/skill/hipaa-safeguards.html +141 -0
- package/web/skill/hiring-rubric.html +145 -0
- package/web/skill/hn-digest.html +140 -0
- package/web/skill/hoa-decoder.html +141 -0
- package/web/skill/home-contractor-quote-decoder.html +142 -0
- package/web/skill/hook-writer.html +140 -0
- package/web/skill/house-style-enforcer.html +141 -0
- package/web/skill/human-in-the-loop-design.html +141 -0
- package/web/skill/i18n-readiness-review.html +141 -0
- package/web/skill/iep-504-meeting-kit.html +141 -0
- package/web/skill/iep-goal-support.html +141 -0
- package/web/skill/impact-report.html +143 -0
- package/web/skill/inbox-triage-live.html +140 -0
- package/web/skill/inbox-unsubscribe-purge.html +140 -0
- package/web/skill/inbox-zero-operator.html +139 -0
- package/web/skill/incident-postmortem.html +158 -0
- package/web/skill/incident-public-statement.html +143 -0
- package/web/skill/incremental-implementation.html +137 -0
- package/web/skill/influencer-brief.html +150 -0
- package/web/skill/infra-as-code-review.html +145 -0
- package/web/skill/injection-spotter.html +141 -0
- package/web/skill/inspection-report-decoder.html +141 -0
- package/web/skill/instagram-post-downloader.html +142 -0
- package/web/skill/insurance-claim.html +143 -0
- package/web/skill/insurance-policy-decoder.html +141 -0
- package/web/skill/interview-me.html +137 -0
- package/web/skill/interview-prep.html +142 -0
- package/web/skill/interview-question-bank.html +142 -0
- package/web/skill/interview-synthesis.html +141 -0
- package/web/skill/inventory-policy.html +143 -0
- package/web/skill/investing-policy-statement.html +142 -0
- package/web/skill/investor-cold-email.html +141 -0
- package/web/skill/investor-pitch-deck.html +146 -0
- package/web/skill/investor-update.html +148 -0
- package/web/skill/invoice-generator.html +143 -0
- package/web/skill/ip-lookup.html +139 -0
- package/web/skill/iso-27001-isms.html +141 -0
- package/web/skill/iss-tracker.html +140 -0
- package/web/skill/issue-triage-live.html +140 -0
- package/web/skill/jd-decoder.html +140 -0
- package/web/skill/job-application.html +146 -0
- package/web/skill/job-description-writer.html +146 -0
- package/web/skill/job-story-mapper.html +143 -0
- package/web/skill/kb-audit.html +141 -0
- package/web/skill/knowledge-gardening.html +141 -0
- package/web/skill/kpi-tracker-design.html +141 -0
- package/web/skill/kyc-escalation.html +142 -0
- package/web/skill/landing-page-copy.html +143 -0
- package/web/skill/last-30-days-research.html +142 -0
- package/web/skill/last-two-weeks-handoff.html +141 -0
- package/web/skill/late-invoice-escalation.html +141 -0
- package/web/skill/launch-post.html +142 -0
- package/web/skill/launch-readiness.html +142 -0
- package/web/skill/launch-tiering-framework.html +144 -0
- package/web/skill/layoff-announcement.html +142 -0
- package/web/skill/layoff-communication.html +143 -0
- package/web/skill/layoff-financial-triage.html +142 -0
- package/web/skill/lease-decoder.html +141 -0
- package/web/skill/legal-brief.html +146 -0
- package/web/skill/lending-risk-brief.html +144 -0
- package/web/skill/lesson-plan.html +140 -0
- package/web/skill/lifecycle-crm-plan.html +141 -0
- package/web/skill/linkedin-profile.html +141 -0
- package/web/skill/literature-review-builder.html +141 -0
- package/web/skill/literature-review.html +144 -0
- package/web/skill/llm-cost-latency-budget.html +142 -0
- package/web/skill/llm-guardrails-spec.html +142 -0
- package/web/skill/load-testing-plan.html +146 -0
- package/web/skill/loan-covenant-review.html +142 -0
- package/web/skill/loan-decoder.html +141 -0
- package/web/skill/local-dev-setup.html +145 -0
- package/web/skill/localization-brief.html +142 -0
- package/web/skill/logistics-incident-report.html +144 -0
- package/web/skill/manager-first-90-days.html +142 -0
- package/web/skill/managing-up.html +141 -0
- package/web/skill/marketing-funnel-plan.html +141 -0
- package/web/skill/marketing-psychology.html +141 -0
- package/web/skill/marketplace-listing-optimizer.html +142 -0
- package/web/skill/mcp-server-spec.html +142 -0
- package/web/skill/media-pitch.html +146 -0
- package/web/skill/medical-bill-decoder.html +141 -0
- package/web/skill/medical-records-request.html +141 -0
- package/web/skill/meeting-cost-meter.html +141 -0
- package/web/skill/meeting-notes.html +147 -0
- package/web/skill/meeting-prep-live.html +140 -0
- package/web/skill/meeting-prep-pack.html +141 -0
- package/web/skill/meeting-room-etiquette.html +141 -0
- package/web/skill/messaging-framework.html +141 -0
- package/web/skill/metric-gaslighting-detector.html +139 -0
- package/web/skill/metric-semantic-layer.html +143 -0
- package/web/skill/metric-tree-builder.html +140 -0
- package/web/skill/metrics-framework.html +150 -0
- package/web/skill/microcopy-writer.html +142 -0
- package/web/skill/microservices-decomposition.html +146 -0
- package/web/skill/migration-day-runbook.html +141 -0
- package/web/skill/mind-map.html +141 -0
- package/web/skill/model-card.html +143 -0
- package/web/skill/model-migration-plan.html +141 -0
- package/web/skill/model-selection-advisor.html +142 -0
- package/web/skill/monitoring-setup-guide.html +146 -0
- package/web/skill/morning-intelligence.html +142 -0
- package/web/skill/moving-company-estimate-decoder.html +142 -0
- package/web/skill/multi-source-signal-synthesiser.html +140 -0
- package/web/skill/nda-analyser.html +144 -0
- package/web/skill/net-worth-statement.html +140 -0
- package/web/skill/new-parent-logistics.html +141 -0
- package/web/skill/newsletter-digest-brief.html +140 -0
- package/web/skill/newsletter-writer.html +141 -0
- package/web/skill/notebooklm-connector.html +142 -0
- package/web/skill/notes-humanizer.html +142 -0
- package/web/skill/notion-db-hygiene.html +140 -0
- package/web/skill/offer-comparison.html +140 -0
- package/web/skill/offer-letter.html +143 -0
- package/web/skill/office-hours-design.html +141 -0
- package/web/skill/office-move-runbook.html +141 -0
- package/web/skill/offsite-planner.html +141 -0
- package/web/skill/okr-builder.html +143 -0
- package/web/skill/onboarding-buddy-plan.html +141 -0
- package/web/skill/onboarding-copy.html +142 -0
- package/web/skill/onboarding-plan.html +145 -0
- package/web/skill/oncall-handoff.html +147 -0
- package/web/skill/oncall-runbook.html +147 -0
- package/web/skill/one-on-one-prep.html +142 -0
- package/web/skill/one-pager.html +143 -0
- package/web/skill/open-house-plan.html +142 -0
- package/web/skill/opposing-counsel.html +141 -0
- package/web/skill/org-chart.html +141 -0
- package/web/skill/out-of-office-designer.html +141 -0
- package/web/skill/outcome-tracker.html +141 -0
- package/web/skill/outline-before-prose.html +141 -0
- package/web/skill/outreach-message.html +143 -0
- package/web/skill/package-health.html +140 -0
- package/web/skill/paid-acquisition-plan.html +141 -0
- package/web/skill/parent-communication.html +141 -0
- package/web/skill/parent-teacher-conference-prep.html +141 -0
- package/web/skill/partnership-proposal.html +146 -0
- package/web/skill/patient-communication.html +146 -0
- package/web/skill/pay-stub-decoder.html +142 -0
- package/web/skill/paywall-optimization.html +142 -0
- package/web/skill/pentest-report.html +141 -0
- package/web/skill/performance-budget.html +146 -0
- package/web/skill/performance-review.html +149 -0
- package/web/skill/personal-bio.html +141 -0
- package/web/skill/personal-board-of-directors.html +141 -0
- package/web/skill/personal-wip-limits.html +141 -0
- package/web/skill/persuasion-brief.html +142 -0
- package/web/skill/photo-library-rescue.html +141 -0
- package/web/skill/pip-responder.html +141 -0
- package/web/skill/pitch-vs-teach.html +141 -0
- package/web/skill/pivot-analysis-planner.html +140 -0
- package/web/skill/plain-language-rewrite.html +141 -0
- package/web/skill/pm-weekly-review.html +142 -0
- package/web/skill/policy-drafter.html +141 -0
- package/web/skill/policy-memo.html +141 -0
- package/web/skill/policy-renewal-review.html +142 -0
- package/web/skill/portfolio-page.html +141 -0
- package/web/skill/pptx-slide-auditor.html +143 -0
- package/web/skill/pr-crisis-response.html +142 -0
- package/web/skill/pr-description-live.html +140 -0
- package/web/skill/pr-description-writer.html +146 -0
- package/web/skill/pr-description.html +142 -0
- package/web/skill/prd-template.html +149 -0
- package/web/skill/premortem-assassin.html +139 -0
- package/web/skill/prescription-cost-navigator.html +142 -0
- package/web/skill/presenter-notes.html +141 -0
- package/web/skill/press-release.html +146 -0
- package/web/skill/pricing-calculator.html +141 -0
- package/web/skill/pricing-page-copy.html +145 -0
- package/web/skill/pricing-sensitivity-model.html +139 -0
- package/web/skill/pricing-strategy.html +146 -0
- package/web/skill/pricing-your-services.html +141 -0
- package/web/skill/prior-authorization-letter.html +143 -0
- package/web/skill/privacy-policy-drafter.html +142 -0
- package/web/skill/process-documentation.html +145 -0
- package/web/skill/product-description.html +142 -0
- package/web/skill/product-health-analysis.html +142 -0
- package/web/skill/product-launch-checklist.html +143 -0
- package/web/skill/product-naming.html +142 -0
- package/web/skill/product-positioning-doc.html +147 -0
- package/web/skill/professional-brain.html +142 -0
- package/web/skill/professional-translator.html +142 -0
- package/web/skill/programmatic-seo.html +141 -0
- package/web/skill/project-status-report.html +147 -0
- package/web/skill/promotion-packet.html +141 -0
- package/web/skill/promotion-plan.html +142 -0
- package/web/skill/prompt-optimizer.html +142 -0
- package/web/skill/prompt-regression-suite.html +141 -0
- package/web/skill/property-investment-analysis.html +142 -0
- package/web/skill/property-listing.html +142 -0
- package/web/skill/property-offer-letter.html +142 -0
- package/web/skill/proposal-skeleton.html +141 -0
- package/web/skill/proposal-writer.html +146 -0
- package/web/skill/public-comment.html +141 -0
- package/web/skill/public-holidays.html +140 -0
- package/web/skill/punch-list-builder.html +143 -0
- package/web/skill/purchase-justification.html +141 -0
- package/web/skill/qa-release-signoff.html +142 -0
- package/web/skill/qbr-deck.html +147 -0
- package/web/skill/quarterly-tax-rhythm.html +141 -0
- package/web/skill/quiz-generator.html +141 -0
- package/web/skill/quote-card.html +142 -0
- package/web/skill/raci-matrix.html +145 -0
- package/web/skill/rag-architecture-review.html +142 -0
- package/web/skill/rag-design-doc.html +142 -0
- package/web/skill/raise-vs-jump.html +140 -0
- package/web/skill/rate-card.html +141 -0
- package/web/skill/readme-writer.html +142 -0
- package/web/skill/receipts-audit.html +141 -0
- package/web/skill/recruiter-outreach.html +142 -0
- package/web/skill/recurring-meeting-pruner.html +141 -0
- package/web/skill/red-team-review.html +138 -0
- package/web/skill/redundancy-consultation.html +145 -0
- package/web/skill/refactoring-plan.html +141 -0
- package/web/skill/reference-letter.html +143 -0
- package/web/skill/reference-request-kit.html +141 -0
- package/web/skill/referral-program-design.html +141 -0
- package/web/skill/referral-program.html +142 -0
- package/web/skill/refinance-breakeven.html +140 -0
- package/web/skill/regex-builder.html +139 -0
- package/web/skill/regression-test-plan.html +142 -0
- package/web/skill/regulator-eyes.html +140 -0
- package/web/skill/regulatory-impact-analysis.html +142 -0
- package/web/skill/relocation-planner.html +141 -0
- package/web/skill/renewal-playbook.html +148 -0
- package/web/skill/rent-increase-response.html +141 -0
- package/web/skill/rent-vs-buy.html +141 -0
- package/web/skill/rental-application.html +142 -0
- package/web/skill/repair-request-escalation.html +141 -0
- package/web/skill/reply-in-their-tone.html +140 -0
- package/web/skill/repo-map.html +140 -0
- package/web/skill/research-protocol.html +145 -0
- package/web/skill/research-repo-setup.html +141 -0
- package/web/skill/resignation-letter.html +141 -0
- package/web/skill/resume.html +138 -0
- package/web/skill/retention-analysis.html +144 -0
- package/web/skill/retention-loop-design.html +141 -0
- package/web/skill/retro-analysis.html +143 -0
- package/web/skill/return-refund-policy.html +143 -0
- package/web/skill/review-comments-resolver.html +141 -0
- package/web/skill/review-response.html +142 -0
- package/web/skill/rfc-writer.html +147 -0
- package/web/skill/rfp-response.html +141 -0
- package/web/skill/rfp-scoring-matrix.html +143 -0
- package/web/skill/rfp-writer.html +144 -0
- package/web/skill/rice-impact-matrix.html +143 -0
- package/web/skill/rice-prioritisation.html +148 -0
- package/web/skill/risk-register.html +148 -0
- package/web/skill/rma-failure-analysis.html +143 -0
- package/web/skill/roadmap-narrative.html +143 -0
- package/web/skill/roadmap-presentation.html +142 -0
- package/web/skill/roi-estimator.html +141 -0
- package/web/skill/role-redesign-for-ai.html +142 -0
- package/web/skill/rollback-plan.html +147 -0
- package/web/skill/rss-digest.html +140 -0
- package/web/skill/rubric-builder.html +140 -0
- package/web/skill/runbook-writer.html +147 -0
- package/web/skill/runway-calculator.html +141 -0
- package/web/skill/runway-monte-carlo.html +140 -0
- package/web/skill/runway-planner.html +141 -0
- package/web/skill/saas-metrics.html +140 -0
- package/web/skill/salary-negotiation.html +141 -0
- package/web/skill/sales-battlecard.html +145 -0
- package/web/skill/sales-demo-script.html +145 -0
- package/web/skill/sales-enablement-kit.html +145 -0
- package/web/skill/sales-forecasting-model.html +146 -0
- package/web/skill/sales-page.html +143 -0
- package/web/skill/savings-goal-plan.html +141 -0
- package/web/skill/saying-no-kindly.html +141 -0
- package/web/skill/saying-no.html +142 -0
- package/web/skill/scam-message-decoder.html +140 -0
- package/web/skill/schedule-monte-carlo.html +138 -0
- package/web/skill/schedule-recipe.html +141 -0
- package/web/skill/schema-markup.html +140 -0
- package/web/skill/scope-creep-response.html +141 -0
- package/web/skill/screenshot-teardown.html +139 -0
- package/web/skill/second-opinion-request.html +141 -0
- package/web/skill/security-deposit-recovery.html +141 -0
- package/web/skill/security-incident-response.html +142 -0
- package/web/skill/security-review.html +140 -0
- package/web/skill/security-threat-model.html +146 -0
- package/web/skill/self-review.html +142 -0
- package/web/skill/seo-content-brief.html +146 -0
- package/web/skill/sequence-diagram.html +141 -0
- package/web/skill/service-catalog-entry.html +147 -0
- package/web/skill/session-handoff.html +142 -0
- package/web/skill/severance-agreement-decoder.html +142 -0
- package/web/skill/shared-drive-cleanup.html +141 -0
- package/web/skill/short-form-script.html +140 -0
- package/web/skill/shutdown-ritual.html +141 -0
- package/web/skill/side-business-setup.html +141 -0
- package/web/skill/site-check.html +140 -0
- package/web/skill/site-safety-briefing.html +143 -0
- package/web/skill/skill-fusion.html +139 -0
- package/web/skill/skill-security-auditor.html +141 -0
- package/web/skill/skill-vetting.html +140 -0
- package/web/skill/slide-deck.html +141 -0
- package/web/skill/slide-density-rules.html +140 -0
- package/web/skill/slo-error-budget.html +146 -0
- package/web/skill/soap-note.html +142 -0
- package/web/skill/soc2-readiness.html +141 -0
- package/web/skill/social-ad-campaign.html +149 -0
- package/web/skill/social-media-audit.html +146 -0
- package/web/skill/social-media-strategy.html +147 -0
- package/web/skill/solar-breakeven.html +141 -0
- package/web/skill/sop-meeting-prep.html +145 -0
- package/web/skill/sop-writer.html +145 -0
- package/web/skill/source-triangulation.html +141 -0
- package/web/skill/sourcing-strategy.html +142 -0
- package/web/skill/sports-scores.html +140 -0
- package/web/skill/spreadsheet-audit-live.html +140 -0
- package/web/skill/spreadsheet-audit.html +141 -0
- package/web/skill/spreadsheet-handover.html +141 -0
- package/web/skill/spreadsheet-or-database.html +141 -0
- package/web/skill/sprint-brief.html +143 -0
- package/web/skill/sprint-planning.html +142 -0
- package/web/skill/sprint-velocity-analysis.html +145 -0
- package/web/skill/sql-optimizer.html +140 -0
- package/web/skill/sql-query-explainer.html +141 -0
- package/web/skill/stakeholder-influence-mapper.html +142 -0
- package/web/skill/stakeholder-update.html +148 -0
- package/web/skill/standing-meeting-audit.html +141 -0
- package/web/skill/startup-idea-validator.html +139 -0
- package/web/skill/statement-coach.html +141 -0
- package/web/skill/statement-of-work.html +142 -0
- package/web/skill/status-report-pipeline.html +141 -0
- package/web/skill/stock-snapshot.html +140 -0
- package/web/skill/strategic-narrative-generator.html +141 -0
- package/web/skill/strategy-memo.html +143 -0
- package/web/skill/student-feedback.html +141 -0
- package/web/skill/student-loan-strategy.html +141 -0
- package/web/skill/study-notes-synthesizer.html +141 -0
- package/web/skill/style-fingerprint.html +140 -0
- package/web/skill/subagent-orchestration.html +137 -0
- package/web/skill/subcontractor-scorecard.html +143 -0
- package/web/skill/subscription-audit.html +140 -0
- package/web/skill/subscription-auditor.html +140 -0
- package/web/skill/substack-notes-scraper.html +142 -0
- package/web/skill/subtitle-caption.html +142 -0
- package/web/skill/sun-and-moon.html +140 -0
- package/web/skill/supplier-scorecard.html +144 -0
- package/web/skill/support-macro.html +141 -0
- package/web/skill/support-runbook.html +142 -0
- package/web/skill/support-staffing-model.html +140 -0
- package/web/skill/survey-design-basics.html +141 -0
- package/web/skill/sycophancy-challenger.html +142 -0
- package/web/skill/synthetic-user-research.html +143 -0
- package/web/skill/system-design-interview.html +145 -0
- package/web/skill/task-triage-matrix.html +141 -0
- package/web/skill/tax-planning-checklist.html +144 -0
- package/web/skill/tdd-workflow.html +141 -0
- package/web/skill/teaching-lesson-plan.html +146 -0
- package/web/skill/team-budget-tracker.html +141 -0
- package/web/skill/team-health-check.html +145 -0
- package/web/skill/team-offsite-planner.html +147 -0
- package/web/skill/tech-radar.html +146 -0
- package/web/skill/technical-debt-register.html +146 -0
- package/web/skill/technical-spec-template.html +142 -0
- package/web/skill/template-designer.html +141 -0
- package/web/skill/tenant-screening-guide.html +142 -0
- package/web/skill/test-case-writer.html +142 -0
- package/web/skill/test-strategy-doc.html +145 -0
- package/web/skill/the-car-dealership.html +141 -0
- package/web/skill/the-churning-customer.html +140 -0
- package/web/skill/the-due-diligence-call.html +141 -0
- package/web/skill/the-insurance-adjuster.html +141 -0
- package/web/skill/the-journalist-call.html +141 -0
- package/web/skill/the-open-house.html +140 -0
- package/web/skill/the-price-pushback.html +141 -0
- package/web/skill/the-procurement-gauntlet.html +141 -0
- package/web/skill/the-promotion-committee.html +141 -0
- package/web/skill/the-thesis-defense.html +141 -0
- package/web/skill/the-visa-interview.html +142 -0
- package/web/skill/thesis-outline.html +141 -0
- package/web/skill/thread-to-decision-live.html +140 -0
- package/web/skill/thread-to-decision.html +141 -0
- package/web/skill/threat-model.html +141 -0
- package/web/skill/thumbnail-creator.html +142 -0
- package/web/skill/timeshare-contract-decoder.html +142 -0
- package/web/skill/token-cost.html +140 -0
- package/web/skill/token-diet.html +140 -0
- package/web/skill/tool-permission-review.html +141 -0
- package/web/skill/tool-procurement-eval.html +141 -0
- package/web/skill/tooling-risk-assessment.html +144 -0
- package/web/skill/tornado-sensitivity.html +138 -0
- package/web/skill/tos-decoder.html +141 -0
- package/web/skill/transcreation.html +141 -0
- package/web/skill/travel-brief.html +141 -0
- package/web/skill/unblock-protocol.html +141 -0
- package/web/skill/underwriting-narrative.html +143 -0
- package/web/skill/unit-economics.html +141 -0
- package/web/skill/user-interview-synthesis.html +142 -0
- package/web/skill/user-journey-map.html +141 -0
- package/web/skill/user-research-synthesis.html +142 -0
- package/web/skill/user-story-writer.html +150 -0
- package/web/skill/ux-research-plan.html +147 -0
- package/web/skill/value-proposition.html +142 -0
- package/web/skill/vc-partner-meeting.html +140 -0
- package/web/skill/vendor-breakup-email.html +141 -0
- package/web/skill/vendor-comparison-matrix.html +141 -0
- package/web/skill/vendor-contract-checklist.html +142 -0
- package/web/skill/vendor-evaluation.html +146 -0
- package/web/skill/vendor-security-review.html +141 -0
- package/web/skill/verification-before-completion.html +137 -0
- package/web/skill/version-chaos-untangler.html +141 -0
- package/web/skill/vet-estimate-decoder.html +142 -0
- package/web/skill/viral-content-framework.html +147 -0
- package/web/skill/voice-agent-design.html +142 -0
- package/web/skill/voice-of-customer-program.html +145 -0
- package/web/skill/vuln-triage.html +141 -0
- package/web/skill/weather-now.html +140 -0
- package/web/skill/wedding-budget.html +141 -0
- package/web/skill/wedding-logistics-planner.html +141 -0
- package/web/skill/wedding-speech.html +140 -0
- package/web/skill/wedding-vendor-contract-decoder.html +140 -0
- package/web/skill/weekly-review-ritual.html +141 -0
- package/web/skill/what-to-ask.html +140 -0
- package/web/skill/when-someone-dies.html +141 -0
- package/web/skill/which-skill.html +141 -0
- package/web/skill/whiteboard-to-spec.html +139 -0
- package/web/skill/wiki-summary.html +140 -0
- package/web/skill/win-loss-analysis.html +144 -0
- package/web/skill/word-document.html +141 -0
- package/web/skill/working-agreements.html +141 -0
- package/web/skill/workshop-designer.html +141 -0
- package/web/skill/workshop-facilitation-guide.html +146 -0
- package/web/skill/world-clock.html +140 -0
- package/web/skill/writing-great-skills.html +143 -0
- package/web/skill/writing-plans.html +137 -0
- package/web/skill/youtube-script-writer.html +143 -0
- package/web/skill-changelog.json +7490 -0
- package/web/skill-of-the-week.json +8 -8
- package/web/skills.json +1 -1
- package/web/starter-pack.html +2 -2
- package/web/styles.css +7 -0
- package/web/trending.json +12 -4
- package/web/voice.html +1 -1
- package/web/what-are-agent-skills.html +3 -3
- package/web/workflows.json +13 -0
- package/workflows.json +29 -0
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# 🧠 PM Skills —
|
|
1
|
+
# 🧠 PM Skills — 1099 Professional Agent Skills for Claude, ChatGPT, Gemini, Cursor, Codex & Hermes
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
4
|
<a href="https://mohitagw15856.github.io/pm-claude-skills/">
|
|
5
|
-
<img src="web/docs-assets/hero.svg" width="100%" alt="PM Skills —
|
|
5
|
+
<img src="web/docs-assets/hero.svg" width="100%" alt="PM Skills — 1099 professional skills your AI assistant can read. Plain markdown, works with Claude, ChatGPT, Gemini, Cursor, and Codex. MIT licensed." />
|
|
6
6
|
</a>
|
|
7
7
|
</p>
|
|
8
8
|
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
## What is PM Skills?
|
|
26
26
|
|
|
27
27
|
<!-- AEO Answer Capsule — 68 words -->
|
|
28
|
-
PM Skills is an open-source library of
|
|
28
|
+
PM Skills is an open-source library of 1099 Agent Skills — plain-markdown SKILL.md files that teach an AI assistant to do one professional task to a senior professional's standard, from writing a PRD to decoding a lease or running a blameless postmortem. Each skill bundles the framework, an output template, quality checks, and anti-patterns. It is MIT-licensed and works with Claude, ChatGPT, Gemini, Cursor, and Codex.
|
|
29
29
|
<!-- End AEO Capsule -->
|
|
30
30
|
|
|
31
31
|
**Decode a lease before you sign it. Write a PRD your team can execute. Simulate the promotion committee before the real one meets. Check the weather with zero API keys.** Generic AI gives you filler; these give you the structure a senior professional actually uses.
|
|
@@ -117,8 +117,8 @@ It's not just a folder of files — the whole library is explorable, runnable, a
|
|
|
117
117
|
<table>
|
|
118
118
|
<tr>
|
|
119
119
|
<td width="50%" align="center">
|
|
120
|
-
<a href="https://mohitagw15856.github.io/pm-claude-skills/galaxy3d.html"><img src="web/docs-assets/demo-galaxy.gif" width="100%" alt="Galaxy 3D — fly through all
|
|
121
|
-
<br /><sub><b>🌌 <a href="https://mohitagw15856.github.io/pm-claude-skills/galaxy3d.html">Galaxy 3D</a></b> — fly through all
|
|
120
|
+
<a href="https://mohitagw15856.github.io/pm-claude-skills/galaxy3d.html"><img src="web/docs-assets/demo-galaxy.gif" width="100%" alt="Galaxy 3D — fly through all 1099 skills as a glowing constellation you orbit and click into" /></a>
|
|
121
|
+
<br /><sub><b>🌌 <a href="https://mohitagw15856.github.io/pm-claude-skills/galaxy3d.html">Galaxy 3D</a></b> — fly through all 1099 skills as a living constellation. The ones you've run burn brighter.</sub>
|
|
122
122
|
</td>
|
|
123
123
|
<td width="50%" align="center">
|
|
124
124
|
<a href="https://mohitagw15856.github.io/pm-claude-skills/wrapped.html"><img src="web/docs-assets/demo-holo.gif" width="100%" alt="PM Skills Wrapped — your practice turned into a shareable, Spotify-Wrapped-style story" /></a>
|
|
@@ -127,7 +127,7 @@ It's not just a folder of files — the whole library is explorable, runnable, a
|
|
|
127
127
|
</tr>
|
|
128
128
|
</table>
|
|
129
129
|
|
|
130
|
-
▶ **[Open the Playground](https://mohitagw15856.github.io/pm-claude-skills/)** to run any of the
|
|
130
|
+
▶ **[Open the Playground](https://mohitagw15856.github.io/pm-claude-skills/)** to run any of the 1099 skills with your own key — or just [browse them all](SKILLS.md).
|
|
131
131
|
|
|
132
132
|
## 💬 What can I ask it to do?
|
|
133
133
|
|
|
@@ -140,7 +140,7 @@ Anything below is a real ask that activates a real skill — say it in your own
|
|
|
140
140
|
| 🛂 *"prep me for the visa interview"* → [the-visa-interview](skills/the-visa-interview/SKILL.md) | 🔨 *"is this contractor quote fair?"* → [home-contractor-quote-decoder](skills/home-contractor-quote-decoder/SKILL.md) | 🏡 *"should we rent or buy?"* → [rent-vs-buy](skills/rent-vs-buy/SKILL.md) |
|
|
141
141
|
| 📝 *"draft my self-review honestly"* → [performance-review](skills/performance-review/SKILL.md) | 🚀 *"are we ready to launch?"* → [product-launch-checklist](skills/product-launch-checklist/SKILL.md) | 📬 *"my inbox is 4,000 deep"* → [email-triage-system](skills/email-triage-system/SKILL.md) |
|
|
142
142
|
|
|
143
|
-
…all
|
|
143
|
+
…all 1099 asks live in **[the catalog](SKILLS.md)**.
|
|
144
144
|
|
|
145
145
|
## ⚡ Quick start
|
|
146
146
|
|
|
@@ -156,7 +156,7 @@ No `npm install` needed — `npx pm-claude-skills …` always runs the latest. `
|
|
|
156
156
|
|
|
157
157
|
## 📚 The skills
|
|
158
158
|
|
|
159
|
-
Every skill follows the same discipline: what it produces, the inputs it needs, a real framework (severity scales, decision rules — not vibes), a concrete output template, quality checks, and anti-patterns. All
|
|
159
|
+
Every skill follows the same discipline: what it produces, the inputs it needs, a real framework (severity scales, decision rules — not vibes), a concrete output template, quality checks, and anti-patterns. All 1099 pass the [SkillSpec](SKILLSPEC.md) L3 gate and a security audit in CI.
|
|
160
160
|
|
|
161
161
|
<table align="center">
|
|
162
162
|
<tr align="center">
|
|
@@ -311,6 +311,46 @@ The library grew an ecosystem — all optional, all linked from the **[full show
|
|
|
311
311
|
|
|
312
312
|
**[▶ Skill Playground](https://mohitagw15856.github.io/pm-claude-skills/)** — try any skill in your browser, no install · **[📸 the Gallery](docs/GALLERY.md)** — the creative side, in screenshots · **[Anti-Pattern Museum](https://mohitagw15856.github.io/pm-claude-skills/museum.html)** — 2,900+ shareable rules · **[The Handbook](https://mohitagw15856.github.io/pm-claude-skills/handbook.html)** (also a [real printed book](docs/print/)) · **[Workflow recipes](WORKFLOWS.md)** · **[Subagents & slash commands](agents/)** · **[MCP server + REST API](mcp-remote/)** · **[n8n / Slack / Obsidian integrations](connectors/)** · **[The Boardroom](https://mohitagw15856.github.io/pm-claude-skills/boardroom.html)** · **[SkillBench](skillbench/)** · **[Org Edition](org/)** · **[🇪🇸 🇫🇷 🇨🇳 🇯🇵 translations](skills-i18n/)**
|
|
313
313
|
|
|
314
|
+
### Lint your own skills in CI
|
|
315
|
+
|
|
316
|
+
The validator that keeps these 1,099 honest, as a GitHub Action:
|
|
317
|
+
|
|
318
|
+
```yaml
|
|
319
|
+
- uses: mohitagw15856/pm-claude-skills@v76
|
|
320
|
+
with:
|
|
321
|
+
path: .claude/skills # optional — it finds them otherwise
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
It checks frontmatter, the `Use when …` trigger clause a model actually matches
|
|
325
|
+
on, leftover template text, and structure — and **annotates each finding inline
|
|
326
|
+
on the pull request diff**, because a finding on the line beats a finding in a
|
|
327
|
+
log nobody opens. Also available as `npx pm-claude-skills skillcheck`.
|
|
328
|
+
|
|
329
|
+
Zero dependencies, no Docker image, no model call.
|
|
330
|
+
|
|
331
|
+
### Companion tools — for the bits a skill shouldn't guess
|
|
332
|
+
|
|
333
|
+
A skill can tell a model to check the contrast. Only arithmetic can actually
|
|
334
|
+
check it. Where a question has a *right answer* rather than a good one, the
|
|
335
|
+
skill calls out to a tool instead of estimating — both are MIT, zero-dependency,
|
|
336
|
+
and **neither makes a model call**, so they cost nothing to run and return the
|
|
337
|
+
same answer every time.
|
|
338
|
+
|
|
339
|
+
**[notugly](https://github.com/mohitagw15856/notugly)** — design systems that are
|
|
340
|
+
provably not ugly. `#777777` on white is 4.478 and fails AA; `#767676` is 4.542
|
|
341
|
+
and passes, and no amount of looking at a screenshot separates those.
|
|
342
|
+
`accessibility-audit`, `design-system-audit`, `design-handoff-brief`,
|
|
343
|
+
`brand-guidelines` and the Figma reviews now fill their contrast rows from
|
|
344
|
+
`npx notugly`; the MCP server exposes `check_contrast` directly; and
|
|
345
|
+
[`design-system-generate`](skills/design-system-generate/) wraps it for the case
|
|
346
|
+
where there is no design system and something ships on Thursday.
|
|
347
|
+
|
|
348
|
+
**[rulebook](https://github.com/mohitagw15856/rulebook)** — 37 games, 203
|
|
349
|
+
rulings, and how commonly each house rule is actually played.
|
|
350
|
+
[`board-game-night-planner`](skills/board-game-night-planner/) uses it for teach
|
|
351
|
+
times and for settling the argument, because a rules disagreement is usually two
|
|
352
|
+
groups who learned it differently and are both partly right.
|
|
353
|
+
|
|
314
354
|
## 📄 The one-page cheatsheet
|
|
315
355
|
|
|
316
356
|
The whole library on one poster — start path, standout features, and install one-liners for every tool. Print it, share it, drop it in a slide.
|
|
@@ -325,23 +365,23 @@ The whole library on one poster — start path, standout features, and install o
|
|
|
325
365
|
|
|
326
366
|
## 🆕 Latest
|
|
327
367
|
|
|
328
|
-
**v76.0.0 — the systems wave:** 20 new skills for the bureaucracies and emergencies people face alone — [🏛 pm-civic](plugins/pm-civic) (vote, permits, jury duty, [the letter that gets action](skills/elected-rep-letter/SKILL.md), report a hazard), [♿ pm-accessibility](plugins/pm-accessibility) ([appeal a denied disability benefit](skills/disability-benefit-appeal/SKILL.md), [accommodations](skills/accommodation-request/SKILL.md), accessible travel, disclosure), [✈️ pm-newcomer](plugins/pm-newcomer) (first-90-days in a new country: [arrival setup](skills/arrival-setup/SKILL.md), credential recognition, healthcare, [credit from scratch](skills/credit-from-scratch/SKILL.md)), and [🚨 pm-emergency](plugins/pm-emergency) ([go-bag](skills/go-bag-builder/SKILL.md), [your real local hazards](skills/hazard-risk-map/SKILL.md), [outage plan](skills/power-outage-plan/SKILL.md), after-the-disaster) — every one guard-railed and routed to official sources. **
|
|
368
|
+
**v76.0.0 — the systems wave:** 20 new skills for the bureaucracies and emergencies people face alone — [🏛 pm-civic](plugins/pm-civic) (vote, permits, jury duty, [the letter that gets action](skills/elected-rep-letter/SKILL.md), report a hazard), [♿ pm-accessibility](plugins/pm-accessibility) ([appeal a denied disability benefit](skills/disability-benefit-appeal/SKILL.md), [accommodations](skills/accommodation-request/SKILL.md), accessible travel, disclosure), [✈️ pm-newcomer](plugins/pm-newcomer) (first-90-days in a new country: [arrival setup](skills/arrival-setup/SKILL.md), credential recognition, healthcare, [credit from scratch](skills/credit-from-scratch/SKILL.md)), and [🚨 pm-emergency](plugins/pm-emergency) ([go-bag](skills/go-bag-builder/SKILL.md), [your real local hazards](skills/hazard-risk-map/SKILL.md), [outage plan](skills/power-outage-plan/SKILL.md), after-the-disaster) — every one guard-railed and routed to official sources. **1099 skills, 121 bundles**.
|
|
329
369
|
|
|
330
|
-
**v75.0.0 — the human-edges wave:** 20 new skills for the parts of life nobody built tools for — [🧠 pm-neurodivergent](plugins/pm-neurodivergent) ([masking-budget](skills/masking-budget/SKILL.md), [meltdown-map](skills/meltdown-map/SKILL.md), [body-double-session](skills/body-double-session/SKILL.md), [nt-translator](skills/nt-translator/SKILL.md), [sensory-audit](skills/sensory-audit/SKILL.md)), [🩺 pm-invisible-illness](plugins/pm-invisible-illness) ([diagnosis-limbo-kit](skills/diagnosis-limbo-kit/SKILL.md), [spoon-planner](skills/spoon-planner/SKILL.md), [perimenopause-navigator](skills/perimenopause-navigator/SKILL.md), [flare-day-planner](skills/flare-day-planner/SKILL.md)), [🏳️🌈 pm-identity](plugins/pm-identity) ([coming-out-rehearsal](skills/coming-out-rehearsal/SKILL.md), [name-change-navigator](skills/name-change-navigator/SKILL.md), [two-worlds-translator](skills/two-worlds-translator/SKILL.md), [faith-transition-companion](skills/faith-transition-companion/SKILL.md)) — plus [grief-admin](skills/grief-admin/SKILL.md), [legacy-letter](skills/legacy-letter/SKILL.md), [the-ick-decoder](skills/the-ick-decoder/SKILL.md), and [rabbit-hole-rescue](skills/rabbit-hole-rescue/SKILL.md); every sensitive one guard-railed. **
|
|
370
|
+
**v75.0.0 — the human-edges wave:** 20 new skills for the parts of life nobody built tools for — [🧠 pm-neurodivergent](plugins/pm-neurodivergent) ([masking-budget](skills/masking-budget/SKILL.md), [meltdown-map](skills/meltdown-map/SKILL.md), [body-double-session](skills/body-double-session/SKILL.md), [nt-translator](skills/nt-translator/SKILL.md), [sensory-audit](skills/sensory-audit/SKILL.md)), [🩺 pm-invisible-illness](plugins/pm-invisible-illness) ([diagnosis-limbo-kit](skills/diagnosis-limbo-kit/SKILL.md), [spoon-planner](skills/spoon-planner/SKILL.md), [perimenopause-navigator](skills/perimenopause-navigator/SKILL.md), [flare-day-planner](skills/flare-day-planner/SKILL.md)), [🏳️🌈 pm-identity](plugins/pm-identity) ([coming-out-rehearsal](skills/coming-out-rehearsal/SKILL.md), [name-change-navigator](skills/name-change-navigator/SKILL.md), [two-worlds-translator](skills/two-worlds-translator/SKILL.md), [faith-transition-companion](skills/faith-transition-companion/SKILL.md)) — plus [grief-admin](skills/grief-admin/SKILL.md), [legacy-letter](skills/legacy-letter/SKILL.md), [the-ick-decoder](skills/the-ick-decoder/SKILL.md), and [rabbit-hole-rescue](skills/rabbit-hole-rescue/SKILL.md); every sensitive one guard-railed. **1099 skills, 121 bundles**.
|
|
331
371
|
|
|
332
|
-
**v74.0.0 — the life-expansion wave:** five new bundles for the parts of life beyond the office — [📖 pm-learning](plugins/pm-learning) (learn anything and make it stick: [learn-anything-roadmap](skills/learn-anything-roadmap/SKILL.md), [feynman-explainer](skills/feynman-explainer/SKILL.md), [spaced-repetition-setup](skills/spaced-repetition-setup/SKILL.md)), [💰 pm-wealth](plugins/pm-wealth) (build wealth on purpose — educational, not advice: [investing-for-beginners](skills/investing-for-beginners/SKILL.md), [first-100k-plan](skills/first-100k-plan/SKILL.md), [ask-for-a-raise](skills/ask-for-a-raise/SKILL.md)), [🤝 pm-social](plugins/pm-social) (the human conversations: [make-friends-as-an-adult](skills/make-friends-as-an-adult/SKILL.md), [boundary-setting-scripts](skills/boundary-setting-scripts/SKILL.md), [repair-after-a-fight](skills/repair-after-a-fight/SKILL.md)), [🩺 pm-caregiving](plugins/pm-caregiving) (care for aging parents — not medical/legal advice: [medical-appointment-advocate](skills/medical-appointment-advocate/SKILL.md), [caregiver-burnout-check](skills/caregiver-burnout-check/SKILL.md)), and [🤖 pm-ai-native](plugins/pm-ai-native) (use AI itself well: [prompt-library-builder](skills/prompt-library-builder/SKILL.md), [delegate-to-ai](skills/delegate-to-ai/SKILL.md), [spot-ai-mistakes](skills/spot-ai-mistakes/SKILL.md)) — 50 new skills; **
|
|
372
|
+
**v74.0.0 — the life-expansion wave:** five new bundles for the parts of life beyond the office — [📖 pm-learning](plugins/pm-learning) (learn anything and make it stick: [learn-anything-roadmap](skills/learn-anything-roadmap/SKILL.md), [feynman-explainer](skills/feynman-explainer/SKILL.md), [spaced-repetition-setup](skills/spaced-repetition-setup/SKILL.md)), [💰 pm-wealth](plugins/pm-wealth) (build wealth on purpose — educational, not advice: [investing-for-beginners](skills/investing-for-beginners/SKILL.md), [first-100k-plan](skills/first-100k-plan/SKILL.md), [ask-for-a-raise](skills/ask-for-a-raise/SKILL.md)), [🤝 pm-social](plugins/pm-social) (the human conversations: [make-friends-as-an-adult](skills/make-friends-as-an-adult/SKILL.md), [boundary-setting-scripts](skills/boundary-setting-scripts/SKILL.md), [repair-after-a-fight](skills/repair-after-a-fight/SKILL.md)), [🩺 pm-caregiving](plugins/pm-caregiving) (care for aging parents — not medical/legal advice: [medical-appointment-advocate](skills/medical-appointment-advocate/SKILL.md), [caregiver-burnout-check](skills/caregiver-burnout-check/SKILL.md)), and [🤖 pm-ai-native](plugins/pm-ai-native) (use AI itself well: [prompt-library-builder](skills/prompt-library-builder/SKILL.md), [delegate-to-ai](skills/delegate-to-ai/SKILL.md), [spot-ai-mistakes](skills/spot-ai-mistakes/SKILL.md)) — 50 new skills; **1099 skills, 121 bundles**.
|
|
333
373
|
|
|
334
|
-
**v73.0.0 — think differently:** two bundles that change *how* your AI reasons, not just what it does — [💭 pm-thinking](plugins/pm-thinking) (escape the generic answer: [the-third-answer](skills/the-third-answer/SKILL.md), [five-minds](skills/five-minds/SKILL.md), [red-team-my-plan](skills/red-team-my-plan/SKILL.md), [devils-advocate](skills/devils-advocate-on-demand/SKILL.md)) and [🎯 pm-focus](plugins/pm-focus) (ADHD-friendly executive function: [where-do-i-start](skills/where-do-i-start/SKILL.md), [overwhelm-triage](skills/overwhelm-triage/SKILL.md), [build-my-memory-file](skills/build-my-memory-file/SKILL.md)) — 50 skills inspired by parallel-divergent-ideation research; passes the 1,000 mark — now
|
|
374
|
+
**v73.0.0 — think differently:** two bundles that change *how* your AI reasons, not just what it does — [💭 pm-thinking](plugins/pm-thinking) (escape the generic answer: [the-third-answer](skills/the-third-answer/SKILL.md), [five-minds](skills/five-minds/SKILL.md), [red-team-my-plan](skills/red-team-my-plan/SKILL.md), [devils-advocate](skills/devils-advocate-on-demand/SKILL.md)) and [🎯 pm-focus](plugins/pm-focus) (ADHD-friendly executive function: [where-do-i-start](skills/where-do-i-start/SKILL.md), [overwhelm-triage](skills/overwhelm-triage/SKILL.md), [build-my-memory-file](skills/build-my-memory-file/SKILL.md)) — 50 skills inspired by parallel-divergent-ideation research; passes the 1,000 mark — now 1099 skills, 110 bundles.
|
|
335
375
|
|
|
336
|
-
**v72.0.0 — the Everyday Life update:** the biggest single drop yet — **100 new skills** across four new bundles: [🎲 hobbies](plugins/pm-hobbies) (wine pairing, board-game nights, D&D), [💪 wellbeing](plugins/pm-wellbeing) (workouts, sleep, habits), [🔐 digital self-defense](plugins/pm-digital-safety) (identity-theft recovery, phishing triage, doxxing response), and [👪 family](plugins/pm-family) (new-baby logistics, wedding vows, condolences) — plus new money, legal, home, career, freelance and learning skills; **
|
|
376
|
+
**v72.0.0 — the Everyday Life update:** the biggest single drop yet — **100 new skills** across four new bundles: [🎲 hobbies](plugins/pm-hobbies) (wine pairing, board-game nights, D&D), [💪 wellbeing](plugins/pm-wellbeing) (workouts, sleep, habits), [🔐 digital self-defense](plugins/pm-digital-safety) (identity-theft recovery, phishing triage, doxxing response), and [👪 family](plugins/pm-family) (new-baby logistics, wedding vows, condolences) — plus new money, legal, home, career, freelance and learning skills; **1099 skills, 108 bundles**.
|
|
337
377
|
|
|
338
|
-
**v67.0.0 — the everywhere wave:** six new rooms — [the trades](plugins/pm-trades) (quotes, stage payments, apprentices), [the committee](plugins/pm-committee) (AGMs, treasurers, the council mic), [open-source maintainers](plugins/pm-maintainer), [aging parents](plugins/pm-aging-parents) (the talks, the sibling summit), [the kitchen](plugins/pm-kitchen), [the band](plugins/pm-musician) — plus [used-car](skills/used-car-decoder/SKILL.md)/[mechanic-quote](skills/mechanic-quote-decoder/SKILL.md) decoders, the [group-trip fixer](skills/group-trip-negotiator/SKILL.md), and [🌱 daily practice](https://mohitagw15856.github.io/pm-claude-skills/streak.html);
|
|
378
|
+
**v67.0.0 — the everywhere wave:** six new rooms — [the trades](plugins/pm-trades) (quotes, stage payments, apprentices), [the committee](plugins/pm-committee) (AGMs, treasurers, the council mic), [open-source maintainers](plugins/pm-maintainer), [aging parents](plugins/pm-aging-parents) (the talks, the sibling summit), [the kitchen](plugins/pm-kitchen), [the band](plugins/pm-musician) — plus [used-car](skills/used-car-decoder/SKILL.md)/[mechanic-quote](skills/mechanic-quote-decoder/SKILL.md) decoders, the [group-trip fixer](skills/group-trip-negotiator/SKILL.md), and [🌱 daily practice](https://mohitagw15856.github.io/pm-claude-skills/streak.html); 1099 skills, 104 bundles. *v66 — new-gen;* [pm-newgen](plugins/pm-newgen) — [decode your first brand deal](skills/creator-deal-decoder/SKILL.md), [clip the podcast](skills/clip-factory/SKILL.md), [prep tonight's D&D](skills/ttrpg-session-forge/SKILL.md), [fix the dating profile honestly](skills/dating-profile-doctor/SKILL.md), [vibe-check the weekend app](skills/the-vibe-check/SKILL.md), [keep the flat peaceful](skills/roommate-agreement/SKILL.md), [climb ranked on purpose](skills/ranked-climb-coach/SKILL.md), [flip thrift finds](skills/resale-flip-kit/SKILL.md), [plan the micro-retirement](skills/micro-retirement-planner/SKILL.md), [get your attention back](skills/attention-reset/SKILL.md); 1099 skills, 104 bundles. *v65 — pm-2027;* ten skills for problems you don't have yet (but will) — [offboard an AI coworker](skills/agent-severance/SKILL.md), [drill the deepfake wire-fraud call](skills/deepfake-drill/SKILL.md), [hire your agent like an employee](skills/agent-hiring-panel/SKILL.md), [declare context bankruptcy](skills/context-bankruptcy/SKILL.md), [send your position to meetings instead of your body](skills/clone-brief/SKILL.md), [publish your personal API](skills/api-for-yourself/SKILL.md), [simulate the reorg before announcing it](skills/the-org-simulator/SKILL.md); 1099 skills, 104 bundles. *v64 — game night;* [pm-tabletop](plugins/pm-tabletop) — teach any board game in 5 minutes, settle rules arguments fairly, plan the lineup, design your own game, and [spar the Catan trade](skills/tabletop-negotiator/SKILL.md) against a hidden agenda with a scored debrief; 1099 skills, 104 bundles. *v63.1 — pixel confetti:* [pixel-gif-maker](skills/pixel-gif-maker/SKILL.md) — custom retro Slack GIFs (scroll, pulse, party, sparkle) from a pure-stdlib deterministic encoder; 1099 skills. *And v63.0.0 — the dead mentors:* history's sharpest operators, resurrected as skills — **[Machiavelli](skills/machiavelli-counsel/SKILL.md)** reads your reorg (with the honest counterweight built in), **[Sun Tzu](skills/sun-tzu-strategy-brief/SKILL.md)** decides fight/reshape/decline, **[Franklin's decision algebra](skills/franklin-decision-ledger/SKILL.md)** settles the offer you keep flip-flopping on, **[Marcus Aurelius](skills/stoic-setback-debrief/SKILL.md)** debriefs the day that went badly, and **[Arnold Bennett (1908)](skills/bennett-time-audit/SKILL.md)** finds your inner day — real methods from public-domain classics, chapter-cited, never misquoted. *Earlier — v62.2, the distribution wave* (SkillScan, telemetry, SkillBench v2, quiz, wins, WhatsApp); *v62.1, nine frontiers.* Full history: **[CHANGELOG](CHANGELOG.md)** · [releases](https://github.com/mohitagw15856/pm-claude-skills/releases)
|
|
339
379
|
|
|
340
380
|
## ❓ First-timer questions, straight answers
|
|
341
381
|
|
|
342
382
|
<details>
|
|
343
383
|
<summary><b>Is it actually free?</b></summary>
|
|
344
|
-
Yes — MIT, all
|
|
384
|
+
Yes — MIT, all 1099 skills, forever. The skills are markdown; there is nothing to gate. Sponsors fund the playground's free model runs, not access.
|
|
345
385
|
</details>
|
|
346
386
|
|
|
347
387
|
<details>
|
|
@@ -384,4 +424,4 @@ MIT — use them, fork them, ship them at work. Skills are judgment, and judgmen
|
|
|
384
424
|
|
|
385
425
|
---
|
|
386
426
|
|
|
387
|
-
*Built by [Mohit](https://github.com/mohitagw15856) with Claude.
|
|
427
|
+
*Built by [Mohit](https://github.com/mohitagw15856) with Claude. 1099 skills · 121 bundles · 35 professions · every commit gated. The long version of this README — every feature, wave, and frontier bet — lives in the **[Showcase](docs/SHOWCASE.md)**.*
|
package/bin/cli.mjs
CHANGED
|
@@ -377,7 +377,7 @@ Usage:
|
|
|
377
377
|
npx pm-claude-skills search [query…] [--json] [--limit <n>]
|
|
378
378
|
npx pm-claude-skills install <owner/repo> # install skills from ANY GitHub repo — security-scanned + SkillSpec-graded
|
|
379
379
|
npx pm-claude-skills prove --skill <dir> --tasks <file> # A/B-verify a skill: on vs off, real token counts\n npx pm-claude-skills mcp-audit [--connect] # your MCP servers are charging you rent - measure it
|
|
380
|
-
npx pm-claude-skills verify # integrity check: detect drift in anything "install" brought in
|
|
380
|
+
npx pm-claude-skills skillcheck [--dir <path>] # validate your own SKILL.md files (--strict, --json)\n npx pm-claude-skills verify # integrity check: detect drift in anything "install" brought in
|
|
381
381
|
npx pm-claude-skills chain <workflow> # run a whole multi-skill pipeline (chain --list to see them)
|
|
382
382
|
npx pm-claude-skills council <skill> # author -> cross-vendor critique -> arbiter (2+ provider keys)
|
|
383
383
|
npx pm-claude-skills migrate <dir> # convert a folder of prompts/SOPs into SkillSpec skills
|
|
@@ -482,6 +482,14 @@ else if (cmd === 'prove') {
|
|
|
482
482
|
try { process.exit(await run(process.argv.slice(3))); }
|
|
483
483
|
catch (e) { console.error(`Error: ${e.message}`); process.exit(1); }
|
|
484
484
|
}
|
|
485
|
+
else if (cmd === 'skillcheck') {
|
|
486
|
+
// Validate SKILL.md files against the authoring standard — this repo's own
|
|
487
|
+
// validator, pointed at anybody's skills directory. It reads process.argv
|
|
488
|
+
// itself, so hand it the subcommand's arguments.
|
|
489
|
+
process.argv = [process.argv[0], process.argv[1], ...process.argv.slice(3)];
|
|
490
|
+
const { run } = await import('./skillcheck.mjs');
|
|
491
|
+
run();
|
|
492
|
+
}
|
|
485
493
|
else if (cmd === 'verify') {
|
|
486
494
|
const { run } = await import('./verify.mjs');
|
|
487
495
|
try { process.exit(await run(process.argv.slice(3))); }
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// SkillCheck — validate SKILL.md files against the authoring standard.
|
|
3
|
+
//
|
|
4
|
+
// This is the same validator that keeps 1,099 skills in this repo honest, made
|
|
5
|
+
// to run against anybody's skills directory. Skill authoring is a new enough
|
|
6
|
+
// craft that most of the mistakes are the same handful, and all of them are
|
|
7
|
+
// cheap to catch: a description with no trigger clause, a frontmatter name that
|
|
8
|
+
// does not match its folder, template placeholder text nobody deleted.
|
|
9
|
+
//
|
|
10
|
+
// npx pm-claude-skills skillcheck # ./skills, or wherever it finds them
|
|
11
|
+
// npx pm-claude-skills skillcheck --dir .claude/skills
|
|
12
|
+
// npx pm-claude-skills skillcheck --strict # warnings fail too
|
|
13
|
+
// npx pm-claude-skills skillcheck --json # machine-readable
|
|
14
|
+
// npx pm-claude-skills skillcheck --annotate # inline GitHub PR annotations
|
|
15
|
+
//
|
|
16
|
+
// No dependencies. Exit code 1 when something failed, which is what makes it
|
|
17
|
+
// usable as a CI gate.
|
|
18
|
+
|
|
19
|
+
import { readFileSync, readdirSync, existsSync, statSync } from 'node:fs';
|
|
20
|
+
import { join, relative, resolve } from 'node:path';
|
|
21
|
+
|
|
22
|
+
const args = process.argv.slice(2);
|
|
23
|
+
const flag = (name, fallback = null) => {
|
|
24
|
+
const i = args.indexOf(`--${name}`);
|
|
25
|
+
return i === -1 ? fallback : args[i + 1];
|
|
26
|
+
};
|
|
27
|
+
const has = (name) => args.includes(`--${name}`);
|
|
28
|
+
|
|
29
|
+
const strict = has('strict');
|
|
30
|
+
const asJson = has('json');
|
|
31
|
+
// GitHub sets CI=true; annotating there by default is what most people want,
|
|
32
|
+
// and it is harmless anywhere else because the lines are just text.
|
|
33
|
+
const annotate = has('annotate') || (process.env.GITHUB_ACTIONS === 'true' && !has('no-annotate'));
|
|
34
|
+
|
|
35
|
+
// --- finding the skills -------------------------------------------------------
|
|
36
|
+
// Layouts differ. Guessing badly is worse than saying what was searched, so if
|
|
37
|
+
// nothing turns up the error lists every place it looked.
|
|
38
|
+
const CANDIDATES = ['skills', '.claude/skills', 'src/skills', '.'];
|
|
39
|
+
|
|
40
|
+
function findSkillsDir() {
|
|
41
|
+
const explicit = flag('dir');
|
|
42
|
+
// An explicit --dir that does not exist is a typo, and the friendly message
|
|
43
|
+
// below is far more use than a raw ENOENT stack trace out of readdir.
|
|
44
|
+
if (explicit) return existsSync(resolve(explicit)) ? resolve(explicit) : null;
|
|
45
|
+
for (const c of CANDIDATES) {
|
|
46
|
+
const dir = resolve(c);
|
|
47
|
+
if (!existsSync(dir)) continue;
|
|
48
|
+
const hit = readdirSync(dir).some(
|
|
49
|
+
(n) => statSync(join(dir, n)).isDirectory() && existsSync(join(dir, n, 'SKILL.md'))
|
|
50
|
+
);
|
|
51
|
+
if (hit) return dir;
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// --- the standard -------------------------------------------------------------
|
|
57
|
+
|
|
58
|
+
function parseFrontmatter(text) {
|
|
59
|
+
// Tolerate leading whitespace and CRLF so a file authored on Windows does not
|
|
60
|
+
// produce a false negative.
|
|
61
|
+
const m = text.match(/^\s*---\r?\n([\s\S]*?)\r?\n\s*---\r?\n?([\s\S]*)$/);
|
|
62
|
+
if (!m) return { meta: null, body: text, lines: {} };
|
|
63
|
+
const meta = {};
|
|
64
|
+
const lines = {};
|
|
65
|
+
const head = m[1].split(/\r?\n/);
|
|
66
|
+
head.forEach((line, i) => {
|
|
67
|
+
const kv = line.match(/^(\w[\w-]*):\s*(.*)$/);
|
|
68
|
+
if (!kv) return;
|
|
69
|
+
let v = kv[2].trim();
|
|
70
|
+
if ((v.startsWith('"') && v.endsWith('"')) || (v.startsWith("'") && v.endsWith("'"))) v = v.slice(1, -1);
|
|
71
|
+
meta[kv[1]] = v;
|
|
72
|
+
lines[kv[1]] = i + 2; // +1 for the opening ---, +1 for 1-indexing
|
|
73
|
+
});
|
|
74
|
+
return { meta, body: m[2], lines };
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function checkSkill(skillsDir, name) {
|
|
78
|
+
const errors = [];
|
|
79
|
+
const warnings = [];
|
|
80
|
+
const file = join(skillsDir, name, 'SKILL.md');
|
|
81
|
+
const at = (line, msg) => ({ line, msg });
|
|
82
|
+
|
|
83
|
+
if (!existsSync(file)) {
|
|
84
|
+
errors.push(at(1, 'No SKILL.md in folder.'));
|
|
85
|
+
return { name, file, errors, warnings };
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const text = readFileSync(file, 'utf8');
|
|
89
|
+
const { meta, body, lines } = parseFrontmatter(text);
|
|
90
|
+
|
|
91
|
+
if (!meta) {
|
|
92
|
+
errors.push(at(1, 'Missing or malformed YAML frontmatter (--- name/description ---).'));
|
|
93
|
+
return { name, file, errors, warnings };
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
if (!meta.name) errors.push(at(1, 'Frontmatter is missing `name`.'));
|
|
97
|
+
else if (meta.name !== name)
|
|
98
|
+
errors.push(at(lines.name ?? 1, `Frontmatter name "${meta.name}" does not match folder "${name}".`));
|
|
99
|
+
|
|
100
|
+
if (!meta.description) {
|
|
101
|
+
errors.push(at(1, 'Frontmatter is missing `description`.'));
|
|
102
|
+
} else {
|
|
103
|
+
const d = meta.description;
|
|
104
|
+
const dl = lines.description ?? 1;
|
|
105
|
+
if (/your-skill-name|one sentence\.|trigger condition|output description/i.test(d))
|
|
106
|
+
errors.push(at(dl, 'Description still contains template placeholder text.'));
|
|
107
|
+
// The trigger clause is the single highest-value line in a skill: it is what
|
|
108
|
+
// a model matches on when deciding whether this skill applies at all.
|
|
109
|
+
if (!/\buse when\b/i.test(d)) warnings.push(at(dl, 'Description has no "Use when …" trigger clause.'));
|
|
110
|
+
if (!/\bproduce(s|d)?\b/i.test(d)) warnings.push(at(dl, 'Description does not state what it Produces.'));
|
|
111
|
+
if (d.length < 40) warnings.push(at(dl, `Description is very short (${d.length} chars).`));
|
|
112
|
+
if (d.length > 700)
|
|
113
|
+
warnings.push(at(dl, `Description is very long (${d.length} chars) — trim for the trigger budget.`));
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const trimmed = body.trim();
|
|
117
|
+
const bodyLine = text.split(/\r?\n/).findIndex((l, i) => i > 2 && l.trim().startsWith('#')) + 1 || 1;
|
|
118
|
+
|
|
119
|
+
if (!/^#\s+.+/m.test(trimmed)) errors.push(at(bodyLine, 'Body has no top-level `# Title` heading.'));
|
|
120
|
+
if (/\[Instructions for Claude to follow/i.test(trimmed))
|
|
121
|
+
errors.push(at(bodyLine, 'Body still contains the template stub line.'));
|
|
122
|
+
if (trimmed.length < 300)
|
|
123
|
+
warnings.push(at(bodyLine, `Body is very short (${trimmed.length} chars) for a reusable skill.`));
|
|
124
|
+
if (!/^#{2,3}\s+.*quality check/im.test(trimmed)) warnings.push(at(bodyLine, 'No "Quality Checks" section.'));
|
|
125
|
+
if (!/^#{2,3}\s+.*anti-?pattern/im.test(trimmed)) warnings.push(at(bodyLine, 'No "Anti-Patterns" section.'));
|
|
126
|
+
|
|
127
|
+
return { name, file, errors, warnings };
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// --- run ----------------------------------------------------------------------
|
|
131
|
+
|
|
132
|
+
export function run() {
|
|
133
|
+
const skillsDir = findSkillsDir();
|
|
134
|
+
|
|
135
|
+
if (!skillsDir) {
|
|
136
|
+
const looked = flag('dir') ? [flag('dir')] : CANDIDATES;
|
|
137
|
+
const msg =
|
|
138
|
+
`No skills found. Looked in: ${looked.join(', ')}.\n` +
|
|
139
|
+
`A skill is a folder containing a SKILL.md. Point at yours with --dir <path>.`;
|
|
140
|
+
if (asJson) console.log(JSON.stringify({ skills: 0, errors: 1, warnings: 0, message: msg }, null, 2));
|
|
141
|
+
else console.error(msg);
|
|
142
|
+
process.exit(1);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
const names = readdirSync(skillsDir)
|
|
146
|
+
.filter((n) => {
|
|
147
|
+
try {
|
|
148
|
+
return statSync(join(skillsDir, n)).isDirectory() && existsSync(join(skillsDir, n, 'SKILL.md'));
|
|
149
|
+
} catch {
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
})
|
|
153
|
+
.sort();
|
|
154
|
+
|
|
155
|
+
const results = names.map((n) => checkSkill(skillsDir, n));
|
|
156
|
+
const totalErrors = results.reduce((a, r) => a + r.errors.length, 0);
|
|
157
|
+
const totalWarnings = results.reduce((a, r) => a + r.warnings.length, 0);
|
|
158
|
+
|
|
159
|
+
// Inline annotations. The point of an action over a log is that the finding
|
|
160
|
+
// lands on the line in the PR diff rather than in a build log nobody opens.
|
|
161
|
+
if (annotate) {
|
|
162
|
+
for (const r of results) {
|
|
163
|
+
const path = relative(process.cwd(), r.file);
|
|
164
|
+
for (const e of r.errors) console.log(`::error file=${path},line=${e.line},title=SkillCheck::${e.msg}`);
|
|
165
|
+
for (const w of r.warnings)
|
|
166
|
+
console.log(`::${strict ? 'error' : 'warning'} file=${path},line=${w.line},title=SkillCheck::${w.msg}`);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
if (asJson) {
|
|
171
|
+
console.log(
|
|
172
|
+
JSON.stringify(
|
|
173
|
+
{
|
|
174
|
+
dir: relative(process.cwd(), skillsDir) || '.',
|
|
175
|
+
skills: names.length,
|
|
176
|
+
errors: totalErrors,
|
|
177
|
+
warnings: totalWarnings,
|
|
178
|
+
results: results.filter((r) => r.errors.length || r.warnings.length),
|
|
179
|
+
},
|
|
180
|
+
null,
|
|
181
|
+
2
|
|
182
|
+
)
|
|
183
|
+
);
|
|
184
|
+
} else {
|
|
185
|
+
for (const r of results) {
|
|
186
|
+
for (const e of r.errors) console.log(` ✖ ${r.name}: ${e.msg}`);
|
|
187
|
+
for (const w of r.warnings) console.log(` ⚠ ${r.name}: ${w.msg}`);
|
|
188
|
+
}
|
|
189
|
+
console.log(
|
|
190
|
+
`\nSkillCheck — ${names.length} skill${names.length === 1 ? '' : 's'} in ${relative(process.cwd(), skillsDir) || '.'} · ` +
|
|
191
|
+
`${totalErrors} error(s) · ${totalWarnings} warning(s)`
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// A repo with zero skills that asked to be checked is a misconfiguration, not
|
|
196
|
+
// a pass. Silently succeeding there is how a broken CI step goes unnoticed.
|
|
197
|
+
if (names.length === 0) {
|
|
198
|
+
if (!asJson) console.error(`No SKILL.md folders in ${skillsDir}. Nothing was checked.`);
|
|
199
|
+
process.exit(1);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
const failed = totalErrors > 0 || (strict && totalWarnings > 0);
|
|
203
|
+
if (failed) {
|
|
204
|
+
if (!asJson) {
|
|
205
|
+
console.log(strict && totalWarnings && !totalErrors ? 'Failed (--strict: warnings count as errors).' : 'Failed.');
|
|
206
|
+
}
|
|
207
|
+
process.exit(1);
|
|
208
|
+
}
|
|
209
|
+
if (!asJson) console.log('All skills valid. ✓');
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// Only run when invoked directly, so the CLI can import it without side effects.
|
|
213
|
+
if (import.meta.url === `file://${process.argv[1]}`) run();
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Workflow recipe — review a design end-to-end, ending in measured numbers rather than adjectives, by chaining 4 skills.
|
|
3
|
+
argument-hint: "[the design: a URL, a Figma link, a screenshot, or a token file — plus who it's for and what it has to do]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Run the **Design Review** workflow recipe for: $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
This is a *chain* of skills. Run each stage in order and **carry every stage's output forward as context** for the next. Open with a one-line plan of the 4 stages, then ask once for essential missing inputs (the actual hex values or a URL, the target WCAG level, whether it will ever be printed, who signs off). Don't re-ask between stages.
|
|
9
|
+
|
|
10
|
+
**Before stage 2, measure.** A design review that assesses contrast by eye is an opinion with a standards reference attached. If you have a URL or hex values, run these first and carry the numbers through every stage:
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npx --yes notugly spec <url> # palette, type scale, radii — what it is made of
|
|
14
|
+
npx --yes notugly onepager <url> --out review.html # every pairing, with the nearest passing colour
|
|
15
|
+
npx --yes notugly vision <url> # colours that merge for colour-blind viewers
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Deterministic, zero dependencies, **no model call**. If you only have a screenshot, say so explicitly in the output — an inferred ratio is not a finding.
|
|
19
|
+
|
|
20
|
+
Run each stage under a clear `## Stage N — <name>` heading:
|
|
21
|
+
|
|
22
|
+
1. **React honestly** — apply the `design-critique` skill: what the design is trying to do, where it succeeds, and where intent and execution diverge. Do this *before* the measurements so the critique is about the design rather than about its contrast ratios.
|
|
23
|
+
2. **Measure what can be measured** — apply the `accessibility-audit` skill, filling every contrast row from the `notugly` output above rather than assessing it. Flag explicitly which findings are computed and which are judgement.
|
|
24
|
+
3. **Check the system behind it** — apply the `design-system-audit` skill: is this a one-off, or does it reveal a token problem? Run `npx notugly tokens <file>` if a token file exists; it names failing pairs semantically (`color.text.danger on surface.default is 2.99:1`), which turns a vague note into a bug with an owner.
|
|
25
|
+
4. **Hand it over** — apply the `design-handoff-brief` skill: the decisions, the measured values, and the open questions, in the form an engineer can build from.
|
|
26
|
+
|
|
27
|
+
Close with a **one-page verdict**: the three things to fix before ship, the measured evidence for each, and the split between *find-and-replace* fixes and fixes that need a design decision. That split is the whole reason this recipe exists — "twelve accessibility issues" gets deferred; "nine are a find-and-replace and three need Priya to pick a colour" gets scheduled.
|
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 **
|
|
11
|
+
Currently exporting **1099 skills** to:
|
|
12
12
|
|
|
13
13
|
- **ChatGPT — Custom GPT instructions** → `exports/chatgpt/`
|
|
14
14
|
- **Google Gemini — Gem instructions** → `exports/gemini/`
|
package/exports/aider/README.md
CHANGED
|
@@ -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
|
-
|
|
6
|
+
1099 skills exported. Copy a `.md rule` into the tool to use it.
|
|
7
7
|
|
|
8
8
|
| Skill | Bundle | Path |
|
|
9
9
|
|---|---|---|
|
|
@@ -293,6 +293,7 @@
|
|
|
293
293
|
| Design Critique | `pm-design` | `pm-design/design-critique/design-critique.md` |
|
|
294
294
|
| Design Handoff Brief | `pm-advanced` | `pm-advanced/design-handoff-brief/design-handoff-brief.md` |
|
|
295
295
|
| Design System Audit | `pm-design` | `pm-design/design-system-audit/design-system-audit.md` |
|
|
296
|
+
| Design System Generate | `pm-design` | `pm-design/design-system-generate/design-system-generate.md` |
|
|
296
297
|
| Desk Ergonomics Audit | `pm-wellbeing` | `pm-wellbeing/desk-ergonomics-audit/desk-ergonomics-audit.md` |
|
|
297
298
|
| Desk Research Sprint | `pm-cowork` | `pm-cowork/desk-research-sprint/desk-research-sprint.md` |
|
|
298
299
|
| Desktop Zero | `pm-cowork` | `pm-cowork/desktop-zero/desktop-zero.md` |
|
|
@@ -27,6 +27,31 @@ Ask the user for these if not provided:
|
|
|
27
27
|
6. Write a "not in scope" section to prevent scope creep in design
|
|
28
28
|
7. **Validate** — Confirm every edge case listed is specific enough to design for, and every out-of-scope item is concrete enough to say "no" to
|
|
29
29
|
|
|
30
|
+
|
|
31
|
+
## Programmatic Helper
|
|
32
|
+
|
|
33
|
+
Contrast ratios cannot be eyeballed. The AA line sits at 4.5:1, and `#777777`
|
|
34
|
+
on white is 4.478 (fails) while `#767676` is 4.54 (passes) — no amount of
|
|
35
|
+
looking at a screenshot separates those. Compute them:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npx --yes notugly fix "#8ab4f8" "#ffffff" # ratio, APCA, and the nearest passing colour
|
|
39
|
+
npx --yes notugly onepager <url> --out review.html # every pairing, printable
|
|
40
|
+
npx --yes notugly vision # which colours merge for colour-blind viewers
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
`notugly fix` returns the ratio, the APCA lightness contrast, and the closest
|
|
44
|
+
colour to the one already chosen that passes — same hue, same chroma. Paste
|
|
45
|
+
those numbers into the tables below rather than estimating them.
|
|
46
|
+
|
|
47
|
+
Deterministic, zero dependencies, and **no model call** — so it costs nothing to
|
|
48
|
+
run and gives the same answer every time.
|
|
49
|
+
|
|
50
|
+
Handoff is exactly where contrast gets lost: a designer picks a colour in a tool
|
|
51
|
+
with no contrast checker, and an engineer implements it faithfully. Put the
|
|
52
|
+
measured ratio next to every colour in the handoff table so the number travels
|
|
53
|
+
with the value.
|
|
54
|
+
|
|
30
55
|
## Output Structure
|
|
31
56
|
|
|
32
57
|
### Design Brief: [Feature Name]
|
|
@@ -11,6 +11,31 @@ Ask the user for these if not provided:
|
|
|
11
11
|
- **Known assistive technology users?** (Yes/No — if yes, which: screen reader / switch access / voice control / magnification)
|
|
12
12
|
- **Platform** (Web / iOS / Android / Desktop app)
|
|
13
13
|
|
|
14
|
+
|
|
15
|
+
## Programmatic Helper
|
|
16
|
+
|
|
17
|
+
Contrast ratios cannot be eyeballed. The AA line sits at 4.5:1, and `#777777`
|
|
18
|
+
on white is 4.478 (fails) while `#767676` is 4.54 (passes) — no amount of
|
|
19
|
+
looking at a screenshot separates those. Compute them:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx --yes notugly fix "#8ab4f8" "#ffffff" # ratio, APCA, and the nearest passing colour
|
|
23
|
+
npx --yes notugly onepager <url> --out review.html # every pairing, printable
|
|
24
|
+
npx --yes notugly vision # which colours merge for colour-blind viewers
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
`notugly fix` returns the ratio, the APCA lightness contrast, and the closest
|
|
28
|
+
colour to the one already chosen that passes — same hue, same chroma. Paste
|
|
29
|
+
those numbers into the tables below rather than estimating them.
|
|
30
|
+
|
|
31
|
+
Deterministic, zero dependencies, and **no model call** — so it costs nothing to
|
|
32
|
+
run and gives the same answer every time.
|
|
33
|
+
|
|
34
|
+
**For 1.4.3 Contrast (Minimum) and 1.4.11 Non-text Contrast**, every row in the
|
|
35
|
+
remediation table should carry a measured ratio, not an assessment. If the user
|
|
36
|
+
supplied a screenshot rather than hex values, say so explicitly in the audit —
|
|
37
|
+
an inferred ratio is not an audit finding.
|
|
38
|
+
|
|
14
39
|
## Output Structure
|
|
15
40
|
|
|
16
41
|
---
|
|
@@ -15,6 +15,29 @@ Ask for (if not already provided):
|
|
|
15
15
|
- **The artifact and its audience** (apply mode): what's being branded and for whom
|
|
16
16
|
- **The formality of truth**: is there an official guidelines doc this must defer to, or is this creating the de-facto one?
|
|
17
17
|
|
|
18
|
+
## Programmatic Helper
|
|
19
|
+
|
|
20
|
+
Extract mode says "the exact hex values, not memory". Reading them off a
|
|
21
|
+
screenshot *is* memory. Read them off the site:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npx --yes notugly steal example.com # palette with usage counts, fonts, radii, shadows
|
|
25
|
+
npx --yes notugly spec example.com # the same, as a table you can paste in
|
|
26
|
+
npx --yes notugly name "#4f76b6" # "Hydrangea" — a name a stakeholder can argue with
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
`steal` parses the real stylesheets and returns each colour with **how many
|
|
30
|
+
times it is used**, which is what separates a brand colour from a one-off in a
|
|
31
|
+
footer. `spec` adds a measured contrast ratio and an inferred role per colour.
|
|
32
|
+
|
|
33
|
+
For Apply mode, `npx notugly fix "#fg" "#bg"` gives the nearest passing colour
|
|
34
|
+
to the brand's own — same hue, same chroma — which is how you honour rule 3
|
|
35
|
+
below without abandoning the palette.
|
|
36
|
+
|
|
37
|
+
Deterministic, zero dependencies, **no model call**. It reads the stylesheets a
|
|
38
|
+
browser fetches on first load, so it sees what a browser sees and not what
|
|
39
|
+
JavaScript adds later — a partial sample, honestly labelled.
|
|
40
|
+
|
|
18
41
|
## Extract Method
|
|
19
42
|
|
|
20
43
|
1. **Mine artifacts, not aspirations.** Pull from what the brand actually ships: the exact hex values (from the site's CSS/screenshots, not memory), the real font stack, how much whitespace they genuinely use, how their headlines are actually written. The "About" page says "bold and human"; the evidence says what that means in practice.
|
|
@@ -27,7 +50,7 @@ Ask for (if not already provided):
|
|
|
27
50
|
|
|
28
51
|
1. **Token-map the artifact first** — inventory its current colors/fonts/spacings, then map each to the kit's equivalent. Wholesale mapping beats spot-fixing (spot-fixing produces the half-branded artifact, which reads worse than unbranded).
|
|
29
52
|
2. **Apply voice, not just paint** — retitle headings in the brand's headline pattern, sweep for banned phrases, adjust register. A perfectly-colored deck in the wrong voice still feels off-brand.
|
|
30
|
-
3. **Respect the hierarchy of the artifact** — branding never overrides legibility: contrast checks still bind, dense tables stay functional; the brand's job is recognition, not decoration.
|
|
53
|
+
3. **Respect the hierarchy of the artifact** — branding never overrides legibility: contrast checks still bind (measure them — `npx notugly fix` returns the nearest passing colour in the same hue rather than making you abandon the brand colour), dense tables stay functional; the brand's job is recognition, not decoration.
|
|
31
54
|
4. **Note conformance honestly** — what was applied, what couldn't be (font unavailable → declared substitute), what needs a human/designer call.
|
|
32
55
|
|
|
33
56
|
## Output Format
|
|
@@ -13,6 +13,42 @@ Ask the user for these if not provided:
|
|
|
13
13
|
- **Governance model** — centralised team / federated contributors / no dedicated team?
|
|
14
14
|
- **Goal of the audit** — improve adoption / prepare for a rebrand / onboard new teams / justify investment?
|
|
15
15
|
|
|
16
|
+
|
|
17
|
+
## Programmatic Helper
|
|
18
|
+
|
|
19
|
+
Contrast ratios cannot be eyeballed. The AA line sits at 4.5:1, and `#777777`
|
|
20
|
+
on white is 4.478 (fails) while `#767676` is 4.54 (passes) — no amount of
|
|
21
|
+
looking at a screenshot separates those. Compute them:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npx --yes notugly fix "#8ab4f8" "#ffffff" # ratio, APCA, and the nearest passing colour
|
|
25
|
+
npx --yes notugly onepager <url> --out review.html # every pairing, printable
|
|
26
|
+
npx --yes notugly vision # which colours merge for colour-blind viewers
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
`notugly fix` returns the ratio, the APCA lightness contrast, and the closest
|
|
30
|
+
colour to the one already chosen that passes — same hue, same chroma. Paste
|
|
31
|
+
those numbers into the tables below rather than estimating them.
|
|
32
|
+
|
|
33
|
+
Deterministic, zero dependencies, and **no model call** — so it costs nothing to
|
|
34
|
+
run and gives the same answer every time.
|
|
35
|
+
|
|
36
|
+
**For the token consistency and accessibility sections**, point it at the token
|
|
37
|
+
file directly:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npx --yes notugly tokens tokens.json # W3C design tokens or a Figma variables export
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
That names the failing pairs semantically — `color.text.danger on
|
|
44
|
+
surface.default is 2.99:1 — needs 4.5` — which is a bug with an owner, rather
|
|
45
|
+
than a general note about contrast. It also flags one colour defined under
|
|
46
|
+
several token names, which is the usual sign a system grew by copy-paste.
|
|
47
|
+
|
|
48
|
+
For drift over time, `npx notugly watch <url> baseline.json` distinguishes "a
|
|
49
|
+
new colour" from "a colour 0.003 away from one that already existed, because
|
|
50
|
+
somebody could not find the token".
|
|
51
|
+
|
|
16
52
|
## Output Structure
|
|
17
53
|
|
|
18
54
|
---
|