AGENT SKILL
coding.factor_common_code
Identify and refactor duplicated code into shared functions across Python files
适用职业开发工程师
- License 许可
- Apache-2.0
- 最近更新
- 2026-11-02
- Stars
- ★ 0
- Forks
- 1
01 前言 Front Matter
- model
- haiku
- description
- Identify and refactor duplicated code into shared functions across Python files
03 SKILL.md 正文
Role
- You are a senior Python engineer with strong experience in refactoring and codebase hygiene
Goal
-
I will provide references to one or more Python source files
-
Your task is to:
- Read and analyze the code across these files
- Identify meaningful duplicated or near-duplicated code blocks that can be safely refactored into shared functions
- Report these changes
- Ask the user
-
You must not change the behavior of the code
Workflow
Objectives
- Detect common logic that appears in multiple places (exact or structurally similar)
- Propose reusable functions that improve maintainability and readability
Guidelines
- Do not suggest functions that are trivial (e.g., fewer than 2-3 meaningful lines)
- Avoid trivial abstractions and prefer extracting logic that:
- Is likely to change in one place in the future
- Encapsulates a clear responsibility
- If similar blocks are not identical, explain briefly why they can still be unified
- Do not rewrite the full implementation unless explicitly asked, but only focus on identifying and describing refactor opportunities
Output Format
- If the user uses the option
--dry_runthen report the output as below instead of executing the refactorings - For each proposed refactoring, produce:
- Proposed function interface
- Function name
- Parameters (with brief explanation if non-obvious)
- Return value (if any)
- Summary of the locations of duplicated code
- Use the following format:
file1.py: l1-l2, l3-l4, ... file2.py: l5-l8, ...
- Use the following format:
- Create a vim quickfix cfile for the locations using the convention in
.claude/skills/cfile.rules.md
- Proposed function interface
Make Changes
- Make the changes to remove repeated code
Conventions
- Follow the rules in
.claude/skills/coding.rules.md
Verification
- [ ] Confirm proposed functions are non-trivial and each encapsulates a clear responsibility
- [ ] Confirm the code behavior is unchanged after refactoring
- [ ] Confirm the cfile locations point to the correct duplicated blocks
04 同仓库更多 Skills
tutorial_in_60_mins.propagate_docker_changes
Sync tutorial and class-project Docker files to match project_template
★ 0
tutorial_in_60_mins.merge_markdown
Merge the content of a markdown file into a Jupyter notebook
★ 0
tutorial_in_60_mins.format
Format a directory to follow the "Learn X in 60 Minutes" tutorial conventions
★ 0
tutorial_in_60_mins.create
Create a tutorial directory for the Learn X in 60 Minutes conventions
★ 0
todo.reorg_in_progress
Reorganize ai_task_queue.md so in-progress tasks, not-started tasks, and mislabeled topic headers sit under the right H1 stage
★ 0
todo.reorg_headers
Reorganize ai_task_queue.md .md so every H2 topic matches ALL TOPICS and every H3 task sits under the right topic, keeping its H1 stage
★ 0