skills/convention-recurrence-sensor-guide/SKILL.md
How to measure whether convention corrections keep recurring in the pi session logs, by category and by week. Use to record a baseline before the convention gates take effect and to re-run afterwards to confirm the recurring categories bend down. Pairs with the convention gates (pr-guardian, issue-guardian, commit-guardian, slack-integration) and the convention-context extension.
npx skillsauth add jitsusama/agentic-harness.pi convention-recurrence-sensor-guideInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The convention gates exist to stop the same correction being typed twice. This sensor measures whether they work: it counts how often a convention correction recurs in the session logs, by category and by week, so a recurring category that bends down after the gates ship is the evidence the fix landed.
The same query that diagnosed the problem is the sensor that tracks the fix. There is no separate instrumentation to trust.
node scripts/convention-recurrence.ts [--since YYYY-MM-DD]
Node strips the TypeScript types and runs the file directly; no
build step is involved. A MODULE_TYPELESS_PACKAGE_JSON warning
on stderr is benign, the output is on stdout. --since limits
the scan to logs on or after a date.
The output is a tab-separated table, one row per ISO week, one column per category. Each cell is the number of distinct sessions that quarter a correction in that category that week, so a single ranty session counts once, not ten times. Distinct sessions per week is the right grain for "does this keep coming back".
The classifier looks for the strong correction signals, not every phrasing. It favours precision over recall: a trend that bends is the goal, not a precise census.
The patterns live in scripts/convention-recurrence.ts and are
exercised by tests/scripts/convention-recurrence.test.ts. Tune
them there if a real correction is being missed; keep precision
high so the trend stays meaningful.
Captured 2026-05-31, scanning from 2026-04-01, before the convention gates and the resident block had any effect. Distinct sessions per week:
| Week | emdash | spelling | sections | slack-format | commit | |----------|--------|----------|----------|--------------|--------| | 2026-W14 | 13 | 0 | 0 | 0 | 0 | | 2026-W15 | 5 | 0 | 0 | 0 | 0 | | 2026-W16 | 11 | 1 | 0 | 0 | 0 | | 2026-W17 | 3 | 2 | 1 | 0 | 1 | | 2026-W18 | 5 | 0 | 0 | 1 | 1 | | 2026-W19 | 3 | 1 | 1 | 2 | 1 | | 2026-W20 | 2 | 0 | 6 | 0 | 1 | | 2026-W21 | 7 | 1 | 6 | 1 | 4 | | 2026-W22 | 6 | 0 | 2 | 0 | 3 |
emdash recurs every single week, sections spike in the closing weeks, and spelling, slack-format and commit recur intermittently. These are the curves to watch. Re-run a few weeks after the gates have been active and compare: the convention categories should bend toward zero as the gates catch violations before they reach a correction.
This counts corrections the user typed, the pain the gates remove. It does not count the gate blocks themselves (those are the gates working, not the user correcting). A separate rise in gate blocks with a fall in user corrections is the healthy signature: the gates are absorbing the corrections the user used to type.
development
Structure of a quest README and the documents that live under it: frontmatter shape, the four core and four optional body sections, emoji glyphs, ID format, alias notation, Cast bullets and Journey entries. Use when writing or editing a quest README, a plan, research, brief or report document under a quest. Pairs with quest-convention for choices like kind, promotion and reordering. Follow the prose-standard for voice.
tools
Operational conventions for the quest system: when to use a quest versus a subquest versus a sidequest, when to scaffold a plan or research document, how to reorder priorities, when to add optional sections, when to conclude versus retire, the resuscitate pattern. Use when driving the quest tool, deciding kind, promoting or parking work, or organising a project as quests. Pairs with quest-format for the on-disk shape.
development
Markdown structure rules: Title Case headings with their exceptions, the line-width target and its legitimate exceptions, reference-style links, fenced code blocks with language tags, tables and lists. Use when writing or editing any markdown file (README, AGENTS, docs, plans, skill files), or when adding a heading, link, table or code block. Owns markdown structure; pairs with prose-standard, which owns voice, grammar, spelling and punctuation.
tools
How to drive the `subagent` tool: spawn N pi processes concurrently for persona sweeps (security/performance/ readability of the same artifact), multi-angle investigation (data flow vs lifecycle vs config of the same bug), or fleet brainstorming (N answers from N models). Use when the user asks to "examine from various angles", "get multiple perspectives", "fan out across personas", "parallel investigation", "have N models try this", or any request that benefits from divergent independent passes. Pairs with prose-standard for written voice and any domain skills the personas should inherit.