feat(discovery): frontmatter guard for flat agents/commands docs

A flat .md under agents/ or commands/ whose frontmatter contains none of
the definition keys (name, description, mode, agent, model,
argument-hint, temperature, permission) is documentation, not an item:
discovery marks it Skipped with a recorded warning — it never enters a
selection, inventory, availability listing or collision index, but the
warning lands in the lockfile and add/update/select reports like other
discovery warnings. Skills keep their folder+SKILL.md marker, MCP keeps
the .yaml marker. README gains the canonical layout table and the
migration note for folder-style agent repos.

Closes beads: agent-lib-2n7
This commit is contained in:
2026-08-23 15:17:46 +02:00
parent 876ff1c6b9
commit 875a3c8aae
8 changed files with 269 additions and 14 deletions
+1 -1
View File
@@ -226,7 +226,7 @@ func availableSince(old map[string]map[string]bool, items []discovery.Item, sele
inSelection := idSet(selected)
out := map[string][]string{}
for _, it := range items {
if old[it.Type][it.UpstreamID] || inSelection[it.Type][it.UpstreamID] {
if it.Skipped || old[it.Type][it.UpstreamID] || inSelection[it.Type][it.UpstreamID] {
continue
}
out[it.Type] = append(out[it.Type], it.UpstreamID)