A Claude Code skill

Every codebase
has a portrait.

Dorian does two things: it reviews technical debt thoroughly across 10 categories, and it generates one AI image prompt that anthropomorphizes the debt as a single character. The same being across all tiers, falling — from luminous guardian to eldritch horror as the debt grows.

after Oscar Wilde, The Picture of Dorian Gray, 1890

Veil Shade Wraith Revenant Calamity
— a portrait of — your codebase

The codebase keeps shipping. Unchanged. Composed.
Somewhere out of sight, a portrait silently absorbs
every shortcut, every skipped test, every aging dependency.

Dorian makes that portrait visible.

A Fall From Grace

Guardian → Eldritch

The tier comes from a formula, never a gut feel. The same character appears at every tier — but it dims, kneels, fuses with armor and decay, and finally corrupts into something monstrous as the debt accumulates.

  1. T1 · Guardian

    Veil

    score < 1.0

    A small luminous guardian — soft wings, faint halo, watching protectively. Healthy codebase; the portrait keeps something safe.

  2. T2 · Fading

    Shade

    1.0 – 2.5

    A fading angel — one wing tattered, halo dimmed, kneeling under its own weight. Aging product with manageable debt.

  3. T3 · Fallen

    Wraith

    2.5 – 5.0

    A fallen revenant — flesh and steel fused, the wings now blackened blade-feathers. No longer a comfort.

  4. T4 · Cursed

    Revenant

    5.0 – 8.0

    Hulking cursed body, multiple mouths breathing in unison, miasma at the feet. Debt is bleeding into reliability.

  5. T5 · Eldritch

    Calamity

    > 8.0

    Many heads, many mouths, the terrain folding into the figure. Reserved for budget conversations.

A T5 character is deliberately unsettling. Dorian asks before publishing it to a shared dashboard.

The Bundle

Two outputs. One invocation.

Dorian keeps the deliverable narrow on purpose: a thorough debt review, and a single character prompt that visualizes it. Skipping either is incomplete delivery.

I.

Debt Review

Per-category scores across 10 categories, total score, tier (T1–T5), and the top findings — every item carries path:line evidence. Thorough enough to act on.

II.

Character Prompt

A model-agnostic positive / negative prompt with style anchors and a per-flaw inventory — every visible flaw cited back to the review. Pass to any image model; ASCII fallback when none is wired up.

The Reflection

10 categories of debt, 10 surfaces of decay

Every kind of debt has a corresponding mark on the portrait. The mapping is strict: no flaw on the canvas without evidence behind it.

Category Portrait surface
Code SmellsBody distortion
DuplicationDoppelgängers, mirrored limbs
Cyclomatic ComplexityExtra arms, branching tendrils
Outdated DependenciesRusted armor, cracked weapons
Test Coverage GapTranslucent / missing body parts
TODO / FIXME / HACKBandages, chains, gags
Architectural ViolationsTumors, conjoined growth
Security DebtToxic aura, dripping sigils
Performance HotspotsBurning / freezing limbs
Documentation GapEyeless face, sewn mouth

Modes

Two ways to call Dorian

default

Both outputs in one bundle: the thorough debt review plus the character prompt. Use this for retrospectives, onboarding artifacts, and quarterly debt reports.

audit-only

Debt review only — no character generated. Lightweight enough for a CI gate or score-only pass against a PR.

Installation

One folder. Drop it in.

Dorian is a self-contained Claude Code skill. Clone it into your skills directory, restart Claude Code, and confirm it appears in /skills.

  1. 1
    Clone

    Pick user-level (all projects) or project-level (this repo only). See the snippet on the right.

  2. 2
    Verify

    Restart Claude Code, then run /skills. dorian should appear in the list.

  3. 3
    Summon

    Mention the skill by name to activate it.

Activation phrasings

  • “Dorian, summon a portrait of this repo.”
  • “Use Dorian to review technical debt and generate a character.”
  • “Run Dorian's audit-only mode against this branch.”
install update
# User-level — across all projects
git clone https://github.com/simota/dorian.git \
  ~/.claude/skills/dorian

# OR project-level — scoped to one repo
git clone https://github.com/simota/dorian.git \
  .claude/skills/dorian

# Update later
cd ~/.claude/skills/dorian && git pull

# Uninstall
rm -rf ~/.claude/skills/dorian

Design Principles

The mirror, not the trophy

  • Detect honestly. No flaw on the character without path:line evidence behind it.
  • Score before styling. The tier comes from a formula, never a gut feel.
  • One flaw = one debt. Strict 1:1 mapping is what makes Dorian a diagnostic, not decorative AI art.
  • Same being, falling. The character is the codebase across all tiers, corrupting — not five separate creatures.
  • Sinister, not shock. T1–T2 are celestial; T3 is the falling moment; T4–T5 are gothic horror. Never NSFW, never shock-gore, never sexualized.