Automated summary
Posts a testing checklist to a GitHub issue to initiate QA handoff after implementation.
Strengths
- Automates creation of a structured testing checklist from acceptance criteria
- Links PR, spec, and issue together
- Updates project board status to QA
Limitations
- Requires spec document to be in a parseable format
- Does not handle automated test execution
- Relies on GitHub CLI and API availability
When implementation is complete and you need to hand off to QA testers with clear manual verification steps.
If QA is fully automated or the team does not use GitHub Issues for tracking.
Security analysis
CautionThe skill automates GitHub issue updates and project board management using the gh CLI. While this is a legitimate use, it involves external service interaction and could be leveraged to post unintended content if the user provides malicious inputs. However, the skill does not perform any destructive actions or exfiltration.
- •Uses gh CLI to interact with GitHub, which could be abused if the skill were misused with malicious inputs, but no inherent destructive or exfiltrating behavior.
Examples
/qa-handoff #42 Documents/specs/42-dark-mode-spec.mdready for testingname: qa-handoff description: "Update GitHub issue with testing checklist for QA testers. Use after implementation is complete, before merge. Invoke with '/qa-handoff #42 path/to/spec.md' or 'qa handoff', 'ready for testing', 'update issue for QA'." contract: tags: [closure, qa, github] state_source: spec inputs: params: - name: issue_number required: true - name: spec_path required: true gates: [] outputs: mutates: [] side_effects: ["Posts QA checklist", "Sets status to QA", "Links PR"] next: [] human_gate: false
QA Handoff
Posts a testing checklist to a GitHub issue so QA testers have everything they need for manual verification. This is the final step before merge.
When to Use
Use this skill when:
- Implementation is complete and verified
- PR is ready for review/merge
- QA testers need to know what to test manually
- User says "ready for testing", "qa handoff", or "update issue for QA"
Prerequisites
Before using this skill:
- Implementation must be complete
- Automated tests must be passing
/verification-before-completionshould have been run- PR should exist (or be ready to create)
Instructions
Step 1: Gather Inputs
Require two inputs from the user:
- Issue number (e.g.,
#42or42) - Spec document path (e.g.,
Documents/specs/42-dark-mode-spec.md)
If not provided, ask:
- "What's the issue number?"
- "Where's the spec document?"
Step 2: Read the Spec
Read the spec document to extract:
- Feature summary (from Problem Statement)
- Acceptance criteria (the testing checklist)
- Any specific test scenarios mentioned
See shared/spec-io.md for spec sections and how to extract acceptance criteria.
Step 3: Get PR Information
Check for an open PR linked to this work:
gh pr list --state open --head $(git branch --show-current)
If a PR exists, note its number. If not, note that PR creation is pending.
Step 4: Format Testing Checklist
Convert acceptance criteria to a QA-friendly format:
- Use checkbox syntax for trackable items
- Add context where needed (not just the criterion)
- Include browser/device requirements if applicable
- Note any test data needed
Example transformation:
Spec criterion:
- [ ] Toggle appears in Settings > Appearance
QA checklist item:
- [ ] Navigate to Settings > Appearance. Verify dark mode toggle is visible.
Step 5: Post to GitHub Issue
Create a comment on the issue with this structure:
## Ready for QA Testing
**Status:** Implementation complete, ready for manual verification.
**Spec:** `{spec-path}` (see repo for full details)
**PR:** #{pr-number} (or "PR pending")
---
### Manual Testing Checklist
{Converted acceptance criteria as checkboxes}
---
### Test Environment
- Branch: `{current-branch}`
- Prerequisites: {any setup needed}
### Notes for Testers
{Any additional context, known limitations, or specific things to watch for}
See shared/github-ops.md for posting the QA checklist comment.
Step 6: Link PR to Issue (if applicable)
If a PR exists and isn't already linked, update the PR to reference the issue.
See shared/github-ops.md for linking PR to issue.
Step 7: Update Project Board Status
MANDATORY: Set the issue status to QA on the project board.
See shared/github-ops.md for updating project board status.
End-of-skill check: See
shared/primitive-updates.md. Signals: decisions made during QA review.
Step 8: Confirm Handoff
Tell the user:
"QA handoff complete:
- Testing checklist posted to issue #{number}
- Project board status set to QA
- PR #{pr-number} is ready for review
- QA testers can now verify the acceptance criteria
Next: Wait for QA sign-off, then merge."
Example Output
For issue #42 with a dark mode spec:
## Ready for QA Testing
**Status:** Implementation complete, ready for manual verification.
**Spec:** `Documents/specs/42-dark-mode-spec.md`
**PR:** #123
---
### Manual Testing Checklist
- [ ] Navigate to Settings > Appearance. Verify dark mode toggle is visible.
- [ ] Click the toggle. Verify the theme switches immediately without page reload.
- [ ] Refresh the page. Verify the dark mode preference persists.
- [ ] Test in Chrome and Firefox. Verify consistent behavior.
- [ ] Test with system set to light mode. Verify app respects user preference over system.
---
### Test Environment
- Branch: `feature/dark-mode`
- Prerequisites: None, works on any account
### Notes for Testers
- Toggle state is stored in localStorage, so clearing browser data will reset it.
- This does not include per-page theme customization (explicitly out of scope).
Best Practices
- Make checklists actionable - "Verify X appears" not just "X appears"
- Include navigation steps - "Go to Settings > Appearance" not just "In settings"
- Note browser requirements - If testing should happen in specific browsers
- Mention test data - If QA needs specific accounts or data to test
- Keep it concise - Link to spec for full details, don't duplicate everything
Common Issues
No PR exists yet:
- Note "PR pending" in the comment
- Remind user to create PR and link it
Issue already has testing info:
- Add a new comment rather than editing old ones
- Reference the latest implementation state
Spec has many criteria:
- Group related criteria under subheadings
- Prioritize critical paths first
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/qa-handoff-mm78nnt4/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/qa-handoff-mm78nnt4' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/qa-handoff-mm78nnt4/download' --output '.skill-downloads/qa-handoff-mm78nnt4/SKILL.md.part' && mv '.skill-downloads/qa-handoff-mm78nnt4/SKILL.md.part' '.skill-downloads/qa-handoff-mm78nnt4/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
Original excerpt: Prerequisites
Before using this skill:
- Implementation must be complete
- Automated tests must be passing
/verification-before-completionshould have been run- PR should exist (or be ready to create)
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/qa-handoff-mm78nnt4/SKILL.md' && test -s '.skill-downloads/qa-handoff-mm78nnt4/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/qa-handoff' && cp -R '.skill-downloads/qa-handoff-mm78nnt4' '.claude/skills/qa-handoff'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/qa-handoff-mm78nnt4'openskills read 'qa-handoff-mm78nnt4'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/qa-handoff-mm78nnt4/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
ClickHouse Performance Comparison
Testing
Evaluate ClickHouse performance test results, check PR performance changes, compare with history, and assess whether a result is actionable.
Analyze CI Performance Reports
Testing
Analyze CI performance comparison reports for a ClickHouse PR. Cross-references master history to distinguish real regressions from flaky tests.
Santa Method
Testing
Multi-agent adversarial verification with two independent reviewers. Output is checked twice and iteratively fixed until both pass before shipping.