Posts formatted user testing results to GitHub PR comments via gh CLI, with update logic, badges, issues, and screenshots. For CI/CD UX feedback on PRs.
From user-testing-agentnpx claudepluginhub ncklrs/claude-chrome-user-testing --plugin user-testing-agentThis skill uses the workspace's default tool permissions.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Post user testing results as GitHub PR comments for CI/CD integration.
gh CLI installed and authenticatedGITHUB_TOKEN is automatically availablepull-requests: write)--pr <number> Post results as comment on PR #<number>
<!-- user-test-results:[persona-id] -->
## User Test Results: [Persona Name]
**Status:** [badge] | **Tested:** [timestamp]
| Metric | Value |
|--------|-------|
| URL | `https://...` |
| Persona | [name] ([id]) |
| Viewport | [viewport] |
| Network | [network] |
| Duration | [duration]s |
### Summary
- Tasks: X/Y completed
- Critical Issues: N
- Major Issues: N
- Minor Issues: N
<details>
<summary>Issues Found (N)</summary>
#### Critical
...
#### Major
...
#### Minor
...
</details>
<details>
<summary>Screenshots</summary>
[Links to screenshots/trace if --record used]
</details>
---
*Tested with [user-testing-agent](https://github.com/ncklrs/claude-chrome-user-testing)*
| Status | Badge | When |
|---|---|---|
| Pass | PASS | All tasks completed, no critical issues |
| Fail | FAIL | Critical issues found or tasks failed |
| Issues | ISSUES | Tasks completed but major/minor issues exist |
gh pr comment $PR_NUMBER --body "$COMMENT_BODY"
Prevents comment spam on re-runs by updating existing comment:
# Marker includes persona ID to allow multiple persona comments
MARKER="<!-- user-test-results:$PERSONA_ID -->"
# Check for existing comment with this marker
EXISTING=$(gh pr view $PR_NUMBER --json comments \
--jq ".comments[] | select(.body | contains(\"$MARKER\")) | .databaseId" \
| head -1)
if [ -n "$EXISTING" ]; then
# Update existing comment
gh api repos/{owner}/{repo}/issues/comments/$EXISTING \
-X PATCH \
-f body="$COMMENT_BODY"
echo "Updated existing comment"
else
# Create new comment
gh pr comment $PR_NUMBER --body "$COMMENT_BODY"
echo "Created new comment"
fi
When running --personas with --pr:
name: User Testing
on:
pull_request:
types: [opened, synchronize]
jobs:
user-test:
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: actions/checkout@v4
- name: Deploy Preview
id: deploy
run: |
# Your preview deployment logic
echo "url=https://preview-${{ github.event.pull_request.number }}.example.com" >> $GITHUB_OUTPUT
- name: Install Claude Code
run: npm install -g @anthropic-ai/claude-code
- name: Run User Tests
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
claude --chrome "/user-test \
--url ${{ steps.deploy.outputs.url }} \
--persona genz-digital-native \
--quiet \
--pr ${{ github.event.pull_request.number }}"
- name: Run User Tests with Recording
run: |
claude --chrome "/user-test \
--url ${{ steps.deploy.outputs.url }} \
--persona boomer-tech-averse \
--quiet \
--record \
--pr ${{ github.event.pull_request.number }}"
- name: Upload Trace
uses: actions/upload-artifact@v4
with:
name: playwright-trace
path: "*.trace.zip"
- name: Run Multi-Persona Tests
run: |
claude --chrome "/user-test \
--url ${{ steps.deploy.outputs.url }} \
--personas 'boomer-tech-averse,genz-digital-native,screen-reader-user' \
--quiet \
--pr ${{ github.event.pull_request.number }}"
Error: gh CLI not installed
Skipping PR comment (results still output to stdout)
Error: gh CLI not authenticated
Run 'gh auth login' or ensure GITHUB_TOKEN is set
Skipping PR comment (results still output to stdout)
Error: PR #123 not found
Verify PR number and repository access
Skipping PR comment (results still output to stdout)
--quiet: Reduces noise, focuses on results--record: Provides trace files for debugging