Why: plugin skills were written to the skill root unvalidated and the bundled recipes carried no name — both now go through the library spec validator (Agent-Native#28).
What:
internal/skills/validate.go: ValidateForPlugin (plugin context + located field errors) and builtin validation; Seed validates each SKILL.md before write.
host_v2.go: invalid plugin skills abort the plugin load (fail-closed, same shape as agents banned keys).
Recipes dogfood: name: added to all four bundled skills.
Why: plugin skills were written to the skill root unvalidated and the bundled recipes carried no name — both now go through the library spec validator (Agent-Native#28).
What:
- internal/skills/validate.go: ValidateForPlugin (plugin context + located field errors) and builtin validation; Seed validates each SKILL.md before write.
- host_v2.go: invalid plugin skills abort the plugin load (fail-closed, same shape as agents banned keys).
- Recipes dogfood: name: added to all four bundled skills.
- Architecture baseline gains backend/plugins→backend/skills (Dev PR carries it); nested pins at Agent-Native#28 / Agent-Squad#32.
Evidence: go test -count=1 ./... green; TestV2InvalidSkillRejected pins the fail-closed path.
Impact: invalid plugin skills now fail the load with a located error instead of landing silently.
Refs: Agent-Native#28, Agent-Squad#32, Agent-System-Documents#42
Why: plugin skills were written to the skill root unvalidated and the
bundled recipes carried no name — both now go through the library's
spec validator (name required + kebab-case + equals dir, description
required, known-keys whitelist).
Evidence: go test -count=1 ./... green; TestV2InvalidSkillRejected pins
the fail-closed path with plugin context + field location; Seed
validates each SKILL.md before write (recipes dogfood-compliant);
nested pins carry agent-native#28 (the validator).
Impact: invalid plugin skills now abort the plugin load with a located
error instead of landing silently; the architecture baseline gains
backend/plugins→backend/skills.
Refs: Agent-Native#28, Agent-Squad#32, N2 plan WP4
Why: internal/skills/validate.go calls ValidateSkillDocument, which
only exists on agent-native main after #28; the pin must move for CI
to build the new code.
Evidence: nested pins at 7425b32b / 9d3faefb (merged mains).
Impact: none beyond the pins.
Refs: Agent-Native#28, Agent-Squad#32
Why: internal/skills/validate.go calls ValidateSkillDocument, which
only exists on agent-native main after #28; the pin must move for CI
to build the new code.
Evidence: nested pins at 7425b32b / 9d3faefb (merged mains).
Impact: none beyond the pins.
Refs: Agent-Native#28, Agent-Squad#32
weichen
merged commit b44f78b09a into main2026-10-07 13:58:47 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Why: plugin skills were written to the skill root unvalidated and the bundled recipes carried no name — both now go through the library spec validator (Agent-Native#28).
What:
Evidence: go test -count=1 ./... green; TestV2InvalidSkillRejected pins the fail-closed path.
Impact: invalid plugin skills now fail the load with a located error instead of landing silently.
Refs: Agent-Native#28, Agent-Squad#32, Agent-System-Documents#42