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にコピー&ペーストしてスキルをインストールします
ドキュメント
Audit Icon Pipeline
以註冊表校之於字形映射文件、圖標目錄、清單,察缺字形、缺圖標、陳舊清單。生結構化之缺口報告,覆 skills、agents、teams。
適用時機
- 新增 skills、agents、teams 後,查是否需圖標
- 全管線渲染前,辨所缺
- 註冊表更新後,確清單一致
- 圖標管線之定期健檢
輸入
- 選擇性:實體類型之過濾——
skill、agent、team或all(預設:all) - 選擇性:所查之調色板(預設:
cyberpunk——參考調色板)
步驟
步驟一:讀註冊表
自真源之註冊表採諸實體之識別符。
- 讀
skills/_registry.yml——取所有域中之 skill ID - 讀
agents/_registry.yml——取所有 agent ID - 讀
teams/_registry.yml——取所有 team ID - 錄其數:skills、agents、teams 之總
預期: 三實體識別符之列,其數合於 total_skills、total_agents、total_teams。
失敗時: 某註冊表文件缺失時,報其路徑而略此實體類型。
步驟二:讀字形映射
自字形映射文件採所有已映射之實體識別符。
- 讀
viz/R/glyphs.R——取SKILL_GLYPHS列中所有鍵 - 讀
viz/R/agent_glyphs.R——取AGENT_GLYPHS列中所有鍵 - 讀
viz/R/team_glyphs.R——取TEAM_GLYPHS列中所有鍵
預期: 三已映射識別符之列。
失敗時: 某字形文件缺失時,報之並將該類實體全標為未映射。
步驟三:算缺之字形
以註冊表之識別符減已映射之識別符。
- 缺之 skill 字形:
registry_skill_ids - mapped_skill_ids - 缺之 agent 字形:
registry_agent_ids - mapped_agent_ids - 缺之 team 字形:
registry_team_ids - mapped_team_ids
預期: 存於註冊表而無字形函數映射之實體識別符之列。
失敗時: 減之算失敗時,驗註冊表與字形文件間之識別符格式是否合(如下劃線 vs 連字號)。
步驟四:查已渲之圖標
驗已映射字形有對應之已渲圖標文件。
- 每映射之 skill ID,查
viz/public/icons/<palette>/<domain>/<skillId>.webp - 每映射之 agent ID,查
viz/public/icons/<palette>/agents/<agentId>.webp - 每映射之 team ID,查
viz/public/icons/<palette>/teams/<teamId>.webp - 以同結構查
viz/public/icons-hd/中之 HD 變體
預期: 有字形而無已渲圖標之實體列(標準 / HD)。
失敗時: 若圖標目錄不存,則管線未曾運行——報全為缺。
步驟五:查清單之新鮮度
以清單之數比註冊表之數。
- 讀
viz/public/data/icon-manifest.json——計條目 - 讀
viz/public/data/agent-icon-manifest.json——計條目 - 讀
viz/public/data/team-icon-manifest.json——計條目 - 比之於註冊表之總
預期: 清單之數合於註冊表之數。有差則示清單陳舊。
失敗時: 清單文件不存時,先須運行數據管線(node build-data.js && node build-icon-manifest.js)。
步驟六:察孤兒圖標
走 viz/public/icons*/,標 WebP 文件之 <palette>/<domain>/<skillId> 三元組不在 icon-manifest.json 者。
- 列所有 WebP 文件:
find viz/public/icons* -name "*.webp" - 每文件,自其路徑取
<domain>/<id> - 查
<domain>/<id>於icon-manifest.json有無條目 - 收無匹之文件為孤兒——存於盤而已不被引
# 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));
"
預期: 孤兒為零。有孤兒示 skills 已遷至他域而未清(每遷 18 孤兒 = 9 調色板 × 2 尺寸)。
失敗時: 手刪孤兒——無清單條目,不再被提供。遷域事罕,手清可受。
步驟七:生缺口報告
生結構化之總。
- 格式為明表或列:
=== 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) - 依所發提下一步之建議
預期: 完整之缺口報告,附可行之下一步。
失敗時: 若諸查皆過而無缺口,報「管線已完全一致」為正果。
驗證
- 三註冊表皆讀成
- 三字形映射文件皆查
- 圖標目錄標準與 HD 皆掃
- 清單新鮮度已驗
- 孤兒圖標已查(盤路徑對清單)
- 缺口報告已生,附數與實體列
- 已提可行之下一步
常見陷阱
- 識別符格式失配:註冊表用連字號(
create-skill),字形映射或用下劃線鍵——比較時須標準化 - 調色板假設:僅查 cyberpunk 調色板漏調色板專之渲染缺口
- 空目錄:域目錄存而空,globbing 時算作「圖標在」——查文件存,非目錄存
- HD 未渲:HD 圖標在分離目錄樹(
icons-hd/)——勿與標準混 - 遷域後之孤兒:skill 之域變時,
build.sh於新路徑創圖標而不刪舊路徑——遷域後務行步六孤兒之查
相關技能
- create-glyph — 創此審所辨之缺字形
- enhance-glyph — 提升既有字形之質
- render-icon-pipeline — 運行全管線以生所缺圖標
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を選択してください。
