ワンクリックで
reproduce
Reproduce bugs — diagnostic logging, runtime evidence collection, and e2e reproduction.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Reproduce bugs — diagnostic logging, runtime evidence collection, and e2e reproduction.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Visual-design discipline for forge frontends — brief the work before building (never invent an aesthetic without user input), declare the design system before coding, lean on the component library, use restrained color/type systems, never hand-draw complex SVGs, and verify visually before declaring done.
Write Next.js frontends — generated hooks, component library, Tailwind v4, visual verification, and Connect RPC clients.
Outbound boundary translators. One adapter per third-party system / queue / storage backend; narrow interface, vendor-neutral callers.
Write Connect RPC handlers — proto-driven codegen, the thin-translation handler pattern (validate, extract auth, convert proto↔internal, call service, wrap errors via `svcerr.Wrap`), middleware, and testing. Business logic lives in `internal/handlers/<svc>/contract.go`, never in handlers.
Forge project conventions and architecture — project structure, generated vs hand-written code, the generate pipeline, proto annotations, contracts, wiring, and naming.
Use-case orchestrators that compose two or more adapters/services. Deps are interfaces only — designed for unit tests with all-mock collaborators.
| name | reproduce |
| description | Reproduce bugs — diagnostic logging, runtime evidence collection, and e2e reproduction. |
The bug requires runtime evidence — you can't determine the cause from code reading alone.
forge up --env=dev output for service ports and startup logsproto/ definitionsMark all debug logging clearly so it can be cleaned up:
// DEBUG-REPRO: Remove after fixing [description]
What to log, in order of placement:
forge cluster logs --service <name> tails the pod's logs (kubectl-backed) — read the server's view of the request, don't infer from the client error alone. It tails only the owner cluster; for a peer in another cluster, kubectl --context <other> -n <ns> logs <pod>.forge introspect handlers. It prints every RPC path the assembled binary serves. If the RPC you're triggering isn't in the list, the fault is a downstream/remote hop — stop digging in this binary.forge api curl <service.method>. Builds a copy-pasteable Connect request from the shell. It stops at the auth interceptor (no token minting), so add your own credential for an authed call.forge debug start <svc> if logging isn't enough. Two caveats: in a multi-binary repo start <service> can mis-build (it falls back to ./cmd/...) — pass an explicit path/service; and forge debug stop after --attach kills the live process, so detach rather than stop when the process must keep running.Write a minimal test under e2e/ that triggers the bug against the live stack:
forge test e2e
The test should assert on the wrong behavior first (red), then flip to expected after fix.
A green forge smoke / forge doctor does NOT mean the app flow works — they check listeners, local compose, and telemetry, not app-flow invariants. The only things that prove an app-flow fix:
doctor:<flow> task), andforge test e2e.Add or extend one of these so the fix stays proven, not just observed-once.
Collect and present:
If you can't reproduce programmatically, provide exact manual steps and specify what logs to collect.
Always grep for DEBUG-REPRO markers and remove them after the bug is fixed.