agentleFS
ncklrsncklrs/claude-chrome-user-testing/skills/github-pr/SKILL.md

github-pr

Skill20 starsChanged 10 months agoMITView on GitHub

Post user testing results as GitHub PR comments for CI/CD integration. Prevents comment spam on re-runs by updating existing comment: When running --personas with --pr: - Each persona gets its own comment (separate markers) - Or: Single combined comment with all results

  • Reads credentials
  • Installs packages

23 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use zeroclaw, github-issue and 2 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • openagenSkill

    zeroclaw

    Help users operate and interact with their ZeroClaw agent instance — through both the CLI (`zeroclaw` commands) and the REST/WebSocket gateway API. Use this skill whenever the user wants to: send messages to ZeroClaw, manage memory or cron jobs, check system status, configure channels or providers, hit the gateway API, troubleshoot their ZeroClaw setup, build from source, or do anything involving the `zeroclaw` binary or its HTTP endpoints. Trigger this even if the user just says things like 'check my agent status', 'schedule a reminder', 'store this in memory', 'list my cron jobs', 'send a message to my bot', 'set up Telegram', 'build zeroclaw', or 'my bot is broken' — these are all ZeroClaw operations.

    Also in 3 projects that use this

  • devstefanchoSkill

    github-issue

    Unified GitHub issue workflow via the gh CLI — fetch an issue (body, labels, comments, image/video attachments) into the session, create a new issue from a template, or update an existing one (body, labels, state, comments). Handles the 404 that plain curl/WebFetch hits on GitHub attachment URLs by downloading with an auth token, and extracts viewable frames from video attachments. Use whenever the user mentions GitHub issues — 이슈 가져와, 이슈 조회, 이슈 등록, 이슈 생성, 이슈 만들어줘, 이슈 업데이트, 이슈 수정, 이슈 코멘트, 이슈 작업, fetch issue N, work on issue N, create an issue, update issue N, file a bug, /github-issue.

    Also in 6 projects that use this

  • SentrySkill

    skill-creator

    Create new agent skills following the Agent Skills specification. Use when asked to "create a skill", "add a new skill", "write a skill", "make a skill", "build a skill", or scaffold a new skill with SKILL.md. Guides through requirements, writing, registration, and verification.

    Also in 8 projects that use this

  • SentrySkill

    commit

    Create commit messages following Sentry conventions. Use when committing code changes, writing commit messages, or formatting git history. Follows conventional commits with Sentry-specific issue references.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

1 rule. 0 are common, 0 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 20 edited versions we read keep these.

  • 0

    Distinctive

    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. Very specific:

    When running --personas with --pr:

    line 117

“Common” is measured: kept by at least 6 in 10 of the 20 edited versions of this file we could read. “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

GitHub PR Comments Skill

Post user testing results as GitHub PR comments for CI/CD integration.

When to Use

  • Running tests in CI/CD pipelines
  • Automated testing on PR preview deployments
  • Sharing test results with reviewers
  • Tracking UX regressions across PRs

Prerequisites

  • gh CLI installed and authenticated
  • In GitHub Actions: GITHUB_TOKEN is automatically available
  • PR write permissions (pull-requests: write)

Flag

--pr <number>     Post results as comment on PR #<number>

Comment Format

Structure

<!-- 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 Badges

StatusBadgeWhen
PassPASSAll tasks completed, no critical issues
FailFAILCritical issues found or tasks failed
IssuesISSUESTasks completed but major/minor issues exist

Posting Logic

Simple Post

gh pr comment $PR_NUMBER --body "$COMMENT_BODY"

Update Existing (Recommended)

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

Multi-Persona Support

When running --personas with --pr:

  • Each persona gets its own comment (separate markers)
  • Or: Single combined comment with all results

GitHub Actions Integration

Basic Workflow

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 }}"

With Recording

      - 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"

Multi-Persona Testing

      - 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 Handling

gh CLI Not Found

Error: gh CLI not installed
Skipping PR comment (results still output to stdout)

Authentication Failed

Error: gh CLI not authenticated
Run 'gh auth login' or ensure GITHUB_TOKEN is set
Skipping PR comment (results still output to stdout)

PR Not Found

Error: PR #123 not found
Verify PR number and repository access
Skipping PR comment (results still output to stdout)

Best Practices

  1. Always use --quiet: Reduces noise, focuses on results
  2. Combine with --record: Provides trace files for debugging
  3. Use specific personas: Match persona to PR type (accessibility PR = screen-reader-user)
  4. Update vs spam: The marker system prevents duplicate comments
  5. Include viewport/network: Mobile PRs should test mobile viewport

Limitations

  1. No inline images: GitHub doesn't support image uploads via API - link to artifacts instead
  2. Comment size limit: ~65KB max - use collapsible sections
  3. Rate limits: 5000 requests/hour with token
  4. Requires gh CLI: Standard in GitHub Actions, may need install elsewhere

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.

Reviews can't be read right now.

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.