bb-gate

SkillDev tools

Unified quality gate: acceptance across four stages — RTL / synthesis / test / PD. Calls the shared gate_runner.py with parameters. Triggers: (1) called by bba-guru-* at the end of a stage; (2) explicit /bb-gate <domain>.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the bb-gate skill

What this skill tells your AI

The instructions your AI receives, as published by amoslee2026/babel in .claude/skills/bb-gate/SKILL.md and read by ahel’s review.

统一质量门禁,参数化的单一 skill(取代早期设想的 4 个独立 skill bb-gate-rtl-quality / bb-gate-synth-quality / bb-gate-test-quality / bb-gate-pd-quality, 这些独立 skill 从未落地,调用方一律用 bb-gate <domain>)。 所有 domain 的判定字段名严格对齐 .claude/schemas/*.schema.json

职责

综合判定指定阶段的 artifact 是否达标,blocking

  • pass=true → 下游可以继续
  • pass=false → 上游 agent 必须修复后重试

禁止使用:Task / Agent / Skill(这是叶节点工具)。

4 个 domain 的判定标准

domain=rtl

条件
lint_cleanverible 0 error,无未 waive (lint_clean == true)
modules_nonemptymodules[] 长度 > 0
file_list_validfile_list 非空

domain=test

条件
functional_coverage_100functional_coverage == 100
line_coverage_100code_coverage.line == 100
branch_coverage_95code_coverage.branch >= 95
toggle_coverage_90code_coverage.toggle >= 90

domain=synth

条件
timing_metwns_ns >= 0 所有 corners[].timing_met == true
area_reasonablearea_um2 > 0
cells_existcell_count > 0

domain=pd

条件
drc_cleandrc_violations == 0
lvs_cleanlvs_match == true
timing_met所有 timing_corners[].timing_met == true

Signoff corner 列表见 references/asap7_corner_signoff_list.md

4-Phase 执行

Phase 1 — Render

无需 render — gate_runner.py 直接消费 artifact JSON。

Phase 2 — Run

uv run python .claude/skills/_gate_common/gate_runner.py \
    <domain> <artifact_path> [--output <output_path>]

Exit code: 0 = pass, 1 = fail, 2 = error.

Phase 3 — Parse

JSON 输出结构:

{
  "pass": bool,
  "gate_type": "rtl|synth|pd|test",
  "gate_name": "...",
  "timestamp": "ISO8601",
  "checks": { "<check>": {"pass": bool, "detail": "...?"} },
  "summary": "N/M checks passed"
}

Phase 4 — Return

  • pass=true → 写 quality_gate_<stamp>.json 到对应 stage 目录,agent 可以继续。
  • pass=false → 不写文件;返回 details;上游 agent 修复后重试。

Output Contract

field
artifact_path<output> 路径
passbool
validbool
checksobject
summarystring

资源索引

  • .claude/skills/_gate_common/gate_runner.py — 共享 runner(参数化所有 4 个 gate)
  • .claude/skills/_gate_common/render_gate_config.py — 可选配置渲染
  • .claude/schemas/*.schema.json — artifact schema(由 validate-input-schema hook 在边界校验)
  • references/asap7_corner_signoff_list.md — PD signoff corners

项目级 Coding Style 参考

  • wiki/codingstyle/systemverilog_styleguide.md — SystemVerilog Style Guide
  • wiki/codingstyle/freescale_verilog_standard.md — Freescale Verilog HDL Standard

Signals

GitHub stars
42
Forks
10
Last commit
Aug 2026
Advanced
Catalog kind
skill
Gateway key
bb-gate
Source
github.com/amoslee2026/babel