bcquality/skills/README.md
Jesper Schulz-Wedde 1cb2b32afe Add AL implementation guidance skill
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-09-16 13:20:57 +02:00

68 lines
4.4 KiB
Markdown

# BCQuality global skills
This folder contains BCQuality's layer-independent protocol files and the
host-native adapters used by standalone plugin installations.
The protocol files have 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.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.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.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.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.
## Standalone plugin adapter
| Path | Role |
|---|---|
| [`al-code-review/SKILL.md`](al-code-review/SKILL.md) | Exposes BCQuality through the standard `SKILL.md` format when this repository is installed as a plugin. |
| [`al-development-plan/SKILL.md`](al-development-plan/SKILL.md) | Enriches an existing AL plan read-only through the standard `SKILL.md` format; does not generate a plan or implement code. |
| [`al-implementation-guidance/SKILL.md`](al-implementation-guidance/SKILL.md) | Consults BCQuality read-only at bounded implementation checkpoints; the consuming agent still owns edits, tests, and delivery. |
Each adapter is deliberately thin. It translates the caller's request into an
Entry task context, then follows Entry's dispatch without owning routing,
review, index, or output policy. It is not an action skill, is not considered
by Entry, and should not accumulate behavior already defined by `entry.md`,
`read.md`, `do.md`, or a layered action skill.
This gives the two skill formats distinct roles:
- `skills/al-code-review/SKILL.md` and
`skills/al-development-plan/SKILL.md` are the public host integration
surfaces for a standalone plugin installation.
- `microsoft/skills/review/al-code-review.md` is BCQuality's internal
Microsoft-layer super-skill for coordinating a broad AL review.
- `microsoft/skills/development/al-development-plan.md` is the read-only
knowledge-enrichment interface for existing plans. Consumers own format
normalization, planning, implementation, and delivery.
- `microsoft/skills/development/al-implementation-guidance.md` is the focused
implementation-time consultation interface. It uses the current diff and
decision context, and never becomes an implementation workflow.
Each host adapter deliberately shares its name with the internal action skill
for the same operation. Their locations distinguish the host integration from
the layered policy. `al-code-review` remains distinct from BC-ALAgents'
separately installed `al-review` skill, avoiding a collision in hosts that use
one shared skill inventory. References from adapters to Entry, and from a
dispatched super-skill to its leaves, are intentional progressive disclosure.
This avoids registering every internal protocol file as an ambient host skill
while allowing each review domain to run in an isolated context.
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 [How agents consume BCQuality](../docs/agent-consumption.md). For the high-level project framing, see [`../README.md`](../README.md).