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
Footeroverride that wraps the default footer plugindistribution branch:scripts/build-plugin-dist.shassembles only what the plugin ships (.claude-plugin/plugin.json,skills/,commands/,references/,README.md,LICENSE) from committed HEAD, and.github/workflows/publish-plugin.ymlrebuilds thepluginbranch 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.mainkeeps its layout so external links intoskills/keep working. Covered byscripts/test-build-plugin-dist.sh, now run in CI andmake test(#242)CLAUDE.md: "When Accepting Contributions" section documenting the maintainer procedure for external issues and PRs (thegratitudelabel on every contribution, fit discussion before merge, squash-merge subject format, separate changelog commit under[Unreleased], count sync in the same push, and the### Contributorscredit format at release). Previously this lived only in git history
Changed
- Skill metadata: added
metadata.company: https://synergetic.solutionsto the 66 skills authored by @Jeffallan (contributed skills unchanged), and documented the optionalcompanyfield in CLAUDE.md. Those skills also end with a[Synergetic Solutions](https://synergetic.solutions)line directly above the Documentation backlink, so aggregators that renderSKILL.md(skills.sh, etc.) show a company link;syncSkillPagesstrips it from the docs site build like the Documentation backlink marketplace.json: the plugin entry now installs from thepluginbranch ({"source": "github", "repo": "jeffallan/claude-skills", "ref": "plugin"}) instead of the repo root, so/plugin installfetches only the shipped files (467 files, down from the full repository). The marketplace name and install command are unchanged (#242)common-groundcommand: moved its three reference files fromcommands/common-ground/references/toreferences/common-ground/and pointedCOMMAND.mdat them via${CLAUDE_PLUGIN_ROOT}. Files undercommands/are treated as commands (the plugin directory flagged them for missing frontmatter), and a bare relativereferences/path in a command body has no documented base directory to resolve against, closing #244security-reviewerandspec-miner: removedBashfromallowed-tools. An unscopedBashentry 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.jsonlistedauthor.emailasgithub@jeffallan, which is not a valid address; replaced with a real contact address plusauthor.url.plugin.jsonnow sets the sameauthor.emailandauthor.url, plushomepage, and both manifests pointhomepageat the docs site.plugin.jsonalso sets the Claude plugin directory listing fieldsdocumentationUrl,supportUrl(GitHub issues), andprivacyPolicyUrl(#246) flutter-expert/SKILL.md: the Riverpod provider example usedStateNotifierProvider/StateNotifier, legacy since Riverpod 2.0 and contradicting the skill's ownreferences/riverpod-state.md; replaced with the equivalentNotifierProvider/Notifierpattern and updated the troubleshooting table to match (#237)- Plugin install commands in README, QUICKSTART, the docs site landing page, and generated
llms.txtusedfullstack-dev-skills@jeffallan, which fails because the marketplace is declared asfullstack-dev-skills; corrected tofullstack-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, soupdate-docs.pynever touched them. The script now rewrites the banner'sdesc=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
StateNotifierexample influtter-expertwith the modernNotifierpattern (#237)
Documentation: https://jeffallan.github.io/claude-skills/