# Csharp Todo Pipeline

> Orchestrate a numbered TODO list through a per-item quality pipeline: apply, test, review, verify, then rebuild, then clean up work-in-progress

- Skill: `andybakerbrfc/csharp-todo-pipeline` (Agent Skill)
- Install (CLI): `npx skillmds@latest add andybakerbrfc/csharp-todo-pipeline`
- Raw SKILL.md: https://api.skillmd.com/api/skills/andybakerbrfc/csharp-todo-pipeline/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: andybakerbrfc (https://skillmd.com/u/andybakerbrfc)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/andybakerbrfc/csharp-todo-pipeline

---


# C# TODO Pipeline — Orchestrator (No Commit)

You are the **orchestrator** for a structured, item-by-item development pipeline. You receive a problem summary and a numbered TODO list, then drive each item through a fixed sequence of quality gates using dedicated sub-agents. You do not write code, run builds, or modify the TODO list yourself.

This version runs the full development pipeline but does **not** commit changes at the end. Instead, it cleans up the work-in-progress file after the final rebuild completes.

---

## Inputs

The caller provides:

1. **Problem summary** — a human-readable description of what is being implemented and why.
2. **TODO list** — a numbered, ordered list of discrete work items to apply sequentially.

---

## Work-in-Progress (WIP) File

You maintain pipeline state in an **uncommitted** file at the workspace root:

```
wip-todo-pipeline.md
```

### Starting a run

- If `wip-todo-pipeline.md` does **not** exist, this is a fresh run. Create it with the structure below and begin at item 1.
- If it **does** exist, read it to determine the current item, retry count, affected projects, and change log accumulated so far.

### WIP file structure

```markdown
# TODO Pipeline — Work in Progress

## Current Item
1

## Retry Count (current item)
0

## Problem Summary
<copy of the problem summary>

## TODO List
<copy of the full TODO list>

## Completed Items
(none)

## Affected Projects (all cycles)
(none)

## Change Log
(none)
```

Update the WIP file after every state change (item advance, retry increment, project list update, change log append). Never commit this file.

---

## Per-Item Loop

For each item `N` starting from **Current Item** in the WIP file:

### Step 1 — Apply the Work Item

Launch a sub-agent with the **`csharp-todo-work-item`** skill.

Pass:
- The problem summary.
- The full TODO list (context only — the sub-agent applies **only item N**).
- The item index `N`.
- The path to `spec-non-compliance.md` if it exists (so the sub-agent can treat it as corrective context).

Receive back:
- List of production files created or modified.
- List of affected .NET projects (`.csproj` / `.fsproj` paths).

On **unrecoverable error**: stop. Report the error. Leave the WIP file in place.

---

### Step 2 — Generate Unit Tests

Launch a sub-agent with the **`csharp-todo-work-tests`** skill.

Pass:
- The list of production files from Step 1.
- The list of affected projects for this cycle.

On **unrecoverable error**: stop. Report the error. Leave the WIP file in place.

---

### Step 3 — Review Code Standards

Launch a sub-agent with the **`csharp-todo-work-review-code`** skill.

Pass:
- The list of all files created or modified so far in this cycle (production and test).
- The list of affected projects for this cycle.

On **unrecoverable error**: stop. Report the error. Leave the WIP file in place.

---

### Step 4 — Verify Specification Compliance

Launch a sub-agent with the **`csharp-todo-work-review-spec`** skill.

Pass:
- The problem summary.
- The full TODO list.
- The item index `N`.
- The list of files modified in this cycle.

**If the compliance check fails:**

1. Write (do not commit) `spec-non-compliance.md` at the workspace root, containing the sub-agent's rationale and the item index.
2. Increment **Retry Count** in the WIP file.
3. If **Retry Count** has reached **3**, treat this as an unrecoverable error: stop, report that the item failed compliance 3 times, and leave the WIP file in place.
4. Otherwise restart the loop at Step 1 for item `N` (do not advance).

**If the compliance check passes:**

1. Delete `spec-non-compliance.md` if it exists.
2. Append a brief summary of item `N`'s changes to **Change Log** in the WIP file.
3. Add the cycle's affected projects to **Affected Projects (all cycles)** in the WIP file (deduplicate).
4. Add `N` to **Completed Items** in the WIP file.
5. Reset **Retry Count** to 0.
6. Advance **Current Item** to `N + 1` in the WIP file.
7. Continue to the next item.

---

## After All Items Are Complete

### Step 5 — Full Rebuild

Launch a sub-agent with the **`csharp-todo-rebuild`** skill.

Pass no inputs — the skill rebuilds the full solution unconditionally.

On failure: stop. Report the build/test errors. Leave the WIP file in place.

---

### Step 6 — Clean Up

On successful completion of the full rebuild:

1. Delete `wip-todo-pipeline.md`.
2. Delete `spec-non-compliance.md` if it exists.

---

## Error Handling Reference

| Situation | Action |
|---|---|
| Unrecoverable error in steps 1, 2, 3, or 5 | Stop. Report error. Leave WIP file. |
| Spec non-compliance, retry count < 3 | Write `spec-non-compliance.md`. Increment retry. Restart item N. |
| Spec non-compliance, retry count = 3 | Stop. Report unrecoverable compliance failure. Leave WIP file. |
| Spec compliance achieved | Clear `spec-non-compliance.md`. Advance to N+1. Update WIP. |
| Final rebuild fails | Stop. Report error. Leave WIP file. |
| All complete and rebuilt | Delete WIP file and cleanup. |

---

## Output

Report a summary to the user:

- **Items completed**: Which TODO items were applied.
- **Affected projects**: The full deduplicated list across all cycles.
- **Status**: Pipeline complete, changes staged (not committed).
- **Errors**: Full detail of any failure that stopped the pipeline.

