# Frinky04 Frinkyengine Desloppify

> Desloppify

- Skill: `tomevault-io/frinky04-frinkyengine-desloppify` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/frinky04-frinkyengine-desloppify`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/frinky04-frinkyengine-desloppify/raw
- Safety review: pending (external: skill-scanner PASS, skillspector CAUTION)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/frinky04-frinkyengine-desloppify

---


# 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
```

1. `desloppify scan --path .` — the scan output ends with **INSTRUCTIONS FOR AGENTS**. Follow them. Don't substitute your own analysis.
2. Fix the issue the tool recommends.
3. `desloppify resolve fixed "<id>"` — or if it's intentional/acceptable:
   `desloppify resolve wontfix "<id>" --note "reason why"`
4. 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

```bash
desloppify scan --path .                  # full scan
desloppify status                          # score summary
desloppify next --count 5                  # top priorities
desloppify show <pattern>                  # filter by file/detector/ID
desloppify plan                            # prioritized plan
desloppify fix <fixer> --dry-run           # auto-fix (dry-run first!)
desloppify move <src> <dst> --dry-run      # move + update imports
desloppify resolve fixed|wontfix|false_positive "<pat>"   # classify finding outcome
desloppify review --prepare                # generate subjective review data
desloppify review --import file.json       # import review results
```

## 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`.

1. `desloppify review --prepare` — writes review data to `query.json`
2. 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:
   ```json
   {
     "assessments": {
       "naming_quality": 75,
       "error_consistency": 75,
       "abstraction_fitness": 75,
       "logic_clarity": 75,
       "ai_generated_debt": 75,
       "type_safety": 75,
       "contract_coherence": 75
     },
     "findings": []
   }
   ```
3. `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:

1. Capture a minimal repro (`command`, `path`, `expected`, `actual`).
2. Open a GitHub issue in `peteromallet/desloppify`.
3. If you can fix it safely, open a PR linked to that issue.
4. 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.

1. Prefer delegating subjective review tasks to a project subagent in `.claude/agents/`.
2. If a skill-based reviewer is used, set `context: fork` so prior chat context does not leak into scoring.
3. For blind reviews, consume `.desloppify/review_packet_blind.json` instead of full `query.json`.
4. Return machine-readable JSON only for review imports:

```json
{
  "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](https://tomevault.io/claim/frinky04) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-14 -->

