Fold the weekly review into existing ownership and handoff rules, keeping testimonials intact and avoiding extra approval gates in triage and learning outputs.
Recognize executable npm verification defaults without requiring a Makefile wrapper. Treat MCP estimates and unknown model names as evidence gaps, and preserve intent rules when hooks cover only execution. Cover real and hollow package defaults with regression tests.
Remove repeated approval gates and default identity stripping, keep excerpt requests bounded, and correct IME and lockfile guidance so specific recipes do not contradict the requested outcome.
Keep Read routing behind the local-first helper and explicit proxy consent. Resolve planning approval conflicts and retain specialized evaluation, triage, and freeze guidance without loading it for every task.
Treat feelings and convictions as substantive content, remove mechanical trimming quotas, and keep bilingual repository edits scoped to the requested prose and delivery.
Distinguish native voice from factual and structural correctness, track complete reading coverage, and keep review examples inert. Mirror the guidance for plugin installs.
Codex high-reasoning runs tend to over-design; this triggered gate
forces minimal-path, defensive-layer, and surface-delta checks before
the user approves a plan.
Semicolons were allowed by write's Hard Rule and banned by the Chinese
catalog; the ui direction lock put the author's other products ahead of
the current product's own tokens; check pointed at a rules file direct
installs do not ship and carried its ledger rule three times; health
cited a renamed step; hunt lost the clause that a symptom the reporter
waves off still counts; the write-zh-prose stub had no loader. Also
restores pwd-before-first-write and command-sourced versions inside the
existing anti-pattern rows instead of new ones.
write-zh-prose and write-zh-bilingual were hand-synced second copies
of write-zh, SKILL.md carried five encodings of the no-changes-list
rule and verbatim copies of three references, four relative paths and
the punctuation script name were wrong, and pattern numbering skipped
22. Folds the metaphor-scaffolding words and 结果: lead-ins into the
existing patterns. Merged 21, deleted 38.
Use the exact candidate artifact as the copy boundary and let distinct user outcomes determine note length. Keep technical vocabulary audience-dependent and lock the contract with focused tests.
The existing rule banned implementation detail and illustrated it with a
code symbol, so it did not catch the other half: a term coined inside the
project's own rules reads as jargon to anyone who has never opened them.
Writing the release note for v3.34.0 hit this twice, once as shell
mechanics and once as a rule name, with the rule already loaded.
Ordering gets the same treatment. Sorting purely by user impact put an
installer fix first because a broken install is the worst outcome, but a
reader came for the skills, so the product's own domain leads and
plumbing trails.
A week of chat-log retro surfaced four rules the skills were missing.
write: prose that reads smooth but could have been written by anyone has
already failed. Naming the speaker as the target absorbs the old
voice-preservation bullet instead of sitting beside it.
hunt: a guard that refuses has a set of causes, not one, so shipping the
reproduced cause queues the rest up for later releases. Two more rows
cover trusting the user's count over the log, and confirming the run
surface offers a capability before patching it.
check: a standing release authorization does not cover findings the same
run discovered after it was given.
ui: taste-level decisions cost less as two labeled candidates than as one
landed guess.
check gains two review surfaces it did not cover. Non-atomic replacement:
writing straight to a path the user already has means a failed transfer
leaves them a corrupt file and no original, and staging alone still misses
the signal path. PR triage: a fork PR whose workflows never ran shows zero
check runs and a non-green status, which reads like a failure but means
nothing was verified.
The Waza invariant names setup-rule.sh and setup-statusline.sh as mirrors
so a future change to one does not skip the other.
The Chinese prose rules caught AI taste sentence by sentence but had no
check on whether a draft had anything to say. Long-form generation could
hit a word count by explaining three ideas from four angles and pass every
existing rule. Add a material gate to Hard Rules: count what you hold
before choosing a length, and resolve a shortfall by researching, asking
up to three questions, or shipping shorter.
The pivot pattern was encoded as a string list ("不是...而是..."), which a
model routes around by changing the wording. Reframe it as 翻案腔, the
rhetorical move of erecting a misunderstanding the reader does not have
and then overturning it, with the disguises listed as examples. This folds
in 专家腔 5, which covered the same ground.
Also fills the Chinese word-order gap (long modifiers stacked before the
noun), adds two measurable model-tone signals (uniform sentence length,
connective density), and generalizes three existing entries rather than
appending new ones. Net 41 added, 32 removed.
The skill covered how to animate (curves, transform/opacity only, interruptible
transitions, stagger, press scale) but never whether to. Frequency is the test
it lacked: a keyboard-initiated action, or anything triggered hundreds of times
a day, reads motion as lag and should get none. Pair it with a duration table
per element, because the reflex answer is otherwise 300ms for everything.
Turn the blanket bounce ban into a conditional one. Motion a finger or pointer
is still driving reads as physical with a small bounce; the absolute ban made
the rule wrong for drag-to-dismiss and press-and-hold, which is where the
exception actually lives.
Add references/design-native-motion.md, reached from the existing native-app
branch. The judgment transfers to SwiftUI and Compose but the idioms do not,
and the platform defaults pull the wrong way: a symmetric ease-in-out as the
reflex curve and no pressed state at all.
Align overlapping UI modes and clarification lifecycles, then validate Markdown fragments across source and packaged surfaces so compatibility links cannot drift silently.
Infer visual direction from the current product and references before asking. Keep the old aesthetic guide as a tested compatibility map so canonical UI rules cannot drift across duplicate files.