Factory MCP
warpdotdev/warp
Use the Warp Factory MCP to hand work to a software factory and collaborate with it — bundle local work and send it to the cloud, find factory tasks from a Slack thread / Linear ticket /…
Super Simple Software Factory — deploy and operate repeatable agents+code workflows (ADWs) in any codebase.
$ npx skills add disler/super-simple-software-factory --skill sssf -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install disler/super-simple-software-factory sssf --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/disler/super-simple-software-factory.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/sssf .claude/skills/sssf && 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 "sssf" agent skill from https://github.com/disler/super-simple-software-factory/tree/main/.claude/skills/sssf into .claude/skills/sssf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sssf", 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/disler/super-simple-software-factory/tree/main/.claude/skills/sssfType 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 disler/super-simple-software-factory --skill sssf -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install disler/super-simple-software-factory sssf --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/disler/super-simple-software-factory.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/sssf .agents/skills/sssf && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "sssf" agent skill from https://github.com/disler/super-simple-software-factory/tree/main/.claude/skills/sssf into .agents/skills/sssf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sssf", 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 disler/super-simple-software-factory --skill sssf -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install disler/super-simple-software-factory sssf --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/disler/super-simple-software-factory.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/sssf .cursor/skills/sssf && 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 "sssf" agent skill from https://github.com/disler/super-simple-software-factory/tree/main/.claude/skills/sssf into .cursor/skills/sssf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sssf", 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/disler/super-simple-software-factory.git --path .claude/skills/sssf--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 disler/super-simple-software-factory --skill sssf -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install disler/super-simple-software-factory sssf --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/disler/super-simple-software-factory.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/sssf .gemini/skills/sssf && 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 "sssf" agent skill from https://github.com/disler/super-simple-software-factory/tree/main/.claude/skills/sssf into .gemini/skills/sssf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sssf", 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 disler/super-simple-software-factory sssfInstalls 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 disler/super-simple-software-factory --skill sssf -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/disler/super-simple-software-factory.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/sssf .github/skills/sssf && 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 "sssf" agent skill from https://github.com/disler/super-simple-software-factory/tree/main/.claude/skills/sssf into .github/skills/sssf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sssf", 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 disler/super-simple-software-factory --skill sssf -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install disler/super-simple-software-factory sssf --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/disler/super-simple-software-factory.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/sssf .opencode/skills/sssf && 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 "sssf" agent skill from https://github.com/disler/super-simple-software-factory/tree/main/.claude/skills/sssf into .opencode/skills/sssf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sssf", 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.
sssfSuper Simple Software Factory — deploy and operate repeatable agents+code workflows (ADWs) in any codebase.
Sssf is an agent skill from disler/super-simple-software-factory. Super Simple Software Factory — deploy and operate repeatable agents+code workflows (ADWs) in any codebase. Use when the user says /sssf install, wants to create/run/update an ADW, manage the agent roster in sssf.config.yaml, or observe running agent workflows. Keywords - sssf, software factory, ADW, AI developer workflow, agent pipeline, install factory.
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 114 other files, including scripts and reference files (for example `apps/visualizer/.oxlintrc.json`, `apps/visualizer/package.json` and `apps/visualizer/server/db.ts`).
The repository describes itself as: Repeatable agents-plus-code workflows, packaged as one skill, stamped into any repo. Deterministic Python owns the graph; coding agents are bounded nodes inside it. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit de31374. 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.
Ships 1 file in scripts/ (TypeScript, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
bunruffgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From 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.
Sssf loads about 1.8k tokens when it runs, and up to ~9.8k if it reads all its reference files. Until then it costs about 91 tokens; SKILL.md has 897 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); the scripts in this folder are not scanned.
The full file from disler/super-simple-software-factory at commit de31374, republished under its MIT licence (© disler). 897 words, ~1,805 tokens.
.claude/skills/sssf/SKILL.md (or your agent's skills folder). This skill also uses 108 other files; get the full folder from GitHub.Reusable combination of agents plus code: deterministic Python ADW scripts own sequencing, retries, and acceptance; coding agents (Pi in v1) work inside bounded phases; typed JSON envelopes carry context between them; everything streams into SQLite for the polled visualizer. Agent proposes, code disposes.
Three steps. Then stop.
ls adws/adw_*.py and read each file's Phases: docstring line.| ADW | Chain | Use when |
|---|---|---|
| adw_scout | engineer → scout | read-only recon; nothing changes |
| adw_simple_sdlc | plan → build → test → review → document, 3 commits | the work is real and its shape is not obvious |Nothing else. No trace-db queries, no reading the config or the ADW scripts' bodies, no repo inventory, no last-runs summary, no diagnosing an old failure, no "current state" dashboard. None of it was asked for, and it is not free:
runs table and a payload column — neither exists (sessions, payload_json). The spec that would have said so is references/observability.md, one lazy read away. Probing to look prepared is how you end up confidently wrong in your first message.Everything else — the db schema, the roster, the handoff contract — is lazy-loaded through the routing table below, when a request actually calls for it. Reading it early defeats the mechanism.
Two exceptions, both narrow: if the engineer's first message already contains a request, skip the waiting and route it; and if the factory is plainly not installed (no adws/, no config), say that in one line instead of the table.
You run the system, observe the system, and help the user interact with it. You do no ADW work yourself:
adws/adw_data/sessions/ — that is the run record.adws/adw_data/sssf.db (WAL — reads never block writers) when observing is the task. This is a capability, not a startup step: query it to follow a run you launched or one the engineer asked about, never to volunteer a status report nobody requested.| Request | Cookbook |
|---|---|
/sssf install, set up the factory in this repo | cookbooks/install.md |
| create a new ADW / workflow | cookbooks/create_adw.md |
| modify an existing ADW chain | cookbooks/update_adw.md |
| create the config / agent roster | cookbooks/create_config.md |
| add or retune an agent (model, thinking, tools, prompts) | cookbooks/update_config.md |
| extend adw_modules with new low-level logic | cookbooks/update_modules.md |
| run / monitor an ADW | cookbooks/how_to_prompt_for_the_eng.md first, then cookbooks/run_adw.md |
| turn a request into an ADW prompt | cookbooks/how_to_prompt_for_the_eng.md |
Deep specs, when needed: references/config.md · references/handoff.md · references/observability.md
REQUIRED_AGENTS and calls agents.validate() first; a missing/misnamed agent fails before anything spawns.EnvelopeBase subclass in adw_modules/data_types.py; parse failures re-prompt the same session (context intact), never restart.
The output contract is a synced triad: (a) the type in data_types.py, (b) the JSON example in the agent's user.md ## Report section, (c) output_type= at every call site. These are ONE contract — change any one, update all three in the same edit (grep the type name to find every call site).gate(envelope, run) -> list[str] violations; failures return to the same session as corrections.AgentCall, PhaseParams are the pattern).system.md; task shape (user prompt + output type) lives at the call site.adw_modules/.commit_plan: "Commit the plan" is rejected at construction, blank is too.bun test, ruff check), it belongs in a kind="code" phase via adw_modules/quality.py. Agents are for the parts that need reading and deciding; failures come back to the builder as an envelope either way.tools: is a capability list, writes: is the boundary — bash runs anything (including git checkout) and write reaches any path, so a tool list can never make "this agent changes nothing" true. writes: per agent and protected_files in defaults are enforced in adw_modules/permissions.py after every agent call: unauthorized changes are rolled back and the phase dies. The session runtime under data_dir is always writable — a read-only agent is read-only with respect to the REPO, never mute.run.finish() — phases passing is not the same as the run being accepted. A test phase that ran a red suite succeeded at its job. Pass accepted= so the exit code, the session status, and the banner are decided together and cannot disagree.Pi coding agent only (coding_agent: pi), default model gemini-3.6-flash via openrouter, thinking medium. claude_code is schema-valid but stubbed until v2. The visualizer app ships in a later pass — observe via sqlite queries until then.
© disler, 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 108 other files (scripts, references) in .claude/skills/sssf of disler/super-simple-software-factory.
Open the folder on GitHubat commit de31374
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders. This page covers the copy in disler/super-simple-software-factory, which our catalogue first saw on October 7, 2026.
Sssf 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 |
|---|---|---|---|---|---|---|
| Sssf this skilldisler/super-simple-software-factory | 959 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Factory MCPwarpdotdev/warp | 65k | 1 repos | ~237 | Automated safety check: Pass | AGPL-3.0 | |
| It Operationsdavila7/claude-code-templates | 32k | 1 repos | ~3.7k | Automated safety check: Pass | MIT | |
| Simple Decknexu-io/open-design | 100k | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Warp Factory Fileswarpdotdev/warp | 65k | 1 repos | ~2.5k | Automated safety check: Pass | AGPL-3.0 | |
| Operator Approval Loopaffaan-m/ECC | 276k | — | ~3.3k | Automated safety check: Pass | MIT |
warpdotdev/warp
Use the Warp Factory MCP to hand work to a software factory and collaborate with it — bundle local work and send it to the cloud, find factory tasks from a Slack thread / Linear ticket /…
davila7/claude-code-templates
Manages IT infrastructure, monitoring, incident response, and service reliability.
nexu-io/open-design
OpenDesign's operating review: growth, burn, and the concrete path to sustainability without losing the open ethos.
warpdotdev/warp
Authors and edits file-based Warp software factory definitions rooted at factory.yaml, covering agents, automations, scorers and webhooks, and validates them before a pull request.
affaan-m/ECC
Operator approval contract with internal filing notices for agent-drafted outbound messages, hashed drafts, epoch-keyed decisions, durable delivery claims and receipts, and a pre-draft baseline gate.
ComposioHQ/awesome-claude-skills
Automate Factorial tasks via Rube MCP (Composio). An agent skill from ComposioHQ/awesome-claude-skills.
Super Simple Software Factory — deploy and operate repeatable agents+code workflows (ADWs) in any codebase. Sssf is an agent skill from disler/super-simple-software-factory. Super Simple Software Factory — deploy and operate repeatable agents+code workflows (ADWs) in any codebase.
Sssf fits situations like: the user says /sssf install; wants to create/run/update an ADW; manage the agent roster in sssf.config.yaml; observe running agent workflows.
Run `npx skills add disler/super-simple-software-factory --skill sssf -a claude-code`. Or copy the skill folder (.claude/skills/sssf in disler/super-simple-software-factory) into .claude/skills/sssf in your project. Claude Code loads it when a task matches its description.
Run `npx skills add disler/super-simple-software-factory --skill sssf -a codex`. Or copy the skill folder (.claude/skills/sssf in disler/super-simple-software-factory) into .agents/skills/sssf 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 disler/super-simple-software-factory --skill sssf -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sssf, .gemini/skills/sssf, .github/skills/sssf and .opencode/skills/sssf in your project.
Going by SKILL.md and its folder, Sssf needs TypeScript for the scripts in its folder and the command-line tools its instructions call (bun, ruff and git). Our summary lists: Python 3; Node.js.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Sssf is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.2k 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 8k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Sssf: Factory MCP (warpdotdev/warp, 65k stars), It Operations (davila7/claude-code-templates, 32k stars), Simple Deck (nexu-io/open-design, 100k stars) and Warp Factory Files (warpdotdev/warp, 65k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
disler (a GitHub user) maintains it in disler/super-simple-software-factory, which has 959 GitHub stars. The repository was last updated on August 4, 2026.
Source: disler/super-simple-software-factory on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.