Community编程与开发github.com

资产库存管理器

为每个项目创建并维护一份权威的资产清单(模型、纹理、精灵图、音频、字体、着色器、图像、图标、第三方库、数据集),记录每项资产的来源、许可证、版权归属、状态与验证信息。适用于添加、替换、重命名、删除或审计项目资产时,当用户要求提供资产清单、资产库存、版权信息或许可证检查时,或在发布前使用。支持多个AI智能体、Git分支和工作树协同工作。兼容游戏、VR/XR、网页应用和通用软件项目。

资产库存管理器 是什么?

资产库存管理器(Asset Inventory Manager)是一个用于在项目中创建和维护权威、可审计资产清单的工具。所有资产数据以JSON格式存储在项目的 `.asset-inventory/` 文件夹中(每个资产一个文件),并会自动生成Markdown视图(默认 `ASSET_LIST.md`)。用户通过CLI与数据交互,CLI会管理Markdown文件的更新,因此不应直接编辑Markdown文件。该工具支持游戏、VR/XR、网页应用和通用软件项目,利用Git工作树和并发写入锁机制,使多个AI智能体和开发者能在共享仓库中安全协作。工作流程强调真实的来源记录(来源URL、作者、许可证、版权说明),并在需要时将资产状态(计划中、占位、已集成、最终、已退役)与验证状态(未验证、待定、已验证、已批准)分离。支持通过冲突解决、乐观锁验证和字段级Git合并驱动来应对分支与合并场景。审计命令(`aim audit`)用于验证清单完整性,许可证冲突和缺失数据会主动向用户报告。

兼容平台~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 <this-skill-dir>/scripts/asset_inventory.py <command> [options]

下文中,aim 代表该命令。如果 python 缺失或不是 Python 3,请尝试 python3,然后 py -3(Windows),最后 uv run --no-project python。在项目内的任意位置运行,或传递 -C <project>。添加 --json 以获取机器可读的输出。历史记录会记录执行智能体:当自动检测错误时,传递 --agent <name> 或设置 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 "why"
退役 / 删除aim remove ID --note "replaced by 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表示其他人已更改它:重新读取并重新应用。
  • 每个资产一个文件意味着并行分支很少冲突。在每个克隆仓库中运行一次 aim git-setup 以安装字段级合并驱动程序。
  • 在任何合并、变基或捡取操作后:运行 aim resolve(如果记录显示冲突标记或 _conflicts),然后 aim render,然后 aim audit,最后提交。切勿手动合并 ASSET_LIST.md;应重新生成它。
  • 明确的ID(例如 M01)在单个分支上没问题;默认ID(<前缀>-<名称缩写>)可避免跨分支的编号冲突。

退出代码

0 表示正常 · 1 表示错误或审计失败 · 2 表示错误用法/未知值 · 3 表示需要关注的修订或合并冲突。

相关技能