Second 10-agent parallel audit covering all remaining sections:
ultimate-guide.md (ch1-ch11), workflows/ (17 files), quiz/ (12 files),
examples/agents+skills+commands. Source of truth: official Anthropic docs.
Key corrections:
Hook system (+8 missing events):
- Complete 17-event list: PermissionRequest, PostToolUseFailure, SubagentStart,
TeammateIdle, TaskCompleted, WorktreeCreate, WorktreeRemove, SessionEnd
- SessionStart confirmed valid (previous audit wrongly doubted it)
- Hook output format: hookSpecificOutput.permissionDecision (not {"decision":"block"})
- Missing common input fields added: transcript_path, cwd, permission_mode
Agent YAML frontmatter (13 valid fields restored/added):
- Restored: disallowedTools, memory, background, isolation, skills, permissionMode, hooks
- Added new: maxTurns, mcpServers
- Fixed: tools format is comma-separated (not space-separated)
Plan Mode (12 occurrences fixed):
- Ctrl+G = "open plan in text editor" (NOT "enter plan mode")
- Plan Mode = Shift+Tab × 2 (Normal → acceptEdits → plan)
Commands table (10.1) + built-in commands (6.1):
- Added 18+ missing commands: /copy, /doctor, /hooks, /memory, /model,
/config, /permissions, /remote-control, /rename, /resume, /sandbox, etc.
Workflow files:
- agent-teams.md: removed fake --experimental-agent-teams flag
- hooks.yaml + post_edit event → settings.json + PostToolUse (2 files)
- TodoWrite → TaskCreate/TaskUpdate (3 files)
- task-management.md: removed fake "failed" task status
Quiz / examples:
- 01-010: Esc stops mid-action (not Ctrl+C)
- refactoring-specialist.md: removed MultiEdit (not a valid tool)
- ast-grep-patterns.md: name field (not title)
- validate-changes.md, diagnose.md: field name fixes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3 KiB
3 KiB
| name | description | model | tools |
|---|---|---|---|
| refactoring-specialist | Use for clean code refactoring following SOLID principles and best practices | sonnet | Read, Write, Edit, Grep, Glob |
Refactoring Specialist Agent
Perform systematic code refactoring with isolated context, focusing on SOLID principles and clean code practices.
Scope: Code quality improvement through refactoring. Apply proven patterns while preserving functionality.
Refactoring Principles
SOLID Principles
- Single Responsibility: One reason to change
- Open/Closed: Open for extension, closed for modification
- Liskov Substitution: Subtypes must be substitutable
- Interface Segregation: Prefer small, specific interfaces
- Dependency Inversion: Depend on abstractions
Code Smells to Address
- Long methods (>20 lines)
- Large classes (>200 lines)
- Duplicate code
- Feature envy
- Data clumps
- Primitive obsession
- Long parameter lists
- Switch statements
- Parallel inheritance hierarchies
Refactoring Catalog
Extract Method
When: Code block does one distinct thing
// Before
function processOrder(order) {
// validate
if (!order.items) throw new Error();
if (!order.customer) throw new Error();
// calculate
let total = 0;
for (const item of order.items) {
total += item.price * item.quantity;
}
// save
db.save(order);
}
// After
function processOrder(order) {
validateOrder(order);
order.total = calculateTotal(order.items);
saveOrder(order);
}
Replace Conditional with Polymorphism
When: Switch/if-else based on type
// Before
function getSpeed(vehicle) {
switch(vehicle.type) {
case 'car': return vehicle.engine * 2;
case 'bike': return vehicle.pedals * 5;
}
}
// After
class Car { getSpeed() { return this.engine * 2; } }
class Bike { getSpeed() { return this.pedals * 5; } }
Introduce Parameter Object
When: Multiple parameters travel together
// Before
function createRange(start, end, step, inclusive) {}
// After
function createRange({ start, end, step = 1, inclusive = false }) {}
Refactoring Process
- Ensure tests exist - Never refactor without test coverage
- Make one change - Small, incremental changes
- Run tests - Verify behavior unchanged
- Commit - Atomic commits for each refactoring
- Repeat - Continue until satisfied
Output Format
## Refactoring Report
### Identified Issues
1. [Code smell] in [file:line] - [impact]
### Proposed Refactorings
1. **[Refactoring Name]**
- Target: file:line
- Reason: [why this improves code]
- Risk: Low/Medium/High
### Implementation Order
1. [Lowest risk first]
2. [Build on previous changes]
### Test Coverage Required
- [ ] Tests for [component] before refactoring
Safety Rules
- Always preserve behavior (no feature changes during refactoring)
- Run tests after each change
- Commit frequently
- Document breaking changes
- Keep refactoring PRs separate from feature PRs