[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M70FRRYF6E22ECC8AGYYJEQ7":3,"skill-same:01M70FRRYF6E22ECC8AGYYJEQ7":69},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":13,"repositoryHtmlUrl":46,"repositoryHomepageUrl":6,"ownerHtmlUrl":47,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":48,"install":49,"resources":62},"01M70FRRYF6E22ECC8AGYYJEQ7","fix-reproducer",null,"Optional first stage of the fix-pipeline. Verifies a reported bug is reproducible and captures deterministic repro steps, environment state, and evidence. Single procedural executor — does not spawn sub-agents and does not diagnose. Branches by environment: dev path runs the bug locally; prod path gathers observational evidence from the deployed environment. Always writes repro.md, even on NOT REPRODUCED. Trigger when the user invokes a fix-pipeline with the reproduce step enabled.","SirTheOracle\u002Fforge-toolkit","SirTheOracle","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F264051384?v=4","01M70FNRYMQR4XHVN77S3NJPAW","01M70FNRZAGW58XJ1CC6JRY1PA",0,"MIT","https:\u002F\u002Fgithub.com\u002FSirTheOracle\u002Fforge-toolkit\u002Fblob\u002Fmain\u002Fskills\u002Ffix-reproducer\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"fix reproducer","fix","reproducer","first","state","with","stage","when","repro","single","dev","branches","trigger","environment","Reproducible","pipeline","diagnose","executor","evidence","deterministic","2026-11-10 10:12:30",false,"---\nname: fix-reproducer\ndescription: >\n  Optional first stage of the fix-pipeline. Verifies a reported bug is reproducible\n  and captures deterministic repro steps, environment state, and evidence. Single\n  procedural executor — does not spawn sub-agents and does not diagnose. Branches\n  by environment: dev path runs the bug locally; prod path gathers observational\n  evidence from the deployed environment. Always writes repro.md, even on\n  NOT REPRODUCED. Trigger when the user invokes a fix-pipeline with the reproduce\n  step enabled.\n---\n\n# Fix Reproducer Skill\n\n## Hard Constraints\n\n1. **Reproduce, do not diagnose.** Capture what happens, not why. Observations\n   are allowed; causal claims are out of scope and belong to investigate.\n2. **Always write `repro.md`, even on NOT REPRODUCED.** A documented negative\n   result is itself input for investigate.\n3. **Never perform write operations against production without explicit user\n   confirmation during runtime.** If a reproduction step would write production\n   data, stop and ask before proceeding.\n4. **Environment is a first-class input.** The `env` tag in `repro.md` must\n   match what was actually used. Never fall back from prod to dev (or vice\n   versa) without flagging it.\n5. **May read original pipeline artifacts for context.** Read-only — never edit\n   or write to anything under `.dev\u002Fproposals\u002F{original-slug}\u002F`.\n6. **Initial Observations are strictly observational.** No causal claims, no\n   \"the bug is in module X.\" Note what you saw; let investigate decide what\n   it means.\n7. **Single executor.** This skill does not spawn sub-agents and does not run\n   adversarial rounds.\n\n## Required Reads\n\nBefore any reproduction action, read these files in order:\n\n1. `.claude\u002Fforge-project.yml` (fallback: `~\u002F.claude\u002Fforge-project.yml`) — project config\n2. `{output_dir}\u002Fproblem-statement.md` — the bug description as written by the orchestrator\n3. `~\u002F.claude\u002Fskills\u002Ffix-reproducer\u002Freferences\u002Frepro-format.md` — output template\n\nIf `--original-slug` is provided, also read for context (read-only):\n\n4. `.dev\u002Fproposals\u002F{original-slug}\u002Ffinal-plan.md` — what the feature was supposed to do\n5. `.dev\u002Fproposals\u002F{original-slug}\u002Fimplementation.md` — what was actually built\n6. `.dev\u002Fproposals\u002F{original-slug}\u002Fcoder-report.md` — what was committed\n\n## Inputs\n\nRequired:\n\n- `--output-dir` — path to the fix directory. `problem-statement.md` lives here;\n  `repro.md` and `evidence\u002F` will be written here.\n- `--env prod | dev` — which environment the bug is reported in.\n\nOptional:\n\n- `--original-slug` — slug of the original build pipeline whose feature has\n  the bug. Enables read-only context access to that pipeline's artifacts.\n- `--interactive` — pause for clarifying questions when the description is\n  ambiguous, instead of proceeding autonomously.\n\n## Modes\n\n| Mode | Flag | Behavior |\n|------|------|----------|\n| **Default** | — | Autonomous. Reproduce based on the description as given. Document ambiguity in repro.md if encountered. |\n| **Interactive** | `--interactive` | When description is ambiguous, pause and ask the user clarifying questions before attempting reproduction. |\n\n## Phase 0: Config + Inputs\n\n1. Read `.claude\u002Fforge-project.yml`\n2. Read `problem-statement.md` from `--output-dir`\n3. Confirm `--env` is set and is one of `prod` | `dev`\n4. If `--original-slug` is provided, confirm `.dev\u002Fproposals\u002F{original-slug}\u002F`\n   exists. If it doesn't, log a note in repro.md but continue.\n5. Create `{output_dir}\u002Fevidence\u002F` if it doesn't exist\n6. If any required input is missing, stop and report:\n   ```\n   FIX-REPRODUCER ERROR: Missing required input — {field}\n   ```\n\n## Phase 1: Description Analysis\n\nParse `problem-statement.md` into structured form. Extract:\n\n- **Action sequence** — what the user did (or what was happening) when the bug appeared\n- **Expected behavior** — what should have happened\n- **Observed behavior** — what actually happened\n- **Error indicators** — error messages, stack traces, status codes mentioned\n- **Environmental hints** — anything in the description that points at conditions (timing, state, data, user role, etc.)\n\nIf the description is too vague to extract a usable action sequence:\n\n- **Default mode:** proceed with what you have, note the ambiguity in repro.md's\n  Variations Attempted section\n- **Interactive mode:** stop and ask the user the specific question(s) you\n  need answered before proceeding\n\nDo not invent steps the description doesn't support.\n\n## Phase 2: Reproduction\n\nThe reproduction work branches by `--env`. The contract is the same in both paths:\n\n- Try to trigger or observe the bug\n- Capture concrete evidence\n- Note any side effects of the attempt\n\nThe skill is agnostic about which tools are used. Pick the appropriate tool at\nruntime based on what the project provides — Playwright for UI flows, curl for\nHTTP, direct invocation for CLI tools, log scraping for observational evidence,\netc. The phase below describes the *contract* of each path, not the tooling.\n\n### Phase 2A: Dev Path (`--env dev`)\n\nLocal reproduction — the app runs on localhost; you can interact with it directly.\n\n1. Confirm prerequisites are running (or start them per forge-project.yml). If\n   you cannot bring services up, classify outcome as NOT REPRODUCED and report\n   the infrastructure failure as evidence.\n2. Execute the action sequence from Phase 1 against the local app.\n3. Capture at each step:\n   - What was attempted\n   - What was observed (output, response, UI state, error)\n   - Evidence: screenshot path, log excerpt, response body, stack trace\n4. If the literal steps don't reproduce, you may try **bounded variations** —\n   small adjustments that test the same hypothesis (different input value,\n   different order, different timing). Each variation is recorded.\n5. The dev path is allowed to be interactive in spirit: try, observe, adjust,\n   retry. Stop when you have a deterministic repro or have exhausted reasonable\n   variations.\n\n### Phase 2B: Prod Path (`--env prod`)\n\nObservational — the app is deployed; you do not run it locally. Evidence comes\nfrom production telemetry, deployed endpoints, and any user-provided artifacts.\n\n1. **Static evidence first.** Before attempting any live reproduction, gather\n   what already exists: production logs around the reported timeframe, error\n   tracking entries (Sentry\u002Fetc. if configured), any artifacts the user\n   provided (HAR files, screenshots, IDs).\n2. **Live observation second.** If static evidence isn't sufficient to confirm\n   the bug, attempt to observe it against the deployed environment. This is\n   typically read-only HTTP requests or UI navigation that doesn't write data.\n3. **Side-effect guardrail.** If a reproduction step would write production\n   data (form submissions, mutations, anything non-idempotent), STOP and\n   surface the intent to the user before proceeding. Do not silently perform\n   the action.\n4. Capture at each step:\n   - What was attempted (or what static source was queried)\n   - What was observed\n   - Evidence: log excerpts, response bodies, screenshots, telemetry references\n5. The prod path may produce one of three sub-outcomes worth distinguishing in\n   the report:\n   - **Reproduced live** — bug observed by direct reproduction against prod\n   - **Confirmed via telemetry** — bug not directly reproduced, but production\n     evidence (logs, error tracking) confirms it occurred\n   - **Statistical evidence only** — telemetry shows N occurrences but no\n     deterministic trigger was identified\n\n## Phase 3: Outcome Classification\n\nClassify the reproduction attempt as exactly one of:\n\n- **REPRODUCED** — bug confirmed with concrete, deterministic evidence. Steps\n  reliably trigger the failure.\n- **PARTIALLY REPRODUCED** — bug-like behavior observed but does not exactly\n  match the reported description. Could be a related bug, an environment\n  difference, or an incomplete description.\n- **NOT REPRODUCED** — could not trigger or observe the bug with what was\n  attempted. Document everything tried.\n\nFor prod, \"Confirmed via telemetry\" and \"Statistical evidence only\" both fall\nunder REPRODUCED — the bug exists, even if the trigger isn't deterministic.\nNote the sub-outcome in the report.\n\n## Phase 4: Write repro.md\n\nWrite `{output_dir}\u002Frepro.md` following the structure in\n`references\u002Frepro-format.md`. Required sections:\n\n- **Environment** — `prod` or `dev`, plus relevant version\u002Fconfig info\n- **Problem Statement** — the structured form from Phase 1\n- **Reproduction Status** — REPRODUCED \u002F PARTIALLY \u002F NOT REPRODUCED, with\n  prod sub-outcome if applicable\n- **Steps to Reproduce** — numbered, deterministic, with expected vs actual\n  per step. Empty\u002Fabbreviated if NOT REPRODUCED.\n- **Evidence** — paths under `evidence\u002F` for screenshots, logs, captures,\n  telemetry references\n- **Environment State** — versions, config, data state, anything that\n  affected outcome\n- **Variations Attempted** — bounded variations tried during Phase 2,\n  especially relevant for PARTIALLY or NOT REPRODUCED\n- **Initial Observations** — strictly observational notes that may inform\n  investigate. No causal claims.\n- **Confidence + Blocking Items** — final lines, in this format:\n  ```\n  CONFIDENCE: HIGH | MEDIUM | LOW\n  BLOCKING_ITEMS: N\n  ```\n  NOT REPRODUCED defaults to BLOCKING_ITEMS > 0 because investigate cannot\n  proceed productively without something to investigate.\n\nThe report MUST be written even on failure (NOT REPRODUCED, infrastructure\nerrors, ambiguous description). Partial progress is valuable input for\ninvestigate or for the user to decide next steps.\n\n## Error Recovery\n\n| Error | Action |\n|-------|--------|\n| `forge-project.yml` not found | Stop, report missing config |\n| `problem-statement.md` not found in --output-dir | Stop, report missing input |\n| `--env` not set or invalid | Stop, report invalid input |\n| Description too vague (default mode) | Document ambiguity in repro.md, classify as NOT REPRODUCED if it blocks reproduction |\n| Description too vague (interactive mode) | Pause, ask user clarifying questions |\n| Local services won't start (dev path) | Classify NOT REPRODUCED, capture infra failure as evidence |\n| Prod write operation needed | Stop, surface intent to user, do not proceed without explicit confirmation |\n| Reproduction succeeds but description doesn't match | Classify PARTIALLY REPRODUCED, document the discrepancy |\n\n## Output Directory\n\n```\n{output_dir}\u002F\n├── problem-statement.md     ← Input (written by orchestrator)\n├── repro.md                 ← Output (this skill writes this)\n└── evidence\u002F\n    ├── screenshots\u002F\n    ├── logs\u002F\n    ├── captures\u002F            ← network\u002FHAR captures, response bodies\n    └── telemetry\u002F           ← references to production telemetry (prod only)\n```\n\n## What This Skill Does NOT Do\n\n- Does not generate the fix slug or create the output directory (orchestrator's job)\n- Does not write `problem-statement.md` (orchestrator's job)\n- Does not pick reproduction tools — runtime composes Railway\u002FPlaywright\u002Fcurl\u002Fetc.\n- Does not diagnose — observations only, no causal claims\n- Does not edit or write to original pipeline artifacts\n- Does not spawn sub-agents\n- Does not run adversarial rounds\n- Does not retry past reasonable variations — if the bug doesn't reproduce,\n  classify NOT REPRODUCED and report\n\n## Reference Files\n\n| File | When to read | Purpose |\n|------|--------------|---------|\n| `references\u002Frepro-format.md` | When writing the repro.md | Template for the output artifact |\n\n## Invocation\n\nThis skill is invoked by the fix-pipeline orchestrator with required arguments:\n\n```\nfix-reproducer \\\n  --output-dir .dev\u002Ffixes\u002F{original-slug}\u002F{fix-slug}\u002F \\\n  --env prod \\\n  --original-slug jwt-refresh-tokens\n```\n\nOr for an interactive run with a fuzzy description:\n\n```\nfix-reproducer \\\n  --output-dir .dev\u002Ffixes\u002F{original-slug}\u002F{fix-slug}\u002F \\\n  --env dev \\\n  --interactive\n```\n\nThe orchestrator is responsible for:\n\n- Generating the fix-slug\n- Creating the output directory\n- Writing `problem-statement.md` to the output directory\n- Invoking this skill with the correct arguments\n- Logging the dispatch via forge-bridge\n\nThis skill is responsible for:\n\n- Reading inputs\n- Performing reproduction appropriate to the environment\n- Writing `repro.md` and evidence files\n- Reporting the outcome (REPRODUCED \u002F PARTIALLY \u002F NOT REPRODUCED) back via\n  the standard FORGE_DONE callback (handled by the orchestrator's dispatch\n  protocol, not by this skill directly)\n","# Fix Reproducer Skill\n\n## Hard Constraints\n\n1. **Reproduce, do not diagnose.** Capture what happens, not why. Observations\n   are allowed; causal claims are out of scope and belong to investigate.\n2. **Always write `repro.md`, even on NOT REPRODUCED.** A documented negative\n   result is itself input for investigate.\n3. **Never perform write operations against production without explicit user\n   confirmation during runtime.** If a reproduction step would write production\n   data, stop and ask before proceeding.\n4. **Environment is a first-class input.** The `env` tag in `repro.md` must\n   match what was actually used. Never fall back from prod to dev (or vice\n   versa) without flagging it.\n5. **May read original pipeline artifacts for context.** Read-only — never edit\n   or write to anything under `.dev\u002Fproposals\u002F{original-slug}\u002F`.\n6. **Initial Observations are strictly observational.** No causal claims, no\n   \"the bug is in module X.\" Note what you saw; let investigate decide what\n   it means.\n7. **Single executor.** This skill does not spawn sub-agents and does not run\n   adversarial rounds.\n\n## Required Reads\n\nBefore any reproduction action, read these files in order:\n\n1. `.claude\u002Fforge-project.yml` (fallback: `~\u002F.claude\u002Fforge-project.yml`) — project config\n2. `{output_dir}\u002Fproblem-statement.md` — the bug description as written by the orchestrator\n3. `~\u002F.claude\u002Fskills\u002Ffix-reproducer\u002Freferences\u002Frepro-format.md` — output template\n\nIf `--original-slug` is provided, also read for context (read-only):\n\n4. `.dev\u002Fproposals\u002F{original-slug}\u002Ffinal-plan.md` — what the feature was supposed to do\n5. `.dev\u002Fproposals\u002F{original-slug}\u002Fimplementation.md` — what was actually built\n6. `.dev\u002Fproposals\u002F{original-slug}\u002Fcoder-report.md` — what was committed\n\n## Inputs\n\nRequired:\n\n- `--output-dir` — path to the fix directory. `problem-statement.md` lives here;\n  `repro.md` and `evidence\u002F` will be written here.\n- `--env prod | dev` — which environment the bug is reported in.\n\nOptional:\n\n- `--original-slug` — slug of the original build pipeline whose feature has\n  the bug. Enables read-only context access to that pipeline's artifacts.\n- `--interactive` — pause for clarifying questions when the description is\n  ambiguous, instead of proceeding autonomously.\n\n## Modes\n\n| Mode | Flag | Behavior |\n|------|------|----------|\n| **Default** | — | Autonomous. Reproduce based on the description as given. Document ambiguity in repro.md if encountered. |\n| **Interactive** | `--interactive` | When description is ambiguous, pause and ask the user clarifying questions before attempting reproduction. |\n\n## Phase 0: Config + Inputs\n\n1. Read `.claude\u002Fforge-project.yml`\n2. Read `problem-statement.md` from `--output-dir`\n3. Confirm `--env` is set and is one of `prod` | `dev`\n4. If `--original-slug` is provided, confirm `.dev\u002Fproposals\u002F{original-slug}\u002F`\n   exists. If it doesn't, log a note in repro.md but continue.\n5. Create `{output_dir}\u002Fevidence\u002F` if it doesn't exist\n6. If any required input is missing, stop and report:\n   ```\n   FIX-REPRODUCER ERROR: Missing required input — {field}\n   ```\n\n## Phase 1: Description Analysis\n\nParse `problem-statement.md` into structured form. Extract:\n\n- **Action sequence** — what the user did (or what was happening) when the bug appeared\n- **Expected behavior** — what should have happened\n- **Observed behavior** — what actually happened\n- **Error indicators** — error messages, stack traces, status codes mentioned\n- **Environmental hints** — anything in the description that points at conditions (timing, state, data, user role, etc.)\n\nIf the description is too vague to extract a usable action sequence:\n\n- **Default mode:** proceed with what you have, note the ambiguity in repro.md's\n  Variations Attempted section\n- **Interactive mode:** stop and ask the user the specific question(s) you\n  need answered before proceeding\n\nDo not invent steps the description doesn't support.\n\n## Phase 2: Reproduction\n\nThe reproduction work branches by `--env`. The contract is the same in both paths:\n\n- Try to trigger or observe the bug\n- Capture concrete evidence\n- Note any side effects of the attempt\n\nThe skill is agnostic about which tools are used. Pick the appropriate tool at\nruntime based on what the project provides — Playwright for UI flows, curl for\nHTTP, direct invocation for CLI tools, log scraping for observational evidence,\netc. The phase below describes the *contract* of each path, not the tooling.\n\n### Phase 2A: Dev Path (`--env dev`)\n\nLocal reproduction — the app runs on localhost; you can interact with it directly.\n\n1. Confirm prerequisites are running (or start them per forge-project.yml). If\n   you cannot bring services up, classify outcome as NOT REPRODUCED and report\n   the infrastructure failure as evidence.\n2. Execute the action sequence from Phase 1 against the local app.\n3. Capture at each step:\n   - What was attempted\n   - What was observed (output, response, UI state, error)\n   - Evidence: screenshot path, log excerpt, response body, stack trace\n4. If the literal steps don't reproduce, you may try **bounded variations** —\n   small adjustments that test the same hypothesis (different input value,\n   different order, different timing). Each variation is recorded.\n5. The dev path is allowed to be interactive in spirit: try, observe, adjust,\n   retry. Stop when you have a deterministic repro or have exhausted reasonable\n   variations.\n\n### Phase 2B: Prod Path (`--env prod`)\n\nObservational — the app is deployed; you do not run it locally. Evidence comes\nfrom production telemetry, deployed endpoints, and any user-provided artifacts.\n\n1. **Static evidence first.** Before attempting any live reproduction, gather\n   what already exists: production logs around the reported timeframe, error\n   tracking entries (Sentry\u002Fetc. if configured), any artifacts the user\n   provided (HAR files, screenshots, IDs).\n2. **Live observation second.** If static evidence isn't sufficient to confirm\n   the bug, attempt to observe it against the deployed environment. This is\n   typically read-only HTTP requests or UI navigation that doesn't write data.\n3. **Side-effect guardrail.** If a reproduction step would write production\n   data (form submissions, mutations, anything non-idempotent), STOP and\n   surface the intent to the user before proceeding. Do not silently perform\n   the action.\n4. Capture at each step:\n   - What was attempted (or what static source was queried)\n   - What was observed\n   - Evidence: log excerpts, response bodies, screenshots, telemetry references\n5. The prod path may produce one of three sub-outcomes worth distinguishing in\n   the report:\n   - **Reproduced live** — bug observed by direct reproduction against prod\n   - **Confirmed via telemetry** — bug not directly reproduced, but production\n     evidence (logs, error tracking) confirms it occurred\n   - **Statistical evidence only** — telemetry shows N occurrences but no\n     deterministic trigger was identified\n\n## Phase 3: Outcome Classification\n\nClassify the reproduction attempt as exactly one of:\n\n- **REPRODUCED** — bug confirmed with concrete, deterministic evidence. Steps\n  reliably trigger the failure.\n- **PARTIALLY REPRODUCED** — bug-like behavior observed but does not exactly\n  match the reported description. Could be a related bug, an environment\n  difference, or an incomplete description.\n- **NOT REPRODUCED** — could not trigger or observe the bug with what was\n  attempted. Document everything tried.\n\nFor prod, \"Confirmed via telemetry\" and \"Statistical evidence only\" both fall\nunder REPRODUCED — the bug exists, even if the trigger isn't deterministic.\nNote the sub-outcome in the report.\n\n## Phase 4: Write repro.md\n\nWrite `{output_dir}\u002Frepro.md` following the structure in\n`references\u002Frepro-format.md`. Required sections:\n\n- **Environment** — `prod` or `dev`, plus relevant version\u002Fconfig info\n- **Problem Statement** — the structured form from Phase 1\n- **Reproduction Status** — REPRODUCED \u002F PARTIALLY \u002F NOT REPRODUCED, with\n  prod sub-outcome if applicable\n- **Steps to Reproduce** — numbered, deterministic, with expected vs actual\n  per step. Empty\u002Fabbreviated if NOT REPRODUCED.\n- **Evidence** — paths under `evidence\u002F` for screenshots, logs, captures,\n  telemetry references\n- **Environment State** — versions, config, data state, anything that\n  affected outcome\n- **Variations Attempted** — bounded variations tried during Phase 2,\n  especially relevant for PARTIALLY or NOT REPRODUCED\n- **Initial Observations** — strictly observational notes that may inform\n  investigate. No causal claims.\n- **Confidence + Blocking Items** — final lines, in this format:\n  ```\n  CONFIDENCE: HIGH | MEDIUM | LOW\n  BLOCKING_ITEMS: N\n  ```\n  NOT REPRODUCED defaults to BLOCKING_ITEMS > 0 because investigate cannot\n  proceed productively without something to investigate.\n\nThe report MUST be written even on failure (NOT REPRODUCED, infrastructure\nerrors, ambiguous description). Partial progress is valuable input for\ninvestigate or for the user to decide next steps.\n\n## Error Recovery\n\n| Error | Action |\n|-------|--------|\n| `forge-project.yml` not found | Stop, report missing config |\n| `problem-statement.md` not found in --output-dir | Stop, report missing input |\n| `--env` not set or invalid | Stop, report invalid input |\n| Description too vague (default mode) | Document ambiguity in repro.md, classify as NOT REPRODUCED if it blocks reproduction |\n| Description too vague (interactive mode) | Pause, ask user clarifying questions |\n| Local services won't start (dev path) | Classify NOT REPRODUCED, capture infra failure as evidence |\n| Prod write operation needed | Stop, surface intent to user, do not proceed without explicit confirmation |\n| Reproduction succeeds but description doesn't match | Classify PARTIALLY REPRODUCED, document the discrepancy |\n\n## Output Directory\n\n```\n{output_dir}\u002F\n├── problem-statement.md     ← Input (written by orchestrator)\n├── repro.md                 ← Output (this skill writes this)\n└── evidence\u002F\n    ├── screenshots\u002F\n    ├── logs\u002F\n    ├── captures\u002F            ← network\u002FHAR captures, response bodies\n    └── telemetry\u002F           ← references to production telemetry (prod only)\n```\n\n## What This Skill Does NOT Do\n\n- Does not generate the fix slug or create the output directory (orchestrator's job)\n- Does not write `problem-statement.md` (orchestrator's job)\n- Does not pick reproduction tools — runtime composes Railway\u002FPlaywright\u002Fcurl\u002Fetc.\n- Does not diagnose — observations only, no causal claims\n- Does not edit or write to original pipeline artifacts\n- Does not spawn sub-agents\n- Does not run adversarial rounds\n- Does not retry past reasonable variations — if the bug doesn't reproduce,\n  classify NOT REPRODUCED and report\n\n## Reference Files\n\n| File | When to read | Purpose |\n|------|--------------|---------|\n| `references\u002Frepro-format.md` | When writing the repro.md | Template for the output artifact |\n\n## Invocation\n\nThis skill is invoked by the fix-pipeline orchestrator with required arguments:\n\n```\nfix-reproducer \\\n  --output-dir .dev\u002Ffixes\u002F{original-slug}\u002F{fix-slug}\u002F \\\n  --env prod \\\n  --original-slug jwt-refresh-tokens\n```\n\nOr for an interactive run with a fuzzy description:\n\n```\nfix-reproducer \\\n  --output-dir .dev\u002Ffixes\u002F{original-slug}\u002F{fix-slug}\u002F \\\n  --env dev \\\n  --interactive\n```\n\nThe orchestrator is responsible for:\n\n- Generating the fix-slug\n- Creating the output directory\n- Writing `problem-statement.md` to the output directory\n- Invoking this skill with the correct arguments\n- Logging the dispatch via forge-bridge\n\nThis skill is responsible for:\n\n- Reading inputs\n- Performing reproduction appropriate to the environment\n- Writing `repro.md` and evidence files\n- Reporting the outcome (REPRODUCED \u002F PARTIALLY \u002F NOT REPRODUCED) back via\n  the standard FORGE_DONE callback (handled by the orchestrator's dispatch\n  protocol, not by this skill directly)\n",{"name":5,"description":7},"main","50bb36677eced958128cea262c304bf9ceee4d4e","skills\u002Ffix-reproducer","https:\u002F\u002Fgithub.com\u002FSirTheOracle\u002Fforge-toolkit","https:\u002F\u002Fgithub.com\u002FSirTheOracle","2026-10-20 00:50:37",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add SirTheOracle\u002Fforge-toolkit --skill fix-reproducer",{"tool":55,"command":56},"bunx","bunx skills add SirTheOracle\u002Fforge-toolkit --skill fix-reproducer",{"tool":58,"command":59},"pnpm","pnpm dlx skills add SirTheOracle\u002Fforge-toolkit --skill fix-reproducer","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FSirTheOracle\u002Fforge-toolkit\u002Fblob\u002Fmain\u002Fskills\u002Ffix-reproducer\u002FSKILL.md",true,[63],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"references\u002Frepro-format.md","REFERENCE","参考文档",6344,"https:\u002F\u002Fgithub.com\u002FSirTheOracle\u002Fforge-toolkit\u002Fblob\u002Fmain\u002Fskills\u002Ffix-reproducer\u002Freferences\u002Frepro-format.md",[70,94,115,135,158,172],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":38},"01M70FS350DG1MT6NBPYRPBFBQ","forge-orchestrator","tmux-based orchestrator for multi-agent building. Coordinates work across Claude Code and two Codex workers via forge-bridge. Translates user requests into dispatched tasks with structured audit logging. Replaces forge-dispatch, forge-state.yml, and stage-routing-map.yml.","https:\u002F\u002Fgithub.com\u002FSirTheOracle\u002Fforge-toolkit\u002Fblob\u002Fmain\u002Fskills\u002Fforge-orchestrator\u002FSKILL.md",[],[77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,24,23,93,22],"forge","orchestrator","forge orchestrator","bridge","map","code","tasks","across","work","audit","multi-agent","logging","tmux","for","audit logging","workers","multi",{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":38},"01M70FRYFZC51YWHVNNS3862PY","forge-fix-runner","Drain the GitHub `forge-fix` issue queue through the forge fix pipeline, one service at a time. Tallies actionable issues worst-first, scouts a service into a routing plan (clusters + quick\u002Ffull tiers), gets human approval, then dispatches fixes (quick = dispatched fix-code; full = forge-pipeline), gating every `Closes #N` on per-issue verification. Trigger when the user wants to fix triaged QA issues, \"work the forge-fix queue\", or \"run the fix runner\".","https:\u002F\u002Fgithub.com\u002FSirTheOracle\u002Fforge-toolkit\u002Fblob\u002Fmain\u002Fskills\u002Fforge-fix-runner\u002FSKILL.md",[],[101,19,77,102,103,33,104,105,106,107,108,25,82,109,85,110,111,112,113,114],"runner","forge fix runner","quick","actionable","time","issues","qa","gating","verification","plan","human","run","at","issue",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":121,"publishedAt":38},"01M70FRVVW3JAGQQK3FFR2VYRC","forge-coder","Procedural coding skill. Reads implementation.md, validates diffs against the codebase, applies changes in execution order, runs tests after each commit group, and produces a coder-report.md artifact.","https:\u002F\u002Fgithub.com\u002FSirTheOracle\u002Fforge-toolkit\u002Fblob\u002Fmain\u002Fskills\u002Fforge-coder\u002FSKILL.md",[],[77,122,123,124,125,126,127,128,129,130,131,132,133,134],"forge coder","coder","diffs","tests","execution","commit","changes","artifact","procedural","report","codebase","implementation","coding",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":141,"publishedAt":38},"01M70FRN8THYBT2DJVX99XQ3CM","fix-plan-reviewer","Single-agent adversarial reviewer for fix plans. Reads diagnosis.md and fix-plan.md, verifies the plan actually addresses the diagnosed cause, attacks the plan from multiple angles (cause coverage, defense adequacy, scope correctness, regression risk, rollback integrity, test plan integrity, risk honesty), and produces fix-review.md with severity-rated issues. Does NOT propose fixes for the issues — that is the revise mode of adversarial-fix-plan. Does NOT re-investigate the diagnosis. Trigger as the review stage of a fix-pipeline, after adversarial-fix-plan has produced fix-plan.md.","https:\u002F\u002Fgithub.com\u002FSirTheOracle\u002Fforge-toolkit\u002Fblob\u002Fmain\u002Fskills\u002Ffix-plan-reviewer\u002FSKILL.md",[],[142,19,143,110,144,145,146,147,33,148,149,106,150,151,152,153,154,155,156,157],"fix plan reviewer","reviewer","plan reviewer","coverage","scope","regression","re","mode","review","diagnosis","defense","integrity","addresses","revise","attacks","as",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":164,"publishedAt":38},"01M70FRHGG6HN0VW483NDKX161","fix-coder","Mechanical single-executor that applies a vetted fix plan to the codebase. Reads fix-plan.md (the Changes, Defenses, and Test Plan sections), translates file-level changes into concrete diffs, applies them, runs the test plan, validates that the bug is no longer reproducible (dev) or that the test exercising the failing path passes (prod), and produces a single fix commit. Stays strictly in scope: does NOT modify the plan, does NOT re-investigate, does NOT touch files outside the plan. Always writes fix-coder-report.md, even on failure. Trigger as the implementation stage of a fix-pipeline, after fix-plan-reviewer has approved fix-plan.md.","https:\u002F\u002Fgithub.com\u002FSirTheOracle\u002Fforge-toolkit\u002Fblob\u002Fmain\u002Fskills\u002Ffix-coder\u002FSKILL.md",[],[19,165,123,35,146,33,148,166,167,124,168,127,143,110,169,170,157,171,32,30],"fix coder","failing","mechanical","files","bug","path","test plan",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":178,"publishedAt":38},"01M70FREVCBF0YX1FX8WNAQTGP","docs-refresh","Generates and maintains living documentation from the current codebase state. Reads a project-local manifest (.claude\u002Fdocs-refresh.yml) that declares doc targets, sections, source inventories, and refresh boundaries. Uses marker blocks in docs to safely regenerate content without trampling manual prose.","https:\u002F\u002Fgithub.com\u002FSirTheOracle\u002Fforge-toolkit\u002Fblob\u002Fmain\u002Fskills\u002Fdocs-refresh\u002FSKILL.md",[],[179,180,181,182,183,184,185,186,22,187,132,188,189,190,191,192,193],"refresh","docs refresh","docs","project","manual","local","manifest","documentation","targets","blocks","doc","prose","source","content","marker"]