agentleFS
hyperlane-xyzhyperlane-xyz/hyperlane-monorepo/.agents/skills/inline-pr-comments/SKILL.md

inline-pr-comments

Skill76 starsChanged 20 days agoApache-2.0View on GitHub

Use this skill to submit code review feedback as a single consolidated GitHub review containing both the summary body and all inline comments. Submit one consolidated review per run using the GitHub API. Do NOT post inline comments individually. Each run produces a new review — nothing is overwritten. Before reviewing, read existing reviews and comments on the PR for context: Use this context to: Re-fetch immediately before submitting. Other reviewers may be reviewing concurrently. Critically, the GitHub API does…

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 6 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈6

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill to submit code review feedback as a single consolidated GitHub review containing both the summary body and all inline …

    line 10
  2. Distinctive:

    After completing a code review (use with /code-review, /security-review, /tob-review)

    line 14
  3. Distinctive:

    When you have specific line-by-line feedback to deliver

    line 15
  4. Distinctive:

    Before reviewing, read existing reviews and comments on the PR for context:

    line 23
  5. Distinctive:

    Use this context to:

    line 36
  6. Very specific:

    Write a JSON file to /tmp/review.json:

    line 54
  7. Distinctive:

    If unsure whether a line is in the diff, put the finding in the summary body instead

    line 98

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Consolidated PR Review Skill

Use this skill to submit code review feedback as a single consolidated GitHub review containing both the summary body and all inline comments.

When to Use

  • After completing a code review (use with /code-review, /security-review, /tob-review)
  • When you have specific line-by-line feedback to deliver

Instructions

Submit one consolidated review per run using the GitHub API. Do NOT post inline comments individually. Each run produces a new review — nothing is overwritten.

Step 1: Fetch Prior Review Context

Before reviewing, read existing reviews and comments on the PR for context:

# Fetch existing reviews (summaries)
gh api --paginate "repos/$GITHUB_REPOSITORY/pulls/$PR_NUMBER/reviews" --jq '.[] | {user: .user.login, state: .state, body: .body}'

# Fetch inline review comments
gh api --paginate "repos/$GITHUB_REPOSITORY/pulls/$PR_NUMBER/comments" --jq '.[] | {user: .user.login, path: .path, line: .line, body: .body}'

# Fetch general PR discussion comments
gh api --paginate "repos/$GITHUB_REPOSITORY/issues/$PR_NUMBER/comments" --jq '.[] | {user: .user.login, body: .body}'

Use this context to:

  • Skip issues already raised — don't re-flag something a prior review already pointed out
  • Reference prior discussions — e.g. "As noted in the previous review, ..."
  • Flag unresolved issues — if a prior review raised something that still isn't fixed, note it briefly (e.g. "Still unresolved from prior review: ...")
  • Avoid contradictions — don't suggest the opposite of what a human reviewer requested

Re-fetch immediately before submitting. Other reviewers may be reviewing concurrently. Critically, the GitHub API does not expose a reviewer's draft/pending comments until they submit — so you can post a review seconds before a concurrent reviewer submits theirs and never have seen their notes. Re-run the fetch right before Step 4, and state the HEAD commit your review is based on in the body (e.g. "Reviewed at <sha>") so readers know the snapshot.

Step 2: Collect All Findings

Complete the full review. Collect:

  • Summary — Overall assessment, architecture concerns, non-diff observations
  • Inline comments — Specific issues on changed lines (path, line, body)

Step 3: Build Review JSON

Write a JSON file to /tmp/review.json:

{
  "body": "## Review Summary\n\nOverall assessment here.\n\n## Observations Outside This PR\n- `file:line`: description",
  "event": "COMMENT",
  "comments": [
    {
      "path": "src/file.ts",
      "line": 42,
      "body": "Issue description here"
    },
    {
      "path": "src/other.ts",
      "start_line": 10,
      "line": 15,
      "body": "Multi-line comment"
    }
  ]
}

Fields:

  • body — Markdown review summary (required)
  • event — Always "COMMENT" (never APPROVE or REQUEST_CHANGES)
  • comments — Array of inline comment objects (can be empty if no inline findings)
    • path — File path relative to repo root
    • line — Line number in the NEW version of the file
    • start_line + line — For multi-line comments
    • body — Markdown-formatted feedback

Step 4: Submit the Review

gh api "repos/$GITHUB_REPOSITORY/pulls/$PR_NUMBER/reviews" --input /tmp/review.json

The GITHUB_REPOSITORY and PR_NUMBER environment variables are set by the CI workflow.

Limitations

  • Inline comments can only target lines in the diff (changed/added lines)
  • Comments targeting unchanged lines will cause the API call to fail
  • If unsure whether a line is in the diff, put the finding in the summary body instead

Handling Non-Diff Findings

Issues in code NOT changed by the PR go in the review body under a dedicated section:

## Observations Outside This PR

- `src/utils/foo.ts:142`: Pre-existing null check missing
- `src/core/bar.ts:78-82`: Similar pattern to line 45 issue

Feedback Guidelines

Feedback TypeIn Diff?Where to Put It
Specific code issueYescomments array entry for that line
Pattern repeated across filesYesFirst occurrence in comments + note others in body
Related issue foundNobody under "Observations Outside This PR"
Pre-existing bug discoveredNobody (consider separate issue if critical)
Overall architecture concernN/Abody

Be concise. Group minor style issues together. Never use APPROVE or REQUEST_CHANGES.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.