Automatically format code files using the appropriate formatter based on file type, providing clear feedback on changes made
/plugin marketplace add DNYoussef/context-cascade/plugin install dnyoussef-context-cascade@DNYoussef/context-cascadeThis skill inherits all available tools. When active, it can use any tool Claude has access to.
SKILL.md.pre-sidecar-backupV0-SKILL.mdV1-SKILL.mdV1-intake.yamlmetadata.jsonBefore writing ANY code, you MUST check:
.claude/library/catalog.json.claude/docs/inventories/LIBRARY-PATTERNS-GUIDE.mdD:\Projects\*| Match | Action |
|---|---|
| Library >90% | REUSE directly |
| Library 70-90% | ADAPT minimally |
| Pattern exists | FOLLOW pattern |
| In project | EXTRACT |
| No match | BUILD (add to library after) |
Kaynak dogrulama modu etkin.
beceri_adi: "code-formatter", kategori: "foundry", surum: "1.0.0", katman: "L1", pilot_id: "PILOT-CF-001"
cerceve: "Compositional", kaynak: "German", bilissel_zorlama: "Build from primitives?"
anahtar_kelimeler: ["code-formatter", "format code", "prettier", "black", "rustfmt"], baglamlar: ["user needs code formatting", "pre-commit formatting", "style consistency"]
anti_kaliplar: ["linting only", "syntax checking without format", "compile errors"], alternatif_beceriler: ["linter", "syntax-checker", "compiler-diagnostics"]
Eylem: Belirtilen dosyanin var oldugunu ve erisilebilir oldugunu dogrula.
# Dosya var mi kontrol et
if [ ! -f "$FILE_PATH" ]; then
echo "Hata: Dosya '$FILE_PATH' bulunamadi. Yolu kontrol edip tekrar deneyin."
exit 1
fi
# Dosya okunabilir mi kontrol et
if [ ! -r "$FILE_PATH" ]; then
echo "Hata: '$FILE_PATH' okunamiyor. Duzeltmek icin: chmod +r '$FILE_PATH'"
exit 2
fi
# Dosya boyutu kontrol et (max 10MB)
file_size=$(stat -c%s "$FILE_PATH" 2>/dev/null || stat -f%z "$FILE_PATH")
if [ $file_size -gt 10485760 ]; then
echo "Uyari: Dosya $(($file_size / 1024 / 1024))MB (max: 10MB). Devam edilsin mi? (y/n)"
read -r response
if [[ "$response" != "y" ]]; then
exit 0
fi
fi
Basari Kriterleri:
Hata Yonetimi:
Eylem: Dosya uzantisindan programlama dilini belirle ve uygun formatlayiciyi sec.
# Uzantiya gore dili tespit et
case "$FILE_PATH" in
*.js|*.jsx|*.ts|*.tsx|*.json)
FORMATTER="prettier"
FORMATTER_CMD="prettier --write"
CHECK_CMD="prettier --check"
;;
*.py)
FORMATTER="black"
FORMATTER_CMD="black"
CHECK_CMD="black --check"
;;
*.rs)
FORMATTER="rustfmt"
FORMATTER_CMD="rustfmt"
CHECK_CMD="rustfmt --check"
;;
*)
echo "Hata: Desteklenmeyen dosya tipi '${FILE_PATH##*.}'"
echo "Desteklenenler: .js, .jsx, .ts, .tsx, .json (Prettier), .py (Black), .rs (rustfmt)"
exit 3
;;
esac
echo "Tespit edilen dil: ${FILE_PATH##*.} -> $FORMATTER kullaniliyor"
Eylem: Gerekli formatlayicinin kurulu oldugunu dogrula.
# Formatlayici var mi kontrol et
if ! command -v $FORMATTER &> /dev/null; then
echo "Hata: $FORMATTER kurulu degil."
# Kurulum talimatlari sagla
case "$FORMATTER" in
prettier)
echo "Kurmak icin: npm install -g prettier"
;;
black)
echo "Kurmak icin: pip install black"
;;
rustfmt)
echo "Kurmak icin: rustup component add rustfmt"
;;
esac
exit 4
fi
Eylem: Dosyayi degistirmeden once syntax hatalarini tespit etmek icin kontrol modunda calistir.
# Kontrol oncesi yedek al
cp "$FILE_PATH" "${FILE_PATH}.backup"
# Syntax hatalari kontrol et
$CHECK_CMD "$FILE_PATH" > /tmp/format-check.txt 2>&1
check_exit=$?
if [ $check_exit -ne 0 ]; then
echo "Syntax hatalari tespit edildi:"
cat /tmp/format-check.txt
echo ""
echo "Once syntax hatalarini duzeltin mi? (y/n)"
read -r response
if [[ "$response" != "y" ]]; then
rm "${FILE_PATH}.backup"
exit 0
else
rm "${FILE_PATH}.backup"
exit 5
fi
fi
Eylem: Formatlayiciyi zaman asimi ile calistir ve nelerin degistigini raporla.
# Formatlayiciyi 60s zaman asimi ile calistir
timeout 60s $FORMATTER_CMD "$FILE_PATH" > /tmp/format-output.txt 2>&1
exit_code=$?
if [ $exit_code -eq 124 ]; then
echo "Hata: Formatlayici 60 saniye sonra zaman asimina ugradi."
mv "${FILE_PATH}.backup" "$FILE_PATH" # Yedegi geri yukle
exit 6
elif [ $exit_code -ne 0 ]; then
echo "Hata: Formatlayici cikis kodu $exit_code ile basarisiz oldu"
cat /tmp/format-output.txt
mv "${FILE_PATH}.backup" "$FILE_PATH" # Yedegi geri yukle
exit 7
fi
# Degisiklikleri hesapla
changes=$(diff -u "${FILE_PATH}.backup" "$FILE_PATH" | wc -l)
# Sonuclari raporla
if [ $changes -eq 0 ]; then
echo "Formatlama degisikligi gerekmiyor: $FILE_PATH"
else
echo "Formatlandi: $FILE_PATH ($FORMATTER ile)"
echo " Degisiklikler: $(($changes / 2)) satir degistirildi"
echo " Yedek: ${FILE_PATH}.backup"
fi
# Temizlik
rm -f /tmp/format-check.txt /tmp/format-output.txt
exit 0
birincil: "Formatlama basariyla tamamlandi", kalite: "Cikti dil stil kilavuzuna uygun", dogrulama: "Yedek olusturuldu ve degisiklik sayisi raporlandi"
| Kod | Hata | Kullanici Mesaji | Kurtarma Stratejisi |
|---|---|---|---|
| 1 | Dosya bulunamadi | "Hata: Dosya '[YOL]' bulunamadi." | Yolu kontrol et, tekrar dene |
| 2 | Izin reddedildi | "Hata: '[YOL]' okunamiyor. chmod +r ile duzelt" | Izinleri duzelt, tekrar dene |
| 3 | Desteklenmeyen tip | "Hata: Desteklenmeyen dosya tipi '.ext'" | Desteklenen tip kullan |
| 4 | Formatlayici kurulu degil | "Hata: [FORMATLAYICI] kurulu degil" | Formatlayiciyi kur, tekrar dene |
| 5 | Syntax hatasi | "Syntax hatalari tespit edildi: [HATALAR]" | Syntax duzelt, tekrar dene |
| 6 | Zaman asimi | "Hata: Formatlayici 60s sonra zaman asimina ugradi" | Kucuk dosya kullan |
| 7 | Formatlayici hatasi | "Hata: Formatlayici basarisiz: [CIKTI]" | Logları kontrol et |
memory_mcp: "Yurutme sonuclarini ve kaliplari sakla", araclar: ["mcp__memory-mcp__memory_store", "mcp__memory-mcp__vector_search"]
kalip: "skills/foundry/code-formatter/{project}/{timestamp}", sakla: ["executions", "decisions", "patterns"], getir: ["similar_tasks", "proven_patterns"]
KIM: "code-formatter-{session_id}", NE_ZAMAN: "ISO8601_timestamp", PROJE: "{project_name}", NEDEN: "skill-execution"
agent_olusturma: "Task() ile agent olustur", kayit_dogrulama: "Sadece kayitli agentlari kullan", todowrite_cagrildi: "TodoWrite ile ilerleme takip et", is_delegasyonu: "Uzman agentlara delege et"
This skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.