---
title: Skill-Folder-Migration-Audit 2026-05 (KAR-334)
type: reference
tags: [aria, skills, folder-migration, kar-334, progressive-disclosure]
date: 2026-05-18
status: aktiv
prioritaet: P3
linear_issue: KAR-334
parent_kar: KAR-333
quelle: 02-Wissen/skill-audit-2026-05.md
---

## Ziel

Ueber die 33 aktuell 1-File-Skills gehen und entscheiden: profitiert der
Skill von Folder-Layout (`scripts/`, `references/`, `examples/`,
`templates/`)?

## Klassifikations-Tabelle (alle 33)

Gemessen am 2026-05-18: SKILL.md-Zeilen, script-Datei-Verweise im Body,
externe Brain-Refs, eingebettete Bash-Blocks.

| Skill | Lines | Scripts | Ext-Refs | Bash | Decision | Begruendung |
|---|---|---|---|---|---|---|
| **graphify** | 1276 | 3 | 0 | 39 | **JA-DRINGEND** | Monolith mit 39 Bash-Blocks — Split nach `scripts/` + `examples/` |
| **fact-check** | 1118 | 0 | 0 | 0 | **JA-DRINGEND** | Hat schon Sibling-Files (educational-tips.md, README.md) — `references/`-Folder konsolidieren |
| **humanizer** | 559 | 2 | 0 | 0 | **JA** | 559 Zeilen — `references/marketing-phrases.md` + `scripts/` |
| **obsidian-bases** | 497 | 0 | 0 | 0 | **JA** | Heavy Doku — `references/` Split |
| **marketing-psychology** | 455 | 0 | 0 | 0 | **JA** | Heavy Doku — `references/` Split |
| **launch-strategy** | 353 | 0 | 0 | 0 | **MAYBE** | Heavy Doku aber pure prompt, koennte als Single-File leben |
| **design-lint** | 244 | 1 | 1 | 0 | **JA** | `scripts/lint-css.sh` als Folder-Asset waere echter Hebel |
| **json-canvas** | 244 | 0 | 0 | 0 | **NEIN** | Pure prompt, keine Resources |
| **pre-task-supabase-state-check** | 235 | 1 | 1 | 1 | **JA** | SQL-Queries als `scripts/check-queries.sql` extrahieren |
| **verify-and-fix** | 235 | 1 | 2 | 0 | **JA** | `templates/state-md-template.md` extrahieren |
| **spec** | 226 | 1 | 8 | 0 | **JA** | Templates liegen in brain/05-Referenzen — koennte ins Skill-`templates/` ueberfuehrt werden |
| **migration-author-checklist** | 212 | 1 | 2 | 1 | **MAYBE** | 212 Zeilen ist Grenzbereich, 1 Script-Ref |
| **subagent-researcher-pattern** | 208 | 1 | 0 | 3 | **JA** | `scripts/cleanup.sh` bereits referenziert, gehoert in Folder |
| **senior-review** | 198 | 0 | 0 | 0 | **NEIN** | Pure prompt, kein Resource-Bedarf |
| **kar-issue-verifier** | 182 | 1 | 2 | 1 | **JA** | `scripts/verify-kar.sh` als Folder-Asset |
| **claude-watch** | 176 | 6 | 2 | 0 | **JA-EINFACH** | `extract.sh` liegt bereits als Sibling — nur in `scripts/` verschieben |
| **aria-wrap-up** | 169 | 1 | 4 | 0 | **MAYBE** | aria-sync-Script extern, ext_refs zu Daily-Log — koennte bleiben |
| **frontend-design** | 166 | 0 | 0 | 0 | **JA** | Mobile-Anti-Patterns als `references/mobile-anti-patterns.md` rausziehen |
| **diagnose-why-stalled** | 157 | 4 | 0 | 3 | **JA** | `scripts/diagnostic-snippets.sh` koennte 4 Tools bundlen |
| **no-placeholders** | 145 | 1 | 1 | 0 | **NEIN** | Pure Block-Liste, 1 Script-Ref reicht inline |
| **find-skills** | 142 | 6 | 0 | 2 | **JA** | 6 Scripts referenziert — perfekt fuer Folder |
| **canvas-design** | 129 | 0 | 0 | 0 | **NEIN** | Pure prompt |
| **web-design-guidelines** | 122 | 0 | 0 | 0 | **NEIN** | Pure prompt + 3-Persona-Critique inline OK |
| **specialized-validators** | 115 | 9 | 2 | 0 | **JA** | 9 Scripts referenziert ohne `scripts/`-Folder — Drift |
| **document-designer** | 108 | 0 | 0 | 1 | **NEIN** | Pure prompt |
| **to-issues** | 104 | 0 | 1 | 0 | **NEIN** | Pure prompt mit 1 ext_ref |
| **triage** | 103 | 0 | 0 | 0 | **NEIN** | Pure prompt |
| **context-save** | 100 | 0 | 4 | 0 | **NEIN** | Pure flow mit Brain-Pointers |
| **research-fanout** | 97 | 0 | 4 | 0 | **NEIN** | Pure prompt mit Brain-Pointers |
| **aria-mode-toggle** | 97 | 0 | 0 | 3 | **NEIN** | Pure prompt, 3 Bash-Blocks sind Trigger-Spec |
| **grill-with-docs** | 88 | 0 | 0 | 0 | **NEIN** | Small pure prompt |
| **context-restore** | 78 | 0 | 2 | 0 | **NEIN** | Small pure flow |
| **retro** | 73 | 0 | 3 | 0 | **NEIN** | Small pure prompt |
| **improve-codebase-architecture** | 71 | 0 | 0 | 0 | **NEIN** | Small pure prompt |
| **remotion-best-practices** | 61 | 1 | 0 | 0 | **NEIN** | Small pure prompt, 1 Script-Ref reicht inline |
| **theme-factory** | 59 | 0 | 0 | 0 | **NEIN** | Small pure prompt |
| **onboarding** | 57 | 0 | 0 | 0 | **NEIN** | Small pure prompt |
| **grill-me** | 10 | 0 | 0 | 0 | **NEIN** | Mini-prompt |

