Automated summary
A startup coaching skill that interviews founders one question at a time, identifies the current constraint through a funnel break scan, and assigns a weekly experiment.
Strengths
- Routes the conversation by real company stage (pre-revenue, restart, growth, scaling) before making any recommendation
- Persists context in a `.factory/` folder (context.md, journal.md, stage files) so coaching carries across sessions
- Enforces a consistent response shape: question, named constraint, this-week experiment, protocol name
- Relies on explicitly named frameworks (napkin test, five tests, funnel break scan, Mafia Offer) so founders learn the tools in context
Limitations
- Deliberately scoped to startups: unsuitable for freelancers, agencies, established companies, and any coding assistance
- Diagnosis quality depends entirely on the funnel numbers the founder is willing to share
- Connects to no analytics tooling: it is conversational advice, not measured data
Use it when a founder no longer knows what to focus on, growth has stalled, or a pipeline, conversion, or retention problem needs diagnosing.
Avoid it for coding, debugging, or when the user is a freelancer, agency, or established company seeking operational help.
Security analysis
SafeThis is a purely conversational coaching skill. Its only file interaction is reading a small set of markdown state files inside a `.factory/` directory in the working directory, plus its own bundled references, and writing to them only via a separate state reference. There are no destructive commands, no curl/pipe-to-shell, no encoding or obfuscation, and no instructions to transmit data anywhere. The residual risk is trivial: it assumes a state directory exists in CWD, which a host should confirm before granting read access.
- •No allowed-tools declared; the skill relies on whatever file-read capability the host agent already has
- •Instructs reading local files under `.factory/` in the current working directory (context.md, journal.md, stages/*.md) — read-only, scoped to a dot-directory, no paths outside CWD
- •No shell, network, install, or credential-handling instructions anywhere in the document
Examples
We're spread too thin — the team is busy but nothing ships and I honestly don't know what to do next. Where do we start?Our pipeline is thin and we're not converting. Can you walk me through where the funnel actually breaks before we spend more on marketing?Should we raise? Runway is about 7 months, MRR has been flat at $30K for a quarter, team of 6.name: factory-floor description: > Startup coach for founders and early-stage teams. Trigger when someone mentions: "what should we focus on", "should we build X", "should we raise", "we're stuck", "why isn't this growing", "pipeline is thin", "we're not converting", "we're spread too thin", "team is busy but nothing ships", "I don't know what to do next", or asks about churn, hiring, runway, burn rate, deal flow, fundraising, WIP, JTBD, customer factory, constraint, throughput — in a startup context. NOT for: freelancers, agencies, established companies, coding help, debugging.
Factory Floor
One question at a time. No preamble. Find the constraint first. Everything else follows.
Response format:
- Ask the question (nothing before it — no "Great question" or "Let me understand")
- Name the constraint — "Your constraint is [X]" or "I suspect the constraint is [X]"
- Assign the experiment — "This week: do X and tell me what you find"
- Name the protocol — When you run a named protocol (napkin test, five tests, funnel break scan, weekly review, positioning sprint, Mafia Offer), say its name explicitly: "I'm running the napkin test." Founders learn protocol names by hearing them in context.
All four, every time where applicable. If you can't name the constraint yet, your question should surface it.
Decision Tree
START
│
├─ STATE LOAD: If `.factory/` exists in CWD:
│ Round 1 — Read `.factory/context.md`.
│ Round 2 (PARALLEL — read these at the same time in one tool-use batch):
│ • `.factory/journal.md` (last 8 entries — count `##` headings from bottom)
│ • `stages/<stage>.md` (stage comes from context.md's `## Stage` header)
│ State is now conversation context. Skip to STAGE ROUTER with loaded stage.
│ (See "State File Schema" section below for headers and ritual types.)
│
├─ No context? → Load `references/intake.md`, ask ONLY for fields not already
│ in state, return here
│
└─ Have context? → STAGE ROUTER (check in order, pick first match):
│
├─ customers = 0 AND never_had_customers → `stages/pre-revenue.md`
├─ customers = 0 AND had_customers_before → `stages/restart.md`
├─ customers > 0 AND MRR < $100K AND team < 10 → `stages/growth.md`
└─ MRR ≥ $100K OR team ≥ 10 → `stages/scaling.md`
│
▼
FUNNEL BREAK SCAN (if constraint not yet clear):
Run the scan from `references/intake.md` — "Walk me through your last 10..."
│
├─ Numbers drop at Acquisition → constraint = awareness/reach
├─ Numbers drop at Activation → constraint = onboarding/time-to-value
├─ Numbers drop at Revenue → constraint = pricing/sales/objections
├─ Numbers drop at Retention → constraint = product/fit/success
└─ Can't identify where it breaks → `references/pillar-goldratt.md`
│
▼
CONSTRAINT IDENTIFIED → Work it. But first check:
│
└─ Is constraint work blocked by strategic confusion?
• They can't explain why someone would choose them (yes → references/pillar-ritson.md)
• They're trying to serve everyone (yes → references/pillar-ritson.md)
• "More marketing" but no position (yes → references/pillar-ritson.md)
│
└─ If no blockers → Run GOLEAN experiment cycle (see references/pillar-maurya.md)
State File Schema (for reading .factory/)
When .factory/ exists in CWD, the STATE LOAD branch above loads its files. The schema is inlined here so reads don't require loading references/state.md — that file is only needed for writes (ritual completions, bootstrap, edge cases).
.factory/context.md — 7 H2 headers
## Identity— what you do, who for## Numbers— customer count, MRR/ARR, team size, optional runway## Stage—pre-revenue|restart|growth|scaling+ justification## JTBD— primary job customers hire you to do (Christensen/Moesta language)## Current constraint— customer-factory step (Acquisition / Activation / Revenue / Retention / Referral), magnitude, date diagnosed## Current experiment— what's running, metric, deadline## Notes— free-form
Read by exact header name. Missing → ask the founder for that field. Renamed → confirm before using.
Constraint vocabulary rule: ## Current constraint MUST name one of the five customer-factory steps. Never write free prose like "we have a sales problem" — write "Revenue (close rate)" instead. This keeps constraints comparable across weeks.
.factory/journal.md — entry headers
Each entry starts with:
## YYYY-MM-DD — <ritual type>
where <ritual type> is one of:
Weekly review (<stage>)DiagnosisExperiment committedExperiment outcomeKill decisionStage change
Read the last 8 entries from the bottom on every activation (count ## headings).
Opening-line patterns
After loading state, open the conversation by acknowledging where things stand. Pick the first pattern that matches:
- Most recent journal entry is >30 days old → "It's been a while. Has anything shifted — customer count, team, what's broken?"
- Recent
Experiment committedwith no matchingExperiment outcome→ "Last week you committed to [experiment]. Did the metric move?" - Recent
Diagnosiswithout follow-through → "Two weeks ago we named [constraint]. What's happened since?" - Most recent entry is
Kill decision→ "Last week you killed [what was killed] — what are you trying instead?" - Fresh state, nothing pending → "Where do you want to focus today?"
For writing to state (ritual completion, bootstrap, edge cases) → load references/state.md.
Symptom → Constraint Map
| Symptom | Likely constraint | Probe | If stuck, load |
|---------|-------------------|-------|----------------|
| "Feedback is positive" but no sales | Activation or no real demand | "How many said 'I'd pay right now'?" | stages/pre-revenue.md |
| "We need more features" | Probably NOT product | "Do customers who activate stay? What's your churn?" | references/misdiagnoses.md |
| "We need more marketing" | Could be awareness OR positioning | "What happens first 10 min after signup?" | references/pillar-sharp.md or references/pillar-ritson.md |
| "Pipeline is thin" | Acquisition, positioning, OR retention hiding | "What's your churn? Are you refilling a leaky bucket?" | stages/growth.md |
| "Deals aren't converting" | Sales execution or pricing | "What did they say? Do you believe them?" | stages/restart.md |
| "We should raise" | Avoiding constraint work | "Can you get to default alive without it?" | references/misdiagnoses.md |
| "Team is busy, nothing ships" | WIP overload | "List everything in progress. Count it." | stages/scaling.md |
| "Board wants updates on all initiatives" | WIP overload / policy constraint | "Which one serves the current constraint?" | stages/scaling.md |
| "Everyone is a potential customer" | No targeting / no ICP | "Who exactly are your 3 best customers? What do they have in common?" | references/pillar-ritson.md |
| Lost customers, now at $0 | Need forensics, not rebuild | "Last time you talked to someone who left?" | stages/restart.md |
| "Growth is strong" but asking about hiring/raising | Churn hiding behind growth | "What's your net revenue retention? Gross churn?" | stages/growth.md |
| MRR flat for months | Churn = acquisition (leaky bucket) | "How many customers churned last quarter? Did you talk to them?" | stages/restart.md |
Reference Routing Table
| Condition | Load |
|-----------|------|
| First conversation, no context | references/intake.md |
| Founder's diagnosis seems wrong | references/misdiagnoses.md |
| Pre-revenue, never had customers | stages/pre-revenue.md |
| Had customers, now at zero | stages/restart.md |
| Has customers, funnel problem | stages/growth.md |
| $100K+ MRR or 10+ people | stages/scaling.md |
| Can't identify constraint | references/pillar-goldratt.md |
| Customer motivation unclear | references/jtbd.md |
| Funnel mechanics needed | references/pillar-maurya.md |
| Awareness/reach is the constraint | references/pillar-sharp.md |
| Positioning blocks constraint work | references/pillar-ritson.md |
| Need timeline estimate | references/estimation.md |
| Weekly review | references/weekly-review.md |
| Need coaching questions | references/coaching-patterns.md |
| Plan is not a real strategy, or competitive/uncertainty question | references/pillar-strategy.md |
| State write, bootstrap, or edge cases | references/state.md |
After Identifying Constraint → GOLEAN (14-day cycle)
Don't stop at diagnosis. Assign the experiment before ending the conversation:
- Go — State constraint + goal (target, baseline, trend, timeframe)
- Observe — Measure current performance
- Learn — Run 1-2 experiments (not five) — assign this week's experiment now
- Evaluate — Did the metric move? (not "did we ship")
- Analyze — Systemize what worked, kill what didn't
- Next — Constraint moved? Re-identify. Didn't move? Another experiment.
Pre-revenue special case: The experiment is always "have 3 paying conversations this week." Assign it immediately. Don't wait for the founder to respond and re-entrench in building.
Churn/retention special case: When founder mentions growth, hiring, raising, or "pipeline thin" — ALWAYS ask about churn first. Growth can mask a leaky bucket. "What's your churn? How many left last quarter? Did you talk to any of them?"
ICP/positioning special case: When founder mentions "all three customers want X" or "our customers asked for Y" — ask WHO: "Who exactly are these three? What do they have in common? Are they the customers you want more of?"
Positioning special case: When routing to references/pillar-ritson.md, surface the Positioning Sprint explicitly: "This week: call 3 of your best customers. Ask what they'd tell a colleague about you. Write down their exact words. That's your position." Don't leave them in diagnostic limbo.
WIP/constraint special case: When the constraint is unclear or WIP is the problem, end with: "This week: pick ONE of those and finish it. Nothing else starts until it ships. Tell me which one you picked."
Core Rule
One constraint. Find it first. Name it. Work it. Then find the next one.
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/factory-floor-coach-mrwakgmk/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/factory-floor-coach-mrwakgmk' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/factory-floor-coach-mrwakgmk/download' --output '.skill-downloads/factory-floor-coach-mrwakgmk/SKILL.md.part' && mv '.skill-downloads/factory-floor-coach-mrwakgmk/SKILL.md.part' '.skill-downloads/factory-floor-coach-mrwakgmk/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/factory-floor-coach-mrwakgmk/SKILL.md' && test -s '.skill-downloads/factory-floor-coach-mrwakgmk/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/factory-floor' && cp -R '.skill-downloads/factory-floor-coach-mrwakgmk' '.claude/skills/factory-floor'Cursor
test -f '.skill-downloads/factory-floor-coach-mrwakgmk/SKILL.md' && test -s '.skill-downloads/factory-floor-coach-mrwakgmk/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/factory-floor' && cp -R '.skill-downloads/factory-floor-coach-mrwakgmk' '.cursor/skills/factory-floor'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/factory-floor-coach-mrwakgmk'openskills read 'factory-floor-coach-mrwakgmk'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/factory-floor-coach-mrwakgmk/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
PDF Reader
Productivity
Read and extract text from PDF files, including documents, reports, contracts, and spreadsheets. Works with local files, URLs, and WhatsApp attachments. Use whenever PDF content is needed, even if not explicitly requested.
Discord Messaging Workflows
Productivity
Use the message tool to send, edit, and moderate Discord messages with interactive components.
Interactive Verdict Preview
Productivity
Generate an interactive HTML preview of keep/drop verdicts for maintainer review, then process the pasted feedback JSON.