Files
holocron/plugins/gitea/.apm/skills/gitea-workflow/SKILL.md
Defame1297 bedbd1d872 refactor(gitea-workflow): retrofit to the ADR-0020 context contract
Description 1012 -> 347 chars, body 582 -> 170 words, Gotchas 3 entries -> 1 at
22.9% of body. Clears the description FAIL and all four Vale CompositionNote
errors -- the last carriers in the corpus, so that rule now fires nowhere.

Cut the 'human-facing entry point and router' architecture note, the /gitea
migration history and the six-skill composition list; all were already in the
README or the routing table.

Split three mutually exclusive flows into a dispatch table keyed on invocation
shape, each branch self-contained in references/: status-checkin.md,
number-resolution.md, skill-index.md. Report stays in the body as the gate
common to every branch; each branch's own format moved to its file. The old
Step 1-4 numbering presented three alternatives as a sequence.

The description grew from an intermediate 283 chars on purpose: that draft had
dropped flow 3's trigger entirely, leaving the domain-routing index -- a third
of the skill -- reachable only through a tail clause whose grammatical subject
was the request rather than the skill. Both gates were green over that.

Boundary clauses are one arrow per target, so both resolve (#107: the resolver
extracts only the first target per clause and reports 1 of 1 on a clause naming
two). The local-git exclusion keeps its wording but drops the route to
git-workflow, which would not resolve in a gitea-only install.

Known residual: the dispatch conditions are stated twice, as a table and as
literal conditionals. That is #109 -- body-discipline.md mandates the literal
form while the ADR's cited exemplar, apm-workflow, uses a bare table plus one
summary line. Fixing it here would settle that contradiction in a skill rather
than in the spec, so it rides with #109.

Refs #99, #107, #109
2026-08-30 12:42:04 +00:00

45 lines
1.8 KiB
Markdown

---
name: gitea-workflow
description: >
Use when a Gitea request is general or ambiguous — a no-args repo check-in, a bare number that
could be an issue or a PR, or a capability whose owning skill is unclear. Resolves which
domain skill applies. Not an unambiguous issue request -> `gitea-issues`. Not an
unambiguous PR request -> `gitea-prs`. Not local git work with no Gitea component.
compatibility: Requires Gitea MCP server configured with a token; delegates all calls to the six
domain skills, which in turn require write:issue and write:repository scopes at minimum.
metadata:
category: integration
version: "0.1.3"
source_keys:
- gitea-mcp-repo
- gitea-mcp-slim-go
- context7-websites-gitea
---
## Gotchas
- **This skill never calls a Gitea MCP tool itself.** Every read and write goes through a domain skill. A needed `mcp__gitea__*` call that no domain skill exposes is a gap in that skill, not something to patch here.
## Dispatch
The invocation's shape selects exactly one branch.
| Invocation shape | Flow | Reference |
|---|---|---|
| No arguments, no specific request | Repo status check-in | `references/status-checkin.md` |
| A bare number, with neither "issue" nor "PR" said | Resolve which domain the number belongs to | `references/number-resolution.md` |
| A named capability whose owning skill is unclear | Route to the domain skill that owns it | `references/skill-index.md` |
If the invocation carries no specific request, read `references/status-checkin.md`.
If the request references a bare number and never says "issue" or "PR", read `references/number-resolution.md`.
If the request names a capability but not which skill owns it, read `references/skill-index.md`.
## Report
Every branch ends here. Present results in plain language; the branch's reference file carries its format.