## Migrations-Summary

- **JA-DRINGEND** (2): graphify (1276z), fact-check (1118z) — Monolithen, Split macht SKILL.md-Lesbarkeit deutlich besser
- **JA-EINFACH** (1): claude-watch — extract.sh existiert bereits als Sibling, nur in `scripts/` verschieben
- **JA** (12): humanizer, obsidian-bases, marketing-psychology, design-lint, pre-task-supabase-state-check, verify-and-fix, spec, subagent-researcher-pattern, kar-issue-verifier, frontend-design, diagnose-why-stalled, find-skills, specialized-validators
- **MAYBE** (3): launch-strategy, migration-author-checklist, aria-wrap-up
- **NEIN** (15): aria-mode-toggle, canvas-design, context-restore, context-save, document-designer, grill-me, grill-with-docs, improve-codebase-architecture, json-canvas, no-placeholders, onboarding, remotion-best-practices, research-fanout, retro, senior-review, theme-factory, to-issues, triage, web-design-guidelines

**Total Migrations-Kandidaten**: 15 von 33 (JA-DRINGEND + JA-EINFACH + JA) = 45%.

Annahme vor Audit war "5-8 Skills" — tatsaechlich rund das Doppelte.
Grund: Skills die als Pure-Prompt anfingen haben sich zu Monstern mit
inline-Bash/Resources gewachsen, ohne dass jemand ein Folder daraus
gemacht hat.

## Sofort-Migrationen (diese Session)

- [x] **claude-watch** — `extract.sh` nach `scripts/extract.sh`, SKILL.md-Pfad aktualisiert (Proof-of-Pattern)
- [x] **subagent-researcher-pattern** — `scripts/cleanup.sh` implementiert (7d-archive / 14d-flag Retention), SKILL.md-Pfad aktualisiert
- [x] **kar-issue-verifier** — `scripts/verifier.py` MVP (Schritt 2 Pre-Checks: brain-note-exists, frontmatter-Pflichtfelder, crossrefs, pr-merged), SKILL.md-Pfad aktualisiert
- [x] **diagnose-why-stalled** — `scripts/diagnostic-snippets.sh` bundelt 4 inline-Bash (service/timer/telegram/all-aria-services), SKILL.md mit Tooling-Section ergaenzt

**Sprint 1 = 4 Migrationen ausgefuehrt** (claude-watch Proof + 3 Sprint-1-Quick-Wins). Alle Smoke-Tests bestanden.

## Sprint 2 — Reference-Extractions (same session, 2026-05-18)

