Documentation Index
Fetch the complete documentation index at: https://allhandsai-docs-qa-changes-use-case.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
The reference workflow is available here!Automatically validate pull request changes by running the code — setting up the environment, exercising changed behavior, and posting a structured QA report. Validations can be triggered in two ways:
- Adding the
qa-thislabel to the PR - Requesting
openhands-agentas a reviewer
The reference workflow also triggers automatically on PR open and ready-for-review events for trusted contributors.
FIRST_TIME_CONTRIBUTOR and NONE author associations are excluded for security, since the QA agent executes code from the PR.Quick Start
Features
- Runs the Code — Goes beyond reading diffs to actually execute the software
- Four-Phase Methodology — Understand → Setup → Exercise → Report
- Structured Reports — Posts QA reports with evidence, commands, outputs, and a clear verdict
- Smart Retries — Tries multiple approaches before giving up, then reports honestly
- Customizable — Add project-specific QA guidelines via skills or AGENTS.md
How It Differs from PR Review
| Aspect | PR Review | QA Changes |
|---|---|---|
| Method | Reads the diff | Runs the code |
| Speed | 2-3 minutes | 5-15 minutes |
| Catches | Style, security, logic issues | Regressions, broken features, build failures |
| Output | Inline code comments | Structured QA report with evidence |
Security
- The workflow uses
pull_request(notpull_request_target) since the QA agent executes code - Fork PRs are automatically skipped with a clear notice (no access to repository secrets)
FIRST_TIME_CONTRIBUTORandNONEauthor associations are excluded from automatic triggers- Maintainers can trigger QA for any PR using the
qa-thislabel
Customizing QA Behavior
Instead of forking the agent script, you can customize QA behavior by adding a skill file to your repository. This is the recommended approach for customization.How It Works
The QA agent uses skills from the OpenHands/extensions repository by default. You can add project-specific guidelines alongside the default skill by creating a custom skill file.Skill paths: Place skills in
.agents/skills/ (recommended). The legacy path .openhands/skills/ is also supported. See Skill Loading Precedence for details.Example: Custom QA Skill
Create.agents/skills/qa-guide.md in your repository:
Note: These rules supplement the default
qa-changes skill, not replace it.Benefits of Custom Skills
- No forking required: Keep using the official plugin while customizing behavior
- Version controlled: Your QA guidelines live in your repository
- Easy updates: Plugin updates don’t overwrite your customizations
- Team alignment: Everyone uses the same QA standards
- Composable: Add project-specific rules alongside default methodology
Reference Workflow
The QA Changes plugin is available in the extensions repository: OpenHands/extensions/plugins/qa-changes
Action Inputs
| Input | Description | Required | Default |
|---|---|---|---|
llm-model | LLM model to use for QA validation | No | anthropic/claude-sonnet-4-5-20250929 |
llm-base-url | LLM base URL (for custom endpoints) | No | '' |
extensions-repo | Extensions repository (owner/repo) | No | OpenHands/extensions |
extensions-version | Git ref for extensions (tag, branch, or commit SHA) | No | main |
max-budget | Maximum LLM cost in dollars — agent stops when exceeded | No | 10.0 |
timeout-minutes | Wall-clock timeout for the QA step | No | 30 |
max-iterations | Maximum agent iterations (each is one LLM call + action) | No | 500 |
llm-api-key | LLM API key | Yes | - |
github-token | GitHub token for API access | Yes | - |
lmnr-api-key | Laminar API key for observability | No | '' |
Use
extensions-version to pin to a specific version tag (e.g., v1.0.0) for production stability, or use main to always get the latest features.Related Files
- QA Changes Plugin - Complete plugin with scripts and skills (in extensions repo)
- Agent Script - Main QA agent script
- Prompt Template - QA prompt template
- QA Skill - QA methodology skill
- Example Workflow - Example workflow
- Composite Action - Reusable GitHub Action

