audit-icon-pipeline
について
このスキルは、レジストリ比較を通じて欠落しているグリフ、アイコン、HDバリアントを検出し、アイコンパイプラインを監査します。すべてのパレットにわたるスキル、エージェント、チーム向けに構造化されたギャップレポートを生成します。新しいコンポーネントを追加した後、またはメジャーリリース前に使用することで、ビジュアルアセットの完全性を確保します。
クイックインストール
Claude Code
推奨npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/audit-icon-pipelineこのコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします
ドキュメント
Icon-Pipeline pruefen
Fehlende Glyphen, fehlende Icons und veraltete Manifeste erkennen durch Abgleich von Registries mit Glyph-Zuordnungsdateien, Icon-Verzeichnissen und Manifesten. Erzeugt einen strukturierten Lueckenbericht fuer Skills, Agents und Teams.
Wann verwenden
- Nach dem Hinzufuegen neuer Skills, Agents oder Teams, um zu pruefen, ob Icons benoetigt werden
- Vor einem vollstaendigen Pipeline-Rendering, um fehlende Elemente zu identifizieren
- Nach Registry-Aktualisierungen, um Manifest-Synchronisation sicherzustellen
- Periodische Zustandspruefung der Icon-Pipeline
Eingaben
- Optional: Entitaetstypfilter —
skill,agent,teamoderall(Standard:all) - Optional: Zu pruefende Palette (Standard:
cyberpunk— die Referenzpalette)
Verfahren
Schritt 1: Registries lesen
Alle Entitaets-IDs aus den massgeblichen Registries zusammentragen.
skills/_registry.ymllesen — alle Skill-IDs ueber alle Domaenen extrahierenagents/_registry.ymllesen — alle Agent-IDs extrahierenteams/_registry.ymllesen — alle Team-IDs extrahieren- Zaehlerstaende festhalten: Gesamt-Skills, -Agents, -Teams
Erwartet: Drei Listen von Entitaets-IDs mit Zaehlerstaenden, die total_skills, total_agents, total_teams entsprechen.
Bei Fehler: Falls eine Registry-Datei fehlt, den Pfad melden und diesen Entitaetstyp ueberspringen.
Schritt 2: Glyph-Zuordnungen lesen
Alle zugeordneten Entitaets-IDs aus den Glyph-Zuordnungsdateien zusammentragen.
viz/R/glyphs.Rlesen — alle Schluessel aus derSKILL_GLYPHS-Liste extrahierenviz/R/agent_glyphs.Rlesen — alle Schluessel aus derAGENT_GLYPHS-Liste extrahierenviz/R/team_glyphs.Rlesen — alle Schluessel aus derTEAM_GLYPHS-Liste extrahieren
Erwartet: Drei Listen zugeordneter IDs.
Bei Fehler: Falls eine Glyph-Datei fehlt, dies melden und alle Entitaeten dieses Typs als nicht zugeordnet markieren.
Schritt 3: Fehlende Glyphen berechnen
Registry-IDs gegen zugeordnete IDs abgleichen.
- Fehlende Skill-Glyphen:
registry_skill_ids - mapped_skill_ids - Fehlende Agent-Glyphen:
registry_agent_ids - mapped_agent_ids - Fehlende Team-Glyphen:
registry_team_ids - mapped_team_ids
Erwartet: Listen von Entitaets-IDs, die in Registries existieren, aber keine zugeordnete Glyphen-Funktion haben.
Bei Fehler: Falls die Differenzberechnung fehlschlaegt, ID-Formate zwischen Registry und Glyph-Dateien pruefen (z.B. Unterstriche vs. Bindestriche).
Schritt 4: Gerenderte Icons pruefen
Verifizieren, dass zugeordnete Glyphen entsprechende gerenderte Icon-Dateien haben.
- Fuer jede zugeordnete Skill-ID pruefen:
viz/public/icons/<palette>/<domain>/<skillId>.webp - Fuer jede zugeordnete Agent-ID pruefen:
viz/public/icons/<palette>/agents/<agentId>.webp - Fuer jede zugeordnete Team-ID pruefen:
viz/public/icons/<palette>/teams/<teamId>.webp - HD-Varianten in
viz/public/icons-hd/mit derselben Struktur pruefen
Erwartet: Listen von Entitaeten mit Glyphen, aber fehlenden gerenderten Icons (Standard und/oder HD).
Bei Fehler: Falls das Icon-Verzeichnis nicht existiert, wurde die Pipeline noch nicht ausgefuehrt — alle als fehlend melden.
Schritt 5: Manifest-Aktualitaet pruefen
Manifest-Zaehlerstaende mit Registry-Zaehlerstaenden vergleichen.
viz/public/data/icon-manifest.jsonlesen — Eintraege zaehlenviz/public/data/agent-icon-manifest.jsonlesen — Eintraege zaehlenviz/public/data/team-icon-manifest.jsonlesen — Eintraege zaehlen- Mit Registry-Gesamtzahlen vergleichen
Erwartet: Manifest-Zaehlerstaende stimmen mit Registry-Zaehlerstaenden ueberein. Abweichungen zeigen veraltete Manifeste an.
Bei Fehler: Falls Manifest-Dateien nicht existieren, muss die Daten-Pipeline zuerst ausgefuehrt werden (node build-data.js && node build-icon-manifest.js).
Step 6: Detect Orphan Icons
Walk viz/public/icons*/ and flag WebP files whose <palette>/<domain>/<skillId> triple does not appear in icon-manifest.json.
- Enumerate all WebP files:
find viz/public/icons* -name "*.webp" - For each file, extract
<domain>/<id>from its path - Check if
<domain>/<id>has an entry inicon-manifest.json - Collect non-matching files as orphans — they exist on disk but are no longer referenced
# Quick orphan count per palette
node -e "
const fs = require('fs');
const manifest = JSON.parse(fs.readFileSync('viz/public/data/icon-manifest.json'));
const ids = new Set(manifest.map(e => e.domain + '/' + e.id));
const orphans = require('child_process')
.execSync('find viz/public/icons -name \"*.webp\"').toString().trim().split('\n')
.filter(p => { const parts = p.split('/'); const id = parts.slice(-2).join('/').replace('.webp',''); return !ids.has(id); });
console.log('Orphans:', orphans.length);
orphans.forEach(p => console.log(' ', p));
"
Expected: Zero orphans. Any orphans indicate skills re-homed to a different domain without cleanup.
On failure: Delete orphans manually — they have no corresponding manifest entry and will not be served.
Schritt 6: Lueckenbericht generieren
Eine strukturierte Zusammenfassung erstellen.
- Ausgabe als uebersichtliche Tabelle oder Liste formatieren:
=== Icon Pipeline Audit === MISSING GLYPHS (no glyph function): Skills: 5 missing — [list] Agents: 2 missing — [list] Teams: 0 missing MISSING ICONS (glyph exists, no rendered WebP): Standard (512px): 3 skills, 1 agent HD (1024px): 8 skills, 3 agents, 1 team STALE MANIFESTS: icon-manifest.json: 320 entries vs 326 registry (stale) agent-icon-manifest.json: 66 entries vs 66 registry (OK) team-icon-manifest.json: 15 entries vs 15 registry (OK) - Naechste Schritte basierend auf den Ergebnissen vorschlagen
Erwartet: Ein vollstaendiger Lueckenbericht mit umsetzbaren naechsten Schritten.
Bei Fehler: Falls alle Pruefungen ohne Luecken bestehen, "Pipeline vollstaendig synchron" als positives Ergebnis melden.
Validierungscheckliste
- Alle drei Registries erfolgreich gelesen
- Alle drei Glyph-Zuordnungsdateien geprueft
- Icon-Verzeichnisse fuer Standard und HD durchsucht
- Manifest-Aktualitaet verifiziert
- Lueckenbericht mit Zaehlerstaenden und Entitaetslisten erstellt
- Umsetzbare naechste Schritte angegeben
Haeufige Fehler
- ID-Format-Abweichung: Registry verwendet Kebab-Case (
create-skill), Glyph-Zuordnungen koennen Snake-Case-Schluessel verwenden — Vergleich muss normalisieren - Palettenannahme: Nur die Cyberpunk-Palette zu pruefen uebersieht palettenspezifische Rendering-Luecken
- Leere Verzeichnisse: Ein vorhandenes, aber leeres Domaenenverzeichnis zaehlt beim Globbing als "Icons vorhanden" — Dateiexistenz pruefen, nicht Verzeichnisexistenz
- HD nicht gerendert: HD-Icons befinden sich in einem separaten Verzeichnisbaum (
icons-hd/) — nicht mit Standard-Icons verwechseln
Verwandte Skills
- create-glyph — Eine durch dieses Audit identifizierte fehlende Glyphe erstellen
- enhance-glyph — Qualitaet bestehender Glyphen verbessern
- render-icon-pipeline — Die vollstaendige Pipeline ausfuehren, um fehlende Icons zu generieren
- Orphan icons checked (disk paths vs manifest)
- Orphans after re-homing: When a skill's domain changes,
build.shcreates icons at the new path but does NOT delete the old path — always run Step 6 orphan check after any domain migration
GitHub リポジトリ
関連スキル
content-collections
メタこのスキルは、Content Collections(Markdown/MDXファイルを型安全なデータコレクションに変換するTypeScriptファーストのツール)の本番環境でテストされた設定を提供します。Zodバリデーションによる型安全性を実現し、ブログ、ドキュメントサイト、コンテンツ重視のVite + Reactアプリケーション構築時にご利用ください。Viteプラグインの設定、MDXコンパイルから、デプロイ最適化、スキーマバリデーションまで、すべてを網羅しています。
polymarket
メタこのスキルは、開発者がPolymarket予測市場プラットフォームを活用したアプリケーション構築を可能にします。API統合による取引や市場データの取得に加え、WebSocketを介したリアルタイムデータストリーミングにより、ライブ取引や市場活動を監視できます。取引戦略の実装や、ライブ市場更新を処理するツールの作成にご利用ください。
creating-opencode-plugins
メタこのスキルは、開発者がコマンド、ファイル、LSP操作など25種類以上のイベントタイプにフックするOpenCodeプラグインを作成することを支援します。JavaScript/TypeScriptモジュール向けに、プラグイン構造、イベントAPI仕様、および実装パターンを提供します。カスタムイベント駆動ロジックでOpenCode AIアシスタントのライフサイクルをインターセプト、監視、または拡張する必要がある場合にご利用ください。
sglang
メタSGLangは、高性能なLLMサービングフレームワークであり、RadixAttentionプレフィックスキャッシュを活用したJSON、正規表現、エージェントワークフロー向けの高速で構造化された生成を特長とします。特にプレフィックスが繰り返されるタスクにおいて、大幅に高速な推論を実現し、複雑な構造化出力やマルチターン対話に最適です。制約付きデコードが必要な場合や、広範なプレフィックス共有を伴うアプリケーションを構築する場合は、vLLMなどの代替案ではなくSGLangを選択してください。
