Commit Graph
17 Commits
Author SHA1 Message Date
Magnus HedemarkGitHubmagnus919 <magnus919>
a617ccaf2d feat: validate eval manifest coverage states (#129)
* feat: validate eval manifest coverage states

* test: create fixture directory explicitly

---------

Co-authored-by: magnus919 <magnus919>
2026-07-24 18:13:32 -04:00
Magnus HedemarkGitHubmagnus919 <magnus919>
547aed2db9 fix(verification): preserve requested source fidelity (#127)
Co-authored-by: magnus919 <magnus919>
2026-07-24 16:42:39 -04:00
Magnus HedemarkandGitHub 1e10a56199 fix: complete eval ratchet verification (#109)
Closes #102

Authored by Jasper (AI agent on behalf of @magnus919).
2026-07-22 02:16:36 -04:00
Magnus HedemarkandGitHub fc8a8952ee fix: enforce eval coverage ratchet for complete changed skill directories (#107)
Wire the Phase 3 ratchet into CI by passing the PR base SHA to
eval-coverage.py --modified-from. Expand changed-skill detection from
SKILL.md-only diffs to the entire skill directory so that references,
scripts, fixtures, README, and eval manifest edits all count as
modifications. Add a monotonic coverage floor that fails CI when
coverage decreases between the base and candidate revisions.

Add script tests for ratchet-mode detection and coverage-decrease
behaviour. Update AGENTS.md and CONTRIBUTING.md to describe the
behaviour CI now enforces.

Closes #102

Signed-off-by: Magnus Hedemark <magnus919@pm.me>
2026-07-22 01:51:57 -04:00
Magnus HedemarkandGitHub be0c8df5e2 feat: eval coverage ratchet — gate new skills, track coverage, ratchet thresholds (#99)
Phase 1: New skills (not in grandfathered-skills.txt) must have
evals/evals.json with at least 5 test cases. All 107 existing skills
are grandfathered.

Phase 2: scripts/eval-coverage.py reports coverage (skills with/without
evals, case counts, reference-priority sorting). Added as informational
CI step.

Phase 3: Ratchet thresholds — at 25% coverage, modified skills without
evals get a warning; at 50%, they fail CI. Enforced via
--modified-from flag for PR-scoped checks.

Closes #90
2026-07-21 21:03:21 -04:00
Magnus HedemarkGitHubmagnus919 <magnus919>
dd457f1170 fix: close skill quality lint gaps (#98)
Co-authored-by: magnus919 <magnus919>
2026-07-21 20:47:16 -04:00
Magnus HedemarkGitHubmagnus919 <magnus919>
c092a14c8e feat: validate changed skill descriptions (#97)
Co-authored-by: magnus919 <magnus919>
2026-07-21 20:00:38 -04:00
Magnus HedemarkGitHubmagnus919 <magnus919>
cde4a67ef4 feat: add generated llms.txt skill index (#93)
Generate a root discovery catalog from public skill frontmatter and fail CI
when the committed index drifts. Add a fixture-based regression test for
bundle paths, nested-helper exclusion, normalized descriptions,
deterministic ordering, and stale-file recovery.

Closes #78

AI-assisted: yes (Jasper/Hermes Agent)

Co-authored-by: magnus919 <magnus919>
2026-07-21 17:48:38 -04:00
Magnus HedemarkandGitHub 3d650dad77 fix: correct bundle skill paths in Codex plugin manifest (#91)
The generator used File.basename which stripped the bundles/ prefix,
emitting ./neckbeard instead of ./bundles/neckbeard. Codex discovered
92/96 skills — the 4 bundle entrypoints were missing because their
paths didn't resolve.

Verified with live Codex CLI: all 96 skills now discoverable.

AI-assisted: yes (Jasper/Hermes Agent)
2026-07-21 14:20:56 -04:00
Magnus HedemarkandGitHub 0f2aaf1583 feat: add Codex plugin packaging (single-plugin, metadata-only) (#83)
* feat: add Codex plugin packaging (single-plugin, metadata-only)

Adds .codex-plugin/plugin.json with a skills array listing all public
skills, plus .agents/plugins/marketplace.json for one-command install:

  codex plugin marketplace add magnus919/agent-skills
  codex plugin install magnus919

Same pattern as mattpocock/skills — one plugin, explicit skill paths,
no dist/, no curation, no duplication. Bundle-internal helpers excluded
by the shared glob. CI check mode fails if the manifest drifts.

Closes #79

AI-assisted: yes (Jasper/Hermes Agent)

* chore: trigger CI

* chore: regenerate Codex plugin manifest to include neckbeard bundle
2026-07-21 03:13:20 -04:00
Magnus HedemarkandGitHub 3c8b6cd71c feat: add Claude Code plugin marketplace (metadata-only catalog) (#80)
Adds .claude-plugin/marketplace.json exposing all 95 public skills as
installable plugins via /plugin marketplace add magnus919/agent-skills.

Metadata-only approach: each entry uses source './' + skills ['./<name>']
+ strict:false, so no per-skill plugin.json or directory restructuring is
needed. Bundle-internal helper skills are excluded; bundle entrypoints are
included.

- scripts/gen-claude-marketplace.rb: generates and validates the manifest
- CI step fails if marketplace.json drifts from the skill tree
- README: Claude Code install instructions

Closes #76

AI-assisted: yes (Jasper/Hermes Agent)
2026-07-21 02:17:35 -04:00
Magnus HedemarkandGitHub bd66202e06 fix: remove invalid Hermes skill metadata (#67) 2026-07-19 01:04:33 -04:00
Magnus HedemarkandGitHub 7243433565 chore: align governance with shipped artifact types (#62)
Closes #61\n\nImplemented and independently reviewed with AI assistance from Jasper on behalf of Magnus Hedemark.
2026-07-17 23:37:37 -04:00
Magnus HedemarkandGitHub 139e7d87c4 docs: enforce complete root skill catalog coverage (#42)
Closes #39
2026-07-13 12:32:53 -04:00
Magnus HedemarkandGitHub e0857d385a docs: enforce alphabetical root skill catalog order (#38)
Closes #28
2026-07-13 12:02:53 -04:00
Jasper (AI Assistant) 637c12d832 fix: align skill audit conventions (#101) 2026-07-11 15:40:50 -04:00
Magnus Hedemark a5f7e74972 fix: resolve skill audit findings 2026-07-11 09:24:58 -04:00