Agent Skills: at-prompt-runner

Orchestrate multi-prompt execution with phase groups, optional auto-deps, and model-tiered agent roles.

UncategorizedID: cruzanstx/daplug/at-prompt-runner

Install this agent skill to your local

pnpm dlx add-skill https://github.com/cruzanstx/daplug/tree/HEAD/skills/at-prompt-runner

Skill Files

Browse the full folder contents for at-prompt-runner.

Download Skill

Loading file tree…

skills/at-prompt-runner/SKILL.md

Skill Metadata

Name
at-prompt-runner
Description
Orchestrate multi-prompt execution with phase groups, optional auto-deps, and model-tiered agent roles.

at-prompt-runner

Run existing prompts using agent-team orchestration.

Use this skill when the user invokes /run-at-prompt.

Group Syntax

  • -> separates sequential phases.
  • , separates prompts inside the same phase (parallel).

Examples:

  • 220,221 -> 222,223 -> 224
  • 220 -> 221,222,223 -> 224
  • 220

Reference parse output:

[
  {"phase": 1, "prompts": [220, 221], "strategy": "parallel"},
  {"phase": 2, "prompts": [222, 223], "strategy": "parallel"},
  {"phase": 3, "prompts": [224], "strategy": "parallel"}
]

Resolve Helpers

PLUGIN_ROOT=$(jq -r '.plugins."daplug@cruzanstx"[0].installPath' ~/.claude/plugins/installed_plugins.json)
AT_RUNNER="$PLUGIN_ROOT/skills/at-prompt-runner/scripts/at_runner.py"
PROMPT_MANAGER="$PLUGIN_ROOT/skills/prompt-manager/scripts/manager.py"

CLI Contract

python3 "$AT_RUNNER" parse "220,221 -> 222,223 -> 224"
python3 "$AT_RUNNER" parse "220 221 222" --auto-deps
python3 "$AT_RUNNER" validate "220,221 -> 222"
python3 "$AT_RUNNER" plan "220,221 -> 222" --model codex --worktree --json

Required Execution Flow

1. Parse Input

  • If user passes explicit groups, parse directly.
  • If user passes space-separated prompts with --auto-deps, infer group order.

2. Validate Prompt References

Run:

python3 "$AT_RUNNER" validate "$GROUPS" [--auto-deps]

If validation fails, stop and report missing prompt IDs.

3. Auto-Deps Mode (--auto-deps)

When --auto-deps is set:

  • Read prompt contents via prompt-manager.
  • Spawn at-planner (model: sonnet) to review inferred dependencies.
  • Ask user to confirm proposed group syntax before execution.
  • Do not execute any /run-prompt command until confirmation is explicit.

Planner output should include:

  • Proposed group syntax
  • Dependency rationale per phase
  • Any uncertainty/assumptions

4. Build Plan

Run:

python3 "$AT_RUNNER" plan "$GROUPS" --model "$MODEL" [--worktree] [--loop] [--validate] [--json]

If --dry-run is set:

  • Show plan and generated /run-prompt commands only.
  • Do not execute anything.

5. Execute Phase-by-Phase

For each phase:

  • Launch one at-monitor task per prompt (model: haiku, run_in_background: true).
  • Each monitor launches /run-prompt ... through tmux and produces an Execution Report.
  • Collect reports via TaskOutput() and triage in orchestrator.
  • Monitors only report and flag; they do not choose retries, merges, or architecture changes.

Decision rules:

  • All reports OK -> continue to next phase.
  • Any ESCALATE -> inspect evidence and resolve before proceeding.
  • Complex unresolved failure -> spawn at-fixer (model: opus).
  • File overlap/conflicts -> spawn at-merger (model: sonnet).

6. Optional Final Validation (--validate)

Spawn at-validator (model: sonnet) after all phases complete. Validator decides:

  • PASS -> done
  • RETRY -> rerun specific prompts
  • ESCALATE -> call at-fixer with explicit log line references

Model Tiering (Mandatory)

  • at-monitor: haiku
  • at-planner: sonnet
  • at-validator: sonnet
  • at-merger: sonnet
  • at-fixer: opus (only on escalation)

Do not assign sonnet/opus to monitor role.

Monitor Contract (haiku)

Monitor agents are mechanical watchers. They do not debug or choose strategy.

Each report must include:

  • log path
  • exit code
  • last 20 lines
  • triage flags with line references

Report format requirement: ESCALATE|OK: {description} (see log lines N-N if applicable)

Flags

  • --model <model>: default model for delegated /run-prompt commands
  • --auto-deps: infer phase ordering from prompt contents
  • --validate: append final validator phase
  • --worktree: run each prompt in isolated worktree
  • --loop: enable verification loop per prompt
  • --dry-run: show plan only

Orchestrator Prompt Pattern

Use explicit role-based Task calls:

Task(subagent_type: "at-monitor", model: "haiku", run_in_background: true, prompt: "...phase command...")
Task(subagent_type: "at-validator", model: "sonnet", prompt: "...review reports...")
Task(subagent_type: "at-merger", model: "sonnet", prompt: "...resolve overlap...")
Task(subagent_type: "at-fixer", model: "opus", prompt: "...complex failure details...")

Always pass log path + line ranges when escalating.