Morning Qa banner
PecanStreetAI PecanStreetAI

Morning Qa

Testing community

Description

Graduated-autonomy QA observer for your codebase — a scheduled Claude Code agent that runs read-only morning checks and posts one report issue a day. Framework + worked examples, extracted from a production system.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

morning-qa

A **graduated-autonomy, read-only QA observer** for your codebase and your live services: a scheduled Claude Code run that executes a roster of read-only checks every morning and posts **exactly one GitHub issue per day** with what it found — or an explicit "all clean."

It is the opposite of an autonomous fixer. The agent starts with no ability to change anything, has to earn every increase in autonomy through recorded gates, and is measured by a ledger it is structurally barred from writing.

The core loop

Every morning, a GitHub Actions cron:

  1. Precomputes the deterministic inputs — HTTP probes, package audits, git reads — into one bundle, before any model is in the loop (docs/precompute.md).
  2. Runs Claude Code with the morning-qa skill and a read-only tool allowlist. The agent reads the bundle, applies each check's severity rubric, and writes a Markdown report.
  3. Posts one issue, titled [qa-agent] {YYYY-MM-DD} morning report, labeled qa-agent-daily. Yesterday's issue is closed by today's run unless it was pinned Critical.

Clean days produce an issue that says so. Silence is ambiguous between "no findings" and "the agent didn't run," so the loop never uses silence to mean anything.

Severity What the agent does What you do
🔴 Critical Pins the issue + adds priority:critical Triage same-day
🟡 Warning Standard issue Read during normal review; decide if it warrants a fix this week
🟢 Info Standard issue Skim; the common case is "noted, nothing to do"
⏳ Incomplete Adds qa-agent-incomplete — the run ended early, so today's coverage is unknown Read the partial report, decide whether to re-dispatch. Not a clean day, and not a finding

The agent errs toward Warning when uncertain. Critical should be rare (≤1× per week at steady state). If you find yourself ignoring Criticals because they're noisy, that's the signal to retune thre