MCP HubMCP Hub
스킬 목록으로 돌아가기

refactor-skill-structure

pjt222
업데이트됨 Yesterday
3 조회
17
2
17
GitHub에서 보기
메타general

정보

이 스킬은 지나치게 길거나 구조가 나쁜 SKILL.md 파일을 리팩터링합니다. 예제를 별도 파일로 추출하고, 복잡한 절차를 분할하며, 점진적 공개 방식으로 내용을 재구성합니다. 스킬이 500줄 제한을 초과하거나 코드 블록이 과도하게 많거나, 관련 없는 작업을 포함한 절차적 단계가 있을 때 사용하세요. 이는 깔끔하고 유지보수 가능한 스킬 문서를 유지하는 데 도움이 됩니다.

빠른 설치

Claude Code

추천
기본
npx skills add pjt222/agent-almanac -a claude-code
플러그인 명령대체
/plugin add https://github.com/pjt222/agent-almanac
Git 클론대체
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/refactor-skill-structure

Claude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요

문서


name: refactor-skill-structure description: > Refaktoriert eine zu lange oder schlecht strukturierte SKILL.md durch Auslagern von Beispielen in references/EXAMPLES.md, Aufteilen zusammengesetzter Prozeduren und Neuorganisation der Abschnitte fuer progressive Offenlegung. Verwenden wenn ein Skill das 500-Zeilen-CI-Limit ueberschreitet, wenn Code-Bloecke den Skill-Koerper dominieren, wenn ein Prozedurschritt mehrere unzusammenhaengende Operationen enthaelt oder wenn eine Inhaltsaktualisierung den Skill ueber das Zeilenlimit geschoben hat. locale: de source_locale: en source_commit: 6f65f316 translator: claude-opus-4-6 translation_date: 2026-03-16 license: MIT allowed-tools: Read Write Edit Grep Glob metadata: author: Philipp Thoss version: "1.1" domain: review complexity: advanced language: multi tags: review, skills, refactoring, structure, progressive-disclosure

Skill-Struktur refaktorieren

Eine SKILL.md refaktorieren, die das 500-Zeilen-Limit ueberschritten hat oder strukturelle Probleme entwickelt hat. Dieser Skill lagert erweiterte Code-Beispiele in references/EXAMPLES.md aus, teilt zusammengesetzte Prozeduren in fokussierte Teilprozeduren auf, fuegt Querverweise fuer progressive Offenlegung hinzu und verifiziert, dass der Skill nach der Umstrukturierung vollstaendig und gueltig bleibt.

Wann verwenden

  • Ein Skill ueberschreitet das von CI erzwungene 500-Zeilen-Limit
  • Ein einzelner Prozedurschritt enthaelt mehrere unzusammenhaengende Operationen, die separate Schritte sein sollten
  • Code-Bloecke laenger als 15 Zeilen dominieren die SKILL.md und koennten ausgelagert werden
  • Der Skill hat ad-hoc-Abschnitte angesammelt, die die standardmaessige Sechsabschnittsstruktur durchbrechen
  • Nach einer Inhaltsaktualisierung, die den Skill ueber das Zeilenlimit geschoben hat
  • Ein Skill-Review hat strukturelle Probleme markiert, die ueber Inhaltsqualitaet hinausgehen

Eingaben

  • Erforderlich: Pfad zur zu refaktorierenden SKILL.md-Datei
  • Optional: Ziel-Zeilenzahl (Standard: 80% des 500-Zeilen-Limits anstreben, d. h. ~400 Zeilen)
  • Optional: Ob references/EXAMPLES.md erstellt werden soll (Standard: ja, wenn auslagerbare Inhalte vorhanden)
  • Optional: Ob in mehrere Skills aufgeteilt werden soll (Standard: nein, Auslagerung bevorzugen)

Vorgehensweise

Schritt 1: Aktuelle Zeilenzahl messen und Quellen der Aufblaehung identifizieren

Den Skill lesen und ein abschnittsbezogenes Zeilenbudget erstellen, um zu identifizieren, wo die Aufblaehung liegt.

