Toru-claude-agents dev-qa

Run QA checks on current work. Tests, linting, type checking, build verification. Use during or after development to catch issues early.

install
source · Clone the upstream repo
git clone https://github.com/ToruAI/toru-claude-agents
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ToruAI/toru-claude-agents "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/dev-qa" ~/.claude/skills/toruai-toru-claude-agents-dev-qa && rm -rf "$T"
manifest: skills/dev-qa/SKILL.md
source content

Dev QA - Quality Assurance Checks

Run all quality checks: Tests → Lint → Types → Build

Philosophy

"Find bugs before they find users. Run QA early, run it often."

Flow

1. Detect Project Type

# Check what we're working with
[ -f "package.json" ] && echo "node"
[ -f "Cargo.toml" ] && echo "rust"
[ -f "pyproject.toml" ] || [ -f "requirements.txt" ] && echo "python"
[ -f "go.mod" ] && echo "go"

2. Run Checks (by project type)

Node/TypeScript

# Tests
npm test 2>&1 || yarn test 2>&1 || pnpm test 2>&1

# Lint
npm run lint 2>&1 || npx eslint . 2>&1

# Type check
npx tsc --noEmit 2>&1

# Build
npm run build 2>&1

Rust

# Tests
cargo test 2>&1

# Lint
cargo clippy -- -D warnings 2>&1

# Format check
cargo fmt --check 2>&1

# Build
cargo build 2>&1

Python

# Tests
pytest 2>&1 || python -m pytest 2>&1

# Lint
ruff check . 2>&1 || flake8 . 2>&1

# Type check
mypy . 2>&1 || pyright . 2>&1

# Format check
black --check . 2>&1 || ruff format --check . 2>&1

Go

# Tests
go test ./... 2>&1

# Lint
golangci-lint run 2>&1

# Build
go build ./... 2>&1

3. Report Results

Format output as:

## QA Report

### Tests
✓ Passed: 42
✗ Failed: 2
⊘ Skipped: 1

Failed tests:
- test_user_auth: AssertionError at line 45
- test_token_refresh: Timeout

### Lint
✓ No issues

### Type Check
⚠ 3 warnings:
- src/auth.ts:12 - Type 'any' used
- src/utils.ts:34 - Implicit return type

### Build
✓ Build successful

### Summary
Status: FAILING
Must fix: 2 test failures
Should fix: 3 type warnings

4. Next Steps

Based on results:

If all pass:

QA passed! Ready for:
- /dev-security - Security audit
- /dev-rc - Release candidate prep
- /dev-finish - Close the cycle

If failures:

QA found issues.

Options:
1. Fix now (I'll help)
2. Fix manually, run /dev-qa again
3. Continue anyway (not recommended)

If "Fix now":

  • Delegate to Bob: "Fix these QA issues: {list}"
  • Re-run QA after fixes
  • Loop until clean

Quick Mode

For a fast check (CI-style):

/dev-qa quick

Runs only:

  • Tests
  • Lint
  • Build

Skips:

  • Verbose output
  • Interactive fixing
  • Type checking (if slow)

Integration with Dev Cycle

If active dev-cycle session exists:

  • Log QA results to session file
  • Update session phase if QA passes
## QA History
- 2024-01-15 14:30: FAILED (2 test failures)
- 2024-01-15 14:45: PASSED

What We Check

CheckWhy
TestsDoes it work?
LintIs it clean?
TypesIs it safe?
BuildDoes it compile?

Agent Involvement

  • Bob: Fixes code issues found by QA
  • Arlo: Reviews if test failures involve data/calculations