Super Simple Software Factory — deploy and operate repeatable agents+code workflows (ADWs) in any codebase.

MITAuto-check passed

Install Sssf

skills CLI
$ npx skills add disler/super-simple-software-factory --skill sssf -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install disler/super-simple-software-factory sssf --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
sssf
GitHub stars
959
Token cost
~1.8k tokens
SKILL.md length
897 words
Files
109 (incl. scripts, references)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Super Simple Software Factory — deploy and operate repeatable agents+code workflows (ADWs) in any codebase.

  • Works in 3 steps: Read cookbooks/sssf_overview.md — the… → ls adws/adw_*.py and read each file's… → Print the ADWs as a table — name, the…
  • The user says /sssf install
  • SKILL.md covers Startup, Orchestrator rules, Request routing (lazy-load the… and Hard rules (enforced across…, plus 1 more section
  • Runs TypeScript scripts from its folder; calls bun, ruff and git

What it does

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.

When your agent uses it

  • The user says /sssf install
  • Wants to create/run/update an ADW
  • Manage the agent roster in sssf.config.yaml
  • Observe running agent workflows

Example prompts

  • “/sssf”

Requirements

  • Python 3
  • Node.js

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Read cookbooks/sssf_overview.md — the system map.
  2. ls adws/adw_*.py and read each file's Phases: docstring line.
  3. Print the ADWs as a table — name, the chain, one line on when to reach for it — and wait for the engineer's request.

What it can do on your machine

Read from SKILL.md and the folder at commit de31374. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 1 file in scripts/ (TypeScript, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • bun
    • ruff
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    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.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~91
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~9.8k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from disler/super-simple-software-factory at commit de31374, republished under its MIT licence (© disler). 897 words, ~1,805 tokens.

Download SKILL.mdSave it as .claude/skills/sssf/SKILL.md (or your agent's skills folder). This skill also uses 108 other files; get the full folder from GitHub.
name
sssf
description
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.
argument-hint
[install | create adw | run adw | update config | ...]

Super Simple Software Factory (SSSF)

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.

Startup

Three steps. Then stop.

  1. Read cookbooks/sssf_overview.md — the system map.
  2. ls adws/adw_*.py and read each file's Phases: docstring line.
  3. Print the ADWs as a table — name, the chain, one line on when to reach for it — and wait for the engineer's request.
| 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:

  • Volunteered state is guessed state. An orchestrator that improvised a status board queried a 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.
  • It spends the context the real task needs, before you know what the task is.
  • It is stale on arrival. State printed before the request describes a system that the very next run changes.

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.

Orchestrator rules

You run the system, observe the system, and help the user interact with it. You do no ADW work yourself:

  • Never implement, plan, or test in an agent's place — launch the ADW and watch it.
  • Never edit files inside adws/adw_data/sessions/ — that is the run record.
  • Observe by querying 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.
  • Report phase status plainly: name, owner, status, error if any.

Request routing (lazy-load the cookbook, then follow it)

RequestCookbook
/sssf install, set up the factory in this repocookbooks/install.md
create a new ADW / workflowcookbooks/create_adw.md
modify an existing ADW chaincookbooks/update_adw.md
create the config / agent rostercookbooks/create_config.md
add or retune an agent (model, thinking, tools, prompts)cookbooks/update_config.md
extend adw_modules with new low-level logiccookbooks/update_modules.md
run / monitor an ADWcookbooks/how_to_prompt_for_the_eng.md first, then cookbooks/run_adw.md
turn a request into an ADW promptcookbooks/how_to_prompt_for_the_eng.md

Deep specs, when needed: references/config.md · references/handoff.md · references/observability.md

Show full SKILL.md (429 more words)Show less

Hard rules (enforced across everything the factory generates)

  1. Validate before running — every ADW declares REQUIRED_AGENTS and calls agents.validate() first; a missing/misnamed agent fails before anything spawns.
  2. Typed outputs only — every agent call pairs with a concrete 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).
  3. Gates validate claims, not guesses — gate(envelope, run) -> list[str] violations; failures return to the same session as corrections.
  4. Four-param rule — any function with more than 4 parameters takes one concrete data type instead (AgentCall, PhaseParams are the pattern).
  5. One agent, one prompt, one purpose — identity lives in system.md; task shape (user prompt + output type) lives at the call site.
  6. ADW scripts stay thin — all low-level logic lives in adw_modules/.
  7. Every phase earns a description — one sentence on what it does and why, never a restatement of its name. It is the only intent the trace, the console, and the UI ever show; commit_plan: "Commit the plan" is rejected at construction, blank is too.
  8. A known command is code, not an agent — if you can write the invocation down (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.
  9. 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.
  10. Every ADW ends in 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.

v1 scope

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

Files

SKILL.md and 108 other files (scripts, references) in .claude/skills/sssf of disler/super-simple-software-factory.

  • SKILL.md
  • apps/visualizer/.oxlintrc.json
  • apps/visualizer/bun.lock
  • apps/visualizer/index.html
  • apps/visualizer/package.json
  • apps/visualizer/public/logo.svg
  • apps/visualizer/public/models/claude.png
  • apps/visualizer/public/models/gemini.png
  • apps/visualizer/public/models/kimi.png
  • apps/visualizer/public/models/openai.png
  • apps/visualizer/public/models/zai.png
  • apps/visualizer/server/db.ts
  • apps/visualizer/server/index.ts
  • apps/visualizer/shared/types.ts
  • apps/visualizer/src
  • … and 94 more

Open the folder on GitHubat commit de31374

Used in 1 other repository

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.

Compare with similar skills

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.

Sssf compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Sssf this skilldisler/super-simple-software-factory959—~1.8kAutomated safety check: PassMIT
Factory MCPwarpdotdev/warp65k1 repos~237Automated safety check: PassAGPL-3.0
It Operationsdavila7/claude-code-templates32k1 repos~3.7kAutomated safety check: PassMIT
Simple Decknexu-io/open-design100k—~1.4kAutomated safety check: PassApache-2.0
Warp Factory Fileswarpdotdev/warp65k1 repos~2.5kAutomated safety check: PassAGPL-3.0
Operator Approval Loopaffaan-m/ECC276k—~3.3kAutomated safety check: PassMIT

Similar skills

  • 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 /…

    65k GitHub starsUsed in 1 repo~237 tokens
    Agent WorkflowsAuto-check passed
  • It Operations

    davila7/claude-code-templates

    Manages IT infrastructure, monitoring, incident response, and service reliability.

    32k GitHub starsUsed in 1 repo~3.7k tokens
    DevOps & CloudAuto-check passed
  • Simple Deck

    nexu-io/open-design

    OpenDesign's operating review: growth, burn, and the concrete path to sustainability without losing the open ethos.

    100k GitHub stars~1.4k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Warp Factory Files

    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.

    65k GitHub starsUsed in 1 repo~2.5k tokens
    DevelopmentAuto-check passed
  • 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.

    276k GitHub stars~3.3k tokensUpdated 4 days ago
    Auto-check passed
  • Factorial Automation

    ComposioHQ/awesome-claude-skills

    Automate Factorial tasks via Rube MCP (Composio). An agent skill from ComposioHQ/awesome-claude-skills.

    77k GitHub starsUsed in 3 repos~738 tokens
    Productivity & AutomationAuto-check passed

Questions about Sssf

What does Sssf do?

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.

When should I use Sssf?

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.

How do I install Sssf in Claude Code?

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.

How do I install Sssf in Codex?

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.

Can I use Sssf in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Sssf need to run?

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.

Does Sssf access the network?

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.

Is Sssf safe to install?

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.

What licence does Sssf use?

Sssf is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Sssf use?

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.

What are the alternatives to Sssf?

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.

Who maintains Sssf?

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.