# Gesamte Zeilenzahl
wc -l < skills/<skill-name>/SKILL.md

# Zeilenzahl pro Abschnitt (ungefaehr)
grep -n "^## \|^### " skills/<skill-name>/SKILL.md

Aufblaehungs-Quellen klassifizieren:

  • Auslagerbar: Code-Bloecke mit mehr als 15 Zeilen, vollstaendige Konfigurationsbeispiele, Multi-Varianten-Beispiele
  • Teilbar: Zusammengesetzte Prozedurschritte, die 2+ unzusammenhaengende Operationen ausfuehren
  • Kuerzbar: Redundante Erklaerungen, uebermaeissig ausfuehrliche Kontextsaetze
  • Strukturell: Ad-hoc-Abschnitte nicht in der standardmaessigen Sechsabschnittsstruktur

Erwartet: Ein Zeilenbudget, das zeigt, welche Abschnitte ueberdimensioniert sind und welche Aufblaehungskategorie auf jeden zutrifft. Die groessten Abschnitte sind die primaeren Refaktorierungsziele.

Bei Fehler: Wenn der Skill unter 500 Zeilen ist und keine strukturellen Probleme erkennbar sind, wird dieser Skill moeglicherweise nicht benoetigt. Die Refaktorierungsanfrage vor dem Fortfahren begruenden.

Schritt 2: Code-Bloecke in references/EXAMPLES.md auslagern

