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

analyze-codebase-workflow

pjt222
업데이트됨 2 days ago
8 조회
17
2
17
GitHub에서 보기
디자인automation

정보

이 스킬은 putior의 `put_auto()` 엔진을 사용하여 코드베이스를 자동으로 분석하여 워크플로우, 데이터 파이프라인, 파일 종속성을 탐지합니다. 902개의 자동 탐지 패턴으로 30개 이상의 언어에 걸쳐 감지된 I/O 패턴을 소스 파일에 매핑하여 어노테이션 계획을 생성합니다. 익숙하지 않은 코드베이스를 탐색하거나, 어노테이션이 없는 프로젝트에서 putior 통합을 시작하거나, 문서화 전에 데이터 파이프라인을 감사할 때 사용하세요.

빠른 설치

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/analyze-codebase-workflow

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

문서


name: analyze-codebase-workflow description: > Eine beliebige Codebase analysieren, um Workflows, Datenpipelines und Dateiabhängigkeiten mit putiors put_auto()-Engine automatisch zu erkennen. Erzeugt einen Annotationsplan, der erkannte I/O-Muster Quelldateien über 30+ unterstützte Sprachen mit 902 Auto-Erkennungsmustern zuordnet. Verwenden, wenn eine unbekannte Codebase erkundet werden soll, putior-Integration in einem Projekt ohne Annotationen gestartet wird oder die Datenpipeline vor der Dokumentation auditiert werden soll. license: MIT locale: de source_locale: en source_commit: 6f65f316 translator: claude-opus-4-6 translation_date: 2026-03-16 allowed-tools: Read Write Edit Bash Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: workflow-visualization complexity: intermediate language: multi tags: putior, workflow, analysis, auto-detect, polyglot, data-pipeline

Codebase-Workflow analysieren

Ein beliebiges Repository analysieren, um Datenflüsse, Datei-I/O und Skript-Abhängigkeiten automatisch zu erkennen, dann einen strukturierten Annotationsplan zur manuellen Verfeinerung erzeugen.

Wann verwenden

  • Einarbeitung in eine unbekannte Codebase, um Datenflüsse zu verstehen
  • putior-Integration in einem Projekt ohne PUT-Annotationen starten
  • Vorhandene Datenpipeline eines Projekts vor der Dokumentation auditieren
  • Annotationsplan vorbereiten vor Ausführung von annotate-source-files

Eingaben

  • Erforderlich: Pfad zum Repository oder Quellverzeichnis zum Analysieren
  • Optional: Spezifische Unterverzeichnisse zum Fokussieren (Standard: gesamtes Repo)
  • Optional: Sprachen zum Ein- oder Ausschließen (Standard: alle erkannten)
  • Optional: Erkennungsumfang: nur Inputs, nur Outputs oder beides (Standard: beides + Abhängigkeiten)

Vorgehensweise

Schritt 1: Repository-Struktur erkunden

Quelldateien und ihre Sprachen identifizieren, um zu verstehen, was putior analysieren kann.

library(putior)

# Alle unterstützten Sprachen und ihre Erweiterungen auflisten
list_supported_languages()
list_supported_languages(detection_only = TRUE)  # Nur Sprachen mit Auto-Erkennung

# Unterstützte Erweiterungen abrufen
exts <- get_supported_extensions()

Dateiauflistung zum Verstehen der Repo-Zusammensetzung verwenden:

# Dateien nach Erweiterung im Zielverzeichnis zählen
find /path/to/repo -type f | sed 's/.*\.//' | sort | uniq -c | sort -rn | head -20

Erwartet: Liste der im Repo vorhandenen Dateiendungen mit Anzahlen. Diese gegen get_supported_extensions() abgleichen, um Abdeckung zu kennen.

Bei Fehler: Wenn das Repo keine Dateien mit unterstützten Erweiterungen hat, kann putior keine Workflows auto-erkennen. Überlegen, ob die Sprache unterstützt wird, aber Dateien nicht-standardmäßige Erweiterungen verwenden.

Schritt 2: Spracherkennungsabdeckung prüfen

Für jede erkannte Sprache die Verfügbarkeit von Auto-Erkennungsmustern verifizieren.

# Prüfen welche Sprachen Auto-Erkennungsmuster haben (18 Sprachen, 902 Muster)
detection_langs <- list_supported_languages(detection_only = TRUE)
cat("Sprachen mit Auto-Erkennung:\n")
print(detection_langs)

