Factory logo

Factory

Community
MikeFishbeinAtherial
factory

Software Factory — the conductor. One command that walks a semi-technical or non-technical builder through the whole software assembly line - grill the idea sharp, plan it as tasks, define tests that prove each task works, hand off to an overnight coding loop, then review, prove it on video, and explain it in plain language. Reads factory/STATE.md to know where you are and always tells you what's next. Invoke as /factory in Claude Code or Cursor. Triggers - "factory", "software factory", "start a build", "what's next on my build".

Overview

PublisherMikeFishbeinAtherial
Repositoryinfinite-headcount
Skill namefactory
Stars
50
Forks
5
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by MikeFishbeinAtherial on GitHub. Read the source before you install it.

Installation

Install the Factory AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/MikeFishbeinAtherial/infinite-headcount/tree/main/factory
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/MikeFishbeinAtherial/infinite-headcount.git /tmp/infinite-headcount
mkdir -p .claude/skills
cp -r /tmp/infinite-headcount/factory .claude/skills/factory
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Factory in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Factory on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Factory is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Software Factory

A software factory for people who don't write code by hand. You bring the idea and the decisions; the factory brings the process: sharpen → plan → prove → build overnight → verify → show. Every stage produces a file you can read, and you never need to read code to know whether the thing actually works.

The one rule that makes it work (Karpathy: "if you can't evaluate it, you can't auto-research it"): every task gets a test that proves it works before any code is written. The overnight loop can run unattended because proof lives outside the agent's own opinion of itself.

This skill is the conductor. It never does stage work itself — it reads the state file, tells you where you are in plain language, and runs (or offers) the right stage skill. Each stage skill also works standalone.

The assembly line

#StageSkillWhat you get
1Sharpen the ideafactory-plan (intake)factory/BRIEF.md — what we're building and why
2Plan the tasksfactory-planfactory/PLAN.md — staged task list
3Define the prooffactory-testsacceptance criteria + tests attached to every task in PLAN.md
—(offer) Explain the plan like I'm 10factory-explainfactory/GUIDE.md section + diagrams
4Walkthrough + handofffactory-handofffactory/HANDOFF.md — the one markdown file you give the coding loop
5The loop builds itCursor loop / Claude Code /loop (if you have a /loop command; otherwise see factory-handoff for a paste-in loop prompt)code + factory/progress.md + factory/log.md
6Fresh-eyes reviewfactory-reviewfactory/REVIEW.md — did it really meet the contract?
7Proof videoauto-loom-proofnarrated MP4 of the app passing its own acceptance criteria
—(offer) Explain what got built like I'm 10factory-explainupdated factory/GUIDE.md

State: factory/STATE.md

Everything the factory knows about a project lives in a factory/ folder in the project root — never in chat history. STATE.md is the pointer:

markdown
# Factory State
project: <name>
stage: <1-7 or "done">
stage_name: <plain-language name>
last_updated: <YYYY-MM-DD HH:MM>
next_action: <one sentence — what happens next and which skill runs it>
notes: <anything the next session must know>

Update STATE.md at every stage transition. The crash test: a brand-new session (or a different tool — Claude Code today, Cursor tomorrow) must be able to read factory/STATE.md and continue without asking the user to re-explain.

When /factory is invoked

  1. Look for factory/STATE.md in the project root.
  2. Not found → new project. Say what the factory is in two sentences, create factory/ and STATE.md at stage 1, then run the intake interview (factory-plan).
  3. Found → read it, then tell the user in plain language: where the build stands, what stage is next, and what it involves. Then ask before running it — one question, e.g. "The loop finished — next is a fresh-eyes review of what it built. Want me to run it?"
  4. Stage 5 special case (loop running/pending): if HANDOFF.md exists but progress.md shows incomplete work, ask whether the loop already ran.
    • Not yet → point them at the launch instructions at the top of HANDOFF.md.
    • Ran and finished → advance to stage 6 and offer the review.
    • Ran and got stuck → read factory/progress.md and factory/log.md, explain in plain language where it stopped and why, and offer either a relaunch (same HANDOFF.md) or a trip back to stage 2/3 if the plan was the problem.
  5. After any stage completes, update STATE.md and name the next stage.

Conductor rules

  • Plain language always. The user may not know what a "diff", "worktree", or "CI" is. Say "a safe copy of your project" instead of "worktree". Every time a technical term is unavoidable, define it in the same sentence.
  • One question at a time. Never present a wall of questions or options.
  • Decisions are the user's; facts are yours. Look up anything discoverable in the project before asking. Only decisions get asked.
  • Never skip stage 3. A task list without acceptance criteria is the #1 cause of an overnight loop producing confident garbage. If the user wants to rush to code, explain the one rule above — then let them decide.
  • Never launch the overnight loop yourself. Stage 4 ends with launch instructions; the human presses the button.
  • Offer, don't force, the explainer. After stage 3 and after stage 6, offer factory-explain. It's the fastest way for a non-technical builder to catch a wrong plan before it costs a night.
  • Re-entry from anywhere. If the user invokes a stage skill directly and it completes, that skill updates STATE.md — the conductor trusts the file, not its memory.

Why this exists (the loop-engineering canon, condensed)

  • Karpathy: if you can't evaluate it, you can't automate it. Tests first.
  • Boris Cherny (creator of Claude Code): "I don't prompt anymore — I write loops." A loop = builder + checker passing work back and forth until clean, with a circuit breaker so failure can't run all night.
  • Thariq Shihipar (Claude Code eng lead): every agent turn is gather context → act → verify → repeat. Write the verifier before you scale the generator.
  • The factory is those ideas packaged so you don't have to hold them in your head: stage 3 writes the verifier, stage 4 writes the loop, stage 6 is the independent checker.

Install (both tools, all projects)

Copy the factory* and auto-loom* skill folders into:

  • Claude Code: ~/.claude/skills/
  • Cursor (2.4+): ~/.cursor/skills/

Then /factory works in any project in either tool. Per-project install also works: .claude/skills/ or .cursor/skills/ inside the repo.

Frequently asked questions

What does the Factory AI skill do?

Software Factory — the conductor. One command that walks a semi-technical or non-technical builder through the whole software assembly line - grill the idea sharp, plan it as tasks, define tests that prove each task works, hand off to an overnight coding loop, then review, prove it on video, and explain it in plain language. Reads factory/STATE.md to know where you are and always tells you what's next. Invoke as /factory in Claude Code or Cursor. Triggers - "factory", "software factory", "start a build", "what's next on my build".

Why use Factory on TypingMind?

Because you install it once and use it with any model. Factory is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Factory in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/MikeFishbeinAtherial/infinite-headcount/tree/main/factory. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Factory?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Factory?

As many as you like. As long as a model supports skills, you can use Factory with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Factory AI skill free?

Yes. It is published on GitHub by MikeFishbeinAtherial under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