Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use only when the current user explicitly asks to create, replace, materially refine, or record an approved amendment to a Happier repository implementation plan.
.claude/skills/happier-dev-happier-plan/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 1629% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 2367% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 637% | 0% |
| case-10 | ✓→✗ | ▼ Worse | 14% | 0% |
| case-16 | ✓→✗ | ▼ Worse | 48% | 0% |
Create a repository plan only on an explicit current-user request. Planning is a human-controlled product/design decision, not an agent-selected prerequisite. Do not invoke this skill to implement an existing plan, update ordinary execution status, review completed work, or create an internal ephemeral checklist.
Classify the explicit request as one of:
CREATE: author a new repository plan;REFINE: materially change a draft or approved plan as the user requested;REPLACE: supersede an existing plan with a user-requested successor;AMEND: record a user-approved change to an approved execution contract.If the user did not explicitly request one of these, do not create or materially edit a plan file. A reviewer or implementation agent may recommend a plan/amendment, but only the user can authorize creating it or changing its approved contract. A successor references its predecessor and explicitly preserves, changes, or retires still-applicable material decisions; do not mechanically transcribe historical tasks, findings, or markers.
Plan authoring does not authorize implementation. If the user asked only for a plan, stop after presenting the draft. If the user requested both planning and implementation, present the plan for approval before treating it as the execution contract unless the user explicitly waived that checkpoint.
State the outcome beneath the literal request:
Separate observed facts, derived conclusions, assumptions, and unresolved user decisions. Resolve decision-material ambiguity before finalizing a design; do not bury it as an implementation detail.
For cross-device or cross-runtime work, identify separately the client surfaces, canonical authority and executor, transport, durable state and lifetime, behavior while the authority is unavailable, and required consistency. Do not infer any one of these contracts from another.
Before decomposing work, derive the plan backward from the intended outcome:
Do not create a separate truth/artifact matrix when the plan's intent, target-state, execution, migration, QA, and completion sections can express this mapping.
Include a constraint only when it excludes or materially changes a plausible implementation. Convert vague qualities such as “robust,” “clean,” “premium,” or “scalable” into an observable contract, deciding principle, or acceptance signal; otherwise omit the decorative wording.
Do not promote an architectural possibility, speculative future consumer, generalized reuse opportunity, another proposed mechanism, or unsupported robustness/scalability target into a requirement. Establish requirements from an approved outcome, constitution rule, external contract, reproduced failure, or reachable derived risk; mechanism selection and the recursive deletion test belong in the target-design step below.
Before selecting the target shape, inspect enough current code and evidence to name:
Supersedes:, Extends:, or Consumes: relationships;Search broadly enough to establish these facts, then stop. Do not turn optional confirmation into an unbounded research phase. Use current primary evidence for changing external contracts and released artifacts/tags for compatibility obligations.
Apply root Scope-preserving solution economy at design time: preserve the complete feature outcome, challenge unsupported machinery rather than the feature itself, and fold behavior into the canonical owner before proposing another path.
When the work changes ownership, crosses packages, introduces persistence/concurrency, changes a public contract, or adds a protocol, state machine, registry, table, lease, credential, generation, gate, or parallel path, write the intended caller-visible usage first and compare plausible designs from what callers should know. For each mechanism, trace its justification through proposed dependencies to an approved outcome, required invariant, released or external contract, reproduced failure, or reachable material risk. Apply the deletion test recursively: remove the mechanism and everything that exists only to support it, then name the required outcome that fails. Another proposed mechanism, future consumer, generalized reuse, or architectural completeness is not a terminal justification.
Treat every new limit, quota, timeout, retry budget, or guard as product behavior. Name the resource or contract it protects, derive it from that boundary rather than a nearby number, and define what happens when it fires; preserve useful valid data when safe rather than turning a safety backstop into an ordinary product filter.
Apply scope-preserving solution economy only after fixing the complete target boundary. For a mechanism-sized decision, consider whether the outcome can be satisfied by adding nothing, correcting or consolidating the canonical owner, using the language/standard library, using a platform-native capability that satisfies every affected surface, using an existing package-owned dependency, or finally adding a new custom mechanism. Choose the earliest option that satisfies the complete contract and minimizes total lifetime complexity; never use this ordering to reduce required behavior, migration, removals, compatibility, UX, security, accessibility, platform support, testing, or validation.
Be able to name why a materially simpler plausible alternative cannot satisfy the contract. Record that reasoning only when it preserves a decision, constraint, or rejection that a later implementer or reviewer would otherwise have to rediscover; do not create a mandatory alternatives table or item-level justification ceremony.
Classify every material choice as approved and binding, intentionally delegated to implementation discretion within named constraints, or deferred/excluded. Do not leave a choice implicitly open when different interpretations would change ownership, interfaces, compatibility, migration, security, UX, or acceptance.
Call out a choice as difficult to reverse only when changing it later requires a concrete migration, destructive operation, compatibility break, external coordination, or public-contract transition. Record its undo path or approval consequence before implementation. Do not label large but ordinary refactors irreversible or add a gate merely to simulate reversibility.
Choose the design that realizes the full intent with:
Do not optimize for the smallest diff when a coherent owner-level correction is broader. Do not solve unrelated corridor debt unless it is required to avoid a competing active owner or to make the authorized outcome correct. Report adjacent defects without manufacturing a transfer ledger; absorb another program's scope only with explicit user approval.
Plans may be large when the domain requires it. Do not impose arbitrary line, phase, or task-count limits; every section must earn its place by preserving a decision, fact, invariant, dependency, or deciding check that a later zero-context implementer would otherwise have to rediscover.
Create new plans under the repository's existing .project/plans/ convention, using a descriptive stable filename or the existing program folder; refine an existing plan in place unless the user requested a successor. The plan must contain:
DRAFT status, contract revision, approval/amendment record, owner/user decision points, relevant plan relationships, and dated evidence basis where applicable. Status-only execution updates do not change the contract revision.Use exact paths, symbols, contract shapes, and target filenames when established by evidence. When a detail is intentionally open, say what constraint governs the implementer's choice; do not invent false precision. Reference generic AGENTS.md, DESIGN.md, skills, large logs, and bulky evidence by path with a concise digest instead of copying them into the plan.
Use .agents/skills/decompose-gates to define meaningful lanes when parallel execution is actually possible. Each lane owns a complete responsibility and an independently deciding check; do not create microtasks, overlapping seam authorities, or horizontal layers that cannot be validated before later activation.
Every meaningful implementation, review, and QA lane must read the complete approved plan unless it is already present in active context. Its lane brief then stays concise and self-contained: goal, ownership, exact paths/symbols, dependencies, acceptance checks, validation, expected output, permissions, and stop/fallback conditions. Reference the on-disk plan rather than pasting it or inheriting the full parent transcript; use minimal inherited conversation context.
Before presenting a draft, attack it once at the plan-design phase:
Select only the reasoning lens that addresses the plan's load-bearing uncertainty—such as hardest-constraint-first analysis, a pre-mortem, reversibility, or a fresh-executor ambiguity pass. Do not run every lens or create a separate report for each.
This is the plan's design review, not a mandatory second preflight during implementation. Resolve findings in the draft, surface remaining user decisions, and present the plan as DRAFT. Only explicit user approval establishes it as the APPROVED execution contract.
Once approved, the plan's required outcomes, ownership, interfaces, compatibility obligations, removals, user flows, exclusions, and acceptance criteria are authoritative. Implementation agents:
Keep the approved contract stable and the execution ledger mutable. The orchestrator owns overall status, cross-lane dependencies, finding disposition, amendment records, and final verdict; lane agents update only their owned reports/status evidence. After compaction, interruption, reassignment, or an approved amendment, reread the plan's current contract/pivot and mutable execution state only when those contents are no longer active or may have changed.
Use these execution states:
PLANNEDIN_PROGRESSIMPLEMENTED_NOT_VERIFIEDVERIFIED_COMPLETEPARTIALBLOCKEDAMENDMENT_REQUIREDSUPERSEDED_BY_APPROVED_AMENDMENTNOT_APPLICABLE with rationaleNever use SUPERSEDED_BY_EVIDENCE: evidence may challenge the plan but does not authorize changing it.
If primary evidence shows an approved requirement is unsafe, contradictory, impossible, based on a materially changed contract, unable to serve the approved intent, or requires a materially different topology, canonical owner, external dependency, compatibility transition, or product tradeoff than the approved plan disclosed, pause for amendment. Increased effort alone is not a material amendment.
SUPERSEDED_BY_APPROVED_AMENDMENT and preserving the amendment history.Continue unaffected independent work only when it cannot prejudge the user's amendment decision. Material ambiguity follows the same stop-and-clarify path; unrelated discoveries are reported without expanding the plan.
When corrections accumulate until the document no longer reads as one coherent contract, propose a user-authorized REPLACE that regenerates it while explicitly preserving, changing, or retiring still-applicable material decisions rather than layering more amendments onto a contaminated document.
No phase, lane, or plan is complete because files exist, code compiles, a checkbox changed, or an agent said “done.” VERIFIED_COMPLETE requires the implementation owner and reachable wiring, required removals/absence, meaningful RED → GREEN evidence for behavior changes, risk-appropriate broader validation, live QA for user-visible/environment-dependent behavior when runnable, and explicit residual risk.
For plan-completeness review, use .agents/skills/happier-review and its references/plan-completeness.md. The reviewer grades implementation against the approved contract; it does not replace that contract.
When the user explicitly asks to execute or resume the approved plan, hand off to .agents/skills/happier-implement-plan; do not extend this authoring skill into a competing execution workflow.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 30,988 | 15,906 | -49% | 1 | 1 | 0% | 4,546 | 3,751 | -17% | 0 | 0 | — |
case-02 | fail→fail | 36,547 | 16,767 | -54% | 1 | 1 | 0% | 5,512 | 3,857 | -30% | 0 | 0 | — |
case-03 | fail→pass | 14,296 | 21,832 | +53% | 1 | 1 | 0% | 285 | 4,929 | +1629% | 0 | 0 | — |
case-04 | fail→fail | 14,322 | 16,988 | +19% | 1 | 1 | 0% | 200 | 3,875 | +1838% | 0 | 0 | — |
case-05 | fail→pass | 15,634 | 23,371 | +49% | 1 | 1 | 0% | 207 | 5,107 | +2367% | 0 | 0 | — |
case-06 | pass→pass | 21,948 | 18,832 | -14% | 1 | 1 | 0% | 2,943 | 5,561 | +89% | 0 | 0 | — |
case-07 | fail→fail | 31,867 | 16,430 | -48% | 1 | 1 | 0% | 5,168 | 3,799 | -26% | 0 | 0 | — |
case-08 | fail→fail | 24,530 | 16,912 | -31% | 1 | 1 | 0% | 3,481 | 3,938 | +13% | 0 | 0 | — |
case-09 | fail→fail | 17,272 | 16,208 | -6% | 1 | 1 | 0% | 2,448 | 3,947 | +61% | 0 | 0 | — |
case-10 | pass→fail | 22,755 | 15,218 | -33% | 1 | 1 | 0% | 3,247 | 3,692 | +14% | 0 | 0 | — |
case-11 | fail→fail | 21,054 | 16,528 | -21% | 1 | 1 | 0% | 3,266 | 3,980 | +22% | 0 | 0 | — |
case-12 | fail→fail | 20,946 | 16,587 | -21% | 1 | 1 | 0% | 2,722 | 3,765 | +38% | 0 | 0 | — |
case-13 | fail→fail | 17,802 | 16,704 | -6% | 1 | 1 | 0% | 2,330 | 3,875 | +66% | 0 | 0 | — |
case-14 | fail→fail | 23,185 | 17,387 | -25% | 1 | 1 | 0% | 3,186 | 3,818 | +20% | 0 | 0 | — |
case-15 | fail→fail | 22,159 | 17,827 | -20% | 1 | 1 | 0% | 2,976 | 3,907 | +31% | 0 | 0 | — |
case-16 | pass→fail | 20,918 | 15,399 | -26% | 1 | 1 | 0% | 2,531 | 3,756 | +48% | 0 | 0 | — |
case-17 | fail→fail | 23,123 | 15,482 | -33% | 1 | 1 | 0% | 3,161 | 3,681 | +16% | 0 | 0 | — |
case-18 | fail→fail | 20,838 | 15,694 | -25% | 1 | 1 | 0% | 3,038 | 3,744 | +23% | 0 | 0 | — |
case-19 | fail→pass | 10,833 | 32,516 | +200% | 1 | 1 | 0% | 935 | 6,894 | +637% | 0 | 0 | — |
case-20 | pass→pass | 9,988 | 36,763 | +268% | 1 | 1 | 0% | 821 | 6,888 | +739% | 0 | 0 | — |
case-21 | pass→pass | 15,276 | 18,471 | +21% | 1 | 1 | 0% | 1,632 | 4,236 | +160% | 0 | 0 | — |
case-22 | fail→fail | 26,606 | 16,110 | -39% | 1 | 1 | 0% | 3,494 | 3,755 | +7% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 5 counted toward the lift figure. The other 17 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +5 percentage points is the difference between those two pass rates over the 5 comparable cases. 6 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 9/2/2026 | — |
| gemini-3.6-flash | verified | 8/27/2026 | +17% |
| gemini-3.6-flash | verified | 8/17/2026 | — |
| gemini-3.6-flash | verified | 8/13/2026 | -5% |
Other measured skills in the registry, with their headline benchmark lift.