# Musterzahlen für spezifische im Repo gefundene Sprachen abrufen
for (lang in c("r", "python", "javascript", "sql", "dockerfile", "makefile")) {
  patterns <- get_detection_patterns(lang)
  cat(sprintf("%s: %d Input-, %d Output-, %d Abhängigkeitsmuster\n",
    lang,
    length(patterns$input),
    length(patterns$output),
    length(patterns$dependency)
  ))
}

Erwartet: Musterzahlen für jede Sprache ausgegeben. R hat 124 Muster, Python 159, JavaScript 71 usw.

Bei Fehler: Wenn eine Sprache keine Muster zurückgibt, unterstützt sie manuelle Annotationen aber keine Auto-Erkennung. Diese Dateien manuell annotieren planen.

Schritt 3: Auto-Erkennung ausführen

put_auto() auf das Zielverzeichnis ausführen, um Workflow-Elemente zu entdecken.

# Vollständige Auto-Erkennung
workflow <- put_auto("./src/",
  detect_inputs = TRUE,
  detect_outputs = TRUE,
  detect_dependencies = TRUE
)

# Build-Skripte und Test-Helfer vom Scan ausschließen
workflow <- put_auto("./src/",
  detect_inputs = TRUE,
  detect_outputs = TRUE,
  detect_dependencies = TRUE,
  exclude = c("build-", "test_helper")
)

# Erkannte Workflow-Knoten anzeigen
print(workflow)

# Knotenanzahl prüfen
cat(sprintf("Erkannte %d Workflow-Knoten\n", nrow(workflow)))

Für große Repos, Unterverzeichnisse schrittweise analysieren:

# Spezifische Unterverzeichnisse analysieren
etl_workflow <- put_auto("./src/etl/")
api_workflow <- put_auto("./src/api/")

Erwartet: Ein DataFrame mit Spalten id, label, input, output, source_file. Jede Zeile repräsentiert einen erkannten Workflow-Schritt.

Bei Fehler: Wenn das Ergebnis leer ist, enthalten die Quelldateien möglicherweise keine erkennbaren I/O-Muster. Debug-Logging aktivieren: workflow <- put_auto("./src/", log_level = "DEBUG"), um zu sehen, welche Dateien gescannt und welche Muster zugeordnet werden.

Schritt 4: Initialdiagramm generieren

Den automatisch erkannten Workflow visualisieren, um Abdeckung zu beurteilen und Lücken zu identifizieren.

# Diagramm aus auto-erkanntem Workflow generieren
cat(put_diagram(workflow, theme = "github"))

# Mit Quelldatei-Info für Nachverfolgbarkeit
cat(put_diagram(workflow, show_source_info = TRUE))

# Zur Überprüfung in Datei speichern
writeLines(put_diagram(workflow, theme = "github"), "workflow-auto.md")

Erwartet: Mermaid-Flowchart mit erkannten Knoten, verbunden durch Datenfluss-Kanten. Knoten sollten mit aussagekräftigen Funktions-/Dateinamen beschriftet sein.

Bei Fehler: Wenn das Diagramm getrennte Knoten zeigt, hat die Auto-Erkennung I/O-Muster gefunden, konnte aber keine Verbindungen ableiten. Das ist normal — Verbindungen werden aus übereinstimmenden Output-Dateinamen mit Input-Dateinamen abgeleitet. Der Annotationsplan (nächster Schritt) adressiert Lücken.

Schritt 5: Annotationsplan erstellen

Einen strukturierten Plan erstellen, der Gefundenes und manuell Anzunotierendes dokumentiert.

# Annotationsvorschläge generieren
put_generate("./src/", style = "single")

# Mehrzeiliger Stil (lesbarer für komplexe Workflows)
put_generate("./src/", style = "multiline")

# Vorschläge in die Zwischenablage kopieren
put_generate("./src/", output = "clipboard")

Plan mit Abdeckungsbewertung dokumentieren:

## Annotationsplan

### Auto-erkannt (kein manueller Aufwand nötig)
- `src/etl/extract.R` — 3 Inputs, 2 Outputs erkannt
- `src/etl/transform.py` — 1 Input, 1 Output erkannt

### Braucht manuelle Annotation
- `src/api/handler.js` — Sprache unterstützt, aber keine I/O-Muster zugeordnet
- `src/config/setup.sh` — Nur 12 Shell-Muster; komplexe Logik nicht erfasst

### Nicht unterstützt
- `src/legacy/process.f90` — Fortran nicht in Erkennungssprachen

### Empfohlene Verbindungen
- extract.R-Output `data.csv` → transform.py-Input `data.csv` (auto-verknüpft)
- transform.py-Output `clean.parquet` → load.R-Input (Annotation erforderlich)

