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.
npx skills add jnMetaCode/shellward --skill china-ai-compliance-auditgit clone --depth 1 https://github.com/jnMetaCode/shellwardWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/jnmetacode/shellward/china-ai-compliance-audit)<a href="https://agentmods.dev/skills/jnmetacode/shellward/china-ai-compliance-audit"><img src="https://agentmods.dev/badge/skills/jnmetacode/shellward/china-ai-compliance-audit/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/jnmetacode/shellward/china-ai-compliance-audit"><img src="https://agentmods.dev/badge/skills/jnmetacode/shellward/china-ai-compliance-audit.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00169 | $0.02383 |
| Opus 5.5 | $0.00068 | $0.00953 |
| Sonnet 5.5 | $0.00034 | $0.00477 |
| Haiku 4.5 | $0.00017 | $0.00238 |
Grade A, and why
china-ai-compliance-audit 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 24d 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.
How it starts
The opening of the file, as written. The whole thing — 128 lines — stays where its author put it; the contents beside it link to each section on GitHub.
中国 AI 合规审计
你现在是合规审计员。目标不是写一篇看起来专业的报告,而是产出一份每一条都能被人打开文件核对的记录。
三条铁律,违反任何一条这次审计作废:
- 能用确定性工具判的,不许用你的判断。 密钥、手机号、境外端点交给
shellward scan,你不重新发明它。 - 没有
文件:行+ 原文引用,就没有发现。 凭印象写的结论一律不算。 - 仓库里找不到的事实,不许替人下结论。 记成
needs_human,把问题问具体。
流程
阶段 0 · 确定性基线
在被审计项目根目录运行(只读、不上传):
npx -y shellward@latest scan . --json > .compliance/baseline.json
先 mkdir -p .compliance。跑不了(无网络 / 无 Node)就跳过,在最终记录里不写 baseline,并在给用户的总结里说明基线缺失。
基线怎么用:
- 只用
projectScan.findings,每一条都要在阶段 2 分诊,不许原样照抄,也不许无视。 - 忽略
controls[].status。那里的pass只表示「扫描器没扫到字面量」,不是「该控制项满足」——不要因为它写met。 - 记录顶层的
baseline填{ "tool": "shellward", "score": <score>, "grade": "<grade>" },数字照抄baseline.json。
不要审计 skill 自己所在的目录(.claude/、.agents/ 等)和 .compliance/。
阶段 1 · 摸清数据怎么流
读代码,写 .compliance/architecture.md,只回答五个问题,每个回答都带 文件:行:
- 用户输入从哪里进来?
- 调用了哪些模型端点?哪些在境外?
- 发给模型的内容是怎么拼出来的——里面有哪些来自用户或数据库的字段?
- 模型输出去了哪里:直接给用户、落库、还是驱动了某个动作?
- 什么被写进了日志 / 审计表,保留多久?
第 3 个问题最重要。扫描器只能告诉你「有境外端点」,你要回答的是「个人信息有没有真的流过去」。
阶段 2 · 逐项取证
读同目录的 controls.json。14 个控制项每一个都必须有结论,结论只有五种:
| verdict | 含义 | 必须带 |
|---|---|---|
gap |
有证据表明不满足 | severity、evidence、remediation、verifier |
met |
有证据表明某项具体措施存在(不等于整个控制项满足) | evidence、verifier |
needs_human |
事实不在仓库里 | question(一个人能直接回答的具体问题)。不许带 severity |
not_applicable |
项目没有这类场景 | reason,能引用代码就引用 |
rejected |
候选经核实不成立 | reason(留档,方便别人复审) |
按每个控制项的 look_for 去找。scope: "org" 的项通常是 needs_human。
一个控制项可以有多条记录,每条只对一个可证伪的命题下结论。 look_for 三条里两条找到措施、一条仓库里看不到,就写两条 met 加一条 needs_human,不要合成一条含糊的「基本满足」。met 的标题要写成窄命题(「Dockerfile 以 node 用户运行」),不要写成对整个控制项的判断(「满足最小权限要求」)——met 只表示这个命题成立。
gap 还是 needs_human?看证据是「有」还是「没有」:
- 仓库里正面看到了违规行为(个人信息确实被拼进了发往境外的请求、容器确实以 root 运行、日志确实缺用户字段)→
gap。 - 只是没找到某项措施,而它完全可能在仓库之外(网关、云厂商、前端仓库、部署配置:内容审核、鉴权、限流、日志保留期都属于这类)→
needs_human,把「仓库里没看到」作为 evidence 附上。 - 例外:措施的缺席就发生在你正面取证的那条路径上(同一个函数里,读出个人信息后下一步就发往境外,中间没有脱敏)→ 这是
gap。
其它字段:
What ships with it
9 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- controls.json 7.7 KB
- examples/compliance-findings.example.json 8.0 KB
- examples/demo-app/Dockerfile 93 B
- examples/demo-app/package.json 114 B
- examples/demo-app/src/chat.ts 750 B runs code
- examples/demo-app/src/db.ts 365 B runs code
- examples/demo-app/src/logger.ts 110 B runs code
- scripts/validate-findings.mjs 14 KB runs code
- VERIFY.md 3.4 KB
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.
- 24d ago First seen · 128 lines · 169 tokens per session scan A 51bfec1745c4
china-ai-compliance-audit is a skill published in the GitHub repository jnMetaCode/shellward (140 stars, last pushed 17d ago), licensed Apache-2.0. It adds 169 tokens to every session and 2,383 once invoked, about $0.0007 per session on Opus 5.5. 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-09-22.
Other skills, from other repositories
clinical-trial-protocol-skill
Generate clinical trial protocols for medical devices or drugs. This skill should be used when users say "Create a clinical trial protocol", "Generate protocol for [device/drug]", "Help me design a clinical study", "Research similar trials for [intervention]", or when developing FDA submission documentation for…
prior-auth-review-skill
Automate payer review of prior authorization (PA) requests. This skill should be used when users say "Review this PA request", "Process prior authorization for [procedure]", "Assess medical necessity", "Generate PA decision", or when processing clinical documentation for coverage policy validation and authorization…
claude-d3js-skill
This skill provides guidance for creating sophisticated, interactive data visualisations using d3.js.
adr-skill
Create and maintain Architecture Decision Records (ADRs) optimized for agentic coding workflows. Use when you need to propose, write, update, accept/reject, deprecate, or supersede an ADR; bootstrap an adr folder and index; consult existing ADRs before implementing changes; or enforce ADR conventions. This skill uses…
linear-claude-skill
Manage Linear issues, projects, and teams.
playwright-skill
IMPORTANT - Path Resolution: This skill can be installed in different locations (plugin system, manual installation, global, or project-specific). Before executing any commands, determine the skill directory based on where you loaded this SKILL.md file, and use that path in all commands below.