gh-comment
Use when posting, editing, or replying to anything on GitHub under the user's account: pull request and issue comments, inline comments on a diff line…
Skill by mia-cx
Chalk Labs
Need help deploying gh-comment?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/mia-cx-gh-comment
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/gh-comment
What's inside
- Skill name
gh-comment- Description
- Use when posting, editing, or replying to anything on GitHub under the user's account: pull request and issue comments, inline comments on a diff line, review-thread replies, review bodies, and discussion posts. Also use it when another skill needs to publish its results to GitHub.
- License
- CC0-1.0
- Instructions
- 107 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# GH comment
`gh` is authenticated as the user, so everything posted here appears under the user's name. The attribution header is what keeps that honest.
## Attribution
Every comment body starts with this header, verbatim. GitHub renders it as a blue Note callout, set apart from the comment:
```md
> [!NOTE]
> <actual model> commenting on behalf of <user's name, from AGENTS.md>.
<comment>
```
One wording for every case: a new conversation comment, an inline comment on a diff line, and a reply in a thread all say *commenting*.
`<actual model>` is the model that **composed the text**: `claude-opus-5.5`, `gpt-6.1-sol`, `gpt-6-astra`. Not the harness, not the orchestrator that dispatched the work, not the wrapper agent. A Claude orchestrator relaying a Codex report writes `gpt-6.1-sol`, because those are the words being published. When several models contributed, name the one that wrote the words and attribute the rest inline.
A reader deciding how much to trust a review verdict, a bug claim, or a "this is fine" needs to know a model wrote it and which one. The header is the only signal they get, so it goes on the routine comments too, not just the ones that feel consequential.
## Bodies go in files
Write the body to a temp file and pass `--body-file`; comment bodies are markdown full of backticks, quotes, and newlines that an inline `--body` string mangles.
```bash
BODY="$(mktemp "${TMPDIR:-/tmp}/gh-comment.XXXXXX.md")" # write the rendered body here
```
## Images and video
`gh` posts text, so it cannot attach a file the way the web composer does; a local path in a comment body is a dead reference for every reader. Host the file first with the **`upload-file` skill**, then embed the URL it returns:
```md

```
Screenshots, before/after pairs, recordings of a repro, and rendered charts all belong in the comment rather than described in prose; a reviewer arguing about UI behaviour from a text description is doing avoidable work.
**Video from an external URL never renders a player.** Tested on a GitHub comment: `![]()`, a `<video>` tag, a plain link, and a bare URL on its own line all fall back to a link or nothing. GitHub plays only what was uploaded through its own composer. So when a recording has to be *seen* inline, convert it to a GIF, which embeds like any other image:
```bash
ffmpeg -i clip.mp4 -vf "fps=12,scale=720:-1:flags=lanczos,split[a][b];[a]palettegen[p];[b][p]paletteuse" clip.gif
```
Otherwise link the mp4 and say what it shows plus how long it runs, so a reader can decide whether to download it:
```md
[Screen recording: toast never dismisses (0:12)](https://i.mia.cx/file/2026/08/toast-bug-d4e5f6.mp4)
```
GIFs get large fast; keep them short and narrow, and prefer a still frame when one frame makes the point.
Anything uploaded this way is public to anyone with the URL. Screenshots of internal dashboards, tokens, customer data, or staging credentials stay out of the bucket.
## Conversation comments
```bash
gh pr comment <n> --body-file "$BODY" # new comment
gh pr comment <n> --body-file "$BODY" --edit-last --create-if-none # update in place, or create the first
```
Issues take the same flags: `gh issue comment <n> --body-file "$BODY"`.
`--edit-last` targets the authenticated user's most recent comment on that PR, which may be something Mia typed by hand, not the comment you meant to update. When a comment must be updatable across a long-running job, own it with a hidden marker instead and look it up by that:
```bash
# last line of $BODY: <!-- gh-comment:review-relay -->
ID=$(gh api "repos/$OWNER/$REPO/issues/$N/comments" \
--jq '.[] | select(.body | contains("<!-- gh-comment:review-relay -->")) | .id' | head -1)
[ -n "$ID" ] \
&& gh api -X PATCH "repos/$OWNER/$REPO/issues/comments/$ID" -F body=@"$BODY" \
|| gh pr comment "$N" --body-file "$BODY"
```
An edit posts no notification. When an update carries something subscribers need to see, post a new comment instead and say what changed.
## Inline comments on a diff line
Anchored to a path, a line, and a commit. The line number is the one in that commit's diff, so a comment written against a stale head lands on the wrong code or 422s.
```bash
gh api "repos/$OWNER/$REPO/pulls/$N/comments" \
-F body=@"$BODY" -f commit_id="$HEAD_SHA" -f path="src/auth/session.ts" \
-F line=88 -f side=RIGHT
```
`side=RIGHT` is the post-change line; `LEFT` comments on a deleted line. For a multi-line range add `-F start_line=<first>`. Fetch `$HEAD_SHA` immediately before posting.
## Replies in a review thread
Reply to an existing inline comment by its id, which keeps it in that thread rather than starting a new one:
```bash
gh api "repos/$OWNER/$REPO/pulls/$N/comments/$COMMENT_ID/replies" -F body=@"$BODY"
```
To reply and resolve in one pass, use the GraphQL `addPullRequestReviewThreadReply` + `resolveReviewThread` mutations; the `review-relay` skill's "Discussion thread mechanics" has the queries.
## Before posting
- The header is present as a `[!NOTE]` callout, followed by a blank line, and names the model that wrote the words.
- The body renders as markdown: fenced blocks closed.
- Inline comments cite the current head.
- Posting is public and outward-facing: a comment can be edited or deleted afterward, but subscribers were already emailed the original.From mia-cx/skills, CC0-1.0.
More from mia-cx/skills
- 0.624score
babysit
mia-cx
Use when the user asks to babysit a pull request: watch it for review comments from bots and human reviewers, fix what is real, resolve the threads, and keep…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
prd-to-issues
mia-cx
Use when the user asks to break down a PRD into issues or create implementation tickets.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
critical-thinking
mia-cx
Use when the user gives a sparse or underspecified request, a multi-step or agentic task, an unfamiliar problem, or examples to learn from, and whenever you…
SkillAFreshness: A★ 5Claude Code +9 - 0.618score
codex-computer-use
mia-cx
Use when the user asks to test a flow, verify UI behavior, inspect a running app, or capture screenshots.
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
codex-review
mia-cx
Get an independent code review from Codex (gpt-6.1-sol) through T3's delegate_task — uncommitted changes, a branch diff, a commit, or a specific implementation.
SkillAFreshness: A★ 5Claude Code +9 - 0.598score
logo-design
mia-cx
Use when the user asks to design a logo, mark, or app icon for a project, or to draw a construction grid for a logo.
SkillAFreshness: A★ 5Claude Code +9 - 0.590score
address-issue
mia-cx
Use when the user asks to address or implement an issue.
SkillAFreshness: A★ 5Claude Code +9 - 0.583score
implement
mia-cx
Implement a piece of work based on a spec or set of tickets.
SkillAFreshness: A★ 5Claude Code +9 - 0.579score
next-slice
mia-cx
Advance to the next PRD slice after a merge: clean up the finished worktree and branch, fast-forward main, pick the next unblocked sub-issue of the PRD, set…
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
how-to-review
mia-cx
Use stage 1 every time you write, edit, or audit code.
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
momentum
mia-cx
Shape output for ADHD readers: lower the cost of starting and keep work visibly moving with a small first action, numbered steps, visible wins.
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
git-commit-and-push
mia-cx
Splits uncommitted changes into a small set of logical, single-concern git commits, then executes the commits and pushes to remote.
SkillBFreshness: B★ 5Claude Code +9
Signals
- Stars
- 5
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 20, 2026 (10 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- CC0-1.0
- Repository
- github.com/mia-cx/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from mia-cx
- 0.624score
babysit
mia-cx
Use when the user asks to babysit a pull request: watch it for review comments from bots and human reviewers, fix what is real, resolve the threads, and keep…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
critical-thinking
mia-cx
Use when the user gives a sparse or underspecified request, a multi-step or agentic task, an unfamiliar problem, or examples to learn from, and whenever you…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
prd-to-issues
mia-cx
Use when the user asks to break down a PRD into issues or create implementation tickets.
SkillAFreshness: A★ 5Claude Code +9 - 0.618score
codex-computer-use
mia-cx
Use when the user asks to test a flow, verify UI behavior, inspect a running app, or capture screenshots.
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
codex-review
mia-cx
Get an independent code review from Codex (gpt-6.1-sol) through T3's delegate_task — uncommitted changes, a branch diff, a commit, or a specific implementation.
SkillAFreshness: A★ 5Claude Code +9 - 0.598score
logo-design
mia-cx
Use when the user asks to design a logo, mark, or app icon for a project, or to draw a construction grid for a logo.
SkillAFreshness: A★ 5Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get gh-comment running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
gh-comment skill. Agent Mart. https://agentmart.dev/skills/mia-cx-gh-comment (last updated 2026-10-24)