Skip to content
Back to skills

Auto

ASecurity

This skill should be used for autonomous single-repo orchestration. Triggers include "use auto", "autonomous mode", "work on this repo", or when starting a deep work session. LLM ideation discovers work, copilot swarm thinks, codex implements.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
ai-agentsgobashrailsgitapi

Works with

  • terminal
  • cli
  • api

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 27, 2026

npx -y skills add David-Li0406/meta-skill-evloving --skill auto --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Auto?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Auto
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/david-li0406-auto/badge)](https://www.skillsdirectory.com/skills/david-li0406-auto)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: auto
description: This skill should be used for autonomous single-repo orchestration. Triggers include "use auto", "autonomous mode", "work on this repo", or when starting a deep work session. LLM ideation discovers work, copilot swarm thinks, codex implements.
---

# auto

autonomous single-repo orchestration. LLM ideation discovers work, copilot swarm thinks, codex implements.

## philosophy

| principle | application |
|-----------|-------------|
| single repo context | one terminal per repo, auto works within cwd |
| git log as teacher | history is quality bar, trajectory, inspiration |
| separation of concerns | ideation discovers, copilot thinks, codex does |
| zero ambiguity for codex | all context resolved before implementation |
| verification grounded | real gates (codegen, types, tests, build) not vibes |
| skill orchestrates, CLI executes | skill decides WHAT and WHEN, `agents auto` handles HOW |

## when to use

| use | skip |
|-----|------|
| "use auto" | explicit single task ("fix this bug") |
| "autonomous mode" | research questions |
| "work on this repo" | cross-repo coordination (use multiple terminals) |
| starting deep work session | quick one-liner fixes |

## CLI integration

The `agents auto` command provides the execution layer. This skill orchestrates when and how to invoke it.

```bash
# Full autonomous mode: ideate + spawn + preview
agents auto --ideate --preview --project $REPO

# Dry run: see what would be spawned
agents auto --ideate --dry-run --project $REPO

# With specific ideation paths
agents auto --ideate --ideate-paths="src/,packages/web/" --project $REPO

# Quick mode: copilot only (no codex)
agents auto --quick --project $REPO

# Thorough mode: codex only
agents auto --thorough --limit=1 --project $REPO
```

### CLI capabilities

| flag | what it does |
|------|--------------|
| `--ideate` | LLM analyzes git trajectory + codebase → synthesizes work items |
| `--preview` | Creates git worktree + dev server + ngrok tunnel per work item |
| `--ideate-paths` | Focus ideation on specific directories |
| `--ideate-days` | Git history lookback (default: 14 days) |
| `--quick` | Route to copilot WITH commit authority (quick implementation) |
| `--quick-think` | Route to copilot WITHOUT commits (thinking only) |
| `--thorough` | Route all work to codex (commits + push) |
| `--limit N` | Cap spawned agents |
| `--dry-run` | Plan without executing |

**Quick mode distinction:**
- `--quick` = quick **implementation** → copilot writes code, verifies, commits
- `--quick-think` = quick **thinking** → copilot analyzes, plans, recommends (no commits)

## decision tree: work discovery

```
Where does work come from?
├── Linear team (from .loop.json)
│   ├── Ready issues (prioritized)
│   ├── In Progress (check for stale)
│   └── Blocked (surface for HIL)
├── CLAUDE.md TODOs
│   ├── grep -E "TODO|FIXME|HACK" in docs
│   └── Parse actionable items
├── Git status
│   ├── Uncommitted changes (finish or discard?)
│   ├── Stale branches (>7 days no commit)
│   └── Unmerged PRs
└── Git log (LEARNING SOURCE)
    ├── Quality bar: what do good commits look like?
    ├── Trajectory: what areas are hot?
    ├── Patterns: how did we solve similar problems?
    └── Velocity: how fast do we ship?
```

## decision tree: agent selection

```
Who does this work?
├── Thinking work (copilot, NO commits)
│   ├── Planning: "what should we prioritize?"
│   ├── Analysis: "what patterns exist in git log?"
│   ├── Review: "is this implementation good?"
│   ├── Group decision: multiple models weigh in
│   └── Prompt crafting: build perfect codex prompt
│
├── Quick implementation (copilot, WITH commits)
│   ├── Scope: < 3 files, low complexity
│   ├── Examples: add function, fix typo, update config
│   ├── Executes: write code, run verification, COMMIT
│   ├── Authority: commit only, report push-ready (no push)
│   └── Output contract: must include `commits` field
│
└── Thorough implementation (codex, commits + push)
    ├── Scope: 3+ files, high complexity, architectural
    ├── Receives: fully resolved prompt (ambiguity pre-resolved)
    ├── Executes: TDD cycle, verification, commit, PUSH
    └── Returns: structured output contract with `pushed: true`
```

**CRITICAL: The Consultant Trap**

When routing quick implementation to copilot, the prompt MUST:
1. Include commit instructions (not just "recommend changes")
2. Request `commits` field in output contract
3. Specify verification commands to run before commit

```bash
# BAD: Consultant Trap - copilot advises but doesn't commit
<output_contract>{"type": "recommendation", ...}</output_contract>

# GOOD: Quick implementation - copilot implements AND commits
<output_contract>{"commits": [{"hash": "...", "msg": "..."}], ...}</output_contract>
```

## decision tree: copilot model selection

```
Which model for this thinking task?
├── Quick synthesis / progress check
│   └── gemini-3-pro (fast, cheap)
├── Deep analysis / pattern extraction
│   └── gemini-3-ultra (thorough, moderate)
├── Nuanced review / quality assessment
│   └── sonnet-4 (balanced, good judgment)
├── Complex architecture / trade-offs
│   └── sonnet-4-thinking (extended reasoning)
└── Group decision (multiple perspectives)
    └── parallel: gemini-3-pro + sonnet-4 + gemini-3-ultra
```

## workflow

### orchestration (skill level)

When invoked, the skill decides which mode to use:

```
How should auto run?
├── User says "ideate" or "discover work"?
│   └── agents auto --ideate --preview
├── User says "quick pass" or time-constrained?
│   └── agents auto --quick --limit=3
├── Specific Linear issue mentioned?
│   └── agents auto --issue=$ISSUE --thorough
├── User says "autonomous" or "deep work"?
│   └── agents auto --ideate --preview --limit=5
└── Default exploration
    └── agents auto --ideate --dry-run (show plan first)
```

### execution (CLI level)

The CLI handles all the infrastructure:

```bash
# 1. Session management (automatic)
# CLI creates session, registers heartbeats, manages lifecycle

# 2. Work discovery
# --ideate triggers: git trajectory analysis + codebase signals → LLM synthesis
# Without --ideate: Linear issues + TODOs + git status

# 3. Agent routing
# Triage classifies each work item as quick or thorough
# quick → copilot, thorough → codex

# 4. Preview pipeline (with --preview)
# For each work item:
#   - Creates git worktree (isolated branch)
#   - Starts dev server on unique port
#   - Opens ngrok tunnel for live preview
#   - Agent prompt includes preview URL

# 5. Spawn with output contracts
# Prompts include verification commands and JSON output schema
# Response captured via -o flag (not TaskOutput)

# 6. Resource management
# ResourceManager prevents API contention
# Leases with TTL, automatic cleanup
```

### manual intervention points

When to use skill judgment vs CLI automation:

```
├── Ideation returns 0 items?
│   └── Skill asks: "No work found. Should I look deeper or is repo stable?"
├── All items classified as 'thorough'?
│   └── Skill confirms: "These are complex. Spawn codex for each?"
├── Preview tunnel fails?
│   └── Skill continues without preview, notes in output
├── Codex returns low confidence?
│   └── Skill escalates to copilot review or HIL
└── Multiple repos need coordination?
    └── Skill suggests: "Use loop skill for cross-repo work"
```

### copilot swarm (thinking layer)

For complex decisions, spawn parallel copilots via session management:

**RECOMMENDED: session spawning** (tracked, structured output):

```bash
# Build context from CLI output
DISCOVERY=$(agents auto --ideate --dry-run --json --project $REPO)

# Prepare swarm prompts
echo "$DISCOVERY" > /tmp/discovery.json

cat > /tmp/priority.md << 'EOF'
Prioritize by urgency.
<output_contract>{"order": [], "rationale": ""}</output_contract>
EOF

cat > /tmp/risk.md << 'EOF'
Assess risk and dependencies.
<output_contract>{"risks": [], "safe_first": ""}</output_contract>
EOF

cat > /tmp/synthesis.md << 'EOF'
Synthesize optimal execution plan.
<output_contract>{"plan": "", "confidence": 0}</output_contract>
EOF

# Generate parent ID for this swarm
SWARM_ID="swarm-$(date +%Y%m%d-%H%M%S)-$(openssl rand -hex 4)"

# Spawn parallel sessions with --await (all run simultaneously in background)
(
  R1=$(cat /tmp/discovery.json /tmp/priority.md | agents session start -a copilot -p $PROJECT \
    -g "priority analysis" --parent "$SWARM_ID" --timeout 120 --await --json -q)
  echo "$R1" > /tmp/result-priority.json
) &
(
  R2=$(cat /tmp/discovery.json /tmp/risk.md | agents session start -a copilot -p $PROJECT \
    -g "risk analysis" --parent "$SWARM_ID" --timeout 120 --await --json -q)
  echo "$R2" > /tmp/result-risk.json
) &
(
  R3=$(cat /tmp/discovery.json /tmp/synthesis.md | agents session start -a copilot -p $PROJECT \
    -g "synthesis" --parent "$SWARM_ID" --timeout 120 --await --json -q)
  echo "$R3" > /tmp/result-synthesis.json
) &

# Wait for all background jobs
wait

# Extract outputs (--await returns inline)
PRIORITY=$(cat /tmp/result-priority.json | jq -r '.await.output')
RISK=$(cat /tmp/result-risk.json | jq -r '.await.output')
SYNTHESIS=$(cat /tmp/result-synthesis.json | jq -r '.await.output')

# Then spawn via CLI with informed plan
agents auto --ideate --preview --limit=3 --project $REPO
```

**Alternative: direct CLI** (one-off, background jobs):

```bash
cat /tmp/discovery.json /tmp/priority.md | copilot --model gemini-3-pro-preview --silent > /tmp/priority-result.txt &
wait
```

### post-execution (notifications)

**RECOMMENDED: `agents report`** (unified trails + slack + optional DM):

```bash
# Start trace at auto session begin
export AGENTS_TRACE_ID=$(agents report start "auto: $PROJECT" --agent claude --json -q | jq -r '.traceId')

# Progress on ideation complete
agents report progress "ideation: found $COUNT work items" --confidence 8

# Progress on execution phases
agents report progress "executed 2/3 tasks" --confidence 7

# Complete with summary (gist creates permanent artifact)
agents report complete "3 tasks executed via auto - 2 from git trajectory, 1 from Linear" --confidence 9 --dm --gist

# Or if blocked
agents report blocked "codex returned low confidence on complex refactor" --blocker-type error
```

**Alternative: direct slack** (custom formatting):

```bash
slack agent post --agent claude --channel agents --text "session complete: 3 tasks executed via auto" -w saya
```

## concrete values

| metric | value | source |
|--------|-------|--------|
| copilot quick timeout | 30s | gemini-3-pro typical |
| copilot thorough timeout | 120s | gemini-3-ultra typical |
| codex timeout | 600s (10 min) | complex task estimate |
| heartbeat interval | 60s | agents CLI default |
| stale session threshold | 5 min | agents CLI default |
| codex slots | 3 concurrent | ResourceManager default |
| copilot slots | 5 concurrent | ResourceManager default |

## tool integration

### agents CLI (primary interface)

```bash
# Auto command (this skill's main tool)
agents auto --ideate --preview --project $REPO    # full autonomous mode
agents auto --ideate --dry-run --json             # plan only, structured output
agents auto --quick --limit=3                     # fast pass, copilot only
agents auto --thorough --issue=ARB-123            # deep work, specific issue

# Session management (handled by auto internally)
agents session create --project $REPO --agent claude
agents session heartbeat $SESSION_ID --task "description"
agents session complete $SESSION_ID --summary "..."

# Resource management (handled by auto internally)
agents resource acquire codex_api $SESSION_ID
agents resource release codex_api $SESSION_ID
```

### copilot (thinking layer)

**RECOMMENDED: session spawning** (tracked, managed):

```bash
# Quick synthesis via session with --await
RESULT=$(cat /tmp/prompt.md | agents session start -a copilot -p $PROJECT \
  -g "synthesis" \
  --parent "$AGENTS_TRACE_ID" \
  --timeout 120 \
  --await \
  --json -q)

# Extract from await response
STATUS=$(echo "$RESULT" | jq -r '.await.status')
OUTPUT=$(echo "$RESULT" | jq -r '.await.output')
```

**Alternative: direct CLI** (quick one-offs):

```bash
cat <<'EOF' | copilot --model gemini-3-pro-preview --silent 2>&1 | head -1
prompt text here
EOF
```

### codex (implementation layer)

**RECOMMENDED: session spawning** (tracked, with --await):

```bash
# Spawn codex session with --await (longer timeout for codex)
RESULT=$(cat /tmp/prompt.md | agents session start -a codex -p $PROJECT \
  -g "$TASK" \
  --parent "$AGENTS_TRACE_ID" \
  --timeout 600 \
  --await \
  --json -q)

# Extract from await response
STATUS=$(echo "$RESULT" | jq -r '.await.status')
OUTPUT=$(echo "$RESULT" | jq -r '.await.output')
```

**Alternative: direct CLI** (with -o flag):

```bash
# CRITICAL: Always use -o for structured capture
cat prompt.md | codex exec - --full-auto -o /tmp/response.json --json

# NEVER use TaskOutput - destroys context
# Poll for file, then Read directly
```

### supporting CLIs

```bash
# Linear
linear issue list --team $TEAM --state "Ready" --json --quiet
linear issue edit $ISSUE_ID --state "In Progress"

# Slack
slack agent post --agent claude --channel agents --text "..." -w saya

# Verification
verify --format=summary
pnpm typecheck
```

## coordination (global)

Even with single-repo context, agents coordinate globally:

```
~/.agents/
├── events/           # EventStore (append-only logs)
│   ├── arbor/events.jsonl
│   ├── kumori/events.jsonl
│   └── ...
├── sessions/         # HeartbeatManager (liveness)
│   ├── arbor/session-id.json
│   └── ...
└── resources/        # ResourceManager (semaphores)
    ├── codex_api/lease-id.json
    ├── copilot_api/lease-id.json
    └── ...
```

Multiple auto sessions (different terminals) see each other via:
- Slack #agents posts
- Shared EventStore
- ResourceManager preventing API contention

## git log learning patterns

The key insight: git log isn't just status, it's a teacher.

```bash
# Quality bar: what coverage do we maintain?
git log --stat -20 | grep -E "test.*\+" | wc -l

# Trajectory: what files are hot?
git log --name-only -50 | sort | uniq -c | sort -rn | head -10

# Patterns: how did we solve auth before?
git log --all --oneline --grep="auth" | head -10

# Commit style: what do good messages look like?
git log --format="%s" -20

# Velocity: how many commits per day?
git log --since="7 days ago" --oneline | wc -l
```

copilot extracts these patterns and bakes them into codex prompts.

## relationship to other skills

### auto vs loop

| aspect | auto | loop |
|--------|------|------|
| scope | single repo, single session | multi-repo, multi-hour |
| bootstrapping | requires context (cwd, project) | zero-context self-bootstrap |
| invocation | `agents auto --ideate` | user says "work autonomously" |
| duration | minutes to ~1 hour | hours to overnight |
| platform awareness | generic | flywheels (xcode, web, convex) |

**composition**: loop skill can invoke auto skill for per-repo execution within a multi-repo session.

```
loop (orchestrates across repos)
  → auto (executes in arbor)
  → auto (executes in kumori)
  → synthesizes results
```

### auto vs pair

| aspect | auto | pair |
|--------|------|------|
| purpose | discover and execute work | consult/delegate/review |
| work source | ideation + Linear + git | user provides task |
| output | completed tasks | structured JSON response |

**composition**: auto uses pair-like patterns internally (copilot for thinking, codex for doing).

## anti-patterns

| pattern | problem | fix |
|---------|---------|-----|
| TaskOutput for codex | pulls 10K+ tokens, destroys context | use -o flag + Read file |
| vague codex prompts | codex can't ask questions | resolve all ambiguity with copilot first |
| skipping verification | vibes-based "it works" | always run all 4 gates |
| ignoring git log | miss quality patterns | treat history as learning source |
| single model thinking | limited perspective | use copilot swarm (multiple models) |
| fire-and-forget spawning | no visibility | heartbeats + Slack posts |
| manual bash in skill | duplicates CLI capabilities | invoke `agents auto` with flags |
| conflating skill with CLI | unclear responsibilities | skill orchestrates, CLI executes |
| **Consultant Trap** | copilot advises but doesn't commit | use `--quick` not `--quick-think` for implementation; require `commits` field in output contract |
| routing quick to thinking | simple tasks get analysis instead of execution | distinguish `--quick` (implementation) from `--quick-think` (analysis) |

## references

- [references/discovery-patterns.md](references/discovery-patterns.md) - work source extraction
- [references/prompt-templates.md](references/prompt-templates.md) - codex prompt structures
- [references/verification-cascade.md](references/verification-cascade.md) - gate definitions
- `~/Developer/utils/agents/src/lib/auto/` - CLI implementation
- `~/Developer/utils/agents/src/cli/commands/auto/` - CLI command

Files in this skill

  • SKILL.md17.1 KB
  • references/discovery-patterns.md5 KB
  • references/prompt-templates.md7.2 KB
  • references/verification-cascade.md4.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…