wf-rethink

Re-evaluates one code unit's design by reconstructing it from intent against pinned obligations.

Updated May 9, 2026
One-click install
npx skills add https://github.com/23min/aiwf --skill wf-rethink-23min
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: wf-rethink
Source: https://github.com/23min/aiwf/tree/main/internal/skills/embedded-rituals/plugins/wf-rituals/skills/wf-rethink
Command: npx skills add https://github.com/23min/aiwf --skill wf-rethink-23min

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? LLM coding agents act as greedy optimizers, so working code accretes incidental complexity — path-dependent state, single-caller abstractions, defensive layers — that reflects edit history rather than the problem. This Skill audits one unit's design by re-deriving it from intent, separating load-bearing structure from residue, without risking ungated rewrites. ## Core Features & Use Cases - Obligation-gated audit: Pins behavior, interface, invariants, and tests before inspecting the implementation; if obligations cannot be pinned from tests or types, the verdict is automatically keep. - Independent reconstruction: Recommends dispatching a fresh agent that has never seen the implementation to rebuild the design from intent, avoiding the author's false keep bias. - Human-approved rewrites: A rewrite verdict is reported but never self-applied; code changes wait for explicit human approval, then every obligation is re-verified. - Use Case: After a milestone introduces a new module or core abstraction that works but feels over-complex, run this ritual to confirm the design is sound or surface a concrete simplification before committing. ## Quick Start Ask the agent to run wf-rethink on the named file, module, or function whose design you want re-evaluated.

Frequently Asked Questions about wf-rethink

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I audit whether my code's design is over-complex?

Run wf-rethink on one named unit — a file, module, function, or decision. It pins the unit's obligations first, reconstructs the design from intent, diffs incidental versus essential structure, and returns a keep or rewrite verdict.

When should wf-rethink be triggered during development?

Trigger it when a change introduces a new design surface: a new module or package boundary, a core abstraction, or a data model. Skip it for mechanical changes like bug fixes, renames, dependency bumps, or test-only edits.

Why should a fresh agent run the design reconstruction?

The author holds the implementation in working memory, so their from-scratch design paraphrases what already exists and reliably returns a false keep. A fresh agent given only the obligation list reconstructs cold, then compares against the current code.

Does wf-rethink automatically rewrite my code?

No. A rewrite verdict is reported with the concrete simplification win, then the ritual stops and waits for explicit human approval. Only after approval does it implement the rewrite and re-verify every pinned obligation.

What are the limitations of a design rethink without tests?

The obligation list is the only safety gate, and it is self-graded. If obligations cannot be pinned from tests, types, or written invariants, the correct verdict is keep, because an ungated rewrite cannot be trusted.