body-discipline.md required every reference load to use the literal 'If X, read references/file.md' form and called anything else a generic pointer. ADR-0020's own cited dispatch exemplar, apm-workflow, uses a bare table plus one closing line, so an author could not satisfy both -- and the rule reliably produced duplication in exactly the bodies the contract exists to keep short. Resolves #109 with its option 1: a table row already pairs a condition with a target, so where a body dispatches, the table is the wiring. The literal form is what a body needs when it loads a reference without a table. Two corrections to the issue as filed. There is no Vale conflict -- PaddingPhrase.yml only matches 'see references/ for more info' and never fired on the exemplar, so this is a one-file prose fix and no rule changes. And gitea-workflow carried the predicted duplication: a three-row table restated underneath as three conditionals. Removed, body 227 -> 148 words. Closes #109
gitea-workflow
Human-facing entry point and router for the Gitea integration.
What it does
This skill is the conversational front door to the Gitea suite — it replaces the old flat /gitea skill. On its own it never calls a Gitea MCP tool; it composes the six domain skills (gitea-issues, gitea-labels-milestones, gitea-prs, gitea-branches, gitea-files, gitea-releases). It handles the no-args status check-in (open issues + open PRs), which preserves the original flat /gitea skill's default behavior; resolves ambiguous issue-or-PR numbers before dispatching (issues and PRs share one number space); and points a user or agent to the right domain skill when it's unclear which one applies.
Usage
/gitea-workflow
Invoke with no arguments for a status check-in, with a bare number to resolve and show issue or PR detail, or with a general request to be routed to the right domain skill.
Files
| File | Purpose |
|---|---|
SKILL.md |
Skill instructions for agents — Gotchas, the dispatch table keyed on invocation shape, and the common report gate every branch ends in — each branch's own format lives with its reference file |
references/status-checkin.md |
Loaded when the skill is invoked with no specific request — the two parallel open-issue/open-PR reads and the two-section report |
references/number-resolution.md |
Loaded when the request carries a bare number that says neither "issue" nor "PR" — the is_pull resolution call and the hidden-permission-error 404 |
references/skill-index.md |
Loaded when the request names a capability but not which skill owns it — the six-skill routing index |
references/sources.md |
Research sources backing the routing/status guidance |