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 zhaixin244-wq/fnw --skill chip-impl-self-checkgit clone --depth 1 https://github.com/zhaixin244-wq/fnwWrote 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/zhaixin244-wq/fnw/chip-impl-self-check)<a href="https://agentmods.dev/skills/zhaixin244-wq/fnw/chip-impl-self-check"><img src="https://agentmods.dev/badge/skills/zhaixin244-wq/fnw/chip-impl-self-check/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/zhaixin244-wq/fnw/chip-impl-self-check"><img src="https://agentmods.dev/badge/skills/zhaixin244-wq/fnw/chip-impl-self-check.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.00073 | $0.02886 |
| Opus 5 | $0.00036 | $0.01443 |
| Sonnet 5 | $0.00015 | $0.00577 |
| Haiku 4.5 | $0.00007 | $0.00289 |
Grade A, and why
chip-impl-self-check 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 12d 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 — 201 lines — stays where its author put it; the contents beside it link to each section on GitHub.
自检 Skill
任务
工具化检查通过后,按 quality-checklist-impl.md 执行三阶段自检。
输入
rtl_files: RTL 文件列表lint_report: Lint 报告synth_report: 综合报告microarch_doc: 微架构文档
三阶段自检
-
文件发现:用
Glob搜索{module}_work/ds/rtl/*.v获取 RTL 文件列表,确认.claude/shared/quality-checklist-impl.md存在。若文件不存在,暂停并提示用户 -
第一阶段(自动化 — 可脚本化)
以下检查项均有对应 Grep 脚本模式,可批量执行。
| IC | 检查项 | Grep 脚本模式 |
|---|---|---|
| IC-06 | 无不可综合结构 | grep -n 'initial|#.*delay|force|release|\$display|\$finish' {file}.v |
| IC-07 | 位宽匹配 | grep -n "= [0-9]*'[bdh]" {file}.v + 人工核对位宽前缀 |
| IC-13 | 无 casex/casez | grep -n 'casex|casez' {file}.v → 命中即 FAIL |
| IC-22 | 子模块名称关联 | grep -n '^\s*\w\+\s\+\w\+\s*(' {file}.v → 检查是否用 . 开头 |
| IC-34 | 扫描使能路径 | grep -n 'CKLNQD1|ICG|scan_en' {file}.v → 检查 scan_en 端口 |
| IC-35 | 注释覆盖率 >30% | total=$(grep -c '.' {file}.v); comment=$(grep -c '//' {file}.v); echo "$comment*100/$total" |
| IC-36 | always 行数 ≤100 | awk '/always.*begin/{start=NR} /end/{if(start)print NR-start+1; start=0}' {file}.v |
自动化 Grep 脚本模板
#!/bin/bash
# chip-impl-self-check: 第一阶段自动化检查
# 用法: bash self_check_phase1.sh {file}.v
FILE=$1
FAIL=0
echo "=== IC-06: 不可综合结构 ==="
if grep -qn 'initial\|#.*delay\|force\|release\|\$display\|\$finish' "$FILE"; then
echo "FAIL: 发现不可综合结构"
grep -n 'initial\|#.*delay\|force\|release\|\$display\|\$finish' "$FILE"
FAIL=1
else
echo "PASS"
fi
echo "=== IC-13: 无 casex/casez ==="
if grep -qn 'casex\|casez' "$FILE"; then
echo "FAIL: 发现 casex/casez"
grep -n 'casex\|casez' "$FILE"
FAIL=1
else
echo "PASS"
fi
echo "=== IC-22: 子模块名称关联 ==="
# 检查实例化行是否以 .port_name 格式连接
INST_LINES=$(grep -n '^\s*[a-zA-Z_]\+\s\+[a-zA-Z_]\+\s*(' "$FILE" | grep -v 'module\|function\|task')
if [ -n "$INST_LINES" ]; then
# 检查下一行是否以 . 开头
echo "WARN: 请人工确认以下实例化是否使用名称关联:"
echo "$INST_LINES"
fi
echo "=== IC-35: 注释覆盖率 ==="
TOTAL=$(grep -c '.' "$FILE")
COMMENT=$(grep -c '//' "$FILE")
if [ "$TOTAL" -gt 0 ]; then
RATIO=$((COMMENT * 100 / TOTAL))
if [ "$RATIO" -lt 30 ]; then
echo "FAIL: 注释覆盖率 ${RATIO}% < 30%"
FAIL=1
else
echo "PASS: 注释覆盖率 ${RATIO}%"
fi
fi
echo "=== IC-36: always 块行数 ==="
awk '/always.*begin/{start=NR} /end/{if(start && NR-start+1>100) print "FAIL: always块行数="NR-start+1" > 100 (行"start"-"NR")"; start=0}' "$FILE"
echo "=== 组合逻辑默认值检查 ==="
# 检查 always @(*) 块开头是否有默认赋值
awk '/always @\(\*\)/{found=1; next} found && /begin/{block=1; next} block && /\w+\s*=\s*/{if(!default_set){print "WARN: always @(*) 可能缺少默认赋值 (行"NR")"} default_set=1; block=0; found=0} block && /end/{block=0; found=0}' "$FILE"
echo "=== case default 检查 ==="
# 检查 case 是否有 default
awk '/case\s*\(/{case_start=NR; in_case=1} in_case && /default/{has_default=1} in_case && /endcase/{if(!has_default && case_start) print "WARN: case 可能缺少 default (行"case_start")"; in_case=0; has_default=0; case_start=0}' "$FILE"
echo "=== generate 标签检查 ==="
# 检查 generate 块是否有标签
awk '/generate/{gen=1} gen && /begin\s*:/{} gen && /begin\s*$/{if(gen) print "WARN: generate 块可能缺少标签 (行"NR")"} gen && /endgenerate/{gen=0}' "$FILE"
exit $FAIL
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.
- 12d ago First seen · 201 lines · 73 tokens per session scan A 10ab719c08b0
chip-impl-self-check is a skill published in the GitHub repository zhaixin244-wq/fnw (29 stars, last pushed 3mo ago), licensed MIT. It adds 73 tokens to every session and 2,886 once invoked, about $0.0004 per session on Opus 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-08-30.
Other skills, from other repositories
jetson-video-pipeline
Use when executing and verifying Jetson Video Codec SDK or PyNvVideoCodec encode/decode, transcode, segmentation, container decode, AV1, or acceptance workflows with exact artifact handoffs.
jetson-validate-image
Use after jetson-flash-image to run static BSP checks, on-target smoke/regression tests on a flashed DUT, or both. Not for build or flash steps. Triggers: validate bsp, on-target validation.
holohub-app-lifecycle
Use for non-failing HoloHub app work with ./holohub: scaffold, build, run, test, visual evidence, lint, and flow benchmarking.
code-plan
Turn a task description and repository into a structured implementation plan (files to create, files to modify, tests to add, risks).
ros2-robotics
Best practices for ROS 2 robotics development, covering package structure, nodes, topics/services/actions, launch files, QoS, tf2 transforms, and testing. Use when creating ROS 2 packages, writing nodes in rclpy or rclcpp, defining custom messages/services/actions, writing launch files, configuring QoS profiles…
SmartHome Video Anomaly Benchmark
VLM evaluation suite for video anomaly detection in smart home camera footage.