The docs site had drifted (345 skills / 80 plugins against 411 / 110,
~150 pages missing from the nav, 32 pages with install commands for
plugins that do not exist). The fix is to stop hand-maintaining it.
- MkDocs hook (scripts/docs_hooks.py) runs the generator, builds the
Skills/Agents/Commands nav from what it generated, and fills
{{ count.* }}, {{ plugin_table }} and {{ whats_new }} tokens in
hand-written pages and llms.txt
- generate-docs.py: install lines resolve to real marketplace plugins,
c-level-agents and loop-library domains added, vendored links mapped
to the real files, edit buttons point at the source SKILL.md, writes
only when content changes
- Generated skill/agent/command pages are no longer committed; 42
redirects keep moved URLs working
- New What's New page (from CHANGELOG.md), Hermes and Vibe guides,
support matrix; Vibe path corrected to the flat ~/.vibe/skills layout
- Fixed broken install instructions (OpenClaw curl one-liner, claude
/plugin form, nonexistent plugins) in guides and README; README
install order now starts with Claude Code
- Pinned mkdocs versions; Pages build runs --strict (0 warnings)
- Gate G14 (scripts/check_docs_site.py): hard-coded counters, unknown
install targets and nav orphans fail CI
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L8KYFH1Jfe2JqY8uFr4aBx
* fix(plugins): bump all plugins to 2.14.1 and gate unbumped changes
Claude Code caches plugins by version. 70 of 104 plugins changed between
v2.12.0 and v2.14.0 without a bump, so claude plugin update reported
"already at the latest version" and existing installs never received the
v2.13/v2.14 fixes. Every plugin moves to 2.14.1 so stale caches refresh once.
check_plugin_versions.py (G11, blocking in ci-quality-gate) fails when a
plugin's payload, including symlinked vendor files, changes without a higher
version, and when marketplace.json and plugin.json disagree.
bump_plugin_versions.py sets both together.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016uNBQ6tRS5P1dRsgNfK4Wh
* fix(codex): stop installing all skills by default
With the full library (~380 skills) Codex drops every skill description from
its prompt budget, so it cannot pick skills. codex-install.sh now asks for
--category (comma-separated), --skill or an explicit --all, lists categories
when run without arguments, and warns when more than ~100 skills are
installed. The Windows installer and install docs follow.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016uNBQ6tRS5P1dRsgNfK4Wh
* fix(gemini): link whole skill folders and drop duplicate mirror entries
Each .gemini/skills entry held only a SKILL.md symlink, so the relative
scripts/ and references/ a skill points to were missing. Entries are now
directory symlinks (Gemini CLI 0.65 discovers them). Dual-published copies
with identical SKILL.md are listed once, commands and agents that share a
skill's name are skipped, fixtures under assets/ and vendor/ re-exports are
excluded, discovery is sorted so reruns are stable, and stale generated
entries are pruned. gemini skills list: 20 conflicts -> 1 (handoff, fixed
next). GEMINI.md documents folder trust and fixes a dead example path.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016uNBQ6tRS5P1dRsgNfK4Wh
* fix(handoff): rename the productivity skill to session-handoff
engineering/handoff and productivity/handoff both shipped a skill named
handoff. Claude Code namespaces them, but Codex, Gemini CLI, Vibe and Hermes
key skills by name and silently kept one. The productivity skill is now
session-handoff (handoff-productivity:session-handoff); its folder, plugin
manifest, hook script paths, command paths, mirrors, harness manifest and
docs page follow. /cs-handoff, /cs-handoff-setup and ~/.config/handoff are
unchanged; the plugin README carries a migration note.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016uNBQ6tRS5P1dRsgNfK4Wh
* fix(convert): include plugins whose SKILL.md is at the plugin root
convert.sh searched at -mindepth 4, which skipped boost-asio-pro, deepread,
hivemind, loop-library, minimalist, strict-api and swedish-mentor for every
converted tool (opencode, Cursor, Windsurf, Kilo, Augment, Aider,
Antigravity). It now searches from depth 2 and skips assets/ fixtures.
opencode conversion: 375 -> 382 skills.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016uNBQ6tRS5P1dRsgNfK4Wh
* fix(codex): keep skill-tester's sample fixture from loading as a skill
Codex scans installed skill folders recursively and picked up
skill-tester/assets/sample-skill/SKILL.md as 'sample-text-processor'.
The installer renames SKILL.md files under assets/ in the installed copy.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016uNBQ6tRS5P1dRsgNfK4Wh
* fix(plugins): address scripts via ${CLAUDE_PLUGIN_ROOT} in commands and agents
343 script invocations in 90 command/agent files across 36 plugins used
repo-relative or ../ paths. Plugin commands and agents run from the user's
project, so those paths only resolved inside a clone of this repo; in the
v2.14.0 evals the agent fell back to find / to locate scripts. Every one now
uses ${CLAUDE_PLUGIN_ROOT}/. Two cross-plugin calls (write-a-skill ->
karpathy-coder, c-level-agents cpo -> product-manager-toolkit) go through
vendor/ symlinks, per the repo's install-cache lesson.
check_paths.py (G1) now fails a plugin command or agent that invokes a
script without ${CLAUDE_PLUGIN_ROOT}; on the v2.14.0 tree it reports 279.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016uNBQ6tRS5P1dRsgNfK4Wh
* fix(month-end-close): treat opening-balance rows as balances and pair transpositions
On a bank and GL export that each begin with an 'Opening balance' row, the
matcher returned RECONCILED_WITH_ITEMS and told the user to book a 25,000.00
journal entry for the opening balance, and it reported a 7,980/7,890
transposition as two unrelated items. Opening rows are now balances: a
difference between them is reported as carried in from the prior period
(R5, blocks sign-off, never booked). Same-date digit transpositions pair into
one correcting entry. The GL file's 'memo' column is read as description.
The v2.14.0 eval fixture now proves 1,405.00 = 150 opening + 90
transposition + 1,200 outstanding check - 35 bank fee. Bundled copy synced.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016uNBQ6tRS5P1dRsgNfK4Wh
* fix(coding-agent-rollout): flag connection-URL passwords and production MCP servers
On a committed .claude/settings.json holding
env.DATABASE_URL=postgresql://admin:<password>@prod-db... and
enabledMcpjsonServers: ["postgres-prod"], the linter flagged neither: the
env check only matched token formats and KEY/TOKEN/SECRET names. S11 now
catches a password embedded in any connection URL (BLOCKER in shared files),
and new S13 warns when a shared file pre-approves an MCP server whose name
marks it as production. Bundled copy synced; --sample output unchanged.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016uNBQ6tRS5P1dRsgNfK4Wh
* docs: changelog and lessons for the v2.14.0 audit fixes
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016uNBQ6tRS5P1dRsgNfK4Wh
---------
Co-authored-by: Claude <noreply@anthropic.com>
Claude Code reserves plugin names starting with `claude-`, so
`claude plugin validate .` rejected the whole marketplace. Marketplace
entry and plugin.json now say `power-user-coach`; the skill, commands and
agent keep their names, so bare /claude-coach and /cs-claude-coach still
work. README and CHANGELOG carry the one-time uninstall/install migration.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vr9qnGkGfrCBiVt4WF94Hd
Claude Code runs a plugin command as /<plugin>:<name> or bare /<name>. A test
plugin on 2.1.306 confirmed /cs-foo and /tp:cs-foo run while /cs:foo matches
nothing, so every /cs:<name> in the docs, descriptions and hook messages sent
users to an unknown command.
- Commands named cs-<name> are now written /cs-<name>.
- c-level-agents and compliance-os skills with generic names (decide, brief,
freeze, ...) are written fully qualified, e.g. /c-level-agents:decide, so they
cannot collide with other commands.
- Five names that never existed were mapped to what they described:
/cs:setup and /cs:update -> /cs-onboard setup|update, /cs:decisions and
/cs:review -> /decision-logger ..., /cs:board -> /board-meeting,
/cs:unfreeze -> /c-level-agents:freeze release.
- CHANGELOG.md and audit/ keep the old spelling as history.
- New blocking gate scripts/check_command_refs.py keeps the tree clean.
- Counters: 100 marketplace plugins (loop-library).
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HiL4hfMQoQjiFmMUbPnpJJ
Review follow-up on PR #972: docs/plugins/index.md still described the old
"two approved extension fields in plugin.json" policy reversed by #954 —
rewritten to point at .claude-plugin/authoring-notes.json and the CI
hard-fail. 32 generated docs pages still linked the gitignored megaprompts/
tree via absolute GitHub URLs (404s); converted to the same annotated
plain-text form used in the source files.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Qgc6RYXWJPr5oW9DHU7zR4
- #954: strip non-spec source/attribution keys from all 39 plugin.json
manifests so Claude Code's validator accepts them; metadata preserved in
new .claude-plugin/authoring-notes.json sidecars; check_plugin_json.py now
hard-fails manifests carrying those keys and sanity-checks the sidecar;
CLAUDE.md ClawHub schema section updated to the new rule.
- #949: move the c-level-agents plugin out of c-level-advisor/ to a
top-level directory so the two marketplace sources no longer overlap;
updated marketplace.json source, homepage, descriptions, all
cross-references, docs, harness manifest, mirror-tree symlinks/indexes,
and rebased the moved files' relative links; domain counters trued up
(18 -> 19 domains).
- #933: replace dead links to the gitignored maintainer-local megaprompts/
tree with annotated plain-text references (44 files: SKILL.md, READMEs,
agents, commands).
- #931: DynamoDB on-demand pricing updated to post-Nov-2024 rates
($0.625/M writes, $0.125/M strongly consistent reads).
- #969: skill_security_auditor.py and the three dossier scripts reconfigure
stdout/stderr to UTF-8 (errors=replace) so legacy Windows codepages no
longer crash at print time; PYTHONUTF8=1 documented.
- #968: Windows Notes section in INSTALLATION.md + README pointer for the
core.symlinks mirror-tree checkout caveat.
- #924/#885 residuals: hook commands quote "${CLAUDE_PLUGIN_ROOT}" paths in
all plugin hooks.json/settings.json (space-safe roots); removed the stale
pre-rename status/review mirror symlinks and index entries left over from
the memory-status/memory-review rename.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Qgc6RYXWJPr5oW9DHU7zR4
- Rewrite docs/stylesheets/extra.css with a warm clay/coral design system:
aurora hero with eyebrow badge and stats strip, gradient card hairlines,
pill tool badges, numbered steps component, reduced-motion support
- Rewrite homepage copy: plain-language 'What is an Agent Skill?' section,
3-step how-it-works, all 17 domain cards, guides section, accurate stats
(337 skills / 17 domains / 66 plugins)
- Add missing markdown-html domain to generate-docs.py (17th domain) and
regenerate catalog: +12 new pages (md-document/md-review/md-slides skills,
cs-markdown-html-orchestrator + cs-scraping-architect agents, 7 commands)
- Fix skill-internal link rewriting in the generator (./SIBLING.md and
ALL-CAPS companion files now resolve to GitHub URLs) — mkdocs --strict
now passes with zero warnings
- Refresh stale counters site-wide (177/192/204/311/338 → 337) in skills
index, plugins index, getting-started, integrations, custom-gpts, guides
- Rebuild plugins page from live marketplace.json: 13 domain bundles + 53
standalone plugins, accurate bundle table and full 66-plugin listing
- Add Guides section to nav (5 existing SEO guide pages, URLs unchanged),
point homepage tool badges at tool-specific guides and real anchors
- Tighten site_description and JSON-LD keywords for 'agent skills' /
'agent plugins' queries; update announce bar to the markdown-html launch
- No existing slugs or URLs changed — all edits are additive or in-place
https://claude.ai/code/session_015bYZ97nV4oRb3LbxCRFVcP
The docs/plugins/index.md page was severely outdated, still showing
v2.1.x-era counts: 28 plugins, 9 domains, 177 skills, with a hardcoded
list of 10 standalone plugins. Missed entirely during PR #675's v2.7.0
docs sweep because it wasn't on the 7-step pipeline checklist.
Refreshed all numbers + content to current marketplace.json reality:
- 28 → 55 plugins
- 9 → 12 domains (added Productivity, Marketing top-level, Research)
- 177 → 311 skills
- v2.1.2 → v2.7.0 (Plugin Structure example + FAQ)
Plugin Architecture mermaid:
- Updated total to 55 plugins
- Added "v2.7.0 New Plugins" subgraph (12 standalone: 3 productivity,
1 marketing, 8 research incl. orchestrator)
- Renamed "Standalone (10)" → "Other Standalone (46 total)"
Content additions:
- New section: "v2.7.0 Standalone Plugins ✨" with 3 sub-tables
(Productivity / Marketing / Research) — all 12 new plugins with
install commands and one-line descriptions
- "Other Standalone Plugins" — now a programmatically-generated table
of 34 non-v2.7.0 standalones grouped by category (was hardcoded list
of 10 — many obsolete: content-creator, demand-gen, fullstack-engineer,
aws-architect, product-manager were never in marketplace.json)
- "All 55 Plugins at a Glance" — full table from marketplace.json data,
marks v2.7.0 entries with ✨
Domain Bundles section:
- Skill counts refreshed (engineering-skills 24→32, marketing-skills
43→44, ra-qm-skills 12→14, product-skills 12→13, pm-skills 6→9,
business-growth-skills 4→5, finance-skills 2→3)
- Engineering POWERFUL bundle now mentions 4 Matt Pocock skills
- C-Level Advisory bundle now mentions all 14 C-suite roles (was 9)
- RA/QM bundle now mentions EU AI Act + ISO 42001
FAQ additions:
- "What are the v2.7.0 plugins?" — explains the 12 new plugin scope
- "What is the research orchestrator?" — explains hybrid router pattern
+ distinct_from autoresearch-agent disambiguation
Plugin Structure section:
- Added documentation of the two approved extension fields per
CLAUDE.md ClawHub rule #5: `source` (Path-B provenance) and
`attribution` (MIT external derivatives)
Verification:
- MkDocs build PASSES (no plugins-related errors or warnings)
- 0 stale references remaining (28 plugins, 9 Domains, 177 Skills,
v2.1.2 all cleaned)
- 464 lines, 22 sections, all 55 plugins now represented
https://claude.ai/code/session_01FEUmeuYhmnxVFq7EZM8ZSw
Update all documentation to reflect 177 skills, 254 tools, 357 references,
16 agents, and 17 commands. Add 4 new skill pages, 1 agent page, and
2 command pages to MkDocs site. Sync Codex (156) and Gemini (218) indexes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The style directives used dark theme colors (#161b22, #30363d) making
text invisible in light mode. Removed to let Mermaid use theme defaults.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Create comprehensive plugins page with all 19 plugins (9 domain bundles + 10 standalone)
- Include architecture diagram, compatibility matrix, install commands for all 4 platforms
- Add plugin structure docs, FAQ, and complete reference table
- Add Plugins nav tab in mkdocs.yml
- Add plugins stat card (19) to homepage grid
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>