v0.4.17
HeartMuLa/heartlibv0.4.17Oct 3, 2026by github-actions[bot]
Upgrading?
AI Summary
Major plugin infrastructure changes including a dedicated plugin distribution branch, updated marketplace configuration, and refactoring of reference files and tool permissions.
Key Highlights
- Introduced `plugin` distribution branch for cleaner plugin installs.
- Updated marketplace.json to install from the `plugin` branch.
- Moved `common-ground` reference files to the `references` directory.
- Removed `Bash` from `allowed-tools` in security tools.
Breaking Changes
- Plugin install commands changed from `fullstack-dev-skills@jeffallan` to `fullstack-dev-skills@fullstack-dev-skills`.
- `common-ground` command moved reference files (implicit breaking change).
- `marketplace.json` author.email was invalid and updated.
New Features
- Docs site footer updated with maintainer credit.
- New `plugin` distribution workflow and script.
Full Release Notes
### Added
- Docs site footer: every page now ends with "Maintained by @jeffallan, Principal Consultant at Synergetic Solutions", linking to the GitHub profile and https://synergetic.solutions, via a Starlight `Footer` override that wraps the default footer
- `plugin` distribution branch: `scripts/build-plugin-dist.sh` assembles only what the plugin ships (`.claude-plugin/plugin.json`, `skills/`, `commands/`, `references/`, `README.md`, `LICENSE`) from committed HEAD, and `.github/workflows/publish-plugin.yml` rebuilds the `plugin` branch from it on release tags. The repo root previously shipped as the plugin, including the docs site, scripts, research, and contributor files, which the Claude plugin directory held for review. `main` keeps its layout so external links into `skills/` keep working. Covered by `scripts/test-build-plugin-dist.sh`, now run in CI and `make test` (#242)
- `CLAUDE.md`: "When Accepting Contributions" section documenting the maintainer procedure for external issues and PRs (the `gratitude` label on every contribution, fit discussion before merge, squash-merge subject format, separate changelog commit under `[Unreleased]`, count sync in the same push, and the `### Contributors` credit format at release). Previously this lived only in git history
### Changed
- Skill metadata: added `metadata.company: https://synergetic.solutions` to the 66 skills authored by @jeffallan (contributed skills unchanged), and documented the optional `company` field in CLAUDE.md. Those skills also end with a `[Synergetic Solutions](https://synergetic.solutions)` line directly above the Documentation backlink, so aggregators that render `SKILL.md` (skills.sh, etc.) show a company link; `syncSkillPages` strips it from the docs site build like the Documentation backlink
- `marketplace.json`: the plugin entry now installs from the `plugin` branch (`{"source": "github", "repo": "jeffallan/claude-skills", "ref": "plugin"}`) instead of the repo root, so `/plugin install` fetches only the shipped files (467 files, down from the full repository). The marketplace name and install command are unchanged (#242)
- `common-ground` command: moved its three reference files from `commands/common-ground/references/` to `references/common-ground/` and pointed `COMMAND.md` at them via `${CLAUDE_PLUGIN_ROOT}`. Files under `commands/` are treated as commands (the plugin directory flagged them for missing frontmatter), and a bare relative `references/` path in a command body has no documented base directory to resolve against, closing #244
- `security-reviewer` and `spec-miner`: removed `Bash` from `allowed-tools`. An unscoped `Bash` entry pre-approves every shell command while the skill is active, which the Claude plugin directory holds for policy review. spec-miner never runs shell commands; security-reviewer's scanners (and active tools such as nmap and sqlmap) now go through normal per-command user approval, closing #243
### Fixed
- Plugin metadata: `marketplace.json` listed `author.email` as `github@jeffallan`, which is not a valid address; replaced with a real contact address plus `author.url`. `plugin.json` now sets the same `author.email` and `author.url`, plus `homepage`, and both manifests point `homepage` at the docs site. `plugin.json` also sets the Claude plugin directory listing fields `documentationUrl`, `supportUrl` (GitHub issues), and `privacyPolicyUrl` (#246)
- `flutter-expert/SKILL.md`: the Riverpod provider example used `StateNotifierProvider`/`StateNotifier`, legacy since Riverpod 2.0 and contradicting the skill's own `references/riverpod-state.md`; replaced with the equivalent `NotifierProvider`/`Notifier` pattern and updated the troubleshooting table to match (#237)
- Plugin install commands in README, QUICKSTART, the docs site landing page, and generated `llms.txt` used `fullstack-dev-skills@jeffallan`, which fails because the marketplace is declared as `fullstack-dev-skills`; corrected to `fullstack-dev-skills@fullstack-dev-skills`, including the QUICKSTART uninstall troubleshooting step, closing #234 (#236)
- README banner (capsule-render URL) still displayed 66 skills after the v0.4.16 release; the counts are URL-encoded inside the image URL where no `<!-- SKILL_COUNT -->` marker can live, so `update-docs.py` never touched them. The script now rewrites the banner's `desc=` parameter from computed counts
### Contributors
- @shijian0-eng — Corrected the marketplace name in plugin install commands across the README, QUICKSTART, and docs site (#236)
- @johnjehiel — Reported the failing plugin install command (#234)
- @KoreaMango — Replaced the legacy Riverpod `StateNotifier` example in `flutter-expert` with the modern `Notifier` pattern (#237)
---
**Documentation:** https://jeffallan.github.io/claude-skills/
Related Repositories
public-apis/public-apis★ 491,176
A collective list of free APIs
NousResearch/hermes-agent★ 256,017
The agent that grows with you
yt-dlp/yt-dlp★ 200,192
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,525
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,703
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.