auto-sprint-argslisted
Install: claude install-skill Apra-Labs/apra-fleet
# auto-sprint argument contract
Auto-sprint hard-fails on malformed args (`validateSprintArgs` runs first, before any work).
Get the shape right before launching.
## Fields
| Field | Required | Type | Default | Notes |
|-------|----------|------|---------|-------|
| `issues` | **yes** | array of strings | -- | Beads issue IDs (sprint roots), e.g. `["BD-1","BD-2"]`. Must be non-empty; every entry a non-empty string. |
| `branch` | **yes** | string | -- | Sprint branch name, e.g. `"feat/auth"`. Created from `origin/<base_branch>` if it does not exist. |
| `goal` | no | string | `"P1/P2"` | Exit when no open issues at or above this priority. Must be exactly `"P1"`, `"P1/P2"`, or `"P1/P2/P3"`. |
| `max_cycles` | no | positive integer | `5` | Hard cycle ceiling. |
| `base_branch` | no | string | `"main"` | PR target branch. |
| `requirementsFile` | no | string | none | Path to an additional context file for the planner. |
| `skip_dolt_push` | no | boolean | `false` | When `true`, skip the Harvest `bd dolt push` step so the sprint never writes to a real Dolt remote. Set this in CI/e2e runs. |
Do not invent other fields -- these seven are the whole contract.
## Args must be a JSON OBJECT, not a JSON-encoded string
RIGHT -- pass the object itself as the args value:
```json
{ "issues": ["APM-12"], "branch": "feat/x" }
```
Full example:
```json
{
"issues": ["BD-1", "BD-2"],
"branch": "feat/auth",
"goal": "P1/P2",
"max_cycles": 5,
"base_branch": "main",
"requirement