backlog-pipeline

Orchestrator for the spec document gate pipeline. Reads current status from frontmatter, determines the next gate, invokes backlog-writer or backlog-gate-guard, and updates frontmatter status on PASS. Does nothing else.

16 stars

Best use case

backlog-pipeline is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Orchestrator for the spec document gate pipeline. Reads current status from frontmatter, determines the next gate, invokes backlog-writer or backlog-gate-guard, and updates frontmatter status on PASS. Does nothing else.

Teams using backlog-pipeline should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/backlog-pipeline/SKILL.md --create-dirs "https://raw.githubusercontent.com/woojubb/robota/main/.agents/skills/backlog-pipeline/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/backlog-pipeline/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How backlog-pipeline Compares

Feature / Agentbacklog-pipelineStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Orchestrator for the spec document gate pipeline. Reads current status from frontmatter, determines the next gate, invokes backlog-writer or backlog-gate-guard, and updates frontmatter status on PASS. Does nothing else.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Backlog Pipeline

State machine orchestrator for spec documents. This skill manages ONLY the pipeline flow — it does not write content, judge quality, or perform implementation.

## Rule Anchor

- `AGENTS.md` > Mandatory Rules > Process
- `.agents/rules/spec-workflow.md` > HARD GATE: No Immediate Implementation

## When to Use

Invoke this skill at the start of ANY spec document lifecycle:

- Creating a new spec document
- Resuming work on an existing spec document
- Checking what gate comes next

## STOP Conditions (non-negotiable)

Before any gate transition, verify:

1. The spec document has been located (see File Location Protocol below)
2. The `status:` frontmatter field matches a known state in the table below
3. The previous gate's Evidence Log entry exists (PASS, FAIL, or NON-COMPLIANCE)

If any condition is unmet: **STOP. Do not proceed. Write a NON-COMPLIANCE entry and surface the issue to the user.**

## File Location Protocol

Spec documents live under `.agents/spec-docs/<stage>/`. When given only an ID (not a full path):

```
Run: find .agents/spec-docs -name "<ID>*.md" -not -path "*/rejected/*"
Exactly 1 result → use that path
0 results        → STOP: file not found, surface to user
>1 results       → STOP: ambiguous ID, surface all found paths to user
```

When given a full path, use it directly.

## State Machine

| Current `status`  | Folder      | Next Action                                          | Next `status` on PASS | Folder move on PASS           |
| ----------------- | ----------- | ---------------------------------------------------- | --------------------- | ----------------------------- |
| (not yet created) | —           | Invoke `backlog-writer` skill                        | `draft`               | → `draft/`                    |
| `draft`           | `draft/`    | Invoke `backlog-gate-guard` subagent: GATE-WRITE     | `review-ready`        | `draft/` → `backlog/`         |
| `review-ready`    | `backlog/`  | Invoke `backlog-gate-guard` subagent: GATE-APPROVAL  | `approved`            | `backlog/` → `todo/`          |
| `approved`        | `todo/`     | Invoke `backlog-gate-guard` subagent: GATE-IMPLEMENT | `in-progress`         | `todo/` → `active/`           |
| `in-progress`     | `active/`   | Invoke `backlog-gate-guard` subagent: GATE-VERIFY    | `verifying`           | **none — stays in `active/`** |
| `verifying`       | `active/`   | Invoke `backlog-gate-guard` subagent: GATE-COMPLETE  | `done`                | `active/` → `done/`           |
| `done`            | `done/`     | No action. Pipeline is complete.                     | —                     | —                             |
| `rejected`        | `rejected/` | No action. Item is closed.                           | —                     | —                             |

## Execution Steps

### Step 1 — Read current state

```
1. Locate the spec document (see File Location Protocol above)
2. Read the frontmatter `status:` field
3. Match to the state table above
4. Verify the last Evidence Log entry exists for the previous gate
```

### Step 2 — Invoke the appropriate component

**When status is (not yet created):**

- Invoke `backlog-writer` skill (Skill tool)
- After writer completes, create the file at `.agents/spec-docs/draft/<ID>.md`

**When status is `draft` through `verifying`:**

Invoke `backlog-gate-guard` as a **subagent** (Agent tool). Use this exact prompt template — fill in `<GATE>` and `<PATH>`:

```
You are running as a backlog-gate-guard subagent. Your sole job is to validate one gate.

Gate: <GATE>          (e.g. GATE-WRITE)
Spec document: <PATH>  (e.g. .agents/spec-docs/draft/CLI-050-some-feature.md)

Instructions:
1. Read the backlog-gate-guard skill: .agents/skills/backlog-gate-guard/SKILL.md
2. Read the spec document at <PATH>
3. Check every criterion for <GATE> as listed in the skill
4. Append the result entry to the ## Evidence Log section using the Edit tool
5. Return exactly one of: PASS | FAIL | NON-COMPLIANCE
   followed by a one-line reason
```

Wait for subagent result: PASS | FAIL | NON-COMPLIANCE

### Step 3 — Handle gate result

**PASS (when a folder move is required — all gates except GATE-VERIFY):**

