fowler-refactoring
A practical, task-oriented implementation of Martin Fowler's refactoring approach, used when improving design without changing behavior.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
A practical, task-oriented implementation of Martin Fowler's refactoring approach, used when improving design without changing behavior.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Configure rate limiting, manage auth secrets, set up CSRF protection, define trusted origins, secure sessions and cookies, encrypt OAuth tokens, track IP addresses, and implement audit logging for Better Auth. Use when users need to secure their auth setup, prevent brute force attacks, or harden a Better Auth deployment.
Create, critique, or revise prompts for Claude Design and similar AI UI prototype generators. Use when the user wants a visual UI prototype prompt, wants to improve an existing design prompt, shares a generated design for review, or needs prompts that preserve product semantics, domain rules, workflow state, and negative constraints instead of producing generic UI.
Write engineering design documents for architecture, API, framework, or product-contract decisions before implementation planning. Use when the user asks for a design doc, proposal, RFC-style design, contract design, or wants to debate system shape. Not for execution plans, milestone checklists, progress trackers, or implementation task breakdowns.
Write requested implementation plans, milestone checklists, execution trackers, and handoff plans from an accepted design or exact implementation direction. Use for planning artifacts only, not for ordinary implementation requests or design debate.
This skill should be used when the user asks to "review file organization", "check code layout", "identify layout smells", "audit folder structure", "review module organization", "check file naming", "find code structure issues", "review how code is organized", or mentions that AI-generated code is disorganized or hard to navigate. Works with Python and TypeScript codebases.
Share skills and top-level instructions across coding agents (Claude Code and others) via symlinks. Use for "set up multi-agent", "share skills between agents", "link AGENTS.md to CLAUDE.md", "unify agent configs", or pointing `.agents/skills` and `.claude/skills` at the same place. Auto-detects which side (`.agents/`+`AGENTS.md` or `.claude/`+`CLAUDE.md`) already has content and makes the other a symlink into it; defaults to `.agents/` canonical when starting fresh.
| name | fowler-refactoring |
| description | A practical, task-oriented implementation of Martin Fowler's refactoring approach, used when improving design without changing behavior. |
| source | /Users/luca/code/autok/auto-k-server/fowler/chapters |
| version | 4 |
Use this skill when code is becoming difficult to change safely and you need to make design improvements without altering external behavior. The material is organized as a task-oriented map into chapter-based resources.
Chapter 1 is the baseline mindset anchor: it shows that substantial refactoring is built from small, verified steps.
Use chapter numbers as quick aliases (for example, 3 means Bad Smells, 8 means Moving Features).
4 (tests) -> 1 (foundation) -> 3 (smell map) -> 1 (one controlled refactor step).3 (smell map) -> 2 (principles) -> 1 (foundational process).2 (principles) -> 4 (tests) -> 1 (foundational process) -> 5 (catalog).3 (smell map) -> 1 (foundational process) -> 4 (tests).4 (tests) -> 3 (smell map) -> 6 (first set) -> 1 (one controlled refactor step).3 (smell map) -> 8 (moving features) -> 1 (foundational process).3 (smell map) -> 9 (organizing data) -> 1 (foundational process).3 (smell map) -> 10 (simplifying conditionals) -> 1 (foundational process).3 (smell map) -> 11 (refactoring APIs) -> 1 (foundational process).3 (smell map) -> 12 (dealing with inheritance) -> 1 (foundational process).Use this before opening a file:
3/Chapter 3.Use this when evaluating existing code for readability, risk, and maintainability.
Use this when a known issue is already identified.
Use this when preparing for an upcoming feature.
Use this when you need executable steps.
When you detect a smell, read:
When you are not sure where to start: