Run this sequence after Slack, Cursor integrations, and all automations are enabled.
- Slack workspace with 6
#vacation-*channels (slack-workspace-setup.md) - Cursor: Slack + GitHub + Cloud Agents connected (cursor-integrations-setup.md)
- All 7 automations saved and enabled (automations/README.md)
-
AGENTS.mdcommitted onmain
Post each message as a new top-level message in the listed channel. Expect a threaded reply and ✅ on your message when the run completes.
We want to improve phone-number handoff reliability.
Expected: Agent breaks down the work and tells you to post follow-ups in #vacation-product and/or #vacation-engineering. It should not write code.
Review lead_extraction_heuristic.dart and propose one change to reduce premature handoffs before we have destination and budget.
Expected: Specific proposal referencing flutter_app/lib/chat/lead_extraction_heuristic.dart and tradeoffs. If files change: automatic commit, push, Firebase deploy, production URL in thread.
Open a draft PR that adds a one-line comment above shouldHandOff in lead_extraction_heuristic.dart explaining the handoff rules. Do not change behavior.
Expected: Change committed to main, pushed, Firebase hosting deployed automatically; thread summary with file paths, commit hash, deploy result, and production URL.
Run flutter analyze and the test scripts from AGENTS.md. Report results.
Expected: Pass/fail report with commands run. When tests pass: automatic commit, push, build-web.ps1, Firebase deploy — no permission prompt. Failures should include repro steps.
Run the AGENTS.md release pipeline now — build and Firebase deploy hosting.
Expected: Agent automatically commits (if needed), pushes main, runs build-web.ps1, deploys Firebase hosting (and functions if changed), posts deploy result and production URL — never asks for permission, never skips deploy.
What happens when submitLead succeeds but Twilio SMS fails? Point me to the relevant code paths.
Expected: References functions/src/index.ts and Firestore/SMS flow without exposing secrets.
Open any test PR on ether314/Vacation (can be draft-free trivial change).
Expected: PR comment from bot + summary post in #vacation-engineering.
| Step | Pass |
|---|---|
| 1 | Delegation to correct channels |
| 2 | Product-specific file references; auto Firebase deploy if code changed |
| 3 | Commit, push, automatic Firebase deploy, thread summary |
| 4 | Test commands executed; auto deploy when pass; clear env blocker if credentials missing |
| 5 | Automatic Firebase deploy without prompting — never skip |
| 6 | Accurate ops guidance, no secrets |
| 7 | Automated PR review on new PRs |
| Symptom | Fix |
|---|---|
| No agent response | Automation disabled, wrong channel selected, or Slack not connected |
| "Cloud compute required" | Enable Cloud Agents in Cursor dashboard |
| Channel not in picker | Re-authorize Slack integration; confirm channel is public |
| Tests fail on credentials | Expected locally — QA agent should report blocker, not fake pass |
| PR bot silent | Confirm GitHub integration and ether314/Vacation repo scope on trigger |
From repo root (checks swarm artifacts exist):
$files = @(
"AGENTS.md",
"docs/slack-workspace-setup.md",
"docs/cursor-integrations-setup.md",
"docs/bootstrap-test.md",
"docs/automations/chief-of-staff.json",
"docs/automations/product-agent.json",
"docs/automations/engineering-agent.json",
"docs/automations/qa-agent.json",
"docs/automations/deploy-agent.json",
"docs/automations/ops-agent.json",
"docs/automations/pr-review-bot.json"
)
$missing = $files | Where-Object { -not (Test-Path $_) }
if ($missing) { Write-Error "Missing: $($missing -join ', ')" } else { Write-Host "All swarm artifacts present." }