بنقرة واحدة
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.