bluetape-go-patterns
Use when implementing, planning, reviewing, or releasing Go code in bluetape-go, bluetape-go-workshop, or another bluetape ecosystem Go module.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when implementing, planning, reviewing, or releasing Go code in bluetape-go, bluetape-go-workshop, or another bluetape ecosystem Go module.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when any task in a bluetape4k repository must be classified and routed to Type A full feature, B fast track, C bug fix, D review, E maintenance, P publish, or F benchmark self-improvement.
Use when planning, validating, dispatching, recovering, or closing a bluetape4k snapshot, Maven Central release, BOM/catalog train, or consumer synchronization.
Use when bluetape4k work creates or updates technical diagrams, charts, README visuals, docs visuals, blog images, or site visual assets.
Use when a bluetape ecosystem task is a reproducible defect, failed test, regression, static-analysis defect, or review finding that needs a root-cause-driven Type C fix.
Use when a bluetape ecosystem change is a narrow Type B feature, API extension, test improvement, or small class addition that does not need full design artifacts.
Use when an approved bluetape4k Type A change adds a module, dependency, service, subsystem, broad public API, architecture, multi-layer behavior, or large refactor and needs the full spec-to-PR lifecycle.
| name | bluetape-go-patterns |
| description | Use when implementing, planning, reviewing, or releasing Go code in bluetape-go, bluetape-go-workshop, or another bluetape ecosystem Go module. |
When used inside a bluetape workflow, the parent owns Step DoD, approvals, GitHub metadata, and side effects. This skill owns Go-specific implementation and P0/P1 review rules.
Load references/hardening-lessons.md only when work touches release proof,
source parity, distributed cache/lock/rate limiting, canonical encoders, rule
engines, observability hooks, Testcontainers readiness, benchmarks, or public
example/diagram evidence.
go test -race; no-panic smoke tests are insufficient.file:line evidence or explicit no-finding evidence.context.Context propagation, deadline, timeout, shutdown, or
retry behavior; never retry caller-owned cancellation without a proven spec;errors.Is/errors.As, hides typed/sentinel
errors, or returns ambiguous nil;Before implementation verify:
Example... tests for public usage contracts;Source parity plans must classify candidates as keep/adapt/replace/split/defer or non-goal. JVM futures/executors/virtual-thread facades, broad Commons-style wrappers, global logging facades, and helper packages without repeated Go call sites are default non-goals.
gofmt.%w; preserve typed/sentinel inspection.context.Context and deterministic shutdown for workers; use errgroup
only when already accepted or justified.slices, maps, iter, and small repo helpers over new abstractions.log/slog, injected logger, explicit hook),
guarded, sampled where needed, and low-cardinality.Apply bluetape-workflow/references/checklist-contract.md.
%w, deterministic cleanup/timeouts/shutdown, caller-owned keys/logging, and synchronized per-run state.go test -race and stress outputs, or concrete risk-based N/A.Run the smallest proving set, then expand by blast radius:
git diff --check and formatter;go test -count=1 ./<pkg>;go test -race -count=1 ./<pkg> for changed packages with concurrency,
shared state, cache, worker, retry, timeout, uniqueness, or fanout risk;go test -run Example -count=1 ./<pkg> for examples/README API changes;make ci and GitHub checks when defined/in scope.Run Testcontainers/real services serially and prove connection readiness rather than log readiness. If broader tests are blocked by an unrelated failure, record the exact package/error and run the strongest unaffected targeted/repo command.
Report reviewed diff/baseline, evidence commands, findings with file:line,
exact P0=<n> P1=<n>, verdict, and verification gaps. PASS requires P0=0 and
P1=0.