feat(skills): add i8-quality-high

i8-quality drives `make quality`; the gate that has to be green before a pull
request is `make quality-high`, which appends every lint target and runs about
four times as long. Nothing routed an operator there.

The skill leaves the fix loop to test-fix and pins only what differs: the run
goes to the background with its output teed to /tmp so the operator gets a
tail -f line, nothing else may run beside it because the wall-clock budgets
fail under self-made load, and the verdict comes from the two per-target tables
rather than the pipe exit code, which is unreliable here. docs and autoformat
write to the tree, so an unexpected diff after a pass is a finding.

Suppression is not a fix: a lint hit is resolved by deleting the offending
construct, and any nocheck marker needs the operator's explicit approval.

The cheatsheet row is not decoration - test_cheatsheet_is_skill_index requires
every i8- skill directory to appear in that table.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
kevinveenbirkenbachandClaude Opus 5 committed 2026-08-25 00:25:00 +02:00
1 parent 5c9d112ca1
commit 2ca09f03b3
2 files changed
+55

No files matched your search

@@ -25,6 +25,7 @@ from its procedure file. Run `make install-skills` to (re)install them.
| Writing or updating a Playwright spec for a `web-*` role | `i8-iterate-playwright` |
| Running or validating tests for a specific scope | `i8-test` |
| Running the quality gate (`make quality`) to green | `i8-quality` |
| Running the full gate (`make quality-high`: quality plus every lint) to green | `i8-quality-high` |
| Cleaning up code, docs, or roles after a change | `i8-refactor` |
| A GitHub Actions / CI run failed and needs triage | `triage` |
| A local deploy is failing on the host | `i8-debug-local` |
+54
View File
@@ -0,0 +1,54 @@
---
name: i8-quality-high
description: >
Run the full quality gate (make quality-high: docs, autoformat, the whole test
suite, then every lint target) in a loop until it is green end to end. Trigger
on /i8-quality-high or when the operator asks for the high gate before a
commit, a pull request, or a release. Infinito.Nexus specific.
---
Follow the instructions from AGENTS.md, then drive `make quality-high` to green.
It is `make quality` (docs, autoformat, test) followed by `make lint` — every
lint target, so budget around ten minutes per pass.
The fix loop and its forbidden shortcuts are the `test-fix` skill's; this skill
only pins the command and how to read its result.
## Running a pass
Run it in the background, streaming the full output to a log, and give the
operator the literal command to follow it:
make quality-high 2>&1 | tee /tmp/make-quality-high-<N>.log
tail -f /tmp/make-quality-high-<N>.log
Increment `<N>` per pass so runs stay comparable. Nothing else may run while it
does — no other test, script, or agent. The wall-clock budgets fail under
self-made load, and a stale `.ansible/.lock` from a parallel run breaks
ansible-lint silently.
## Reading the result
Judge by the two `📊 per-target wall-clock` tables (one for the test phase, one
for lint) and any `FAILED TARGETS:` line — never by the pipe exit code, which is
unreliable here. `docs` and `autoformat` write to the tree: run `git status`
after every pass and treat an unexpected diff as a finding, not as noise.
## Fixing
Every failure is fixed at its root. A lint hit is resolved by deleting the
offending construct, not by a `nocheck` marker, a loosened rule, or a target
dropped from the gate — any suppression needs the operator's explicit approval
and a stated reason.
Re-run the specific failing target first (`make test-unit`, `make lint-ansible`,
…), then the full `make quality-high` before declaring the gate green: a fix that
breaks a neighbouring target is not a fix.
## Working mode
Begin by clarifying every open requirement with the `active-listening` skill,
escalating any root-cause question you are not ~99% sure of to the `dialectic`
skill, then work under the `robot` skill until both phases pass clean. Report
calibrated confidence per the `confidence` skill. Do not commit unless the
operator asked for a commit.