← Browse

@amoslee2026/bb-create-issue

B

Babel internal issue protocol — create a labeled handoff between pipeline agents. Writes designs/<name>/.handoff/<label>.md and appends to handoff_log.jsonl; best-effort gh issue create if gh available. Triggered by every guru/architect agent at handoff time.

skillclaude

Install

agr install @amoslee2026/bb-create-issue --target claude

Writes 1 file into .claude/skills/, pinned to git-db34e98b.

  • .claude/skills/bb-create-issue/SKILL.md

Document


name: bb-create-issue description: "Babel internal issue protocol — create a labeled handoff between pipeline agents. Writes designs//.handoff/.md and appends to handoff_log.jsonl; best-effort gh issue create if gh available. Triggered by every guru/architect agent at handoff time."

bb-create-issue

Inputs

  • --label <label> — one of ready-for-rtl | ready-for-verification | ready-for-synth | ready-for-pd | signoff | arch-needs-fix | rtl-needs-fix | synth-needs-fix | escalate-user | pd-rework
  • --artifact <path> — canonical artifact path (e.g. designs/<name>/mas/mas.json)
  • --body-file <path> (optional) — markdown body source
  • --correlation-id <sha256> (optional) — sha256 of failing artifact for dedup (fix M-07)
  • --design-name <name> (optional) — derived from artifact path if absent
  • --summary <one-liner> (optional) — placed at top of body

Output Contract

field
artifact_pathdesigns/<name>/.handoff/<label>.md
log_pathdesigns/<name>/.handoff/handoff_log.jsonl
gh_issue_urlURL|null
validbool

4-Phase 执行

Phase 1 — derive_design_name

if --design-name absent:
  parse from --artifact: matches "designs/([^/]+)/" → design_name
  if no match: error "cannot derive design_name", exit 2

Phase 2 — write_handoff

LLM 直接调 Write 工具写出 designs/<design_name>/.handoff/<label>.md

# <label>
- timestamp: <ISO 8601 Beijing time>
- artifact: <path>
- correlation_id: <sha or NA>
- summary: <one-liner or "">
- body: <body-file content or stdin>

Phase 3 — append_log

Bash

mkdir -p designs/<design_name>/.handoff
LINE=$(printf '{"ts":"%s","label":"%s","artifact":"%s","correlation_id":"%s"}' \
  "$(date -u +'%Y-%m-%dT%H:%M:%SZ')" "<label>" "<artifact>" "<correlation_id_or_NA>")
echo "$LINE" >> designs/<design_name>/.handoff/handoff_log.jsonl

Phase 4 — gh_best_effort

if command -v gh >/dev/null 2>&1; then
  gh issue create \
    --label "<label>" \
    --title "<label>: <design_name>" \
    --body-file designs/<design_name>/.handoff/<label>.md \
    2>/dev/null || true
fi

返回 {artifact_path, log_path, gh_issue_url|null, valid:true}

Failure Modes

  • design_name 不可推导 → exit 2
  • label 不在 allow-list → exit 3
  • Write 失败 → 返回 {valid:false, error:"write failed"}

与 PostToolUse hook 联动

写入 <label>.md 后由 bb-hook-pipeline-advance.sh 自动提示用户下一步 agent;写 *-needs-fix.mdbb-hook-create-fix-issue.sh 记录 escalation。

Allow-list

ready-for-rtl, ready-for-verification, ready-for-synth, ready-for-pd, signoff,
arch-needs-fix, rtl-needs-fix, synth-needs-fix, pd-rework, escalate-user

Trustgrade B

  • passBody integrity

    Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.

  • passType matchnot applicable to this artifact type

    Whether the artifact is really the kind of thing its metadata claims it is.

  • passFreshness

    How long since the source repository was last pushed to.

  • passPrompt injection

    Scans the artifact's own text for instructions aimed at your agent rather than at you.

  • warnLicensecopyleft/unknown — index-and-link only

    Whether the source repository declares an SPDX license permissive enough to redistribute.

How the grade is calculated

Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:

  • Aevery check passed
  • Bone warning
  • Ctwo warnings
  • Dprompt injection or body integrity failed, or three warnings
  • Fone of those failed, and something else is wrong

These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.

Versions

  • git-db34e98b407b2026-07-31