4 Commits
Author SHA1 Message Date
Santhi Prakash a598aab8d6 fix(hooks): stop auto-injecting the meta-skill on SessionStart (#569)
The plugin's SessionStart hook injected using-agent-skills/SKILL.md as
additionalContext on every session. Claude Code already discovers and
routes skills from their descriptions, so the hook stacks a second
router on the native one — the pattern docs/getting-started.md warns
against ("That creates two routers for the same task"), measured at
~3.5k wasted cache-creation tokens per session in #569.

Delete hooks/hooks.json (the registration; the plugin now ships no
hooks) and keep hooks/session-start.sh as a standalone script for hosts
without native skill routing, matching the fix shape suggested in the
issue. Update the hook header, CONTRIBUTING.md, codex-setup.md, and
gemini-cli-setup.md to match.
2026-09-15 19:21:06 +00:00
Santhi Prakash e728d3694c test(hooks): always run the session-start payload test, no jq skip guard
- Problem: the CI step skipped the session-start hook test when jq was
  missing, turning the whole step into a silent no-op on runners without
  jq — the same silently-green shape this PR exists to remove.
- Fix: run hooks/session-start-test.sh unconditionally. The script already
  detects jq itself (HAS_JQ) and asserts the hookSpecificOutput envelope on
  both code paths, so a jq-less runner now covers the hook's real
  jq-missing branch instead of skipping it.
- Verification: test passes with jq present; with jq removed from PATH
  (minimal PATH env, command -v jq empty) the hook emits the jq-is-required
  envelope and the test still passes; workflow YAML parses clean.
2026-08-28 03:31:33 +00:00
Santhi Prakash 7560bfa856 test(hooks): run session-start payload test in CI
- Problem: session-start-test.sh was not referenced by any workflow, so envelope regressions never failed CI.
- Fix: add a validate-skills step that runs the test and skips when jq is missing.
- Verification: bash hooks/session-start-test.sh → session-start JSON payload OK
2026-08-26 04:58:05 +00:00
Santhi PrakashandPaperclip 5b6389b215 test(hooks): assert SessionStart hookSpecificOutput envelope
#474 changed session-start.sh to the host-required
hookSpecificOutput.hookEventName/additionalContext shape. The
regression test still expected the old {priority, message} payload, so
`bash hooks/session-start-test.sh` fails on current main.

Sabotage: the pre-change test errors with "expected IMPORTANT priority,
got undefined". After this change both the jq and jq-missing paths pass.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-23 06:06:07 +00:00