- .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