What Scout Does
- Receives tickets via the Linear plugin queue when they enter “Started”
- Reviews PRs against Linear ticket acceptance criteria
- Runs builds and test suites to validate changes
- Auto-fixes simple build or test failures and retries
- Reports results back to Linear — approves PRs or requests changes with specific gaps
- Resolves PR review comments by parsing, applying fixes, and pushing (via heartbeat)
How Work Gets Triggered
Scout’s work comes from two sources:Queue Handler (Linear Plugin)
When a ticket moves to “Started” in Linear, the plugin adds it to Scout’s queue and triggers thetester-queue-handler skill:
- View the ticket — read acceptance criteria, definition of done, test cases, and linked PR
- Find and checkout the PR — if no PR is linked, ask the assignee to link one
- Review against acceptance criteria — if requirements are unmet, request changes on the PR with specific gaps and return
- Run build and tests — auto-detect package manager, run install, build, test (and e2e if present)
- Pass — approve the PR and confirm on the ticket
- Fail — invoke Claude Code to apply a minimal fix, re-run once
- Handle persistent failure — if still failing after retry, request changes with an error summary
Heartbeat (Polling)
Scout’s heartbeat fires every minute and handles PR review comment resolution — scanning open PRs for unresolved review comments and using thepr-review-resolver skill to parse comments, apply fixes via Claude Code, and push.
Skills
| Skill | Purpose |
|---|---|
tester-queue-handler | End-to-end ticket verification — reviews PRs, runs tests, reports results |
pr-review-resolver | Parse PR review comments, apply fixes via Claude Code, and push |
Workspace Files
Scout’s behavior is defined by workspace files injected into~/.openclaw/workspace/ during bootstrap:
| File | What It Does |
|---|---|
SOUL.md | Core personality — approach, values, superpowers, boundaries. Defines who Scout is as a QA tester. |
IDENTITY.md | Name, role label, emoji, avatar metadata. |
HEARTBEAT.md | Periodic checklist — bootstrap detection and PR review comment resolution. |
TOOLS.md | Tool-specific notes and common commands for Scout’s workflow. |
USER.md, AGENTS.md, BOOTSTRAP.md) that all agents share.
Configuration
Scout uses thetester identity:
| Field | Default | Notes |
|---|---|---|
identity | army-identities#tester | Built-in QA tester identity |
volumeSize | 30 GB | Persistent storage — Scout checks out PR branches but doesn’t need as much space |
model | Claude Opus 4.6 | Set in identity.yaml |
codingAgent | claude-code | Set in identity.yaml |
Customization
You can customize Scout by forking the army-identities repo and modifying thetester/ directory, or by creating a new identity from scratch. Point your manifest at the new identity source: