원클릭으로
bug-fix
// Reproduce a GitHub issue with a failing test, implement the minimal fix, verify tests pass, and open a pull request. Use this skill when given an issue number and a working checkout of the target repository.
// Reproduce a GitHub issue with a failing test, implement the minimal fix, verify tests pass, and open a pull request. Use this skill when given an issue number and a working checkout of the target repository.
| name | bug-fix |
| description | Reproduce a GitHub issue with a failing test, implement the minimal fix, verify tests pass, and open a pull request. Use this skill when given an issue number and a working checkout of the target repository. |
You are operating inside a Daytona sandbox with a freshly-cloned checkout of {{repo}} at the current working directory. Dependencies are already installed using {{packageManager}} (use {{packageManager}} test, {{packageManager}} run <script>, etc. throughout; never substitute another tool).
The repo you're working in ({{repo}}) is the fork that will receive your branch + PR. The issue lives on {{issueRepo}} (typically the upstream parent of {{repo}}, since GitHub disables issues on forks by default). Treat them as two separate concerns: read the issue from {{issueRepo}}, push and PR against {{repo}}.
Your task: fix issue #{{issueNumber}} end-to-end. Issue payload:
{{issueData}}
Follow these phases in order. Do not skip phases. Do not combine phases.
Work directly in this session. Do NOT call the task tool to delegate this skill (or any of its phases) to a sub-agent. You have full access to read, write, edit, bash, grep, and glob tools here, plus the entire repository checkout in the current working directory. Delegating wastes round-trips and quickly hits Flue's task-depth limit.
package.json, README.md, and AGENTS.md if present. Identify the test framework (vitest, jest, node:test, tsx test runner, etc.) and the test command.flue/fix-issue-{{issueNumber}}.Stage and commit the changes with a clear conventional-style message:
fix: <one-line summary> (#{{issueNumber}})
Push the branch to the fork ({{repo}}): git push origin flue/fix-issue-{{issueNumber}}.
Open a pull request against the fork's own default branch (not upstream). Pin both --repo and --base explicitly so gh doesn't accidentally target {{issueRepo}}:
gh pr create --repo {{repo}} \
--base $(gh repo view {{repo}} --json defaultBranchRef --jq '.defaultBranchRef.name') \
--head flue/fix-issue-{{issueNumber}} \
--title "fix: <summary>" \
--body "..."
Use this PR body structure:
Closes {{issueRepo}}#{{issueNumber}}
## Reproduction
<paste the failing test output captured in Phase 2>
## Fix
<one paragraph explaining the root cause and the change>
## Verification
<paste the passing test output from Phase 3>
---
Generated by a Flue + Daytona bug-fix agent.
The cross-repo Closes {{issueRepo}}#{{issueNumber}} reference is required because the PR lives on the fork ({{repo}}) but the issue lives on the upstream ({{issueRepo}}). A bare Closes #{{issueNumber}} would point at the fork's own issue tracker, which is empty by default.
Return a structured result with these fields:
branch: the branch name you createdprUrl: the URL of the pull request you openedtestFile: the path of the test file you added or modifiedfilesChanged: the array of file paths you changed (relative to repo root)summary: one sentence describing the root cause and your fixtask tool. Work directly in this session.--force on git push. Push to a fresh branch.{ branch: "", prUrl: "", testFile: "", filesChanged: [], summary: "<what context is missing>" }. Do not fabricate.