skillcheck

A consistency checker for Unity skills, where Unity is a game-development platform and skills are documented or coded actions. It compares C# definitions with SKILL.md files and checks that names, parameters, metadata, and totals agree.

In plain words
What is it for?
Use it to audit Unity skill definitions and their documentation, including optional feature-specific code and the total number of available skills.
Why use it?
It finds documented actions that do not exist, undocumented actions, mismatched parameters, missing metadata, and incorrect skill counts. This helps prevent documentation from promising options the code does not support.

Command for Claude Code

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/besty0728/unity-skills/skillcheck
Clone the repo
git clone --depth 1 https://github.com/Besty0728/Unity-Skills

Made for: Claude Code.

Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 7,319 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.07319
Opus 5 $0.00000 $0.03660
Sonnet 5 $0.00000 $0.01464
Haiku 4.5 $0.00000 $0.00732

Measured 3d ago against content hash 0f498e55ff8c, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

skillcheck scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/commands/skillcheck.md · 325 lines

How it starts

The opening of the file, as written. The whole thing — 325 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Skill Check — C# 代码与 SKILL.md 一致性审计 + 技能数量同步

你是 UnitySkills 项目的一致性审计助手。扫描所有 [UnitySkill] C# 定义与 skills/*/SKILL.md 文档,报告不一致问题;同时统计实际技能数量,与文档中声称的数字对比并修正(原 /skillcount 已并入本命令)。

目标

检测以下问题(这些是 v1.6.8 修复的那类 bug 的根源——文档声称支持的参数在代码中不存在):

  1. 幽灵 Skill:SKILL.md 中记录了但 C# 代码中不存在的 Skill
  2. 完全无文档的 Skill:C# 中存在 [UnitySkill] 但在整个 skills/ 文档树中完全无提及的 Skill(注意:本项目为 schema-first 设计——skill 无需逐个写 ### skill_name 定义,故"无 ### 定义"本身不算缺陷,详见步骤 3a)
  3. 参数不一致:SKILL.md 文档的参数表与 C# 方法签名不匹配(多余参数、缺失参数、类型不匹配)
  4. 元数据缺失[UnitySkill] 特性中缺少 CategoryOperationTagsOutputs 等关键元数据
  5. 数量失同步:文档(agent.md / README / README_CN / SKILL.md)中声称的技能总数与模块计数表和实际代码不一致

步骤 1:收集 C# Skill 定义

扫描 SkillsForUnity/Editor/Skills/*Skills.cs 中所有 [UnitySkill(...)] 标记的方法:

  1. 对每个 Skill 提取:

    • Skill 名称[UnitySkill("skill_name", ...)] 第一个参数)
    • Description 字符串[UnitySkill("name", "description string")] 第二个参数,完整保留)
    • 方法签名(参数名、类型、是否可选、默认值)
    • 元数据:Category、Operation、Tags、Outputs、RequiresInput、ReadOnly
    • 所在文件和行号
    • 条件编译宏:检查 Skill 方法是否位于 #if XXX 块内(如 PROBUILDERXRIUNITY_NETCODECINEMACHINE_2CINEMACHINE_3 等),记录对应的宏名称;不在任何 #if 块内的标记为"无条件"
    • 返回值字段:解析方法体中 return new { ... } 匿名对象的字段名列表(正则提取即可,不需要完美覆盖所有分支)
  2. 解析纪律(历史假绿源头,必须遵守)

    • 括号配平切分 attribute 块:一个 skill 的元数据只能取它自己 [UnitySkill(...)] 块内的标注,严禁把同文件相邻块的元数据算到本 skill 头上
    • 先剥 // 注释再按逗号切分:带说明注释的 flag 否则会静默读成 false,审计报"零违规"是假绿
    • 按技能名去重#if/#else 分支下的同名 stub(URP 缺包时 Decal/PostProcess/URP/Volume 四个文件以相同技能名注册 NoURP() 占位实现)会让裸 rg -c "\[UnitySkill\(" 多算 33 个 attribute(如 818 attribute → 785 唯一技能)。一切后续比对和计数都以"按第一个字符串参数去重后的唯一技能名"为准
    • SkillRouter.cs 等非 *Skills.cs 文件中出现的 [UnitySkill( 多为注释/文档文字,不计入
  3. Batch Skill 额外处理:对 *_batch 后缀的 Skill,其方法签名通常只有 string items,真正的参数定义在同文件的 BatchXxxItem 内部类中。额外提取该类的所有 public 属性(属性名、类型、默认值),作为 batch skill 的"实际参数列表"。

  4. 汇总为 C# Skill 清单

步骤 2:收集 SKILL.md 文档定义

扫描 SkillsForUnity/unity-skills~/skills/*/SKILL.md 中所有记录的 Skill:

Read the full file on GitHub · 325 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 325 lines · 0 tokens per session scan A 0f498e55ff8c

Subscribe to this mod's changes

skillcheck is a command published in the GitHub repository Besty0728/Unity-Skills (1,695 stars, last pushed yesterday), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 7,319 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.