mcpField
H
heyeddi-pr-respond

heyeddi-pr-respond

github.com/heyeddi-comTesting & quality077 installsUpdated today
Repository

About heyeddi-pr-respond

A skill for handling pull-request reviews from teammates, bots, and HeyEddi CI. It coordinates CI fixes, review-item triage, code changes, commits, pushes, and threaded replies, with an explicit authorization gate for merging.

Key features

  1. 01Fetches and inventories review comments
  2. 02Fixes actionable CI failures first
  3. 03Classifies findings and applies changes
  4. 04Requires commit and push before fixed replies
  5. 05Posts and verifies threaded responses
  6. 06Blocks merge without current authorization

Use cases

  1. 01Responding to inline PR review comments
  2. 02Handling findings in root review summaries
  3. 03Diagnosing CI failures during PR work
  4. 04Preparing fixes and replies before merge

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/heyeddi-com/heyeddi-skills --skill heyeddi-pr-respond

After installing, type/heyeddi-pr-respondin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

manifest.json
context/
ANTI_PATTERNS.md
EXAMPLES.md
PROSE_ANTI_SLOP.md
VOCABULARY.md
fixtures/
sample-pr-comments.json
reference/
subagents.md
workflow.md
scripts/
_auto_sync.py
_replies_parse.py
_skill_cli.py
_temp_store.py
_untrusted_doc.py
assert_fixes_pushed.py
assert_no_merge.py
build_comment_inventory.py
discover_and_verify.py
fetch_pr_comments.py
filter_comments.py
post_thread_replies.py
verify_response.py

Details

From the project README

HeyEddi PR Respond

PR author response to every review source — human teammates, bots, and HeyEddi CI (inline + root summaries).

There is one respond skill. Do not split human vs CI into different pipelines.

Default behavior (no confirmation)

On any PR work, do not ask whether to fix findings, check CI, or post threaded replies — always do all three.

  1. Always run @heyeddi-ci-fails first (fetch, diagnose, fix actionable CI failures)
  2. Fix valid review items automatically
  3. Commit + push automatically
  4. Post every reply in-thread automatically
  5. Only merge requires authorize merge in the current turn

No project scratch files

Never write .heyeddi/docs/pr-* (tracking, replies, posted, comments). GitHub threads are the SSOT.

DataWhere it lives
Comment cacheSystem temp (fetch_pr_comments stdout path)
Inventorybuild_comment_inventory stdout (optional temp cache)
TrackingIn chat only
Reply drafts--replies-text to post_thread_replies / verify_response
Post logpost_thread_replies stdout JSON only

Delete legacy pr-* / pr-*-ci-* files under .heyeddi/docs/ if present.

Root review summaries (HeyEddi CI and others)

Review submission bodies often list findings like:

**Commented on the diff**
1. 🔴 Bug title — `path/to/file.py:185`

Mandatory:

  1. Run build_comment_inventory after fetch — parses root summaries + inline IDs.
  2. Every postable item gets fix/decline analysis, code change when needed, and ## Comment <id> reply draft.
  3. Orphan items still get fix/decline in code and appear in ## Summary.
  4. Do not treat the root summary as done after one top-level reply.

Critical: commit + push before "Fixed" replies

Reviewers and HeyEddi debate only see remote HEAD.

  1. Apply fixes for every inventory item marked fix/partial
  2. Commit — do not ask
  3. Push to the PR branch
  4. Post in-thread replies

Hard gate: assert_fixes_pushed --check (also inside post_thread_replies unless --dry-run / --allow-unpushed).

Critical: in-thread replies only

  • Do gh api …/pulls/<N>/comments/<ID>/replies
  • Do not gh pr comment per finding
  • Do not "Acknowledged review attachment…" spam

Mandatory pipeline

@heyeddi-ci-fails first                 → fetch + diagnose + fix CI failures + push
fetch_pr_comments --pr <N>
build_comment_inventory --pr <N> --write-cache
→ tracking table in chat (every item: id, type, fix|decline, status)
for each item: analyze vs PR goals → fix | decline | partial | out-of-scope
apply code/docs fixes when fix
@heyeddi-setup verify_setup --check      → always-on prefs hard gate (before commit/push)
@engineering-excellence check_engineering_plan / audit_engineering --check  → always-on (errors fail)
discover_and_verify [--run]              → evidenced commands only
assert_no_merge --check                  → unless user said authorize merge
→ if any fix: commit + push (automatic — do not ask; honor agent.commit/push)
assert_fixes_pushed --check
→ compose ## Comment <id> for every postable_reply_id + ## Summary last
post_thread_replies --pr <N> --replies-text '...'
verify_response --pr <N> --replies-text '...' --use-inventory --live --check
→ optional one Summary after verify

Never merge without authorize merge in the current turn.

HeyEddi CI false positives

Reply in-thread with decline rationale; suggest debate or [email protected]. No fake FP API.

Tools

ToolPurpose
fetch_pr_commentsFetch inline, review, discussion → temp cache
build_comment_inventoryParse root summaries + inline; list every item
filter_commentsOptional --scope heyeddi (default all)
discover_and_verifyEvidenced test/build commands
assert_no_mergeMerge hard gate
assert_fixes_pushedCommit+push gate before Fixed replies
post_thread_repliesPost every draft in-thread
verify_responseHard-fail if any postable ID missing

Requires

  • gh CLI authenticated

When the task is complete: suggest next skills

When you have finished the user's request for this skill, suggest what to run next:

python .agents/skills/heyeddi/scripts/suggest_next_skill.py \
  --current-skill heyeddi-pr-respond --project-root .

Comments

Markdown supported