Part of #5095.
Context
When a PR is held/blocked, gittensory currently tells a contributor WHAT is wrong (findings, nits, blockers) but doesn't give them a ready-to-paste instruction for their own AI coding tool to actually fix it. CodeRabbit ships exactly this, in two forms (confirmed via their docs and public write-ups, not assumed):
- A per-finding "🤖 Prompt for AI Agents" collapsible, enabled by default, attached to each individual inline review comment -- described as including "file paths, implementation details, and design decisions," meant to be copied straight into Claude Code, Copilot, Cursor, or any other agent.
- A newer aggregate "Fix All Issues with AI Agents" / "Agent Handoff" feature: instead of copying one prompt per finding, it gathers every fix prompt from the review and combines them into a single structured instruction for one agent run.
I could NOT find CodeRabbit's exact verbatim prompt template/formatting from public docs (their docs describe the CONTENT categories -- file paths, implementation details, design decisions -- but not the literal string structure or code-fence conventions). Closing that gap (inspecting a live CodeRabbit-reviewed public PR directly) is part of this issue's own research task, not something to guess at.
Requirements
- Research: find 2-3 real, public GitHub PRs reviewed by CodeRabbit and inspect the EXACT rendered format of both the per-finding and aggregate prompt (headers, code-fence usage, what fields are included, how file/line references are formatted).
- Design gittensory's own version: what does a fix-suggestion codeblock need to contain to be genuinely actionable for an agent (Claude Code, Codex, Cursor, etc.) -- likely: repo/PR context, the specific blocking finding(s), the relevant file path(s)/line range(s) already known from the review's own data, and a clear instruction, all inside ONE fenced block that survives a copy-paste cleanly.
- Decide where this lives: per-finding (mirroring CodeRabbit's inline collapsible) vs. one aggregate block for the whole PR's blockers (mirroring their newer "Fix All Issues") vs. both.
- Must be public-safe (no reward/score/trust-score leakage) and must never claim gittensory itself applied a fix -- it's a suggestion for the contributor's own tool to act on.
Deliverables
- A short research writeup: what CodeRabbit actually renders (with links to the real PRs inspected), and which parts of their approach are and aren't a good fit here.
- A concrete prototype of gittensory's own fix-suggestion block format, with real example output for a held PR with 1-2 blocking findings.
- An assessment of where the underlying data already exists (preflight findings, AI-review nits) vs. what would need new plumbing.
Expected outcome
A contributor whose PR is held gets a copy-pasteable, agent-ready instruction telling their own AI tool exactly what to fix -- not just a description of the problem.
Open questions for the maintainer
- Per-finding vs. aggregate vs. both -- present the tradeoff with real examples of each before committing.
- Whether this should be opt-in (config-as-code, matching every other feature) or on by default once built.
Part of #5095.
Context
When a PR is held/blocked, gittensory currently tells a contributor WHAT is wrong (findings, nits, blockers) but doesn't give them a ready-to-paste instruction for their own AI coding tool to actually fix it. CodeRabbit ships exactly this, in two forms (confirmed via their docs and public write-ups, not assumed):
I could NOT find CodeRabbit's exact verbatim prompt template/formatting from public docs (their docs describe the CONTENT categories -- file paths, implementation details, design decisions -- but not the literal string structure or code-fence conventions). Closing that gap (inspecting a live CodeRabbit-reviewed public PR directly) is part of this issue's own research task, not something to guess at.
Requirements
Deliverables
Expected outcome
A contributor whose PR is held gets a copy-pasteable, agent-ready instruction telling their own AI tool exactly what to fix -- not just a description of the problem.
Open questions for the maintainer