- [x] **frontend-design** — Mobile-Anti-Patterns (M1-M7 + Test-Checklist) nach `references/mobile-anti-patterns.md` extrahiert. SKILL.md von 178 -> 61 Zeilen (-66%).
- [x] **verify-and-fix** — STATE.md-Template nach `templates/state-template.md` extrahiert (mit Exit-Statement + Optimization-Target-Re-Check Sections). SKILL.md von 235 -> 174 Zeilen (-26%).
- [x] **spec** — `spec-kit-templates/` aus `brain/05-Referenzen/` nach `skill/templates/` kopiert (6 Files: ATTRIBUTION, spec, plan, tasks, constitution, checklist). 3 Inline-Referenzen + Templates-Section umgestellt. Brain-Original bleibt fuer Human-Reference, beide Stellen sync-pflichtig.

**Sprint 2 Hebel**: SKILL.md-Dateien deutlich lesbarer, frontend-design fast Halbierung. Templates jetzt deterministisch per `cp` befuellbar statt inline-Copy.

## Sprint 3 Total-Summary

| Skill | Zeilen vor | Zeilen nach | Reduktion | Extrahierte Files |
|---|---|---|---|---|
| humanizer | 559 | 182 | -67% | 2 (patterns, full-example) |
| marketing-psychology | 455 | 80 | -82% | 1 (models) |
| obsidian-bases | 497 | 269 | -46% | 4 (filters, formulas, examples, troubleshooting) |
| fact-check | 1118 | 306 | -73% | 3 (methodology, output-format, educational-tips moved into folder) |
| graphify | 1276 | 705 | -45% | 2 (subcommands, integrations) |
| **Total** | **3905** | **1542** | **-61%** | **12 references-Files** |

**Lessons-Learned Sprint 3:**
- Pattern-Catalog-Skills (humanizer, marketing-psychology) profitieren am meisten von Extraktion (über -67%)
- Workflow-Skills mit komplexer Default-Pipeline (graphify) haben harten Floor — die Pipeline IS the instructions, Extraktion ueber Subcommands/Integrations reicht
- Stop-Bedingung "SKILL.md unter 400 Zeilen" war zu aggressiv fuer Workflow-Skills — pragmatisches Maximum statt starres Ziel
- `references/educational-tips.md` Move-Pattern (fact-check): bestehende Sibling-Files in references/ konsolidieren ist niedriger Aufwand + Folder-Discipline-Gewinn

## Sprint 3 — Monster-Refactors (in Arbeit, 2026-05-18)

Per Sucht-Disziplin: pro Monster max 1 Run, Report nach jedem, Kais entscheidet ob Sprint weitergeht.

- [x] **humanizer** (559 → 182 Zeilen, **-67%**)
  - `references/patterns.md` (379 Zeilen) — alle 29 AI-Writing-Patterns mit Before/After
  - `references/full-example.md` (73 Zeilen) — Komplettes Eichmuster-Beispiel
  - SKILL.md behaelt Intro + Voice-Calibration + Personality-and-Soul + 29-Pattern-Index + Process + Output-Format + Reference

- [x] **marketing-psychology** (455 → 80 Zeilen, **-82%**)
  - `references/models.md` (404 Zeilen) — ~70 Mental-Models / Behavioral-Patterns in 6 Kategorien
  - SKILL.md behaelt Intro + Category-Overview-Tabelle + Quick-Reference-Tabelle (Challenge → relevante Models) + Task-Specific-Questions + Related-Skills
- [x] **obsidian-bases** (497 → 269 Zeilen, **-46%**)
  - `references/filters.md` (53 Zeilen) — Filter-Syntax + Operators-Tabelle
  - `references/formulas.md` (56 Zeilen) — Formula-Syntax + Duration + Date-Arithmetic
  - `references/examples.md` (127 Zeilen) — 3 vollstaendige Bases (Task Tracker, Reading List, Daily Notes)
  - `references/troubleshooting.md` (72 Zeilen) — YAML + Formula Errors
  - Spec-Drift dokumentiert: FUNCTIONS_REFERENCE.md wurde nie angelegt — Link nun auf Obsidian-Hilfsseite umgebogen + Inline-Hinweis
- [x] **fact-check** (1118 → 306 Zeilen, **-73%**)
  - `references/methodology.md` (619 Zeilen) — 11-Step-Pipeline-Spec
  - `references/output-format.md` (242 Zeilen) — Fact-Check-Card + HTML-Design + Mode-2/3-Specifics
  - `references/educational-tips.md` (528 Zeilen) — bestehendes Sibling-File nach references/ verschoben fuer Folder-Discipline
  - SKILL.md behaelt: Frontmatter + Header + 4 Operating Modes + Input Processing + 11-Step-Index + Output-Format-Pointer + Important Guidelines + Claude.ai-Compatibility + Workflow Summary
  - README.md aktualisiert (installation + file-listing)
