i18n/de/skills/analyze-codebase-workflow/SKILL.md
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.
npx skillsauth add pjt222/agent-almanac analyze-codebase-workflowInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
annotate-source-filesQuelldateien 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.
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.
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.
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.
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.
put_auto() wird ohne Fehler auf das Zielverzeichnis ausgeführtput_diagram() erzeugt gültigen Mermaid-Code aus dem auto-erkannten Workflowput_generate() erzeugt Annotationsvorschläge für Dateien mit erkannten Musternput_auto(".") auf einem Repo-Root einzuführen kann node_modules/, .git/, venv/ usw. einschließen. Spezifische Quellverzeichnisse anvisieren.detect_dependencies = TRUE erfasst source(), import, require()-Aufrufe, die Skripte miteinander verknüpfen. Deaktivieren verliert dateiübergreifende Verbindungen..R vs .r, .jsx vs .js) werden möglicherweise nicht erkannt. get_comment_prefix() verwenden, um zu prüfen ob eine Erweiterung erkannt wird.install-putior — Voraussetzung: putior muss zuerst installiert werdenannotate-source-files — nächster Schritt: manuelle Annotationen basierend auf dem Plan hinzufügengenerate-workflow-diagram — endgültiges Diagramm nach Abschluss der Annotation generierenconfigure-putior-mcp — MCP-Tools für interaktive Analysesitzungen verwendentesting
Launch all available agents in parallel waves for open-ended hypothesis generation on problems where the correct domain is unknown. Use when facing a cross-domain problem with no clear starting point, when single-agent approaches have stalled, or when diverse perspectives are more valuable than deep expertise. Produces a ranked hypothesis set with convergence analysis and adversarial refinement.
tools
Write integration tests for a Node.js CLI application using the built-in node:test module. Covers the exec helper pattern, output assertions, filesystem state verification, cleanup hooks, JSON output parsing, error case testing, and state restoration after destructive tests. Use when adding tests to an existing CLI, testing a new command, verifying adapter behavior across frameworks, or setting up CI for a CLI tool.
development
Screen a proposed trademark for conflicts and distinctiveness before filing. Covers trademark database searches (TMview, WIPO Global Brand Database, USPTO TESS), distinctiveness analysis using the Abercrombie spectrum, likelihood of confusion assessment using DuPont factors and EUIPO relative grounds, common law rights evaluation, and goods/services overlap analysis. Produces a conflict report with a risk matrix. Use before adopting a new brand name, logo, or slogan — distinct from patent prior art search, which uses different databases, legal frameworks, and analysis methods.
tools
Scaffold a new CLI command using Commander.js with options, action handler, three output modes (human-readable, quiet, JSON), and optional ceremony variant. Covers command naming, option design, shared context patterns, error handling, and integration testing. Use when adding a command to an existing Commander.js CLI, designing a new CLI tool from scratch, or standardizing command structure across a multi-command CLI.