orbit
State-persisted autonomous pipeline: spec → go → audit → eval → ship → evolve in one command.
Skill by epicsagas
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/epicsagas-orbit
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: data, security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/orbit
What's inside
- Skill name
orbit- Description
- State-persisted autonomous pipeline: spec → go → audit → eval → ship → evolve in one command. Auto-detects direct/council/interactive mode. Crash-recoverable via PIPELINE-*.json. Hands-off until PR.
- License
- Apache-2.0
- Instructions
- 256 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# /orbit — Complete Orbit
**CRITICAL**: Run `HARNESS_DIR=$(epic path)` first. NEVER use `.harness/` in the project directory.
You are entering **Orbit** mode — the full autonomous pipeline from spec to PR in one shot.
## Phase Recovery Protocol
At the start of **every response** during an active orbit:
1. Run `ls $HARNESS_DIR/orbit/PIPELINE-*.json 2>/dev/null`
2. Find the file with `"status": "running"`
3. Read it. Verify `phase` matches where you left off
4. **If `phase` is ahead of where you think you are, trust the file** — you may have compacted
5. **Conflict resolution (crash-mid-update)**: If `phase_history` contains an entry for the current `phase` with a completed timestamp, treat that phase as done and advance to the next phase — `phase_history` wins over the `phase` field when they disagree.
6. Resume from the resolved phase. Do NOT re-ask mode selection, re-run spec, or re-discover
7. **Worktree recovery**: If `worktree_name` is set in pipeline state:
- Check if worktree still exists: `git worktree list | grep "{worktree_name}"`
- If exists: `cd` into the worktree path to continue work
- If not found: worktree was cleaned up externally — abort orbit with warning, set `"status": "aborted"`
If no file with `"status": "running"` exists, orbit was not started or has completed. Do not invent one.
**Crash recovery**: If `updated_at` is older than 45 minutes and the pipeline is in `status: running`, assume a crash occurred. Read the state, determine the last completed phase from `phase_history` (rule 5 above applies), and resume from there. Report the recovery to the user.
## Step 0: Preflight
**Concurrent-orbit guard** — before starting, run:
```bash
epic orbit lock # exit 1 + "another orbit is running" if one is active → STOP
```
On success you own the guard; run `epic orbit unlock` when the pipeline reaches
a terminal state (complete/aborted). If a crashed orbit left the lock behind,
`lock` reclaims it automatically once no PIPELINE-*.json is `running`.
Initialize pipeline state at `$HARNESS_DIR/orbit/PIPELINE-{timestamp}.json`:
```json
{
"id": "{timestamp}",
"mode": null,
"phase": "auto_detect",
"status": "running",
"spec_file": null,
"goal_slug": null,
"branch": null,
"worktree_name": null,
"original_cwd": null,
"audit_fail_count": 0,
"max_retries": 3,
"audit_report": null,
"pr_url": null,
"deadline": "{ISO-8601, now + 30 minutes}",
"started_at": "{ISO-8601}",
"updated_at": "{ISO-8601}",
"phase_history": []
}
```
## Step 1: Auto-Detect Mode
**DO NOT ask the user for mode selection.** Auto-detect the best path:
### Detection Logic
| Signal | Mode | Reason |
|--------|------|--------|
| PRD / detailed requirements doc exists in project | `council` | Rich input → council synthesizes best approach |
| User request is specific and actionable (clear goal, defined scope) | `direct` | No need for discovery — spec directly |
| User request is vague, unfocused, or "I want to..." without specifics | `council` | Council frames the problem better than guessing |
| User explicitly says "interactive" or "let me discover first" | `interactive` | Respect explicit preference |
### Detection Process
1. Check for PRD/requirements docs: `ls {project}/PRD*.md {project}/docs/PRD*.md {project}/requirements*.md 2>/dev/null`
2. Evaluate user request clarity:
- **Specific**: contains concrete feature descriptions, acceptance criteria, or technical constraints → `direct`
- **Vague**: "build X", "improve Y", "add Z" without details → `council`
3. Record detected mode in pipeline state (`"mode": "direct|council|interactive"`)
4. Report mode choice to user as a **notification**, not a question: `"Orbit mode: {mode} (auto-detected)"`
5. Proceed immediately to the matching step below — **do not wait for confirmation**
## Step 2A: Direct Mode (clear request → auto-spec)
**Use when**: Request is specific and actionable.
1. Read the user's request + any existing docs (PRD, README, AGENTS.md)
2. Generate spec directly at `$HARNESS_DIR/specs/SPEC-{timestamp}.md` with `status: approved`
3. Record via `epic mem add --title "Orbit: {mode} mode decision" --type decision --importance 0.9 --body "CONTEXT"`
4. **Proceed immediately to Step 3** — no approval gate
## Step 2B: Council Auto-Spec (complex/vague request → council)
**Use when**: PRD exists or request needs framing.
1. Gather the user's request from conversation context
2. Launch 4 parallel sub-agents (Architect, Skeptic, Pragmatist, Critic) — each receives ONLY the request + codebase context, NOT the full conversation (anti-anchoring)
3. Synthesize: list agreement/disagreement, produce recommended approach
4. Generate spec at `$HARNESS_DIR/specs/SPEC-{timestamp}.md` with `status: approved`
5. Record via `epic mem add --title "Orbit: council decision" --type decision --importance 0.9 --body "CONTEXT"`
6. **Proceed immediately to Step 3** — no approval gate, no "orbit go"
## Step 2C: Interactive Mode (explicit user choice only)
**Use when**: User explicitly requested interactive mode.
1. Tell user to run `/discover` → `/spec`, then say "orbit go". STOP and wait.
2. On resume: load latest `SPEC-*.md` with `status: approved`. Proceed to Step 3.
**This mode is never auto-selected.** It requires explicit user opt-in.
## Step 3: Build (Go)
1. Load spec, extract `goal_slug`
2. **Git preflight**: verify clean working tree and not on detached HEAD:
```bash
[ -z "$(git status --porcelain)" ] || (echo "ERROR: Dirty working tree or untracked files. Commit or stash first." && exit 1)
git symbolic-ref -q HEAD || (echo "ERROR: Detached HEAD. Checkout a branch first." && exit 1)From epicsagas/epic-harness, Apache-2.0.
More from epicsagas/epic-harness
- 0.629score
vuln-scan
epicsagas
Systematic vulnerability scan across injection, auth, data exposure, and dependencies — traced by reading code, not grepping for keywords.
SkillAFreshness: A★ 19Claude Code +9 - 0.629score
document
epicsagas
Documentation generator for public APIs, functions, and modules.
SkillAFreshness: A★ 19Claude Code +9 - 0.629score
team
epicsagas
Org-level agent team designer via `epic team` CLI (cross-project, append-merge).
SkillAFreshness: A★ 19Claude Code +9 - 0.629score
triage
epicsagas
Adversarial validation of vulnerability findings.
SkillAFreshness: A★ 19Claude Code +9 - 0.629score
threat-model
epicsagas
Threat modeling and attack surface analysis.
SkillAFreshness: A★ 19Claude Code +9 - 0.629score
benchmark
epicsagas
Executes Bare-vs-Epic A/B benchmarking, Ring 0 Guard 50 challenge, and full golden set evaluation for epic-harness.
SkillAFreshness: A★ 19Claude Code +9 - 0.629score
agent-introspection
epicsagas
Loop-breaking self-diagnosis.
SkillAFreshness: A★ 19Claude Code +9 - 0.626score
context
epicsagas
Working-state snapshot guidance.
SkillAFreshness: A★ 19Claude Code +9 - 0.626score
orchestrate
epicsagas
Trigger: active multi-agent run.
SkillAFreshness: A★ 19Claude Code +9 - 0.626score
reflect
epicsagas
On-demand human self-assessment of AI usage quality.
SkillAFreshness: A★ 19Claude Code +9 - 0.626score
go
epicsagas
Go phase.
SkillAFreshness: A★ 19Claude Code +9 - 0.626score
evolve
epicsagas
Ring 3 evolution engine.
SkillAFreshness: A★ 19Claude Code +9
Signals
- Stars
- 19
- Forks
- 5
- Open issues
- 3
- Last commit (this folder)
- Sep 19, 2026 (1 month ago)
- Last release
- Oct 23, 2026 (4 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/epicsagas/epic-harness
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from epicsagas
- 0.641score
book-visuals
epicsagas
Book visual system: art bible and look lock, figure plan per chapter, code-rendered diagrams/charts/technical drawings, diffusion-generated illustrations and…
SkillAFreshness: A★ 38Claude Code +9 - 0.638score
book-game
epicsagas
Game narrative craft reference: branching architecture, quest design, dialogue systems, lore bible, player agency, and game-writing AI tells.
SkillAFreshness: A★ 38Claude Code +9 - 0.638score
book-academic
epicsagas
Academic writing craft reference: IMRAD and discipline structures, literature review, argument chains, citation integrity, academic register in en/ko/ja, and…
SkillAFreshness: A★ 38Claude Code +9 - 0.638score
book-draft
epicsagas
Phase 3: Drafting.
SkillAFreshness: A★ 38Claude Code +9 - 0.638score
book-fiction
epicsagas
Fiction craft reference for all subgenres: structure options, scene design, character depth, dialogue, POV and distance, the fiction-specific AI tells, and…
SkillAFreshness: A★ 38Claude Code +9 - 0.638score
book-edit
epicsagas
Phase 4: Editing.
SkillAFreshness: A★ 38Claude Code +9
Cite this page
orbit skill. Agent Mart. https://agentmart.dev/skills/epicsagas-orbit (last updated 2026-10-24)