Enforce existence, reuse, mirror, and symmetry principles to keep new code minimal and consistent with surrounding code.
SkillScore91Maintained
Automatic
◆Coding pack
Last verified 8/21/2026
What it changes
Passed 20 of 22 test cases with the skill, and 17 of 22 without it.
Without skill77%
With skill91%
Checks it passed that the model alone missed
The response places SUSPENDED according to logical lifecycle progression after ACTIVE rather than appending it at the end.
The response states that all reference sites, configurations, and registration places must be updated as part of the change.
The generated python code contains no docstrings or comments on the new exportToParquet method unless explaining an unexpressible hardware or library invariant.
3 fixed17 passed either way2 still failing0 broke
Pass-rate lift
+14 pp
Tokens
-20%
Agent turns
0%
Response time
-50%
Model gemini-3.6-flashMeasured 8/21/2026v220 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 3 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 3
Prompt
In `SubscriptionState.java`, the enum values are listed as `CREATED`, `PENDING`, `ACTIVE`, `CANCELLED`. Where should I insert `SUSPENDED`?
What was checked, without and with the skill
Checked
Without skill
With skill
The response places SUSPENDED according to logical lifecycle progression after ACTIVE rather than appending it at the end.
Missed
Passed
case-12 · gemini-3.6-flash · 8/21/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md11 linessingle file
Code Style: Exist, Reuse, Mirror, Symmetry
When writing new code in an existing codebase, work through these in order. When two pull in different directions, the earlier one wins.
Establish that the code needs to exist: Drop work the request does not need — an abstraction with one implementation, a configuration point with one caller, a branch for a state the callers cannot reach, scaffolding for an anticipated requirement. Deleting or narrowing beats adding. Before removing code that already exists, trace its callers and confirm nothing depends on the behavior. Input validation at trust boundaries, error handling that prevents data loss, security controls, accessibility affordances, and anything explicitly requested outrank this rule.
Reuse existing code: Before writing a new helper, check if an existing method can be reused or generalized. If a new helper is needed, model it after its closest sibling.
Reuse existing patterns: Find the closest analogous feature and replicate its structure (method decomposition, control flow, annotations, guard clauses). When an existing pattern fits, use it rather than introducing a new one. When following it would force materially more code or indirection than a different approach, take the different approach and apply it across the whole change.
Mirror the surrounding code exactly: Match brace style, comment style, naming conventions, blank line spacing, code density, and level of detail by reading nearby code first.
Maintain symmetry: If adding fooB() parallel to fooA(), match naming, parameter order, and structure. Symmetry covers every name the new sibling makes asymmetric: identifiers, route paths, config keys, event names, environment variables, CLI flags, and file naming schemes. Rename the existing name by default; keep it as it stands only when it is a published contract whose consumers you cannot update, or cannot update in step with the rename. Treat deployment and registration as costs the change absorbs: updating every place the name is referenced or registered is part of the change.
Logical ordering: Place new methods, switch cases, and fields in the order that mirrors the existing grouping or business lifecycle, rather than appending at the end.
Default to no comment: Write code that self-explains through naming, extraction, and structure. When you reach for a comment, first try refactoring so it becomes unnecessary. Add one only for a load-bearing constraint the code cannot express (a hidden invariant, a workaround, a non-obvious performance characteristic). When in doubt, omit it.
Commit already-staged changes and push in one step. Use when the user asks to "commit and push staged changes", "commit and push what's staged", or "commit staged and push".