steer-once
Installation
SKILL.md
steer-once
Correct an agent once; the repo remembers. An apology from the agent changes nothing next session. A merged rule does. This skill takes corrections you have typed more than once, finds the layer that would have prevented them, lands the smallest durable change there with evidence, and checks a week later whether the correction actually stopped. If it didn't, it climbs one layer; if the rule made things worse, it proposes a revert.
When to use
- Fast path (live): the user just repeated a correction mid-session ("again", "I told you", "why did you stop", "didn't I give you a skill"). Handle that one correction now.
- Batch: "mine my corrections", a weekly retro, or a
prompt-mirrorreport listing a class with ≥N hits across ≥3 sessions. - Team variant: recurring reviewer feedback on agent PRs in a repo (see Sources).
Not for one-off preferences, a single bad turn, or anything already handled by an open steer-once PR.
Sources
- Your typed messages via
prompt-mirror's extractor (local, redacted, source-filtered):python3 <skills-dir>/prompt-mirror/scripts/mine_sessions.py --since 21d [--repo owner/name]. Usecorrection_classes,repeated_correction_phrases, and each message'sclasses/flags. Readmessages.jsonlfor the instances. - The agent message before each correction (the cause) and after (the response). Count concession openers ("You're right", "Agreed", "Good catch") on the same class; a concession followed by a repeat is the strongest signal that a rule is missing or not loaded.
- Team variant:
changes_requestedreviews and review comments on agent-authored PRs (for examplegh pr list --author app/copilot-swe-agent --state all, thengh api repos/{owner}/{repo}/pulls/{n}/reviews). Same pipeline, no local history needed.