- Bump to 20.2.0 (20.1.0 is already published; these merged after it).
- Split changelog: 20.1.0 keeps its as-released scope (star nudges + eval
hardening); new 20.2.0 covers the community PRs (#47/#48/#50), the new
YouTube skill, and the check hardening.
- Reconcile the README to the true 174-skill count everywhere (title, badge,
TOC, intro, 'All Skills' header, sponsor line) — was a stale 167.
- Add catalog entries for the 3 skills that were missing from the table:
Skill Security Auditor (#168), Launch Readiness (#169), YouTube Script Writer (#170).
- package.json description 167 -> 174.
Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px
Co-authored-by: Claude <noreply@anthropic.com>
- Roll the merged community PRs (#47 install safety, #48 prioritisation
helper, #50 YouTube skill) and the now-174 skill count into the v20.1.0
changelog and README 'What's New' / latest-release line.
- Harden 'npm run check' to rebuild web/skills.json and fail on drift, so a
stale playground index can't pass locally and break CI (root cause of the
check-generated failure after #48).
Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px
Co-authored-by: Claude <noreply@anthropic.com>
Bump to 20.1.0. Folds the prior Unreleased items (CI leaderboard, PR-based
results flow, faster/hang-proof evals) plus the new star CTAs into a
[20.1.0] changelog section. Updates the README version badge.
Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px
Co-authored-by: Claude <noreply@anthropic.com>
The eval run worked (12 scored runs) but the final step failed: it pushed
evals/results.json directly to main, which the branch ruleset blocks
("Changes must be made through a pull request").
- eval-leaderboard.yml: replace the direct commit/push with
peter-evans/create-pull-request@v7 (branch eval-results), add
pull-requests: write. Merging that PR triggers the Pages deploy (which
watches evals/results.json) to publish real numbers.
- evals/README documents the PR flow + the required "Allow GitHub Actions to
create and approve pull requests" setting.
Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px
Co-authored-by: Claude <noreply@anthropic.com>
The "Run evals" step ran 24 API calls sequentially with no request timeout, so
it was slow and could stall indefinitely if one call hung.
- bin/lib/anthropic.mjs: per-request timeout (120s) via AbortController + retry
(2x, backoff) on 429/5xx/timeout. Fails fast on 4xx (bad key/model).
- evals/run-evals.mjs: run (case × model) tasks through a concurrency pool
(default 4, --concurrency to tune); preserves result order.
- eval-leaderboard.yml: job timeout-minutes: 20 as a safety net.
Applies to the next run. The hardening also benefits the Action runner and
`generate`, which share the client.
Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px
Co-authored-by: Claude <noreply@anthropic.com>
Lets the leaderboard show real numbers without a local key: the new
"Update Skill Leaderboard" workflow (workflow_dispatch) runs the eval harness
with the ANTHROPIC_API_KEY secret, commits evals/results.json, and the Pages
deploy re-renders the public leaderboard with real data.
- .github/workflows/eval-leaderboard.yml: manual trigger, contents: write,
runs run-evals.mjs + build-leaderboard.mjs, commits results.json.
- deploy-playground.yml: also trigger on evals/results.json (and the build
scripts) so the committed results refresh the live page.
- evals/README + CHANGELOG document the CI route.
Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px
Co-authored-by: Claude <noreply@anthropic.com>
- .github/workflows/pr-description.yml: uses our own Action (uses: ./action)
to auto-write this repo's PR descriptions when a PR opens empty; skips
quietly without ANTHROPIC_API_KEY and on forks. A living demo.
- Version -> 20.0.0 (Agentic Tooling): bundles the GitHub Action, generate
command, and evals/leaderboard for npm. README badge + What's New (v19
collapsed), CHANGELOG [Unreleased] -> [20.0.0], SECURITY table.
Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px
Co-authored-by: Claude <noreply@anthropic.com>
Three features riding 2026 trends (agentic CI, codegen, evals), sharing one
dependency-free Anthropic client (bin/lib/anthropic.mjs).
1. GitHub Action (action/) — run any skill in a consumer repo's CI:
uses: mohitagw15856/pm-claude-skills/action@main. Composite action +
run.mjs (loads the bundled SKILL.md, calls the API, exposes result as a
step output / file). Docs with auto-PR-description example.
2. generate command — `npx pm-claude-skills generate --from <url|file>` turns
a team's docs into a SKILL.md following the authoring standard
(bin/generate.mjs, wired into the CLI; needs ANTHROPIC_API_KEY).
3. Skill evals + Leaderboard — evals/run-evals.mjs runs each case across models
and scores output with an LLM judge (structure/completeness/usefulness/
grounding); scripts/build-leaderboard.mjs renders web/leaderboard.html
(built in the Pages deploy, falls back to clearly-labelled example data).
Linked from README, catalog, and playground.
Offline-testable parts verified (prompt building, skill loading, graceful
errors, leaderboard render). SkillCheck/audit/exports all green.
Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px
Co-authored-by: Claude <noreply@anthropic.com>
Closes the remaining gaps vs alirezarezvani/claude-skills across trust, content
types, discoverability, and community.
Security (trust signal + useful):
- scripts/skill-audit.mjs scans skills/*/SKILL.md + each skill's scripts/ for
prompt injection, exfiltration, dynamic code exec, destructive shell, secrets,
and hidden text. HIGH fails CI (.github/workflows/skill-audit.yml) + a badge.
- New skill-security-auditor skill teaches the same review (production tier).
Content types:
- output-styles/ — 4 personas (Startup CTO, Growth Marketer, Solo Founder,
Product Leader) as Claude Code output styles; --agent claude installs them too.
- ORCHESTRATION.md — Skill Chain / Multi-Agent Handoff / Domain Deep-Dive /
Solo Sprint patterns.
Discoverability:
- scripts/build-docs.mjs generates a server-rendered, SEO-indexable
web/catalog.html of all skills (built in the Pages deploy; gitignored).
Linked from README + playground.
Community:
- ROADMAP.md (now/next/later + good-first-issues).
README badges/sections, TIERS (47 production), CHANGELOG, package.json files,
and exports/web index all updated. SkillCheck + security audit + exports verified.
Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px
Co-authored-by: Claude <noreply@anthropic.com>
- package.json -> 18.0.0
- README badge + "What's New in v18.0.0" (v17 collapsed), latest-release line
- CHANGELOG: promote [Unreleased] -> [18.0.0] with compare links
- SECURITY.md supported-versions table
Ships Windsurf/Aider targets and the MCP server to npm on publish.
Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px
Co-authored-by: Claude <noreply@anthropic.com>
Broadens both reach (more tools) and content types (an MCP server), continuing
the multi-platform story.
Windsurf + Aider:
- build-exports.mjs gains two platforms: exports/windsurf/*.md (workspace rules,
trigger: model_decision) and exports/aider/*.md (conventions for `aider --read`).
Now 5 platforms (ChatGPT, Gemini, Cursor, Windsurf, Aider).
- install.sh + bin/cli.mjs install both (windsurf -> .windsurf/rules, aider ->
.aider/skills with a --read hint); generated README index is excluded from copies.
- One-line windsurf-install.sh / aider-install.sh wrappers for parity.
MCP server (new content type):
- mcp/server.mjs — zero-dependency stdio MCP server exposing list_skills,
search_skills, get_skill. Published as a second bin (pm-claude-skills-mcp).
Logs to stderr; reads bundled skills/ at startup. mcp/README.md documents
client config.
Also: README hero "See it in action" demo placement (ready to swap in a GIF;
recording guide in web/docs-assets/README.md), Works-With table + exports +
install docs updated, CHANGELOG Unreleased. package.json files/bin updated.
Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px
Co-authored-by: Claude <noreply@anthropic.com>
Lets the package ship to npm without a local npm install: publish a GitHub
Release and CI runs `npm publish` using an NPM_TOKEN repo secret.
- .github/workflows/npm-publish.yml: triggers on release published (and manual
dispatch), verifies the release tag matches package.json version, then
publishes with provenance (id-token: write) to the public registry.
One-time setup by the maintainer: create an npm Automation token and add it as
the NPM_TOKEN repository secret. Documented in the workflow header.
Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px
Co-authored-by: Claude <noreply@anthropic.com>
Cross-platform one-command install (fixes the Windows gap; alirezarezvani's
repo has no npm CLI, so this is a genuine differentiator):
- bin/cli.mjs — pure-Node installer, no bash/git, works on Windows/macOS/Linux:
npx pm-claude-skills add --agent <claude|hermes|codex|openclaw|cursor>
with --link / --target / --dry-run. For claude it installs skills + subagents
+ commands. Includes list / --version / --help.
- package.json is now a publishable package: name pm-claude-skills (the name
"pm-skills" is already taken on npm), bin + files + keywords, version 17.0.0.
npm pack is ~1.8 MB / 711 files.
Version bump to v17.0.0 (Agents, Commands & the npx CLI) since v16.0.0 is
published: README badge/What's-New (v16 moved to collapsed history), CHANGELOG
promoted Unreleased -> [17.0.0] with the npx entry, SECURITY support table, and
the Quick Install + one-command sections now lead with npx and flag the
Windows/PowerShell path.
Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px
Co-authored-by: Claude <noreply@anthropic.com>
Growth-focused additions drawn from studying alirezarezvani/claude-skills —
broaden content types beyond skills, lower contribution friction, and improve
discoverability.
Breadth (content types):
- agents/ — 4 Claude Code subagents (pm-partner, sprint-master, cs-guardian,
launch-captain) that delegate to the strongest skills and run their helper
scripts to compute results.
- commands/ — 6 slash commands (/prd, /rice, /sprint-plan, /health-scorecard,
/retro, /exec-summary).
- install.sh --agent claude now installs skills + agents + commands into ~/.claude/.
Contribution UX:
- scripts/new-skill.mjs (npm run new-skill) scaffolds a SKILL.md that already
passes SkillCheck.
- package.json exposes npm run entry points (new-skill, skillcheck, build:exports,
build:web, check).
Discoverability:
- Keyword-rich README H1 (Agent Skills for Claude, ChatGPT, Gemini, Cursor,
Codex & Hermes), subagent/command count badges, a Subagents & Slash Commands
section, and a Star History chart. Contributing now points at the scaffolder.
CHANGELOG updated. SkillCheck, exports, and web index all verified in sync.
Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px
Co-authored-by: Claude <noreply@anthropic.com>
Three more learnings from alirezarezvani/claude-skills, applied:
1. SkillCheck validator (scripts/skillcheck.mjs) — validates every SKILL.md
against the authoring standard (frontmatter, name/folder match, trigger +
produces clauses, required headings) plus tier referential integrity.
Errors fail CI; --strict fails on warnings too. New skillcheck.yml workflow
and a SkillCheck status badge in the README. Current: 0 errors / 14 advisory
warnings across 172 skills.
2. Cursor export platform — build-exports.mjs now generates
exports/cursor/<bundle>/<skill>/<skill>.mdc rule files. The PLATFORMS
registry now supports per-skill filenames (file as a function).
3. Per-agent installers — scripts/install.sh unifies install for
claude/hermes/codex/openclaw/cursor (--link, --target, --dry-run, --list).
Curl-able one-liners codex-install.sh, openclaw-install.sh, and
cursor-install.sh clone the library and install in a single command.
README documents the one-line installs and Cursor exports; CHANGELOG and the
authoring standard updated.
Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px
Co-authored-by: Claude <noreply@anthropic.com>
Learnings applied from alirezarezvani/claude-skills: native SKILL.md agents
(Hermes, Vibe) install the files directly — no conversion — so support is a
sync script, not regenerated copies.
- scripts/sync-hermes-skills.py: stdlib installer that places skills/ into
~/.hermes/skills/ (copy or --link symlink, --flat, --dry-run). Hermes reads
the same open SKILL.md standard and auto-discovers by description.
- README rebrand: title, tagline, intro, and a "works with" platforms badge now
cover Claude, ChatGPT, Gemini, and Hermes. Works-With table splits native
SKILL.md agents (Claude Code, Hermes) from paste-in chat LLMs. Repo name,
marketplace ID, and install commands intentionally unchanged.
- Version bump to v16.0.0 (Multi-Platform). Note: v15.0.0 was already published
(Skill Playground), so this release is v16.0.0; the changelog now also records
v15.0.0 in its history. Updated README badge/What's-New, CHANGELOG, SECURITY,
and playground tagline/meta.
Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px
Co-authored-by: Claude <noreply@anthropic.com>
The check-generated CI step was failing with "web/skills.json is stale"
because build-skills.mjs stamped a wall-clock generatedAt into the file, so
every rebuild differed and git diff --exit-code never matched.
- web/build-skills.mjs: drop the unused generatedAt timestamp -> deterministic
output the CI staleness check can verify. Also tags each skill with its tier.
- skill-tiers.json: single machine-readable source for tier membership
(Production-Ready / Experimental); TIERS.md points to it.
Playground upgrades (hosted on GitHub Pages):
- Tier filter (Production-Ready / Stable / Experimental) + per-tile tier badges.
- "Use this skill in another tool" panel: copy the instructions formatted for
ChatGPT, Gemini, or raw — mirrors the generated exports/ files.
- web/README documents the new options and the deterministic build.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px
Proves the PLATFORMS registry extends cleanly: adds Gemini (Gem instructions)
alongside ChatGPT, generated from the same SKILL.md source.
- scripts/build-exports.mjs: register `gemini` -> exports/gemini/<bundle>/<skill>/
GEM_INSTRUCTIONS.md (body + a one-line role primer from the description).
- Fix: the root exports/README.md now always lists every registered platform,
so `--platform x` no longer drops the others from the overview.
- exports/gemini/: 172 generated Gem instruction files + index.
- README "Ready-to-use exports" and CHANGELOG now list Gemini.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px
Make the library multi-platform without duplicating content. Each
skills/<name>/SKILL.md body remains the single source of truth; a new
generator renders platform-ready exports from it.
- scripts/build-exports.mjs — dependency-free Node generator with a PLATFORMS
registry so new platforms (Gemini, Cursor, …) are a few lines. Ships ChatGPT
exports at exports/chatgpt/<bundle>/<skill>/SYSTEM_PROMPT.md (172 skills),
plus generated index READMEs. Supports --platform and --check.
- exports/ — generated ChatGPT system prompts, ready to paste into a Custom GPT.
- .github/workflows/check-generated.yml — fails a PR if exports or
web/skills.json drift from the source skills.
- README "Works With" now documents the ready-to-use exports and regen command.
- CHANGELOG + SKILL-AUTHORING-STANDARD note the generated artifacts.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px
Five improvements to position the library as a serious engineering project:
1. Cross-tool compatibility — new README "Works With" section honestly
documenting where skills run (Claude Code natively; SKILL.md bodies
port to other agents and chat LLMs as system prompts).
2. Python helper scripts (stdlib-only) for the three strongest skills:
- sprint-planning: capacity_calculator.py (recommended commitment)
- rice-prioritisation: rice_calculator.py (ranks, flags quick wins/moonshots)
- cs-health-scorecard: health_score.py (weighted total + RAG)
Each is wired into its SKILL.md and synced to the plugin copies.
3. Explicit skill tiering — TIERS.md + README section marking 46
Production-Ready skills and calling out Experimental (external-dependency)
ones; everything else is Stable.
4. Repository hygiene — new CHANGELOG.md (Keep a Changelog format) and
SKILL-AUTHORING-STANDARD.md; refreshed SECURITY.md version table and
helper-script disclosure; added .gitignore.
5. Related Projects — README section linking to alirezarezvani/claude-skills
and the major awesome-claude-skills / awesome-claude-code lists.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px