feat: add docs-triage-guard skill to prevent auto-coding design docs - #153
feat: add docs-triage-guard skill to prevent auto-coding design docs#153maruiz93 wants to merge 1 commit into
Conversation
ADR and design-doc issues were being auto-promoted to ready-to-code via the documentation category, triggering the code agent on work that requires human discussion. This adds a skill that teaches the triage agent to classify these as category "other" with design-doc and documentation labels via label_actions, routing them to triaged instead. Uses base composition (ADR 0045) to extend the upstream triage harness with just the skill — no schema fork or post-script override. Replaces the approach from #149 (closed per review feedback). Relates to fullsend-ai/agents#260, fullsend-ai/agents#618. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Marta Anon <manon@redhat.com>
PR Summary by QodoAdd docs-triage-guard skill to route design docs to human review
AI Description
Diagram
High-Level Assessment
Files changed (3)
|
Code Review by Qodo
Context used✅ Compliance rules (platform):
4 rules 1. Hash updater breaks
|
| - name: triage | ||
| source: harness/triage-custom.yaml |
There was a problem hiding this comment.
1. Hash updater breaks 🐞 Bug ⚙ Maintainability
hack/update-agent-hashes.sh greps any harness/*.yaml substring from config.yaml and then tries to fetch it from the fullsend-ai/agents repo; the new local source: harness/triage-custom.yaml matches this and will cause the script to curl a non-existent URL and exit non-zero. This breaks the repo’s standard workflow for bumping the pinned fullsend-ai/agents SHA.
Agent Prompt
## Issue description
`hack/update-agent-hashes.sh` currently assumes every `harness/*.yaml` occurrence in `config.yaml` is a remote path inside the `fullsend-ai/agents` repo, but `config.yaml` now includes a repo-local harness (`harness/triage-custom.yaml`). The script should only hash/update remote agents harness URLs (or at least skip local `source:` entries), otherwise `curl -sfL` fails and the script exits.
## Issue Context
The config change is intentional (local wrapper harness). The maintenance script should adapt so future SHA bumps remain smooth.
## Fix Focus Areas
- hack/update-agent-hashes.sh[14-24]
- config.yaml[43-44]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
| base: https://raw.githubusercontent.com/fullsend-ai/agents/a0fec953cd3c8b877af9821551b503df88d394d8/harness/triage.yaml#sha256=f56cbb0a3c1cb71563aa1b2fb80ca9ecb922e4c832f886e8154e2e9beb6b56c6 | ||
| role: triage |
There was a problem hiding this comment.
2. Triage base sha drifts 🐞 Bug ☼ Reliability
harness/triage-custom.yaml pins its own base: URL to a specific fullsend-ai/agents commit+sha256, but hack/update-agent-hashes.sh only rewrites agent SHAs/hashes inside config.yaml. After this PR, bumping the agents SHA via the script will leave triage inheriting an older upstream triage harness (and/or require manual base+sha256 updates), causing version skew.
Agent Prompt
## Issue description
The new wrapper harness (`harness/triage-custom.yaml`) embeds a pinned `base:` URL to `fullsend-ai/agents/<sha>/...#sha256=...`. The existing bump script only updates pins found in `config.yaml`, so triage’s base stays on the old SHA when the rest of the repo is updated.
## Issue Context
This doesn’t necessarily break current runtime behavior, but it will cause drift on the next agents SHA bump.
## Fix Focus Areas
- harness/triage-custom.yaml[1-1]
- hack/update-agent-hashes.sh[12-26]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
Summary
docs-triage-guardskill that teaches the triage agent to detect ADR and design-doc issues and route them to human review instead of auto-codingcategory: "other"(which falls through totriagedin the post-script's*catch-all) combined withlabel_actionsto applydesign-docanddocumentationlabelsHow it works
category: "other"instead of"documentation", which routes totriagedvia the existing*)default case inpost-triage.shlabel_actionsto adddesign-docanddocumentationlabels for trackingcategory: "documentation"and auto-promote toready-to-codeas beforeWhy this approach
This replaces the approach from #149 (closed per review feedback — forking the post-script was too invasive). By working within the existing category routing, we avoid overriding the schema or post-script entirely.
A more general solution for user-defined categories is tracked in fullsend-ai/agents#618.
Files changed
config.yamlharness/triage-custom.yamlskills/docs-triage-guard/SKILL.mdTest plan
issue-labels)triaged+design-doc+documentationready-to-code+documentationtriaged+design-doc+documentationRelates to fullsend-ai/agents#260, fullsend-ai/agents#618
🤖 Generated with Claude Code