Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/misonl/ling/refactoring-patternsnpx skills add MisonL/Ling --skill refactoring-patternsgit clone --depth 1 https://github.com/MisonL/LingWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00037 | $0.00452 |
| Opus 5 | $0.00018 | $0.00226 |
| Sonnet 5 | $0.00007 | $0.00090 |
| Haiku 4.5 | $0.00004 | $0.00045 |
Grade A, and why
refactoring-patterns scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
重构模式(Refactoring Patterns)
目标
在不破坏现有行为的前提下,逐步提升可读性、可测试性与可维护性。
适用场景
- 巨型函数、深层嵌套、重复逻辑。
- 历史模块耦合严重,改一处影响多处。
- 需要在持续交付中逐步替换旧实现,而非一次性重写。
执行顺序(强制)
- 先锁定行为:补齐回归测试或特征测试(characterization tests)。
- 小步提交:每次只做一种重构动作(如提取函数、重命名、移动模块)。
- 每步验证:确保测试通过后再进入下一步。
- 接口稳定优先:对外 API 先兼容,内部再逐层替换。
常用模式
- 提取函数(Extract Function):把多职责逻辑拆成具名步骤。
- 引入门面(Facade):先封装旧接口,再在门面后逐步替换实现。
- 依赖倒置(Dependency Inversion):把硬编码依赖替换为可注入接口。
- 删除死代码(Dead Code Removal):仅在有覆盖和调用链确认后执行。
禁止事项
- 无测试直接大规模重写。
- 同一提交混入功能变更与重构变更。
- 修改外部契约却不提供迁移路径或兼容层。
完成标准
- 行为保持一致(回归测试通过)。
- 复杂度下降(函数长度、嵌套层级、重复率可观测改善)。
- 变更说明清晰(记录重构动机、范围与风险点)。
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 44 lines · 37 tokens per session scan A eb73fc9b43bc
refactoring-patterns is a skill published in the GitHub repository MisonL/Ling (9 stars, last pushed 5mo ago), licensed MIT. It adds 37 tokens to every session and 452 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
auto-perf-optimize
Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.
chat-perf
Run chat perf benchmarks and memory leak checks against the local dev build or any published VS Code version. Use when investigating chat rendering regressions, validating perf-sensitive changes to chat UI, or checking for memory leaks in the chat response pipeline.
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…