bcquality/skills
Jesper Schulz-Wedde 3a07ee82d2 Allow leaf sub-skills to emit agent findings within their domain
The original DO contract pinned all agent reasoning to the super-skill:
'Agent findings are emitted only by super-skills... Leaf sub-skills MUST
NOT emit agent findings'. This funnels all agent reasoning across all 6
domains through a single super-skill pass, which is the root structural
cause of the attention dilution we have been chasing in BCAppsBCQuality
PRs #28 and #30:

- T1 standalone run showed al-security-review finds rimd-on-read-only
  cleanly when run alone, but emits zero agent findings because the
  contract forbids it. So obvious things like case-without-else (no
  matching KB article yet) get dropped on the floor.
- The al-code-review self-review pass keeps producing 0-1 agent findings
  per PR because it is asked to reason across 6 domains in one pass.

The fix is to move agent reasoning into the leaves, bounded by each
leaf's domain. Each leaf now has both knowledge-backed and agent-finding
permissions within its own scope; the super-skill self-review pass
becomes a smaller, cross-cutting role.

skills/do.md
  - Replace the 'only by super-skills' / 'MUST NOT' clause with a
    two-tier model: leaf sub-skills MAY emit agent findings strictly
    within their declared domain; super-skills MAY emit agent findings
    for cross-cutting concerns that span domains.
  - Update the encoding rules: leaf agent findings have references:[]
    and an agent:-prefixed id, no from-sub-skill (the leaf's own report
    carries the finding under its own skill.id). Super-skills set
    from-sub-skill='agent' for their own self-review findings; when
    rolling up leaf agent findings, they set from-sub-skill=<leaf-id>.
  - Clarify that 'MUST validate against knowledge' applies to super-
    skill self-review candidates only - leaves already validated within
    their domain when they decided to emit.

microsoft/skills/review/al-{security,performance,privacy,style,upgrade,
                                                            ui}-review.md
  - New paragraph after the confidence rules instructing each leaf to
    surface domain-specific agent findings when no knowledge file
    covers a defect the agent recognises from general AL knowledge.
  - Bound the scope: 'The scope is strictly <domain>; defects outside
    this domain belong to other leaves and MUST NOT be emitted here.'
  - Same validation requirement: check the worklist for a matching
    knowledge file first; if one exists, upgrade to a knowledge-backed
    finding instead.

microsoft/skills/review/al-code-review.md
  - Rewrite the 'Agent self-review pass' subsection. The pass is now
    explicitly for cross-cutting concerns that no single leaf could
    have surfaced because they span multiple domains. Domain-specific
    reasoning belongs in the leaves, not duplicated here.
  - Update the rollup behavior to acknowledge leaf-emitted agent
    findings: they are rolled up like any other sub-skill finding, with
    from-sub-skill set to the leaf id, and are not re-validated by the
    super-skill (the leaf already validated within its own domain).
  - Drop the 'Leaf sub-skills MUST NOT emit agent findings' line.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-28 11:42:38 +02:00
..
do.md Allow leaf sub-skills to emit agent findings within their domain 2026-05-28 11:42:38 +02:00
entry.md fix: correct layer precedence to custom > community > microsoft in both entry.md and read.md 2026-05-22 09:55:35 +00:00
read.md fix: correct layer precedence to custom > community > microsoft in both entry.md and read.md 2026-05-22 09:55:35 +00:00
README.md Introduce the entry-point skill (skills/entry.md) 2026-04-17 14:01:09 +02:00
write.md Add [all] sentinel to bc-version; apply to version-agnostic knowledge 2026-04-23 16:00:03 +02:00

BCQuality global skills

This folder contains the skills that are not owned by any single layer. There are two kinds:

  • The entry-point skill — the first skill an agent invokes at runtime.
  • The three meta-skill contracts — stable references that define what the rest of BCQuality means.

The entry-point skill

File Role
entry.md ENTRY — Given a task context, returns a dispatch record naming the action skill(s) to invoke. The agent's first call when pointed at BCQuality.

Routing logic lives in Entry, not in the orchestrator. An agent that knows only "invoke /skills/entry.md first" has enough to drive the rest of the repo.

The meta-skill contracts

# File Role Who reads it
1 read.md READ — Schema + Use. How to read a knowledge file: frontmatter fields, section semantics, matching rules, layer precedence, conflict resolution. Any agent or action skill that consumes knowledge files.
2 do.md DO — Action Skill contract. The Source → Relevance → Worklist → Action template and the structured output every action skill produces. Includes super-skill composition. Any agent invoking an action skill; every action-skill author.
3 write.md WRITE — New Knowledge. Authoring rules for knowledge files. Defers to read.md for the schema. Contributors (human or agent) adding or editing knowledge files. Not used during consumption.

READ and DO are read on demand — typically by the first action skill the agent executes after dispatch. They are not prerequisites for invoking Entry. WRITE is only used when scaffolding new content.

These contracts are stable. Changes require a PR approved by both maintainers.

For the end-to-end flow — from orchestrator trigger through to findings integration — see ../agent-consumption.md. For the high-level project framing, see ../README.md.