business-ops
Business operations: strategy, technology, growth, competitive intelligence, support, finance, HR, legal, operations, sales, productivity, product management.
Loop /do cycles until done-criteria verify or budget stops.
$ npx -y skills add notque/vexjoy-agent --skill objective-loop --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/objective-loopContext preview
The summary Claude sees to decide when to auto-load this skill.
Loop /do cycles until done-criteria verify or budget stops.
name: objective-loop
description: "Loop /do cycles until done-criteria verify or budget stops."
user-invocable: false
allowed-tools:
- Read
- Write
- Edit
- Bash
- Glob
- Grep
- Skill
- Task
routing:
not_for: "one-off tasks that finish in a single dispatch, the harness '/loop 5m /cmd' command, installing system cron jobs (headless-cron-creator), implementing retry/backoff code inside a program (condition-based-waiting), single-condition waits (Monitor tool)"
triggers:
- "keep working until"
- "keep going until"
- "iterate until done"
- "loop on this until"
- "until the tests pass"
- "until CI is green"
- "until all PRs are merged"
- "drive this to done"
- "objective with done criteria"
- "work this until verified"
- "reschedule yourself until"
complexity: Complex
category: meta
pairs_with:
- verification-before-completion
- condition-based-waiting
- feature-lifecycleThe toolkit's iterate-until-verified-done loop. A user states an objective with verifiable done-criteria; each iteration routes one /do cycle, verifies the criteria by executing them, and reschedules itself via `ScheduleWakeup` until verified-done or budget-stop. This skill is a planner/verifier wrapped around the /do router — it executes no work inline. Objectives over tasks: describe what done looks like and how to verify it; the loop finds the path.
Gather the objective spec from the request. Interview only for missing fields.
| Field | Required | Default | |---|---|---| | Objective statement | yes | — | | DONE-CRITERIA | yes | — | | Iteration budget | no | 5 | | Token-budget note | no | `orchestration.token_budget` from `.claude/settings.json` (500000 when absent) | | NOT-DONE-YET guardrails | no | empty |
**DONE-CRITERIA are verifiable checks.** Each criterion has a `type`: `command` (default, preferred) or `rubric`.
**NOT-DONE-YET guardrails** name what may never be done to satisfy a criterion (e.g. "never weaken a gate to make it pass"). They bind every iteration: inject them verbatim into each /do dispatch.
Gate: spec complete. Proceed to Phase 2.
Write `.objective/<slug>/state.md` from the template in `references/state-file.md`: objective, criteria table, guardrails, per-iteration log, next planned step.
Gate: state file written. Proceed to Phase 3.
Plan the smallest next step toward the unmet criteria, then route it through the /do phases: classify → route → dispatch agents → evaluate. The loop dispatches work exclusively through /do — catching yourself editing or analyzing inline means stop and route. Multi-part objectives may dispatch parallel agents per /do's rules.
**Learning capture is automatic.** Every iteration dispatches through /do, so routing rows and outcomes record via the /do learning hooks. Add no manual capture.
Gate: dispatch evaluated, iteration log updated in the state file. Proceed to Phase 4.
Run every done-criterion check. A worker's "criterion passes" claim never substitutes for the re-run.
Then:
**Criteria-gaming guard (hard rule).** A criterion may never be satisfied by weakening a hook, gate, test, or safety control — and a rubric is never weakened to pass. When the only visible path to "pass" weakens a control or the rubric text, stop the loop and report the conflict to the user.
| State | Action | |---|---| | All criteria pass | Final report; stop — no wakeup call | | Unmet + iterations remain | Update state file (log, next planned step); call `ScheduleWakeup {delaySeconds, reason, prompt}` with `prompt` = "Read `.objective/<slug>/state.md`, then resume the objective-loop skill from that state file." | | Budget exhausted | Honest NOT-DONE report: per-criterion status with last evidence, remaining gaps, suggested next step; stop — no wakeup call |
**Delay table (prompt-cache aware; `ScheduleWakeup` clamps 60–3600s):**
| Wait type | Delay | Cache economics | |---|---|---| | Active polling (CI run, PR merge expected soon) | 270s or less | Keeps the Anthropic prompt cache warm (5-min TTL) | | Idle / long agent work | 1200s+ | Pays one cache miss; right for long gaps | | ~300s band | skip it | Worst case —
Essays and writing behind this toolkit live at vexjoy.com. VexJoy Agent connects plain-English requests to specialist agents, skills, and workflows. /do selects the knowledge and tools needed for your task.
Repo: notque/vexjoy-agent
Business operations: strategy, technology, growth, competitive intelligence, support, finance, HR, legal, operations, sales, productivity, product management.
Design workflows — UX copy, design systems, design critique, accessibility review, design handoff, user research synthesis. Use when writing UI copy, reviewing…
Marketing: SEO audits, campaign planning, content strategy, email sequences, competitive analysis, brand review, performance reporting.