Code-Bloecke laenger als 15 Zeilen in eine references/EXAMPLES.md-Datei verschieben, kurze Inline-Snippets (3-10 Zeilen) in der Haupt-SKILL.md belassen.

  1. References-Verzeichnis erstellen:

    mkdir -p skills/<skill-name>/references/
    
  2. Fuer jeden auslagerungswuerdigen Code-Block:

    • Vollstaendigen Code-Block unter einer beschreibenden Ueberschrift nach references/EXAMPLES.md kopieren
    • Code-Block in SKILL.md durch ein kurzes 3-5-zeiliges Snippet ersetzen
    • Querverweis hinzufuegen: Vollstaendige Konfiguration in [EXAMPLES.md](references/EXAMPLES.md#ueberschrift) einsehen.
  3. references/EXAMPLES.md mit klaren Ueberschriften strukturieren:

    # Beispiele
    
    ## Beispiel 1: Vollstaendige Konfiguration
    
    Vollstaendige Konfigurationsdatei fuer [Kontext]:
    
    \```yaml
    # ... vollstaendige Konfiguration hier ...
    \```
    
    ## Beispiel 2: Multi-Varianten-Setup
    
    ### Variante A: Entwicklung
    \```yaml
    # ... Entwicklungskonfiguration ...
    \```
    
    ### Variante B: Produktion
    \```yaml
    # ... Produktionskonfiguration ...
    \```
    

Erwartet: Alle Code-Bloecke mit mehr als 15 Zeilen ausgelagert. Die Haupt-SKILL.md behaelt kurze Inline-Snippets fuer Lesbarkeit. Querverweise verlinken auf den ausgelagerten Inhalt. references/EXAMPLES.md ist gut organisiert mit beschreibenden Ueberschriften.

Bei Fehler: Wenn das Auslagern von Code-Bloecken die Zeilenzahl nicht ausreichend reduziert (noch ueber 500), zu Schritt 3 fuer Prozeduraufteilung fortfahren. Wenn der Skill sehr wenige Code-Bloecke hat (z. B. ein natuerlichsprachlicher Skill), stattdessen auf Schritte 3 und 4 konzentrieren.

Schritt 3: Zusammengesetzte Prozeduren in fokussierte Schritte aufteilen

Prozedurschritte identifizieren, die mehrere unzusammenhaengende Operationen ausfuehren, und sie aufteilen.

Anzeichen fuer einen zusammengesetzten Schritt:

  • Der Schritttitel enthaelt "und" (z. B. "Datenbank konfigurieren und Caching einrichten")
  • Der Schritt hat mehrere Expected/On-failure-Bloecke (oder sollte sie haben)
  • Der Schritt ist laenger als 30 Zeilen
  • Der Schritt koennte in anderer Reihenfolge als seine Teilschritte uebersprungen oder ausgefuehrt werden

Fuer jeden zusammengesetzten Schritt:

  1. Die distincten Operationen innerhalb des Schritts identifizieren
  2. Fuer jede Operation einen neuen ### Schritt N: erstellen
  3. Nachfolgende Schritte neu nummerieren
  4. Sicherstellen, dass jeder neue Schritt eigene Expected- und On-failure-Bloecke hat
  5. Uebergangkontext zwischen neuen Schritten hinzufuegen

Erwartet: Jeder Prozedurschritt tut eine Sache. Kein Schritt ueberschreitet 30 Zeilen. Die Schrittanzahl kann zunehmen, aber jeder Schritt ist unabhaengig verifizierbar.

Bei Fehler: Wenn das Aufteilen eines Schritts zu zu feingranularen Schritten fuehrt (z. B. 20+ Gesamtschritte), verwandte Mikroschritte unter einem einzigen Schritt mit nummerierten Teilschritten gruppieren. Der Suessbereich liegt bei 5-12 Prozedurschritten.

Schritt 4: Querverweise von SKILL.md zu ausgelagertem Inhalt hinzufuegen

Sicherstellen, dass die Haupt-SKILL.md nach der Auslagerung lesbar und auffindbar bleibt.

Fuer jede Auslagerung:

  1. Das Inline-Snippet in SKILL.md sollte fuer den haeufigen Fall eigenstaendig sein
  2. Der Querverweis sollte erklaeren, welche zusaetzlichen Inhalte verfuegbar sind
  3. Relative Pfade verwenden: [EXAMPLES.md](references/EXAMPLES.md#abschnitts-anker)

Querverweis-Muster:

  • Nach einem kurzen Code-Snippet: Vollstaendige Konfiguration mit allen Optionen in [EXAMPLES.md](references/EXAMPLES.md#full-configuration) einsehen.
  • Fuer Multi-Varianten-Beispiele: Entwicklungs-, Staging- und Produktionsvarianten in [EXAMPLES.md](references/EXAMPLES.md#variants) einsehen.
  • Fuer erweiterte Fehlerbehebung: Weitere Fehlerszenarien in [EXAMPLES.md](references/EXAMPLES.md#troubleshooting) einsehen.

Erwartet: Jede Auslagerung hat einen entsprechenden Querverweis. Ein Leser kann der Haupt-SKILL.md fuer den haeufigen Fall folgen und fuer Details in die Referenzen eintauchen.

Bei Fehler: Wenn Querverweise den Textfluss unhandlich machen, mehrere Verweise in einen einzelnen Hinweis am Ende des Prozedurschritts konsolidieren: Fuer erweiterte Beispiele einschliesslich [X], [Y] und [Z] siehe [EXAMPLES.md](references/EXAMPLES.md).

Schritt 5: Zeilenzahl nach Refaktorierung verifizieren

Die SKILL.md-Zeilenzahl nach allen Aenderungen neu messen.

# Haupt-SKILL.md pruefen
lines=$(wc -l < skills/<skill-name>/SKILL.md)
[ "$lines" -le 500 ] && echo "SKILL.md: OK ($lines Zeilen)" || echo "SKILL.md: NOCH DRÜBER ($lines Zeilen)"

# References-Datei pruefen falls erstellt
if [ -f skills/<skill-name>/references/EXAMPLES.md ]; then
  ref_lines=$(wc -l < skills/<skill-name>/references/EXAMPLES.md)
  echo "EXAMPLES.md: $ref_lines Zeilen"
fi

# Gesamter Inhalt
echo "Gesamter Inhalt: $((lines + ${ref_lines:-0})) Zeilen"

Erwartet: SKILL.md ist unter 500 Zeilen. Idealerweise unter 400 Zeilen, um Raum fuer zukuenftiges Wachstum zu lassen. Fuer references/EXAMPLES.md gibt es kein Zeilenlimit.

Bei Fehler: Wenn nach Auslagerung und Aufteilung noch ueber 500 Zeilen, erwaegen, ob der Skill in zwei separate Skills zerlegt werden sollte. Ein Skill, der zu viel abdeckt, ist ein Zeichen von Scope-Creep. create-skill verwenden, um den zweiten Skill zu erstellen, und Related-Skills-Querverweise in beiden aktualisieren.

Schritt 6: Alle Abschnitte noch vorhanden validieren

Nach der Refaktorierung verifizieren, dass der Skill noch alle erforderlichen Abschnitte hat und das Frontmatter intakt ist.

Die review-skill-format-Checkliste ausfuehren:

  1. YAML-Frontmatter wird korrekt geparst
  2. Alle sechs erforderlichen Abschnitte vorhanden (When to Use, Inputs, Procedure, Validation, Common Pitfalls, Related Skills)
  3. Jeder Prozedurschritt hat Expected- und On-failure-Bloecke
  4. Keine verwaisten Querverweise (alle Links loesen sich auf)
# Schnelle Abschnitts-Pruefung
for section in "## When to Use" "## Inputs" "## Procedure" "## Common Pitfalls" "## Related Skills"; do
  grep -q "$section" skills/<skill-name>/SKILL.md && echo "$section: OK" || echo "$section: FEHLT"
done
grep -qE "## Validation( Checklist)?" skills/<skill-name>/SKILL.md && echo "Validation: OK" || echo "Validation: FEHLT"

Erwartet: Alle Abschnitte vorhanden. Kein Inhalt wurde bei der Auslagerung versehentlich geloescht. Querverweise in SKILL.md loesen sich zu tatsaechlichen Ueberschriften in EXAMPLES.md auf.

Bei Fehler: Wenn ein Abschnitt versehentlich entfernt wurde, ihn aus dem Git-Verlauf wiederherstellen: git diff skills/<skill-name>/SKILL.md, um zu sehen, was sich geaendert hat. Wenn Querverweise defekt sind, Ueberschriften-Anker in EXAMPLES.md gegen die Links in SKILL.md verifizieren (GitHub Flavored Markdown Anker-Regeln: Kleinbuchstaben, Bindestriche fuer Leerzeichen, Interpunktion entfernen).

Validierung

  • SKILL.md-Zeilenzahl betraegt 500 oder weniger
  • Alle Code-Bloecke in SKILL.md sind 15 Zeilen oder weniger
  • Ausgelagerter Inhalt ist in references/EXAMPLES.md mit beschreibenden Ueberschriften
  • Jede Auslagerung hat einen Querverweis in der Haupt-SKILL.md
  • Keine zusammengesetzten Prozedurschritte verbleiben (jeder Schritt tut eine Sache)
  • Alle sechs erforderlichen Abschnitte sind nach der Refaktorierung vorhanden
  • Jeder Prozedurschritt hat Expected:- und On failure:-Bloecke
  • YAML-Frontmatter ist intakt und parsebar
  • Querverweis-Links loesen sich zu tatsaechlichen Ueberschriften in EXAMPLES.md auf
  • review-skill-format-Validierung besteht auf dem refaktorisierten Skill

Haeufige Stolperfallen

  • Zu aggressiv auslagern: Alles in Referenzen zu verschieben macht die Haupt-SKILL.md unlesbar. Inline 3-10-Zeilen-Snippets fuer den haeufigen Fall behalten. Nur Bloecke auslagern, die mehr als 15 Zeilen haben oder mehrere Varianten zeigen.
  • Defekte Anker-Links: GitHub Flavored Markdown Anker sind in manchen Renderern gross-/kleinschreibungsempfindlich. Kleinbuchstaben-Ueberschriften in EXAMPLES.md verwenden und in Querverweisen exakt uebereinstimmen. Mit grep -c "ueberschrift-text" references/EXAMPLES.md testen.
  • Expected/On failure beim Aufteilen verlieren: Beim Aufteilen zusammengesetzter Schritte sicherstellen, dass jeder neue Schritt eigene Expected- und On-failure-Bloecke bekommt. Es ist leicht, nach einer Aufteilung einen Schritt ohne diese Bloecke zu lassen.
  • Zu viele winzige Schritte erstellen: Das Aufteilen sollte 5-12 Prozedurschritte ergeben. Bei 15+ wurde zu aggressiv aufgeteilt. Verwandte Mikroschritte zu logischen Gruppen zurueckfuehren.
  • EXAMPLES.md-Ueberschriften-Aktualisierungen vergessen: Wenn ein Abschnitt in EXAMPLES.md umbenannt wird, muessen alle Querverweis-Anker in SKILL.md aktualisiert werden. Den alten Ankernamen suchen, um alle Referenzen zu finden.

Verwandte Skills

  • review-skill-format — Formatvalidierung nach der Refaktorierung ausfuehren, um zu bestaetigen, dass der Skill noch konform ist
  • update-skill-content — Inhaltsaktualisierungen sind haeufig der Ausloser fuer strukturelle Refaktorierung, wenn sie einen Skill ueber das Zeilenlimit schieben
  • create-skill — Die kanonische Struktur referenzieren, wenn entschieden wird, wie ausgelagerter Inhalt organisiert wird
  • evolve-skill — Wenn ein Skill in zwei separate Skills aufgeteilt werden muss, Evolution verwenden, um den abgeleiteten Skill zu erstellen

GitHub 저장소

pjt222/agent-almanac
경로: i18n/de/skills/refactor-skill-structure
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

연관 스킬

content-collections

메타

이 스킬은 콘텐츠 콜렉션(Content Collections)을 위한 프로덕션 검증된 설정을 제공합니다. 콘텐츠 콜렉션은 Markdown/MDX 파일을 Zod 검증이 포함된 타입 안전한 데이터 콜렉션으로 변환해주는 TypeScript 최우선 도구입니다. 블로그, 문서 사이트 또는 콘텐츠 중심의 Vite + React 애플리케이션을 구축할 때 타입 안전성과 자동 콘텐츠 검증을 보장하기 위해 사용하세요. Vite 플러그인 구성과 MDX 컴파일부터 배포 최적화 및 스키마 검증에 이르기까지 모든 것을 다룹니다.

스킬 보기

polymarket

메타

이 스킬은 개발자들이 Polymarket 예측 시장 플랫폼을 활용한 애플리케이션을 구축할 수 있도록 지원하며, 거래 및 시장 데이터를 위한 API 통합 기능을 포함합니다. 또한 WebSocket을 통한 실시간 데이터 스트리밍을 제공하여 실시간 거래와 시장 활동을 모니터링할 수 있습니다. 이를 통해 거래 전략을 구현하거나 실시간 시장 업데이트를 처리하는 도구를 생성하는 데 활용할 수 있습니다.

스킬 보기

creating-opencode-plugins

메타

이 스킬은 개발자들이 명령어, 파일, LSP 작업 등 25개 이상의 이벤트 유형에 연결되는 OpenCode 플러그인을 만들 수 있도록 돕습니다. JavaScript/TypeScript 모듈을 위한 플러그인 구조, 이벤트 API 명세, 구현 패턴을 제공합니다. OpenCode AI 어시스턴트의 라이프사이클을 사용자 정의 이벤트 기반 로직으로 가로채거나, 모니터링하거나, 확장해야 할 때 사용하세요.

스킬 보기

sglang

메타

SGLang은 RadixAttention 프리픽스 캐싱을 활용하여 JSON, 정규식, 에이전트 워크플로우를 위한 고속 구조화 생성에 특화된 고성능 LLM 서빙 프레임워크입니다. 특히 반복되는 프리픽스가 있는 작업에서 상당히 빠른 추론 속도를 제공하여 복잡한 구조화 출력 및 다중 턴 대화에 이상적입니다. 제약 디코딩이 필요하거나 광범위한 프리픽스 공유가 있는 애플리케이션을 구축할 때는 vLLM과 같은 대안보다 SGLang을 선택하십시오.

스킬 보기