Spec-Driven Development v2
LichAmnesia/lich-skills
Organizes long-running agent work into a Project, Sprint and Task hierarchy with per-task state files, isolated worktrees, review loops and script-checked rules.
Run a spec-driven agent loop where coding tasks live as markdown specs that move through inbox → active → archive, get implemented by Claude Code or Codex, and pass a review gate before they count…
$ npx skills add JuliusBrussee/skills --skill loop-factory -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install JuliusBrussee/skills loop-factory --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/JuliusBrussee/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/loop-factory .claude/skills/loop-factory && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "loop-factory" agent skill from https://github.com/JuliusBrussee/skills/tree/main/skills/loop-factory into .claude/skills/loop-factory/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loop-factory", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/JuliusBrussee/skills/tree/main/skills/loop-factoryType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add JuliusBrussee/skills --skill loop-factory -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install JuliusBrussee/skills loop-factory --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JuliusBrussee/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/loop-factory .agents/skills/loop-factory && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "loop-factory" agent skill from https://github.com/JuliusBrussee/skills/tree/main/skills/loop-factory into .agents/skills/loop-factory/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loop-factory", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add JuliusBrussee/skills --skill loop-factory -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install JuliusBrussee/skills loop-factory --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JuliusBrussee/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/loop-factory .cursor/skills/loop-factory && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "loop-factory" agent skill from https://github.com/JuliusBrussee/skills/tree/main/skills/loop-factory into .cursor/skills/loop-factory/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loop-factory", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/JuliusBrussee/skills.git --path skills/loop-factory--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add JuliusBrussee/skills --skill loop-factory -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install JuliusBrussee/skills loop-factory --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JuliusBrussee/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/loop-factory .gemini/skills/loop-factory && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "loop-factory" agent skill from https://github.com/JuliusBrussee/skills/tree/main/skills/loop-factory into .gemini/skills/loop-factory/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loop-factory", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install JuliusBrussee/skills loop-factoryInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add JuliusBrussee/skills --skill loop-factory -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/JuliusBrussee/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/loop-factory .github/skills/loop-factory && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "loop-factory" agent skill from https://github.com/JuliusBrussee/skills/tree/main/skills/loop-factory into .github/skills/loop-factory/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loop-factory", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add JuliusBrussee/skills --skill loop-factory -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install JuliusBrussee/skills loop-factory --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JuliusBrussee/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/loop-factory .opencode/skills/loop-factory && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "loop-factory" agent skill from https://github.com/JuliusBrussee/skills/tree/main/skills/loop-factory into .opencode/skills/loop-factory/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loop-factory", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
loop-factoryRun a spec-driven agent loop where coding tasks live as markdown specs that move through inbox → active → archive, get implemented by Claude Code or Codex, and pass a review gate before they count…
Loop Factory is an agent skill from JuliusBrussee/skills. Run a spec-driven agent loop where coding tasks live as markdown specs that move through inbox → active → archive, get implemented by Claude Code or Codex, and pass a review gate before they count as done. Use when the user mentions "loop factory", a "spec-driven loop", an "agent factory", wants repeatable/reviewable agent work, or when a repo has a factory/specs/inbox or factory/specs/active directory. Also covers installing and scaffolding the loop-factory CLI into a project.
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/autonomous.md`, `references/commands.md` and `references/install.md`).
It sits in Agent Workflows, covering Email management, Spec-driven development and Project scaffolding. The licence is MIT.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 8470b26. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
python3gitFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Loop Factory loads about 2k tokens when it runs, and up to ~5.8k if it reads all its reference files. Until then it costs about 124 tokens; SKILL.md has 893 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from JuliusBrussee/skills at commit 8470b26, republished under its MIT licence (© JuliusBrussee). 893 words, ~1,975 tokens.
.claude/skills/loop-factory/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Loop Factory turns "ask an agent to build something" into a visible assembly line. Each task is a markdown spec. The folder the spec lives in is its state. Agents implement and verify; they never decide what to build.
📥 inbox/ 🔧 active/ 📦 archive/
tasks not ──► task an agent ──► finished work,
started yet is building now reviewed + acceptedThe one rule that governs everything: automate implementation and verification, not product decisions. If a spec is missing a decision, record the open question — do not invent product direction.
Invoke this skill on demand by typing /loop-factory (one manual pass), or let a cron fire it unattended — see Autonomous mode.
init).The loop-factory CLI is the state engine. Install it once, then scaffold any git repo:
# get the CLI (clone the source repo, install editable)
git clone https://github.com/JuliusBrussee/Loop-Factory.git
python3 -m pip install -e ./Loop-Factory
# scaffold the factory/ folders in your target project
cd your-project
loop-factory init
loop-factory doctor # confirm git + agent CLIs are wired upNo runtime dependencies beyond Python 3.10+. If you are already inside the Loop-Factory repo, you can skip the install and run python3 bin/loop-factory <command> directly. Full install notes, agent-CLI setup, and how to copy the native agent adapters: references/install.md.
loop-factory scan to see inbox and active specs.# Grill Gate section. A vague spec produces vague code.active/:loop-factory dispatch --agent claude --limit 1 --stagefactory/prompts/ and a run record to factory/runs/. It does not run the AI unless you add --execute.verification: frontmatter. Capture the output as evidence.loop-factory review <spec-id> --agent claudeactive/ for another pass.loop-factory archive <spec-id> --accepted--accepted is required on purpose — nothing leaves active/ without a confirmed pass.loop-factory backprop --agent claudeRun a single self-contained pass that drains the inbox with no human present. Trigger it when invoked with "autonomous" / "drain the inbox", by a scheduled cron, or repeatedly by /loop (e.g. /loop 30m /loop-factory).
A pass does exactly this:
factory/specs/inbox/.grill: completed in frontmatter, or a filled-in # Grill Gate section. Skip anything else and log it as "needs grilling." Never grill autonomously: the grill gate needs human answers, and inventing them would be deciding product direction.active/. Do not archive — acceptance stays a human decision.active/ with a note in factory/runs/. Do not retry in a loop or weaken the criteria to make it pass.This keeps the boundary intact: the loop is a tireless builder, never a silent decider.
Two ways to fire it on a recurring basis:
/loop (local, recommended for active work) — /loop 30m /loop-factory re-runs this skill on any interval against your local working tree. Built specs land in active/; no git push or PR needed. Only runs while a Claude Code session is open.Both, plus the safety knobs, are in references/autonomous.md.
loop-factory scan # list inbox + active specs
loop-factory dispatch --agent <claude|codex> --stage # prompt + move to active
loop-factory review <spec-id> --agent <claude|codex> # generate review prompt
loop-factory archive <spec-id> --accepted # archive a passed spec
loop-factory backprop --agent <claude|codex> # sync docs/specs with code
loop-factory doctor # health-check setupSwap --agent claude for --agent codex anywhere — the loop is identical. Default behavior writes prompt files; add --execute only when the local codex/claude CLI is installed and the user asked for live execution. Full flag reference: references/commands.md.
A spec is markdown with frontmatter (id, title, agent, risk, verification) and a body covering Context, Acceptance Criteria, Constraints, and Review Notes. The acceptance criteria are the contract — they're what the agent builds toward and what the reviewer checks against, so make them concrete and testable. Format, examples, and the grill-gate questions: references/spec-authoring.md.
inbox to active.active to archive.active — it does not get deleted or silently re-dispatched.factory/prompts/, factory/runs/, and factory/reviews/ are artifacts and audit trail — read them, don't treat them as source of truth. The spec is the source of truth.When isolation helps, hand stages to dedicated subagents instead of doing everything in one context:
Use one agent when work is sequential, touches the same files, or is high-risk. Fan out to multiple only when specs are independent or review should stay context-isolated.
© JuliusBrussee, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (references) in skills/loop-factory of JuliusBrussee/skills.
Open the folder on GitHubat commit 8470b26
Loop Factory next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Loop Factory this skillJuliusBrussee/skills | 162 | — | ~2k | Automated safety check: Pass | MIT | |
| Spec-Driven Development v2LichAmnesia/lich-skills | 234 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Spektacular Plan Implementationjumppad-labs/jumppad | 263 | — | ~1.8k | Automated safety check: Pass | MPL-2.0 | |
| Autonomous Agent Patternsdavila7/claude-code-templates | 32k | 7 repos | ~5.6k | Automated safety check: Pass | MIT | |
| Show Me Your Work Decision Logcursor/plugins | 10k | 8 repos | ~1.6k | Automated safety check: Pass | None | |
| Nonstop Autonomous Modeandylizf/nonstop | 263 | — | ~2k | Automated safety check: Warn | MIT |
LichAmnesia/lich-skills
Organizes long-running agent work into a Project, Sprint and Task hierarchy with per-task state files, isolated worktrees, review loops and script-checked rules.
jumppad-labs/jumppad
Executes an approved plan step by step through the spektacular CLI, which acts as the state machine, producing code, tests and a changelog.
davila7/claude-code-templates
Design patterns for building autonomous coding agents. An agent skill from davila7/claude-code-templates.
cursor/plugins
Keeps a TSV decision log for long or unattended agent runs, one row per decision with what, why, evidence and result, so a reviewer can check the work later.
andylizf/nonstop
Lets Claude keep working while you are away, after a pre-flight that surfaces blockers, risky operations and open decisions, with a stop hook scoped to the session.
smithersai/smithers
Guides changes to the Smithers agent loop's host wiring: credentialed model seats, budget accounting, sandbox limits and flow-call authorization.
JuliusBrussee/skills
Install a per-turn canary signal (e.g. An agent skill from JuliusBrussee/skills.
JuliusBrussee/skills
Adversarial senior-engineer review for agent-generated plans, designs, and architectures.
JuliusBrussee/skills
Authoritative guide for implementing stunning, accessible, performant UI.
JuliusBrussee/skills
Calibrated grilling session for stress-testing a plan, design, idea, or decision.
JuliusBrussee/skills
De-slop pass for any text. An agent skill from JuliusBrussee/skills.
Categories
Run a spec-driven agent loop where coding tasks live as markdown specs that move through inbox → active → archive, get implemented by Claude Code or Codex, and pass a review gate before they count…. Loop Factory is an agent skill from JuliusBrussee/skills. Run a spec-driven agent loop where coding tasks live as markdown specs that move through inbox → active → archive, get implemented by Claude Code or Codex, and pass a review gate before they count as done.
Loop Factory fits situations like: the user mentions loop factory; A spec-driven loop; an agent factory; wants repeatable/reviewable agent work.
Run `npx skills add JuliusBrussee/skills --skill loop-factory -a claude-code`. Or copy the skill folder (skills/loop-factory in JuliusBrussee/skills) into .claude/skills/loop-factory in your project. Claude Code loads it when a task matches its description.
Run `npx skills add JuliusBrussee/skills --skill loop-factory -a codex`. Or copy the skill folder (skills/loop-factory in JuliusBrussee/skills) into .agents/skills/loop-factory in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add JuliusBrussee/skills --skill loop-factory -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/loop-factory, .gemini/skills/loop-factory, .github/skills/loop-factory and .opencode/skills/loop-factory in your project.
Going by SKILL.md and its folder, Loop Factory needs the command-line tools its instructions call (python3 and git). Our summary lists: Python 3.
SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Loop Factory is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 7.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.8k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Loop Factory: Spec-Driven Development v2 (LichAmnesia/lich-skills, 234 stars), Spektacular Plan Implementation (jumppad-labs/jumppad, 263 stars), Autonomous Agent Patterns (davila7/claude-code-templates, 32k stars) and Show Me Your Work Decision Log (cursor/plugins, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
JuliusBrussee (a GitHub user) maintains it in JuliusBrussee/skills, which has 162 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on August 7, 2026.
Source: JuliusBrussee/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.