Classify a task and route it to the right workflow (fix / feature / epic). Use when the user runs /go or wants the adaptive workflow router.
Scanned 9/22/2026
Install to Claude Code
npx -y skills add jupes/agent-forge-harness --skill go --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Go?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/jupes-agent-forge-harness-agent-forge-harness)More formats (shields.io, HTML) on the badges page.
---
name: go
description: Classify a task and route it to the right workflow (fix / feature / epic). Use when the user runs /go or wants the adaptive workflow router.
---
# /go — Adaptive Workflow Router
Single entry point for all development work. Classifies scope and routes to the right workflow.
## Usage
```
/go # Pick highest-priority ready task
/go T-42 # Work on specific task
/go EPIC-7 # Run epic workflow
/go fix login redirect bug # Describe work in free text
/go path/to/spec.md # Read spec file, materialize Beads tasks
/go --epic <description> # Force epic workflow
```
---
## Input Handling
### Empty input
```bash
bd ready
```
Pick the first unblocked, unclaimed task. If none: report "No ready work. Check `bd ready` or create new tasks."
### Task/Epic ID (e.g., `T-42`, `EPIC-7`)
```bash
bd show <id>
```
Fetch details, then classify scope and route to workflow.
### File path
Read the file as a spec. Materialize Beads tasks from it (see Spec Materialization below), then route.
### Free text
Use the description directly. Classify scope, create a Beads task if needed, then route.
### `--epic` flag
Force epic workflow regardless of scope classification.
---
## Scope Classification
Evaluate the task to determine which workflow to use:
| Tier | Criteria | Routes To |
|------|----------|-----------|
| **Fix** | Single task, ≤3 files touched, clear scope, no new architecture | `workflows/fix.md` |
| **Feature** | Single task, >3 files OR needs a plan OR new system/component | `workflows/feature.md` |
| **Epic** | Epic ID, `--epic` flag, or multiple tasks from spec | `workflows/epic.md` |
**When in doubt about Fix vs Feature**: check whether a plan would help. If yes → Feature.
---
## Spec Materialization
When input is a file path, parse the spec and create Beads tasks:
1. Read the file
2. Identify distinct work items (look for headers, numbered lists, bullet points with verbs)
3. For each item:
```bash
bd create \
--type <bug|feature|task|chore> \
--title "<derived title>" \
--repo <repo from spec or ask> \
--priority <value> \
--acceptance "<acceptance criterion if identifiable>"
```
Set **`<value>`** using `.claude/skills/beads-priority-assignment/SKILL.md`.
4. If items have clear dependencies (item B requires item A), add them:
```bash
bd dep add <B-id> --requires <A-id>
```
5. If there are 3+ related items: create an epic to group them
```bash
bd create --type epic --title "<overall goal>" --priority <value>
```
Epic **`<value>`**: same skill — reflect overall urgency of the group.
6. Report what was created, then route
---
## PR Stack Detection
Before routing, check for PR stacks (existing open PRs for the repo):
```bash
gh pr list --state open --json number,title,baseRefName,headRefName
```
If the current branch is part of a stack (a PR whose base is another feature branch):
- Note the stack structure
- When shipping later, use the correct base branch for the PR, not `main`
---
## Routing
After classification, invoke the appropriate workflow:
```
→ Fix: Follow .claude/workflows/fix.md
→ Feature: Follow .claude/workflows/feature.md
→ Epic: Follow .claude/workflows/epic.md
(Adopt the Lead Agent role from .claude/agents/lead.md)
```
Announce routing decision before starting:
```
Routing to: [Fix/Feature/Epic] workflow
Task: <id> — <title>
Reason: <1 sentence why this tier>
```
---
## Error Handling
- **Task not found**: `bd show <id>` returns empty → check ID, suggest `bd ready`
- **Ambiguous spec**: >10 items from a single spec → ask user to confirm before materializing
- **No git repo**: abort with instructions to `git init`
- **Beads unreachable** (`bd` errors / Dolt server down): **STOP — do not proceed without Beads.** Run `bd dolt start` and retry; Beads tracking is mandatory for tracked work. (The SessionStart hook normally auto-starts the server.) Only if `bd` is genuinely not installed should you tell the user to install it before continuing.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!