| name | ic-refactor |
| description | Refactor IC10 code for clarity and structure. Use when user wants to reorganize code, apply design patterns, improve naming, or make code more maintainable without changing functionality. |
IC10 Code Refactoring
Restructure IC10 code for better clarity, organization, and maintainability.
When to Use
This skill is for restructuring code, not optimizing it:
| User Request | Use This Skill? |
|---|---|
| "Refactor this code" | ✅ Yes |
| "Make this more readable" | ✅ Yes |
| "Reorganize this script" | ✅ Yes |
| "Apply state machine pattern" | ✅ Yes |
| "Extract constants" | ✅ Yes |
| "Reduce line count" | ❌ Use ic-optimize |
| "Make this faster" | ❌ Use ic-optimize |
| "Fix this bug" | ❌ Use ic-debug |
Workflow
1. Analysis Phase
Use Task tool to spawn in parallel:
code-analyzer- Understand current structure and identify issuespattern-finder- Find applicable patterns from examples
2. Refactoring Phase
Use Task tool to spawn:
code-refactorer- Apply refactoring with analysis context
Provide the refactorer with:
- Original code
- Analysis results
- User's specific requests (if any)
- Applicable patterns found
3. Documentation Phase (Optional)
If code needs documentation after refactoring:
code-documenter- Add/update comments and headers
Refactoring Types
Structure Refactoring
- Organize code into clear sections (aliases, constants, main loop)
- Add section headers with comments
- Group related operations together
Naming Refactoring
- Replace d0-d5 with meaningful aliases
- Replace r0-r15 with descriptive names where appropriate
- Extract magic numbers to named defines
Pattern Application
- State machine for multi-phase processes
- Hysteresis for threshold control
- PID for smooth control loops
- Subroutines for repeated logic
Code Clarity
- Split complex conditions into steps
- Add intermediate variables for clarity
- Improve comment quality
Instructions
When user requests IC10 refactoring:
Identify refactoring type
- Is it structure, naming, pattern, or general cleanup?
- Note any specific user requests
Launch analysis agents (parallel)
- code-analyzer: Current structure assessment
- pattern-finder: Applicable patterns
Launch refactorer with context
- Include analysis results
- Specify user's focus areas
- Request explanation of changes
Present results
- Show before/after comparison
- Explain each change made
- Highlight patterns applied
Offer documentation if needed
- Ask if user wants additional comments
- Can run code-documenter as follow-up
Example Triggers
- "Refactor this for clarity"
- "Reorganize this code"
- "Make this more readable"
- "Apply state machine pattern"
- "Extract constants from this"
- "Improve the structure"
- "Clean up this script"
- "Add proper aliases"
- "Convert to hysteresis pattern"
Key Principles
- Never change functionality - Refactoring preserves behavior
- Clarity over brevity - May add lines for readability
- Meaningful names - All aliases should be descriptive
- Pattern where appropriate - Don't force patterns unnecessarily
- Explain changes - User should understand what changed and why