Repository navigation
Replies: 1 comment
|
Canonical thread: consolidating this RFC into #57 (comment) Revision: drop |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Summary
Proposal to document a recommended
metadata.activationkey: normalized kebab-case hook lifecycle event names that skill authors can declare inSKILL.mdfrontmatter, with a mapping table to host-specific hook config keys (Claude Code, Cursor, Codex).This is Phase 1 metadata convention work — not hook payload formats, not matchers, not requiring every host to implement every event yet.
Problem
The Agent Skills spec defines optional
metadatafor author/client extensions, but there is no portable vocabulary for declaring which agent hook lifecycle event should run a skill.Hosts use incompatible config key names today:
session-startSessionStartsessionStartSessionStartpost-tool-usePostToolUsepostToolUsePostToolUsepre-tool-usePreToolUsepreToolUseafter-file-editafterFileEditSkill authors currently duplicate host-specific hook registration knowledge in prose, READMEs, or tool-specific sidecars — which breaks portability.
Related but distinct threads
includesfrontmatter — multi-skill repo bundling; complementary extended-frontmatter work.I searched Issues/Discussions for
metadata.activation, hook lifecycle normalization, andsession-start/post-tool-usemetadata conventions and did not find an equivalent proposal.Proposal
Add a metadata conventions appendix (or companion doc) documenting:
Allowed values (registry excerpt)
metadata.activationper-situationdescription/ explicit invokesession-startsession-endpre-tool-usepost-tool-usepost-tool-use-failurebefore-submit-promptbefore-shell-execution/after-shell-executionbefore-mcp-execution/after-mcp-executionbefore-read-file/after-file-editsubagent-start/subagent-stoppre-compactstopafter-agent-response/after-agent-thoughtbefore-tab-file-read/after-tab-file-editFull host mapping table (Claude / Cursor / Codex equivalents, including
—where no documented equivalent) is in the reference doc below.Authoring rules
per-situation— no hook registration implied.metadata.activationto the normalized event; hosts/tooling map to native hook keys at registration time.Write|Editonpost-tool-use) stay a hook registration concern — optional futuremetadata.activation-matcher.disable-model-invocation, CursoralwaysApply, or"Internal skill:"description prefixes — those answer who may invoke, not which hook event.Examples
Opt-in persona (description-triggered):
Discipline injected at chat open:
Non-goals (phase 1)
activationto a top-level required frontmatter field (defer until hosts converge)Compatibility
per-situationmetadatakeys already ignored by spec-compliant clientsname,description)Suggested spec text
Suggested rollout
Phase 1: Document as recommended metadata convention (this RFC).
Phase 2: Hosts and tooling read
metadata.activationand map to native hook config (e.g.cyber-skills hook register).Reference implementation
Questions for maintainers
All reactions