improve: skill-workshop prompt banks reactive corrections without a save command#100578
improve: skill-workshop prompt banks reactive corrections without a save command#100578vincentkoc wants to merge 1 commit into
Conversation
…ave command
The prompt section only invoked the workshop when the user asked to
create/update a skill, so reactive corrections ("that's not what I
asked", "you're still doing X") never became proposals unless the user
remembered a magic "save that to the skill" follow-up. Field evidence
from a live deployment: a session's corrections sat in chat until the
user happened to say "update all the skills" - and the ones where nobody
said it were lost.
- treat reactively-phrased corrections and standing preferences as
durable signals
- propose the fix into the relevant skill via action=update in the same
turn, without waiting for a save request
- report which proposal the correction landed in so capture is
verifiable
|
Codex review: needs maintainer review before merge. Reviewed July 5, 2026, 11:32 PM ET / 03:32 UTC. Summary PR surface: Source +2, Tests +6. Total +8 across 2 files. Reproducibility: not applicable. This PR is a prompt-behavior improvement rather than a reproducible bug report. Source inspection confirms current main lacks the reactive-correction trigger and the PR adds it in the injected Skill Workshop prompt section. Review metrics: 1 noteworthy metric.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Maintainer decision needed
Security Review detailsBest possible solution: Keep a pre-tool reactive-correction trigger if maintainers accept the behavior, but fold it into the smallest prompt wording that still makes the model call Skill Workshop while leaving lifecycle mechanics in the tool/schema. Do we have a high-confidence way to reproduce the issue? Not applicable: this PR is a prompt-behavior improvement rather than a reproducible bug report. Source inspection confirms current main lacks the reactive-correction trigger and the PR adds it in the injected Skill Workshop prompt section. Is this the best way to solve the issue? Yes, the prompt section is the right layer for the trigger because the model needs to decide to call AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against c9219c7f80f4. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source +2, Tests +6. Total +8 across 2 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
Closing this one in favor of the coordinated design on #100576 — decision and reasoning: Why not this PR:
What survives: the core insight — reactive phrasing ("that's not what I asked", "stop doing X") is durable-signal-bearing and dominates real corrections — is right, and lives on in #100576's What would change the decision: evidence that signal-gated suggestion misses corrections that only an always-on prompt instruction catches — that would justify revisiting a (conditional, autonomy-gated) prompt line on top of the tool-schema guidance. Thanks for pushing on this, @vincentkoc — the reactive-patterns idea shaped where the coordinated design landed. |
What Problem This Solves
The Skill Workshop prompt section frames the tool as something to reach for "when the user wants to create, update, revise… a skill". Users don't talk like that: they correct reactively ("that's not what I asked", "you're still using X", "I don't want to repeat myself"). Field evidence from a live two-day agent deployment: a session's corrections only reached skills when the user happened to say "update all the skills and memory now please" / "save everything to skills" — and on the day nobody said the magic phrase, the corrections (including the session's most important one) were lost to the context window.
Why This Change Was Made
Three lines added to
buildSkillWorkshopPromptSection(): reactively-phrased corrections and standing preferences are durable signals; a correction about how an existing skill's work should be done becomes anaction=updateproposal in the same turn without waiting for a save request; and the agent reports which proposal the correction landed in so capture is verifiable rather than a promise. Lifecycle safety is untouched — proposals stay pending behind scan + explicit human approval.Companion to #100576 (autonomous auto-capture for the same signals at the harness level); this covers the interactive path where the agent itself should act on the correction.
User Impact
Users stop needing a magic phrase for feedback to stick: correcting the agent in plain reactive language now produces a pending skill-update proposal the same turn, with an explicit pointer to where it landed.
Evidence
node scripts/run-vitest.mjs src/agents/system-prompt.test.ts→ 91 passed, including two new assertions locking the added guidance into the prompt whenskill_workshopis available.autoreview --mode branch --base origin/main(codex/gpt-5.5): clean — overall: patch is correct (0.9).