1. Run `git mv <current-path> .agents/spec-docs/<next-stage>/<filename>`
2. Immediately update the frontmatter `status:` field in the moved file to the next status value
3. Both steps must complete before reporting success. If Step 2 is omitted, the file is in the wrong folder for its status — treat as NON-COMPLIANCE on the next run.
4. Confirm to user: "Gate X passed. Status: `<next-status>`. File moved to `<next-stage>/`."

**PASS (GATE-VERIFY — no folder move):**

1. Update frontmatter `status: verifying` in the file (it stays in `active/`)
2. Confirm to user: "GATE-VERIFY passed. Status: `verifying`. File stays in `active/`."

**FAIL:**

- Do NOT update frontmatter status or move the file
- Surface the failed criteria to the user
- STOP. Do not attempt to fix or implement. Wait for user direction.

**NON-COMPLIANCE:**

- Do NOT update frontmatter status or move the file
- Write the NON-COMPLIANCE entry to Evidence Log (if guard didn't already)
- STOP immediately. Surface: which gate was violated, what evidence is missing.
- Do not proceed until violation is resolved.

## Rejection Action

A file moves to `rejected/` when:

1. User explicitly cancels the item ("취소", "거부", "reject this item"), OR
2. A NON-COMPLIANCE violation is determined to be unresolvable

Rejection steps:

1. `git mv <current-path> .agents/spec-docs/rejected/<filename>`
2. Update frontmatter `status: rejected` in the moved file
3. Append Evidence Log entry: `[REJECTION]` with reason and date
4. Stop pipeline for this item

Note: GATE FAIL is NOT a rejection. FAIL means the item can be fixed and re-run. Rejection is a deliberate decision to close the item permanently.

## What This Skill Does NOT Do

- Write or edit spec document section content → that is `backlog-writer`
- Judge whether content meets quality criteria → that is `backlog-gate-guard`
- Implement the spec document → that is the agent's separate implementation work
- Modify Evidence Log entries → that is `backlog-gate-guard`
- Skip gates for any reason, including "obvious" items or small changes

## Anti-Patterns

| Anti-pattern                                          | Correct behavior                                                            |
| ----------------------------------------------------- | --------------------------------------------------------------------------- |
| Moving to next gate without Evidence Log entry        | STOP. Write NON-COMPLIANCE.                                                 |
| Skipping GATE-APPROVAL because "it's implied"         | STOP. User must explicitly approve. Quote required.                         |
| Running gate guard inline instead of as subagent      | Always spawn as Agent subagent for isolation.                               |
| Fixing FAIL items and immediately re-running the gate | Surface the failure to the user first. Re-run only after user confirms fix. |
| Setting status to `done` before GATE-COMPLETE         | Status changes only follow gate PASS results.                               |
| Forgetting to update frontmatter after `git mv`       | Both `git mv` and frontmatter update are atomic. Do both immediately.       |
| Moving file on GATE-VERIFY PASS                       | GATE-VERIFY does NOT move the file. Only update frontmatter status.         |

Related Skills

backlog-writer

16
from woojubb/robota

Guides authoring of a new spec document. Ensures every required section is present and meets minimum quality before the item enters the gate pipeline. Does not validate gates or make approval decisions.

backlog-gate-guard

16
from woojubb/robota

Validates a single named gate for a spec document and appends the result to the Evidence Log. Invoked as a subagent by backlog-pipeline. Does exactly one thing — check one gate and record the outcome.

backlog-execution-orchestrator

16
from woojubb/robota

Use when executing backlog-driven work, multi-PR initiatives, recommendation-gated implementation, or one-backlog-per-PR workflows. Orchestrates owner skills without duplicating their detailed procedures.

web-design-guidelines

16
from woojubb/robota

Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".

vitest-testing-strategy

16
from woojubb/robota

Defines a practical testing strategy for TypeScript and JavaScript using Vitest across unit, integration, and type-level tests. Use when adding features, refactoring, or preventing regressions with fast feedback loops.

version-management

16
from woojubb/robota

All packages must have the same version. Use changesets for coordinated version bumps. Never version packages independently.

vercel-react-native-skills

16
from woojubb/robota

React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.

vercel-react-best-practices

16
from woojubb/robota

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

vercel-composition-patterns

16
from woojubb/robota

React composition patterns that scale. Use when refactoring components with boolean prop proliferation, building flexible component libraries, or designing reusable APIs. Triggers on tasks involving compound components, render props, context providers, or component architecture. Includes React 19 API changes.

user-request-gate

16
from woojubb/robota

Use immediately when the user requests any implementation, code change, feature addition, fix, or modification. Gates code writing behind a backlog draft document. Read-only exploration is always permitted.

type-boundary-and-ssot

16
from woojubb/robota

Applies Robota's preferred workflow for trust-boundary validation, strict typing, quality gates, and owner-based SSOT reuse. Use when adding or reviewing type contracts, boundary parsing, shared contract ownership, or running quality checks.

tdd-red-green-refactor

16
from woojubb/robota

Kent Beck's TDD workflow. Use when writing new code or modifying existing behavior. Enforces the Red-Green-Refactor cycle with small, verifiable steps.