- [x] **graphify** (1276 → 705 Zeilen, **-45%**; Bash-Blocks 39 → 15, -62%)
  - `references/subcommands.md` (525 Zeilen) — alle alternativen Entry-Points (`--update`, `--cluster-only`, `/graphify query/path/explain/add`, `--watch`, git-hook, CLAUDE.md-integration)
  - `references/integrations.md` (108 Zeilen) — Optional-Output-Flags Neo4j/SVG/GraphML/MCP
  - SKILL.md behaelt: Frontmatter + Usage + What-for + Default-Pipeline Steps 1-6 + Step 8/9 (Benchmark + Manifest) + Interpreter-Guard + Alternative-Entry-Points-Index + Honesty Rules
  - **Stop-Bedingung NICHT erreicht (705z > 400z)**: graphify ist genuinely complex Workflow-Skill, Default-Pipeline-Steps 1-6 sind THE instructions und nicht weiter aufteilbar ohne Skill-Verstuemmelung. -45% war pragmatisches Maximum.

## Folge-Migrationen (separate Sessions)

Priorisierung nach Hebel × Risiko:

### Sprint 1 (Quick Wins, low risk)
- `subagent-researcher-pattern` — `scripts/cleanup.sh` already referenced, just colocate
- `kar-issue-verifier` — `scripts/verify-kar.sh` create
- `diagnose-why-stalled` — `scripts/diagnostic-snippets.sh` bundle

### Sprint 2 (Reference-Extractions)
- `frontend-design` — `references/mobile-anti-patterns.md` rausziehen
- `verify-and-fix` — `templates/state-md-template.md` extrahieren
- `spec` — `templates/` aus `brain/05-Referenzen/spec-kit-templates/` ins Skill-Folder kopieren

### Sprint 3 (Monsters)
- `fact-check` — heavy refactor, README+CHANGELOG+SKILL+educational-tips in clean Folder-Struktur konsolidieren
- `graphify` — 1276 Zeilen + 39 Bash-Blocks zerlegen in `scripts/` + `examples/`
- `humanizer` — 559 Zeilen Marketing-Phrasen nach `references/`
- `obsidian-bases` + `marketing-psychology` — Heavy-Doku-Splits

### Sprint 4 (specialized-validators-Drift) — DONE 2026-05-18
- **Ergebnis**: KEINE Drift, KEINE Migration.
- Tatsaechlich 4 Validators referenziert (Audit-Doc-Schaetzung "9" war
  Grep-Artefakt), alle existieren unter `/root/.claude/hooks/validators/`.
- Migration nach `skill/scripts/` abgelehnt: Validators sind shared
  hook-Scripts, nicht skill-internal. Hook-Convention vorrang.
- Details: `02-Wissen/specialized-validators-drift-2026-05.md`

## Kritik

- **Folder ist nicht magisch.** Pure-Prompt-Skills profitieren NICHT — sie
  werden nur mit Leer-Folder belastet. Die 15 "NEIN"-Entscheidungen sind
  bewusst.
- **Distribution-Argument ist real, aber kein Selbst-Zweck.** Folder-Skills
  sind portierbarer fuer geplante Aria-Distribution (`project_aria_
  distribution_strategy`) — aber nur wenn die Resources echten Wert
  liefern. Leer-Folder ist Bestellnummer-Aenderung.
- **Sprint 3 ist Sucht-Risiko**: graphify+fact-check refactor kann tagelang
  laufen ohne klaren End-Wert. Lieber Sprint 1+2 erst, dann pruefen ob
  Sprint 3 wirklich sich lohnt.
- **specialized-validators braucht zuerst Drift-Check** bevor Migration —
  wenn die referenzierten Scripts gar nicht existieren, ist die Migration
  nur Symptom-Patch.

## Verwandt

- [[skill-audit-2026-05]] — Gotchas-Audit (KAR-333 Parent)
- KAR-333 (Gotchas-Audit, Done)
- KAR-334 (dieser Folder-Migration-Audit)
- `project_aria_distribution_strategy` — Distribution-Argument
- [[2026-05-18-instagram-claude-skill-3-tips]] — Quelle des Patterns
