Community程式設計與開發github.com

資產庫存管理器

為每個專案建立並維護一份權威的資產清單(模型、紋理、精靈圖、音訊、字型、著色器、圖片、圖示、外部庫、資料集),記錄每項資產的來源、授權條款、貢獻者、狀態與驗證結果。適用於新增、取代、重新命名、刪除或稽核專案資產時,也可在使用者要求資產清單、資產庫存、貢獻者資訊或授權檢查時使用,或在發佈前執行。相容於多個 AI 代理、Git 分支與工作樹。適用於遊戲、VR/XR、網頁應用程式及一般軟體專案。

資產庫存管理器 是什麼?

資產庫存管理器(Asset Inventory Manager)是一套為開發專案提供權威資產追蹤的技能。它通過在 `.asset-inventory/` 目錄中為每項資產儲存一個 JSON 檔案,並自動生成 Markdown 檢視(預設為 `ASSET_LIST.md`)來運作,使用者不應手動編輯該 Markdown 檔案,所有變更應通過 CLI 進行。該技能提供完整的 CLI 指令集,支援資產初始化、新增、更新、移除、查詢、掃描未註冊檔案、執行稽核、重建清單及處理 Git 衝突等功能。其工作流程強調在變更資產檔案時同步更新記錄、誠實記錄來源資訊,並區分資產的計畫、實作、驗證及批准等狀態。此外,它設計了專門的合作規則,以支援多個 AI 代理、Git 分支與工作樹的並行運作,包含檔案鎖定、基於修訂號的樂觀鎖定、欄位級合併驅動程式及衝突後的自動化解析流程,有效避免資料遺失與衝突。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/BihaoBrianWang/asset-inventory-manager/tree/main/skills/asset-inventory-manager

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

資產庫存管理器 是做什麼的?

為每個專案維護一份權威且可稽核的資產清單。資料存放在專案的 .asset-inventory/ 資料夾中(每項資產一個 JSON 檔案),並會產生一份 Markdown 檢視(預設為 ASSET_LIST.md)。請勿手動編輯 Markdown 檢視:應透過 CLI 變更記錄,CLI 會自動重新產生該檔案。

CLI

所有操作都透過此技能中僅使用標準函式庫的 Python 3.9+ 腳本進行:

python <此技能目錄>/scripts/asset_inventory.py <指令> [選項]

以下 aim 代表該指令。如果 python 遺失或不是 Python 3,請嘗試 python3,然後 py -3(Windows),再嘗試 uv run --no-project python。從專案內任何位置執行,或傳遞 -C <專案> 指定專案。加上 --json 可取得機器可讀的輸出。歷史記錄會記錄執行代理:當自動偵測錯誤時,請傳遞 --agent <名稱> 或設定 AIM_AGENT。

任務指令
開始庫存aim init --profile game|vr|web|software|generic [--git-setup]
註冊資產aim add --name "Bow" --category model --path assets/bow.glb --origin third-party --license CC-BY-4.0 --source-url URL --attribution required --credit "..."
變更資產aim update ID --status final --verification approved --note "原因"
退役 / 刪除aim remove ID --note "被 X 取代"(保留記錄) / --purge
尋找資產aim query --category model --status placeholder, --path assets/ui/, --text bow, --format json|csv|ids
單一記錄aim get ID
尋找未註冊檔案aim scan(加上 --register 可建立需要分流的記錄)
檢查所有項目aim audit(--strict 會讓警告視為失敗)
重建 Markdownaim render(--check 用於 CI)
上下文(分支、工作樹、鎖定)aim info
遷移舊的 Markdown 表格aim import-markdown old_list.md
Git 衝突後aim resolve,然後 aim audit

詞彙表(請參閱結構描述瞭解每個欄位):

  • status:planned(已計劃)、placeholder(佔位,可運作但品質為原型)、integrated(已整合)、final(最終)、retired(已退役)。
  • verification:unverified(未驗證)、pending(待處理)、verified(已驗證,已通過技術檢查)、approved(已批准,擁有者已核准)。未經使用者或審查者核准,切勿標記為 approved。
  • origin:original(原創)、third-party(第三方)、procedural(程序化生成)、ai-generated(AI 生成)、unknown(未知)。第三方和 AI 生成的資產需要授權條款。

工作流程

  1. 定位。 執行 aim info。如果沒有庫存且使用者想要建立一個,請執行 aim init 並選擇最接近的設定檔(設定檔),然後執行 aim scan 查看已存在的內容。對於現有的手寫清單,請使用 aim import-markdown 並審查標記為 imported 的記錄。
  2. 在同一個變更集中記錄每次資產變更。 當您新增、取代、修改、移動或刪除資產檔案時,請在同一次提交中更新其記錄:新檔案使用 add,移動使用 update --add-path/--remove-path,編輯第三方檔案使用 update --modifications,不再使用時使用 remove。
  3. 誠實記錄來源。 在下載時擷取真實的來源 URL、作者、授權條款和必要的貢獻者文字。如果未知,請使用 --origin unknown 並說明原因;切勿猜測授權條款。向使用者標示授權條款衝突。
  4. 保持狀態真實。 區分已計劃、已實作、已驗證和已批准的狀態。在下一次待檢查項目中放入 --next;它會出現在清單頂部的「需要審查」之下。
  5. 完成前進行稽核。 執行 aim audit。修正錯誤;向使用者報告剩餘的警告。在摘要中提及清單路徑。

協作規則(多個代理、分支、工作樹)

詳細資訊:協作。

  • 每個 Git 工作樹都有自己的庫存副本;請編輯您正在使用的工作樹中的庫存。切勿編輯其他代理的工作樹。
  • 寫入操作會取得一個短暫的鎖定(.asset-inventory/.lock),因此共用同一個資料夾的代理不會損毀檔案。如果回報鎖定,請等待並重試;僅在 aim info 顯示其擁有者程序已消失時才刪除鎖定。
  • 為避免更新遺失,請先使用 aim get ID 讀取,然後使用 aim update ID --expect-revision N。退出碼 3 表示其他人已變更:請重新讀取並重新套用。
  • 每個資產一個檔案意味著並行分支很少會衝突。在每個 clone 上執行 aim git-setup 一次,以安裝欄位級合併驅動程式。
  • 在任何合併、變基或揀選之後:執行 aim resolve(如果記錄顯示衝突標記或 _conflicts),然後執行 aim render,接著執行 aim audit,然後提交。切勿手動合併 ASSET_LIST.md;請重新產生它。
  • 明確的 ID(例如 M01)在單一分支上沒問題;預設 ID(<前綴>-<名稱縮寫>)可避免跨分支的編號衝突。

退出碼

0 成功 · 1 錯誤或稽核失敗 · 2 使用方式錯誤/未知值 · 3 需要處理的修訂或合併衝突。

相關技能