BB
bb-create-issue
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.
Install
mkdir -p .claude/skills/bb-create-issue && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/14431" && unzip -o skill.zip -d .claude/skills/bb-create-issue && rm skill.zipInstalls to .claude/skills/bb-create-issue
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
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.259 charsno explicit “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
About this skill
bb-create-issue
Inputs
--label <label>— one ofready-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_path | designs/<name>/.handoff/<label>.md |
log_path | designs/<name>/.handoff/handoff_log.jsonl |
gh_issue_url | URL|null |
valid | bool |
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.md 由 bb-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