-
Notifications
You must be signed in to change notification settings - Fork 1
Round 44 batch 4 of 6: GitHub surfaces + agent issue workflow #84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,295 @@ | ||||||||||
| --- | ||||||||||
| name: github-surface-triage | ||||||||||
| description: Capability skill ("hat") — ten GitHub surfaces under one cadence: Pull Requests, Issues, Wiki, Discussions, Repo Settings, Copilot coding-agent settings, Agents tab, Security, Pulse / Insights, and Pages. Wear this on every round-close (ten-step sweep) and on every tick that interacts with any surface (opportunistic on-touch). Codifies the classification taxonomies and fire-history append discipline declared in `docs/AGENT-GITHUB-SURFACES.md` so agents do not rediscover the shapes. Aaron 2026-04-22 directive — *"we need skills for all this so you are not redicoverging"*. | ||||||||||
| record_source: "architect, round 44" | ||||||||||
| load_datetime: "2026-04-22" | ||||||||||
| last_updated: "2026-04-22" | ||||||||||
| status: active | ||||||||||
| bp_rules_cited: [BP-11] | ||||||||||
| --- | ||||||||||
|
|
||||||||||
| # GitHub Surface Triage — Procedure | ||||||||||
|
|
||||||||||
| Capability skill. No persona. Invoked by the Architect | ||||||||||
| (Kenji) on round-cadence and by any agent on on-touch. | ||||||||||
| Authoritative prose lives in | ||||||||||
| [`docs/AGENT-GITHUB-SURFACES.md`](../../../docs/AGENT-GITHUB-SURFACES.md); | ||||||||||
| this file is the **executable checklist**. If the doc and | ||||||||||
| this skill disagree, the doc wins and the skill gets | ||||||||||
| corrected. | ||||||||||
|
|
||||||||||
| ## When to wear | ||||||||||
|
|
||||||||||
| - **Round-close, mandatory.** Every round-close runs the | ||||||||||
| ten-surface sweep once (steps below). Same cadence as | ||||||||||
| `docs/ROUND-HISTORY.md` capture. | ||||||||||
| - **Opportunistic on-touch.** Any tick that comments on a | ||||||||||
| PR, labels an issue, edits the wiki, replies to a | ||||||||||
| discussion, toggles a repo setting, dispatches an | ||||||||||
| Agents-tab session, dismisses a security alert, or | ||||||||||
| ships a Pages change: log one row to that surface's | ||||||||||
| fire-history before ending the tick. | ||||||||||
| - **Human-ask absorption.** When Aaron names a new GitHub | ||||||||||
| surface, add it to the doc first, then extend this | ||||||||||
| skill, then seed its fire-history file. Never the | ||||||||||
| reverse order (avoids orphan skill-sections). | ||||||||||
|
|
||||||||||
| ## Surface inventory (ten, in sweep order) | ||||||||||
|
|
||||||||||
| | # | Surface | Cadence | Fire-history path | | ||||||||||
| |---|---|---|---| | ||||||||||
| | 1 | Pull Requests | round + on-touch | `docs/hygiene-history/pr-triage-history.md` | | ||||||||||
| | 2 | Issues | round + on-touch | `docs/hygiene-history/issue-triage-history.md` | | ||||||||||
| | 3 | Wiki | round + on-sync | `docs/hygiene-history/wiki-history.md` | | ||||||||||
| | 4 | Discussions | round + on-reply | `docs/hygiene-history/discussions-history.md` | | ||||||||||
| | 5 | Repo Settings | round (diff-driven) | snapshot in `docs/github-repo-settings-snapshot.md` | | ||||||||||
| | 6 | Copilot coding-agent | round (sub-read of 5) | co-logged to 5's snapshot | | ||||||||||
| | 7 | Agents tab | watch-only for now | parked research row — no triage | | ||||||||||
| | 8 | Security | round + on-alert | `docs/hygiene-history/security-triage-history.md` | | ||||||||||
| | 9 | Pulse / Insights | round (read-only) | snapshot in `docs/hygiene-history/pulse-snapshot.md` | | ||||||||||
| | 10 | Pages | round + on-publish | `docs/hygiene-history/pages-history.md` (seeded when adopted) | | ||||||||||
|
|
||||||||||
| ## Classification shapes (cheat sheet) | ||||||||||
|
|
||||||||||
| Full definitions live in `docs/AGENT-GITHUB-SURFACES.md`. | ||||||||||
| Carry these shape-labels into the fire-history `shape` | ||||||||||
| column verbatim so downstream greps work. | ||||||||||
|
|
||||||||||
| - **PRs (7):** `merge-ready` / `has-review-findings` / | ||||||||||
| `behind-main` / `awaiting-human` / `experimental` / | ||||||||||
| `large-surface` / `stale-abandoned`. | ||||||||||
| - **Issues (4):** `triaged-already` / `needs-triage` / | ||||||||||
| `stale-claim` / `superseded-closable`. | ||||||||||
| (Plus `round-close-sweep` as the batch-row shape.) | ||||||||||
| - **Wiki (3):** `in-sync` / `drifted` / `orphaned`. | ||||||||||
| - **Discussions (4):** `needs-response` / | ||||||||||
| `tracked-already` / `convert-to-issue` / | ||||||||||
| `close-archive`. | ||||||||||
| - **Repo Settings / Copilot coding-agent (3):** | ||||||||||
| `aligned` / `drifted` / `orphaned`. | ||||||||||
| - **Agents tab:** `watch` (only shape until adopted via | ||||||||||
| ADR). | ||||||||||
| - **Security:** `P0-secret` / `P0` / `P1` / `P2` / | ||||||||||
| `dismiss` — with P0-secret blocking all factory work | ||||||||||
| until rotated. | ||||||||||
| - **Pulse:** read-only, no shapes — append a snapshot | ||||||||||
| block per round-close. | ||||||||||
| - **Pages:** `unpublished` (current) / `published-in-sync` / | ||||||||||
| `published-drifted` / `deploy-broken`. | ||||||||||
|
|
||||||||||
| ## Round-close mechanical sweep (ten steps) | ||||||||||
|
|
||||||||||
| Run in order. Each step emits: (a) classification, (b) | ||||||||||
| action or no-op, (c) one fire-history row (or snapshot | ||||||||||
| append). | ||||||||||
|
|
||||||||||
| ### Step 1 — Pull Requests | ||||||||||
|
|
||||||||||
| ```bash | ||||||||||
| gh pr list --state open \ | ||||||||||
| --json number,title,author,labels,isDraft,mergeable,mergeStateStatus,createdAt,updatedAt | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| Classify each PR against the seven shapes (higher in the | ||||||||||
| list wins on multi-match). Act per the playbook. Append | ||||||||||
| one row per PR to `docs/hygiene-history/pr-triage-history.md`. | ||||||||||
|
|
||||||||||
| ### Step 2 — Issues | ||||||||||
|
|
||||||||||
| ```bash | ||||||||||
| gh issue list --state open \ | ||||||||||
| --json number,title,author,labels,createdAt,updatedAt | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| Classify against the four issue shapes. If the list is | ||||||||||
| empty, append a `round-close-sweep` batch row with | ||||||||||
| `shape: round-close-sweep`, `action: none (zero open)`. | ||||||||||
|
|
||||||||||
| ### Step 3 — Wiki | ||||||||||
|
|
||||||||||
| Published surface lives at | ||||||||||
| `https://github.com/<owner>/<repo>/wiki`. For each page, | ||||||||||
| compare the `Last synced from repo commit <SHA>` footer | ||||||||||
| against `git rev-parse HEAD`. If the wiki has zero pages, | ||||||||||
| record the `unpublished` state explicitly — it is not | ||||||||||
| "in-sync". | ||||||||||
|
Comment on lines
+114
to
+115
|
||||||||||
| record the `unpublished` state explicitly — it is not | |
| "in-sync". | |
| record the wiki as `orphaned` explicitly — it is not | |
| `in-sync`. |
Copilot
AI
Apr 22, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cross-reference mismatch: this skill references docs/FACTORY-HYGIENE.md row #45 as the "ten-surface triage cadence", but the hygiene table defines GitHub surface triage cadence as row #48. Please update the row number so the reference remains accurate and navigable.
| - `docs/FACTORY-HYGIENE.md` row #45 — ten-surface triage | |
| - `docs/FACTORY-HYGIENE.md` row #48 — ten-surface triage |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,64 @@ | ||
| --- | ||
| name: Backlog item | ||
| about: Propose work — a feature, infra fix, research note, skill, anything | ||
| title: "[backlog] " | ||
| labels: backlog | ||
| assignees: '' | ||
|
|
||
| --- | ||
|
|
||
| *Thanks for proposing — first-time contributor (human or | ||
| AI)? Welcome. Fill what you know. An agent will triage | ||
| priority and effort on first touch; you don't need to | ||
| guess.* | ||
|
|
||
| ## What this produces | ||
|
|
||
| One sentence. When this issue closes, what will exist that | ||
| doesn't exist now? (The deliverable IS the acceptance | ||
| criterion.) | ||
|
|
||
| ## Category (check one) | ||
|
|
||
| - [ ] **feature** — user-visible library capability | ||
| - [ ] **infra** — CI, tooling, install, build | ||
| - [ ] **research** — produces a `docs/research/<slug>.md` | ||
| - [ ] **skill** — new / tuned `.claude/skills/<slug>/` | ||
| - [ ] **docs** — documentation fix or new doc | ||
| - [ ] **hygiene / debt** — cleanup work | ||
| - [ ] **other** — explain below | ||
|
|
||
| ## Why now | ||
|
|
||
| Short. What does closing this unlock? (Link any | ||
| harsh-critic finding, paper gap, rails-health report, | ||
| DMAIC cycle, or Aaron-ask that made this visible.) | ||
|
|
||
| --- | ||
|
|
||
| ### Optional — helpful if you know it, skip if not | ||
|
|
||
| - **Priority:** P0 (urgent; blocks another P0) / P1 (next | ||
| round; buys a publication target) / P2 (soon; | ||
| steady-state improvement) / P3 (speculative) | ||
| - **Effort:** S (under a day) / M (1-3 days) / L (3+ days | ||
| or paper-grade) | ||
| - **Acceptance criteria** (observable signals): | ||
| a failing test that now passes, a doc landing, a | ||
| benchmark delta, a skill or hygiene row firing. | ||
| - **Links:** related ADR, parent spec, `docs/BACKLOG.md` | ||
| row, prior art, upstream reference. | ||
|
|
||
| --- | ||
|
|
||
| *An agent will mirror this to `docs/BACKLOG.md` (or | ||
| `docs/FACTORY-HYGIENE.md` / `docs/DEBT.md` / | ||
| `docs/INTENTIONAL-DEBT.md` per category) if the work is | ||
| adopted, and close the loop with the landing commit SHA. | ||
| Full protocol: | ||
| [`docs/AGENT-ISSUE-WORKFLOW.md`](../../docs/AGENT-ISSUE-WORKFLOW.md).* | ||
|
|
||
| *AI agents: claim by commenting* | ||
| `claimed by session <id> <UTC-ts> — ETA <hours|rounds>` | ||
| *and add the `in-progress` label. Release when landed or | ||
| abandoned. 24-hour stale-claim window.* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This skill uses tables that start rows with
||(e.g., the surface inventory table). In standard GitHub Markdown that produces an extra empty first column and is inconsistent with the table style used elsewhere in the repo (single leading|). Consider switching to|-prefixed tables so the checklist renders cleanly.