kyberforge: add authoring/audit support for hooks, instructions, and prompt primitives #94

Open
opened 2026-08-13 19:00:08 +00:00 by Claude · 0 comments
Collaborator

Surfaced by a subagent audit comparing kyberforge's authoring primitives (skill-author, agent-author, apm-workflow, agent-audit, skill-audit) against the apm docs at plugins/kyberforge/docs/research/docs/microsoft-apm/, run as a follow-up to #90's plugin→apm conversion work. Related to but not a duplicate of #90 — that issue is about the repo's own apm.yml usage; this one is about gaps in kyberforge's authoring-primitive coverage (what kyberforge can help an author correctly produce).

kyberforge has skill-author and agent-author, which cover two of apm's primitive types. It has no equivalent support for the other primitive types apm compiles: .apm/hooks/*.json, .apm/instructions/*.instructions.md, and .apm/prompts/*.prompt.md.

1. No authoring/audit support for .apm/hooks/*.json

plugins/kyberforge/.apm/skills/apm-workflow/references/configure.md states hook subdirectories "must be created manually as content is migrated into them" — there is no template, script, or reference doc anywhere in kyberforge for .apm/hooks/*.json. forge/SKILL.md lists "hook" as a buildable artifact type but routes it to the same generic apm-workflow configure step, which has no actual hooks content — so today it silently leads an author into a no-op.

plugins/kyberforge/docs/research/docs/microsoft-apm/hooks-primitive-schema.md documents real per-target reconstruction gotchas an author would get wrong by hand:

  • Copilot's version:1/camelCase field naming vs. Claude's shape, plus the bash+powershell script split
  • event-name casing remaps between compile targets
  • ${CLAUDE_PLUGIN_ROOT} placeholder rewriting in script paths

Recommended fix: add a minimal .apm/hooks/*.json template (nested-wrapper shape) plus a reference doc covering event-name casing and script-path placeholders — or, if hooks authoring is intentionally out of scope for now, say so explicitly in forge/SKILL.md instead of silently routing to a step with no actual content.

2. No authoring support for .apm/instructions/*.instructions.md or .apm/prompts/*.prompt.md

kyberforge has no author skill for these two primitive types at all. This is higher-priority than the hooks gap because Claude's compile step silently drops fields an author wouldn't know about without reading the schema docs closely:

  • description is dropped entirely for instructions on Claude compile
  • for prompts, only description/allowed-tools/model/argument-hint/arguments survive compile

Reference: plugins/kyberforge/docs/research/docs/microsoft-apm/instructions-primitive-schema.md and prompt-primitive-schema.md.

Minimum fix: document these compile-time field-dropping gotchas in apm-workflow's configure/compile reference docs so authors aren't surprised.
Fuller fix: a dedicated author skill (or an extension of an existing one) for these two primitive types.

Not part of this issue (verified correct in the same audit)

  • agent-author/agent-audit/ADR-0016's Claude-only-field-stripping allowlist chain — spot-checked against 4 generated .agent.md files across plugins, zero drift.
  • Skill primitive routing to .apm/skills/<name>/ — confirmed correct per agent-primitive-schema.md.
  • agent-audit/skill-audit's hand-rolled validation — correctly scoped; apm audit explicitly doesn't cover frontmatter/schema-level checks per testing-and-validation.md, so this isn't a reimplementation of an existing apm command.
Surfaced by a subagent audit comparing kyberforge's authoring primitives (`skill-author`, `agent-author`, `apm-workflow`, `agent-audit`, `skill-audit`) against the apm docs at `plugins/kyberforge/docs/research/docs/microsoft-apm/`, run as a follow-up to #90's plugin→apm conversion work. Related to but not a duplicate of #90 — that issue is about the repo's own `apm.yml` usage; this one is about gaps in kyberforge's authoring-primitive *coverage* (what kyberforge can help an author correctly produce). kyberforge has `skill-author` and `agent-author`, which cover two of apm's primitive types. It has no equivalent support for the other primitive types apm compiles: `.apm/hooks/*.json`, `.apm/instructions/*.instructions.md`, and `.apm/prompts/*.prompt.md`. ## 1. No authoring/audit support for `.apm/hooks/*.json` `plugins/kyberforge/.apm/skills/apm-workflow/references/configure.md` states hook subdirectories "must be created manually as content is migrated into them" — there is no template, script, or reference doc anywhere in kyberforge for `.apm/hooks/*.json`. `forge/SKILL.md` lists "hook" as a buildable artifact type but routes it to the same generic `apm-workflow` configure step, which has no actual hooks content — so today it silently leads an author into a no-op. `plugins/kyberforge/docs/research/docs/microsoft-apm/hooks-primitive-schema.md` documents real per-target reconstruction gotchas an author would get wrong by hand: - Copilot's `version:1`/camelCase field naming vs. Claude's shape, plus the `bash`+`powershell` script split - event-name casing remaps between compile targets - `${CLAUDE_PLUGIN_ROOT}` placeholder rewriting in script paths **Recommended fix:** add a minimal `.apm/hooks/*.json` template (nested-wrapper shape) plus a reference doc covering event-name casing and script-path placeholders — or, if hooks authoring is intentionally out of scope for now, say so explicitly in `forge/SKILL.md` instead of silently routing to a step with no actual content. ## 2. No authoring support for `.apm/instructions/*.instructions.md` or `.apm/prompts/*.prompt.md` kyberforge has no author skill for these two primitive types at all. This is higher-priority than the hooks gap because Claude's compile step silently drops fields an author wouldn't know about without reading the schema docs closely: - `description` is dropped entirely for instructions on Claude compile - for prompts, only `description`/`allowed-tools`/`model`/`argument-hint`/`arguments` survive compile Reference: `plugins/kyberforge/docs/research/docs/microsoft-apm/instructions-primitive-schema.md` and `prompt-primitive-schema.md`. **Minimum fix:** document these compile-time field-dropping gotchas in `apm-workflow`'s configure/compile reference docs so authors aren't surprised. **Fuller fix:** a dedicated author skill (or an extension of an existing one) for these two primitive types. ## Not part of this issue (verified correct in the same audit) - `agent-author`/`agent-audit`/ADR-0016's Claude-only-field-stripping allowlist chain — spot-checked against 4 generated `.agent.md` files across plugins, zero drift. - Skill primitive routing to `.apm/skills/<name>/` — confirmed correct per `agent-primitive-schema.md`. - `agent-audit`/`skill-audit`'s hand-rolled validation — correctly scoped; `apm audit` explicitly doesn't cover frontmatter/schema-level checks per `testing-and-validation.md`, so this isn't a reimplementation of an existing `apm` command.
Claude added this to the Kyberforge basics milestone 2026-08-13 19:00:08 +00:00
Claude added the Kind/Feature label 2026-08-13 19:00:08 +00:00
Sign in to join this conversation.