Install Factory

Bring your own agent. Keep the gates.

One provider-neutral skill, using each host’s native invocation and runner. Start with the verified project-local install in the repository you want Factory to work in.

01

Install for both agents

npx --yes skills add oleg-koval/factory -a claude-code -a codex -y

Run this from the repository where you want to use Factory. It installs the same project-local skill for both hosts.

02

Invoke in your agent

After installation: /factory consult <request>

In Codex, use .agents/skills/factory/SKILL.md specifically, then say consult <request>. This avoids a same-name user-wide skill being selected instead. The consult path reads context and proposes a run without modifying files.

$factory consult <request> is a shorter alternative only if Codex has no other skill named factory. Report the skill path loaded when checking the installation.

What has actually been verified

The public source resolves for both hosts.

A disposable Git repository installed from the public GitHub source to test package discovery, canonical project-local installation, the Claude Code symlink, structural checks, proof verification, and the Codex skill validator. Global installation is not represented as verified.

Your first real run

Bring one bug you actually observed.

Replace the brackets with a real behavior from a codebase you own. Include where you saw it; Factory records that provenance, then tries to reproduce the behavior before proposing a fix.

Claude Code: /factory I observed [actual behavior] after [action] in [feature]. Expected [expected behavior]. Source: [ticket, Sentry event, test, log, or my own observation]. Reproduce it before changing code.

Codex: Use .agents/skills/factory/SKILL.md specifically. Then consult: I observed [actual behavior] after [action] in [feature]. Expected [expected behavior]. Source: [ticket, Sentry event, test, log, or my own observation]. Reproduce it before changing code.

Ask Codex to report the path it loaded so you can confirm it used the project-local install.

Factory records intake under .factory/, asks you to confirm testable acceptance criteria, then creates an external worktree and measures its baseline before code edits. If you have no real behavior to investigate, use consult: it reads and advises without writing files. Don’t invent a bug just to exercise the workflow.

Resume an existing gated run with resume <slug>. Inspect every gate