Erwartet: Klarer Plan, der auto-erkannte Dateien von manuell zu annotierenden trennt, mit spezifischen Empfehlungen für jede Datei.

Bei Fehler: Wenn put_generate() keine Ausgabe erzeugt, sicherstellen, dass der Verzeichnispfad korrekt ist und Quelldateien in unterstützten Sprachen enthält.

Validierung

  • put_auto() wird ohne Fehler auf das Zielverzeichnis ausgeführt
  • Erkannter Workflow hat mindestens einen Knoten (außer das Repo hat kein erkennbares I/O)
  • put_diagram() erzeugt gültigen Mermaid-Code aus dem auto-erkannten Workflow
  • put_generate() erzeugt Annotationsvorschläge für Dateien mit erkannten Mustern
  • Annotationsplan-Dokument mit Abdeckungsbewertung erstellt

Haeufige Stolperfallen

  • Zu breit scannen: put_auto(".") auf einem Repo-Root einzuführen kann node_modules/, .git/, venv/ usw. einschließen. Spezifische Quellverzeichnisse anvisieren.
  • Vollständige Abdeckung erwarten: Auto-Erkennung findet Datei-I/O und Bibliotheksaufrufe, nicht Geschäftslogik. Eine Abdeckungsrate von 40-60 % ist typisch; der Rest benötigt manuelle Annotation.
  • Abhängigkeiten ignorieren: Das Flag detect_dependencies = TRUE erfasst source(), import, require()-Aufrufe, die Skripte miteinander verknüpfen. Deaktivieren verliert dateiübergreifende Verbindungen.
  • Sprachabweichung: Dateien mit nicht-standardmäßigen Erweiterungen (z. B. .R vs .r, .jsx vs .js) werden möglicherweise nicht erkannt. get_comment_prefix() verwenden, um zu prüfen ob eine Erweiterung erkannt wird.
  • Große Repos: Für Repos mit 100+ Quelldateien nach Modul/Verzeichnis analysieren, um Diagramme lesbar zu halten.

Verwandte Skills

  • install-putior — Voraussetzung: putior muss zuerst installiert werden
  • annotate-source-files — nächster Schritt: manuelle Annotationen basierend auf dem Plan hinzufügen
  • generate-workflow-diagram — endgültiges Diagramm nach Abschluss der Annotation generieren
  • configure-putior-mcp — MCP-Tools für interaktive Analysesitzungen verwenden

GitHub 저장소

pjt222/agent-almanac
경로: i18n/de/skills/analyze-codebase-workflow
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

연관 스킬

executing-plans

디자인

executing-plans 스킬은 검토 체크포인트가 포함된 통제된 배치로 실행할 완전한 구현 계획이 있을 때 사용합니다. 이 스킬은 계획을 불러와 비판적으로 검토한 후, 소규모 배치(기본값 3개 작업)로 작업을 실행하면서 각 배치 사이에 진행 상황을 아키텍트 검토를 위해 보고합니다. 이를 통해 내재된 품질 관리 체크포인트를 갖춘 체계적인 구현이 보장됩니다.

스킬 보기

requesting-code-review

디자인

이 스킬은 코드 변경 사항을 요구 사항에 따라 분석하기 위해 코드 리뷰어 하위 에이전트를 호출합니다. 작업 완료 후, 주요 기능 구현 후, 또는 메인 브랜치에 병합하기 전에 사용해야 합니다. 이 리뷰는 현재 구현체와 원래 계획을 비교하여 문제를 조기에 발견하는 데 도움이 됩니다.

스킬 보기

connect-mcp-server

디자인

이 스킬은 개발자들이 HTTP, stdio 또는 SSE 전송 방식을 통해 MCP 서버를 Claude Code에 연결하는 포괄적인 가이드를 제공합니다. GitHub, Notion 및 사용자 정의 API와 같은 외부 서비스를 통합하기 위한 설치, 구성, 인증 및 보안을 다룹니다. MCP 통합 설정, 외부 도구 구성 또는 Claude의 모델 컨텍스트 프로토콜 작업 시 활용하세요.

스킬 보기

web-cli-teleport

디자인

이 스킬은 작업 분석을 기반으로 개발자가 Claude Code 웹 인터페이스와 CLI 인터페이스 중 선택할 수 있도록 돕고, 두 환경 간 원활한 세션 텔레포트를 가능하게 합니다. 웹, CLI 또는 모바일 환경 전환 시 세션 상태와 컨텍스트를 관리하여 워크플로를 최적화합니다. 다양한 단계에서 서로 다른 도구가 필요한 복잡한 프로젝트에 사용하세요.

스킬 보기