Maverick — Prompts
Excerpt 1: speckit.specify — Branch + Spec Creation
Source: .claude/commands/speckit.specify.md
Given that feature description, do this:
1. **Generate a concise short name** (2-4 words) for the branch:
- Analyze the feature description and extract the most meaningful keywords
- Create a 2-4 word short name that captures the essence of the feature
- Use action-noun format when possible (e.g., "add-user-auth", "fix-payment-bug")
- Preserve technical terms and acronyms (OAuth2, API, JWT, etc.)
2. **Check for existing branches before creating new one**:
a. First, fetch all remote branches to ensure we have the latest information:
```bash
git fetch --all --prune
```
b. Find the highest feature number across all sources for the short-name:
- Remote branches: `git ls-remote --heads origin | grep -E 'refs/heads/[0-9]+-<short-name>$'`
- Local branches: `git branch | grep -E '^[* ]*[0-9]+-<short-name>$'`
- Specs directories: Check for directories matching `specs/[0-9]+-<short-name>`
Technique: Branch naming as part of spec creation. The spec command creates a numbered branch (001-user-auth) matching the spec directory (specs/001-user-auth/) atomically, ensuring branch and spec stay in sync. The deduplication check prevents creating duplicate branches across remote/local/specs.
Excerpt 2: maverick.yaml — Convention Enforcement
Source: maverick.yaml (project configuration)
project_conventions: |
### Canonical Third-Party Libraries
Use ONLY these libraries for their domains. Do NOT introduce alternatives or
write custom implementations for what they already provide.
- **VCS writes** (commit, push, branch): `maverick.library.actions.jj` (Jujutsu).
Do NOT shell out to raw VCS CLIs for write operations.
- **Retry logic**: `tenacity` (`@retry`, `AsyncRetrying`). Do NOT write manual
`for attempt in range(retries):` loops.
- **Secret detection**: `maverick.utils.secrets.detect_secrets`. Do NOT write
custom regex for secret detection.
### Async-First
- All agent interactions and workflows MUST be async.
- Never call `subprocess.run` from an `async def` path — use `CommandRunner`.
Technique: YAML-based convention document injected into agent context. The project_conventions field in maverick.yaml is a verbatim text block that agents receive as their constraint set. The grep-based checker validates the same conventions pre-implementation, making the YAML both a human-readable guideline and a machine-checkable ruleset.
Excerpt 3: Enriched Review Context (described in README)
Source: README.md
Reviewer agents receive the full work unit spec
(acceptance criteria, file scope), pre-flight briefing (contrarian findings,
risk assessment), and runway historical context
Technique: Multi-source context enrichment for review agents. Rather than reviewing a diff in isolation, Maverick's review agent receives: (1) the acceptance criteria that define success, (2) a contrarian briefing that argues against the implementation approach, (3) historical outcomes of similar beads from the runway. This is the most sophisticated review context assembly in this batch.