skills/github-pr/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
npx skillsauth add ncklrs/claude-chrome-user-testing skills/github-prInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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 debuggingdevelopment
# WCAG Auditor Skill This skill provides WCAG 2.1 accessibility audit capabilities, including criteria definitions, check implementations, and scoring logic. ## Purpose Systematically evaluate web pages against WCAG 2.1 Level A and AA success criteria to identify accessibility barriers and provide remediation guidance. ## WCAG 2.1 Overview WCAG is organized around four principles (POUR): - **Perceivable**: Information must be presentable to users - **Operable**: Interface must be usable - *
development
Comprehensive persona-based user testing skill for web applications. Simulates how real users from different demographics interact with interfaces, including realistic timing, behavioral patterns, and frustration triggers. Use when: - Testing user interfaces before release - Validating UX flows from diverse perspectives - Conducting accessibility reviews - Optimizing onboarding or checkout experiences - Getting feedback on form design
development
# Stripe Checkout Testing Skill This skill provides guidance for testing Stripe checkout flows with any persona. It handles test card data, form detection, and payment-specific narration. ## Purpose Enable realistic user testing of Stripe payment flows using official test cards, with persona-appropriate reactions to checkout experiences. ## Test Card Reference Load card data from `test-cards.json`. Key scenarios: | Scenario | Card | When to Use | |----------|------|-------------| | `succes
testing
# Smoke Testing Skill Run pre-configured smoke tests for common user flows. Quick validation that critical functionality works. ## What is Smoke Testing? Smoke testing is a quick sanity check to ensure basic functionality works before deeper testing. The name comes from electronics - if you turn on a circuit and smoke comes out, you know something is wrong without further testing. ## When to Use - Before releases to catch obvious breaks - After deployments to verify functionality - In CI/CD