| name | desloppify |
| description | > Use when this capability is needed. |
Desloppify
1. Your Job
Improve code quality by fixing findings and maximizing strict score honestly.
Never hide debt with suppression patterns just to improve lenient score. After
every scan, show the user ALL scores:
| What | How |
|---|
| Overall health | lenient + strict |
| 5 mechanical dimensions | File health, Code quality, Duplication, Test health, Security |
| 7 subjective dimensions | Naming Quality, Error Consistency, Abstraction Fit, Logic Clarity, AI Generated Debt, Type Safety, Contract Coherence |
Never skip scores. The user tracks progress through them.
2. Core Loop
scan → follow the tool's strategy → fix or wontfix → rescan
desloppify scan --path . — the scan output ends with INSTRUCTIONS FOR AGENTS. Follow them. Don't substitute your own analysis.
- Fix the issue the tool recommends.
desloppify resolve fixed "<id>" — or if it's intentional/acceptable:
desloppify resolve wontfix "<id>" --note "reason why"
- Rescan to verify.
Wontfix is not free. It lowers the strict score. The gap between lenient and strict IS wontfix debt. Call it out when:
- Wontfix count is growing — challenge whether past decisions still hold
- A dimension is stuck 3+ scans — suggest a different approach
- Auto-fixers exist for open findings — ask why they haven't been run
3. Commands
desloppify scan --path .
desloppify status
desloppify next --count 5
desloppify show <pattern>
desloppify plan
desloppify fix <fixer> --dry-run
desloppify move <src> <dst> --dry-run
desloppify resolve fixed|wontfix|false_positive "<pat>"
desloppify review --prepare
desloppify review --import file.json
4. Subjective Reviews (biggest score lever)
Score = 75% mechanical + 25% subjective. Subjective starts at 0% until reviewed.
Default dimensions:
naming_quality, error_consistency, abstraction_fitness,
logic_clarity, ai_generated_debt, type_safety, contract_coherence.
desloppify review --prepare — writes review data to query.json
- Launch an isolated reviewer (Claude subagent, or Codex fresh thread/worktree/cloud task) to read
query.json (or .desloppify/review_packet_blind.json), review files, and write assessments:
{
"assessments": {
"naming_quality": 75,
"error_consistency": 75,
"abstraction_fitness": 75,
"logic_clarity": 75,
"ai_generated_debt": 75,
"type_safety": 75,
"contract_coherence": 75
},
"findings": []
}
desloppify review --import review_output.json
Even moderate scores (60-80) dramatically improve overall health.
5. Quick Reference
- Tiers: T1 auto-fix, T2 quick manual, T3 judgment call, T4 major refactor
- Zones: production/script (scored), test/config/generated/vendor (not scored). Fix with
zone set.
- Auto-fixers (TS only):
unused-imports, unused-vars, debug-logs, dead-exports, etc.
- query.json: After any command, has
narrative.actions with prioritized next steps.
--skip-slow skips duplicate detection for faster iteration.
--lang python, --lang typescript, or --lang csharp to force language.
- C# defaults to
--profile objective; use --profile full to include subjective review.
- Score can temporarily drop after fixes (cascade effects are normal).
6. Escalate Tool Issues Upstream
When desloppify itself appears wrong or inconsistent:
- Capture a minimal repro (
command, path, expected, actual).
- Open a GitHub issue in
peteromallet/desloppify.
- If you can fix it safely, open a PR linked to that issue.
- If unsure whether it is tool bug vs user workflow, issue first, PR second.
Prerequisite
command -v desloppify >/dev/null 2>&1 && echo "desloppify: installed" || echo "NOT INSTALLED — run: pip install --upgrade git+https://github.com/peteromallet/desloppify.git"
Claude Code Overlay
Use Claude subagents for subjective scoring work that should be context-isolated.
- Prefer delegating subjective review tasks to a project subagent in
.claude/agents/.
- If a skill-based reviewer is used, set
context: fork so prior chat context does not leak into scoring.
- For blind reviews, consume
.desloppify/review_packet_blind.json instead of full query.json.
- Return machine-readable JSON only for review imports:
{
"assessments": {
"naming_quality": 0,
"error_consistency": 0,
"abstraction_fitness": 0,
"logic_clarity": 0,
"ai_generated_debt": 0,
"type_safety": 0,
"contract_coherence": 0
},
"findings": []
}
Converted and distributed by TomeVault — claim your Tome and manage your conversions.