Claude-code-optimizer smart-edit
Use when adding new features or modifying existing code where following existing codebase patterns matters.
install
source · Clone the upstream repo
git clone https://github.com/huzaifa525/claude-code-optimizer
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/huzaifa525/claude-code-optimizer "$T" && mkdir -p ~/.claude/skills && cp -r "$T/templates/.claude/skills/smart-edit" ~/.claude/skills/huzaifa525-claude-code-optimizer-smart-edit && rm -rf "$T"
manifest:
templates/.claude/skills/smart-edit/SKILL.mdsource content
Before making any changes for $ARGUMENTS, follow this process:
1. Find Similar Examples
- Search for existing code that does something similar
- Read at least 2 examples of the same pattern in this codebase
- Note: naming conventions, file locations, import styles, error handling
2. Check Conventions
- Read CLAUDE.md and any relevant .claude/rules/ files
- Look for linting config (.eslintrc, .prettierrc, ruff.toml, etc.)
- Check if there's a template or generator for this type of change
3. Plan the Change
- List all files that need to be created or modified
- Identify the order of changes (dependencies first)
- Note any tests that need to be added or updated
4. Implement
- Follow the exact patterns found in step 1
- Match naming, structure, and style exactly
- Add tests following the existing test patterns
5. Verify
- Run the relevant test command
- Check that no existing tests broke
- Verify the change integrates with existing code
Pre-Delivery Checklist
Before presenting the result, verify:
- At least 2 similar examples were read from the codebase
- Naming matches existing conventions (casing, prefixes, suffixes)
- File location follows existing project structure
- Import style matches the codebase (relative vs absolute, named vs default)
- Error handling follows existing patterns (not invented new ones)
- Tests added following existing test patterns
- No unrelated changes or "while I'm here" improvements
- Linter/formatter would pass on the new code