bug PR验证
- 作者仓库星标 72,499
- 作者仓库 daytona
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.
Phase 1: Understand
- Read the issue body carefully. Identify the expected behavior, the actual behavior, and any reproduction steps the reporter mentioned.
- Inspect the project layout: read
package.json,README.md, andAGENTS.mdif present. Identify the test framework (vitest, jest, node:test, tsx test runner, etc.) and the test command. - Locate the source file(s) most likely involved in the bug. Read them fully — do not skim.
- Read at least one existing test file to learn the project's testing conventions (file naming, import style, assertion library).
Phase 2: Reproduce
- Create a new git branch named
flue/fix-issue-{{issueNumber}}. - Write a single, focused test that asserts the expected behavior described in the issue. The test must currently fail because of the bug.
- Run the test command. The test must fail. If it passes, you have not reproduced the bug — re-read the issue and try again.
- Save the failing test output. You will reference it in the PR body.
Phase 3: Fix
- Make the minimal code change required to make the failing test pass.
- Do not refactor unrelated code. Do not reformat untouched files. Do not edit lockfiles.
- Run the full test suite. All tests must pass, including pre-existing ones.
Phase 4: Pull Request
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
--repoand--baseexplicitly soghdoesn'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 bareCloses #{{issueNumber}}would point at the fork's own issue tracker, which is empty by default.
Output
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 fix
Hard rules
- Do NOT use the
tasktool. Work directly in this session. - The failing test MUST fail before the fix and MUST pass after the fix. No exceptions.
- The fix must be minimal. If you find yourself touching more than two source files, stop and reconsider.
- Never disable, skip, or delete pre-existing tests.
- Never use
--forceon git push. Push to a fresh branch. - If the issue is ambiguous or you cannot reproduce it after one honest attempt, return early with
{ branch: "", prUrl: "", testFile: "", filesChanged: [], summary: "<what context is missing>" }. Do not fabricate.
- 流狐分类
- AI 智能
- 作者声明 Agent
- 未找到明确声明;不据此推断已兼容或已测试
- 静态检查
- 88 / 100 · 启发式扫描,不代表运行安全
- 作者 / 版本 / 许可
- @daytonaio · 未声明 license
- 流狐 Token 估算
- 低消耗
- 流狐接入估算
- 即装即用
- 是否需要外部 API Key
- 未发现要求
- 检测到的系统要求
- macOS · Linux · Windows
- 底层运行要求
- Node.js
- 检测到的文件与系统行为
-
- 只读
- 允许写入 / 修改
- 检测到的网络行为
- 仅限本地
- 安装命令数
- 无(仅作为资料)
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
作者没有在当前 SKILL.md 中定义固定输出样例。 Read the issue body carefully. Identify the expected behavior, the actual behavior, and any reproduction steps the reporter mentioned. Inspect the project layout: read package.json, README.md, and AGENTS.md if present. Identify the test framework (vitest,…
Create a new git branch named flue/fix-issue-{{issueNumber}}. Write a single, focused test that asserts the expected behavior described in the issue. The test must currently fail because of the bug. Run the test command. The test must fail. If it passes, you…
Make the minimal code change required to make the failing test pass. Do not refactor unrelated code. Do not reformat untouched files. Do not edit lockfiles. Run the full test suite. All tests must pass, including pre-existing ones.
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}}.
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:
```json
{{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.
## Phase 1: Understand
1. Read the issue body carefully. Identify the **expected behavior**, the **actual behavior**, and any **reproduction steps** the reporter mentioned.
2. Inspect the project layout: read `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.
3. Locate the source file(s) most likely involved in the bug. Read them fully — do not skim.
4. Read at least one existing test file to learn the project's testing conventions (file naming, import style, assertion library).
## Phase 2: Reproduce
… 作者原文负责流程事实;流狐只索引当前章节、要点、文件与命令。
章节 -> Phase 1: Understand → Phase 2: Reproduce → Phase 3: Fix → Phase 4: Pull Request → Output → Hard rules
要点 -> {{packageManager}} · fork · {{issueRepo}} · {{issueNumber}} · Work directly in this session. · expected behavior · actual behavior · reproduction steps
文件/命令 -> {{repo}} · {{packageManager}} test · {{packageManager}} run <script> · {{issueRepo}} · task · read · write · edit
内容 SHA-256 -> e446fa092578
方法与流程
适用与边界
原文中的明确线索
{{repo}}、{{packageManager}} test、{{packageManager}} run <script>、{{issueRepo}}、task、read、write、edit