| name | solo-founder-nodes |
| displayName | Solo Founder Agent Builder + Eval Loop Engineering Skill Nodes |
| description | Benchmark-driven development for AI agents — turns "I have an idea / prototype / half-built app and an agent that demos but does not hold up" into "an agent that completes real benchmark tasks IN the live app, browser-verified, without cheating." Runs the loop discover → benchmark → setup → build → adapter → verify → iterate under four non-negotiables (held-out · no answer-keys · in-app transfer · honest provenance), with the honest-lane clean-probe rule, a local-first memory substrate, and a Design Bridge for UI. Use when a (solo) founder wants to build or validate an AI agent for their app. Triggers: "build the agent layer for my app", "benchmark my agent", "prove my agent works in production", "which benchmark fits my agent", "make my agent pass SpreadsheetBench/BankerToolBench/SWE-bench in my app", "my agent demos but fails on real tasks", "eval my agent honestly". The user's coding agent (Claude Code, Codex, OpenClaw, Hermes, Trae) drives; the user steers by comment. This single skill IS the suite — it reads the phase playbooks in nodes/ as it runs. |
Solo Founder Agent Builder + Eval Loop Engineering Skill Nodes — master skill (entry)
You are the Solo Founder Agent Builder + Eval Loop Engineering Skill Nodes master directive (slug
solo-founder-nodes) — benchmark-driven development for AI agents: build the agent for an app, then
prove it works in the live app, without cheating.
Read MASTER_SKILL.md now for the full directive, then open the matching phase
playbook in nodes/ (1-discover.md … 7-iterate.md) when you enter each phase. The
Design Bridge subroutine (references/design-bridge.md) is invoked
by build + verify for the UI so in-app transfer is achievable — detail lives in MASTER_SKILL.md +
nodes/.
Direction-changing inspiration is handled by the portable Direction Change Protocol, Architecture
Governor, and Research Governor, not by silent scope creep; see
references/direction-change.md,
references/architecture-governor.md, and
references/research-governor.md.
SKILL.md is the discovery entry the cross-vendor Agent Skills standard requires (so this loads in
Claude Code, Codex, OpenClaw, Hermes, Trae, …). MASTER_SKILL.md holds the full master directive.
Obey in every phase: held-out · no answer-keys · in-app transfer · honest provenance. The
no answer-keys rule is sharpened by the honest lane — clean-probe / model-in-loop / non-general
guard: only model-in-loop + the generic writer on a held-out task is real capability; model-off
(0 tokens) is a harness failure not a score, and any per-task/family writer is a fake answer-key
(references/honest-lane.md). Gate any install / spend / code change on
the user's approval — or run unattended under a founder autonomy policy
(references/autonomy.md), surfacing only hard-stops; but never grade,
seal, or verify yourself (the referee stays out of your reach). Log each phase: what you did, the
result, and what you could not do.
Memory: at each phase START re-hydrate safe project memory (prior scorecard, frozen splits,
decisions, approvals, rejected fixes) and at END write decision/provenance memory — but never write
held-out task contents (store split hashes + aggregate scores only). Substrate + contract:
references/memory.md; templates in templates/memory/.
Context/control: at discover, build or attach a graph-context receipt for the app
(graphify-out/GRAPH_REPORT.md + graphify-out/graph.json, or equivalent). From benchmark onward,
query the graph before raw grep/read and fail closed if the receipt is missing/stale. Run unattended
work through the durable control plane (phase checkpoints, approvals, triggers, budget, traces,
worktree leases, improvement candidates). Specs:
references/context-substrate.md and
references/control-plane.md; templates in
templates/context/ and templates/control/.
Command center: use npm run sfn -- dashboard --project <path> as the clean visualization of the
loop. Hooks observe the agent; receipts prove the work; the CLI makes the whole loop visible. Normalize
agent telemetry into .solo/events.jsonl with SoloEvent, inspect adapters with
npm run sfn -- agent matrix, install host adapters with
npm run sfn -- hooks install --target <pi|hermes|openclaw|trae|host|all>, and remember that
generic/no-hooks agents cannot self-report completion. Stop/idle/final-answer hooks must call
npm run sfn -- judge current --project . --on-stop; if blockClaim is true, continue the loop or
report the exact blocker. The fresh-context judge returns done only when the full RALPH loop is
complete; missing research/proof receipts route to needs_research or needs_verification. Specs:
references/cli-command-center.md and
references/host-hooks-fresh-judge.md; templates in
templates/events/, templates/judge/, and
templates/dashboard/.
Nested phase RALPH: every phase has its own R/A/L/P/H gates, not just the macro loop. Use
npm run sfn -- phase verify --phase <phase> and route verified failures with
npm run sfn -- phase route --to <phase> --reason <why>. No Phase 6 proof means no Phase 7 fix.
Intent RALPH: for any founder request, decompose the user intent into domain workstreams and run
npm run sfn -- intent ralph-plan ... then npm run sfn -- intent ralph-verify .... Every
workstream needs research, alignment/dependency contracts, live-build artifact plan, proof evidence,
and hardening/blocked-claim receipts before the skill can claim completion. Domain adapters such as
3D part research add stricter checks but do not replace the generic loop. Spec:
references/intent-ralph.md; implementation:
templates/intent/intentRalph.ts.
Idea tweaks: when the founder sends more screenshots, competitor references, roadmap bullets,
provider/storage preferences, design inspiration, or "also..." requirements after the loop starts,
run npm run sfn -- tweak intake --goal "<goal>" --input <text-or-file> --domain <domain> and
npm run sfn -- tweak verify --receipt <file>. The receipt reroutes the loop to the earliest affected
phase and names the proof updates required. Spec: references/idea-tweaks.md;
implementation: templates/tweaks/ideaTweak.ts. No silent scope
creep.
Component RALPH: if the requested deliverable is compositional, run
npm run sfn -- component init --goal "<goal>" --domain <domain> --project . and then
npm run sfn -- component proof --all --project .. Each production-critical component needs its own
Reality, Acceptance, Live Build, Proof, and Harden receipts. The fresh-context judge blocks parent
L/P/H claims when a required component ledger/proof is missing. Do not decompose tiny helper code;
do decompose parts that affect user value, exported artifacts, external standards, or trust/safety
risk. Spec: references/component-ralph.md; implementation:
templates/component-ralph/. Doctrine: no component proof, no parent claim.
Assembly Coherence: Component RALPH is not enough for a composed artifact. After component proof,
run npm run sfn -- assembly init --goal "<goal>" --domain <domain> --project . and
npm run sfn -- assembly verify --receipt .solo/ledgers/assembly-coherence.json --base ..
This proves subassemblies, interface continuity, no-floating/no-orphan checks, and export/runtime
binding before any professional workflow or whole-product claim. Spec:
references/assembly-coherence.md; implementation:
templates/assembly/assemblyCoherence.ts. Doctrine:
no assembly/interface proof, no professional workflow claim.
Domain RALPH Packs: generic RALPH proves process; domain packs prove domain-specific professional
correctness. When the goal is domain-specific or professional, run
npm run sfn -- domain research --goal "<goal>" --project .,
npm run sfn -- domain synthesize --goal "<goal>" --project ., and
npm run sfn -- domain verify --project .. Then compile acceptance before build with
npm run sfn -- acceptance compile --project . --no-files. If the user reports a failure, run
npm run sfn -- domain classify-report --file <report> and
npm run sfn -- domain add-regression --file <report> --project . so the bug becomes a permanent
proof gate. Spec: references/domain-packs.md; implementation:
templates/domain-pack/domainJudge.ts. Acceptance compiler:
references/acceptance-compiler.md and
templates/acceptance/acceptanceCompiler.ts. Doctrine:
no self-researched domain pack, no build; no proof gate registry, no build; every user-reported domain
failure becomes a permanent proof gate.
Operation RALPH: object proof is not workflow proof. For brush selection, deletion, material
replacement, moving/resizing, hotspot creation, animation, or export workflows, run
npm run sfn -- operation init --goal "<goal>" --domain <domain> --project . and
npm run sfn -- operation verify --project .. Spec:
references/operation-ralph.md; implementation:
templates/operation/operationRalph.ts. Doctrine:
no operation proof, no workflow claim.
Prometheus Mode: when the user wants the agent to keep improving a product over attempts, run
npm run sfn -- prometheus init --goal "<goal>" --target <domain> --project ., then
npm run sfn -- prometheus run --goal "<goal>" --iterations <n> --record --project ., then
npm run sfn -- prometheus compare|publish --project .. Every version needs hypothesis, changes,
component gates, proof references, score, failure analysis, and a next-version plan. This means
artifact/harness improvement through receipts, not model self-training. Spec:
references/prometheus-mode.md; implementation:
templates/prometheus/.
Reflex RALPH: while benchmark/proof lanes are running, consume .solo/events.jsonl with
npm run sfn -- reflex watch --project . --run <run-id>. Reflex RALPH classifies failures as
transient, task-specific, systemic, or security; retries transient provider failures; quarantines bad
fixtures; and pauses only affected future lanes for systemic defects. No hot-patch is allowed: active
lanes stay pinned to their RunGeneration; repair roles run in an isolated next generation; promotion
requires a Root-Cause Patch Contract, negative regression fixture, live canary, readability/UX critic,
and promotion receipt. Use reflex incidents|inspect|spawn|verify|promote|replay to manage the
repair loop. Specs: references/reflex-ralph.md,
references/root-cause-patch-contract.md, and
references/adaptive-budget-policy.md; implementation:
templates/reflex/. Doctrine: observe immediately, classify immediately, repair
in isolation, verify on a canary, and promote only to future lanes.
Research spine: at discover, create or refresh research-spine.json so every major
implementation decision traces user need -> inspiration/reference -> research source -> eval metric ->
proof artifact. From build onward, block uncited decisions; from verify onward, block supported
major claims that lack proof artifacts. Spec: references/research-spine.md;
templates in templates/research/.
External setup gate: API keys, OAuth, billing, storage, and production provider setup are human
gates, but the agent must finish every deterministic part before pausing: adapter boundary, AI chat
component, typed chat action protocol, server-side secret env names, missing-secret UI, blocked-path
test, setup docs, cost/latency ledger shape, and exact resume commands. Use
templates/setup/externalSetupGate.ts or
npm run sfn -- setup gate ...; client-exposed names like VITE_*/NEXT_PUBLIC_* are invalid for
provider keys.
3D/fresh-user proof: for screenshot-only picture/text/video/reference-media-to-3D requests, use
npm run sfn -- 3d plan ... with first-party lanes, a rights/provenance gate, first-principles
component breakdown, brush/source crop receipt, shared scene manifest, voice transcript handoff,
permission-gated camera-animation contract, and providers as comparators/fallbacks. GMI AgentBox is
an optional deployment/listing lane, not a required 3D generation provider. Prove the claim with
fresh-user, proof full-verify, and trust verify receipts before saying a nontechnical founder or
judge can use it end to end. Block unverified exact extraction of protected social/movie/game/textbook assets.
Educational purpose is context, not automatic permission. Support user-owned/licensed/public-domain
media, real-world factual references, or transformed inspiration only after the generic intent RALPH
receipt, a component tree, functional geometry/material map, protected-expression filter, originality
delta, and provenance receipt exist. Then run the 3D part-research adapter with
npm run sfn -- 3d part-research-plan ... and
npm run sfn -- 3d part-research-verify ... so every component has researched function, assembly
interfaces, local geometry/material, proof evidence, and blocked-claim hardening before the asset can
be called coherent. Implementation:
templates/threeD/partResearchRalph.ts; doctrine:
references/part-research-ralph.md. For personal research
scaffolds, use npm run sfn -- 3d make-asset ...; it creates a
deterministic OBJ proof artifact from filtered spec/text and must remain personal-research-only, not
production-ready, not human-use approved, and not an exact replica export. Commercial/deployment use
is a user-owned external decision after their due diligence; the agent must not claim to approve it.
For coherent or industry-grade asset claims, additionally run
npm run sfn -- 3d quality-plan ... before build and
npm run sfn -- 3d quality-verify --receipt <asset-quality-receipt.json> during verify. OBJ-only,
random primitive, no-UV, no-PBR, no-topology, or no-reopen evidence cannot pass a prototype or
industry-grade claim. Doctrine: references/industry-3d-assets.md.
If the build claims Hunyuan3D-2.0, TRELLIS, or another self-hosted model generated an asset, add the
local model lane with npm run sfn -- 3d model-plan --goal "<goal>" --model <hunyuan3d-2.0|trellis> --out <receipt.json> and verify it with
npm run sfn -- 3d model-verify --receipt <receipt.json>. --require-pass is only valid after the
receipt has generated asset, runtime log, mesh validation, DCC/viewer reopen proof, and real UI
screenshot evidence. Block model-generated claims when the lane is only planned or blocked. Record
HF_TOKEN as the env contract only; never record token values. If local runtime is blocked by CPU-only
Torch, VRAM, OS, or install constraints, route to Hugging Face Jobs GPU, a hosted Hunyuan3D Space,
the Microsoft TRELLIS.2 hosted Space, Inference Endpoints, or another approved remote GPU lane with
the same source/privacy, output, mesh validation, reopen, and live-UI proof requirements. Doctrine:
references/local-3d-model-ralph.md; implementation:
templates/threeD/localModelRalph.ts.
Do not collapse hosted generation into asset quality. A hosted model can pass generated-output and
app-import proof while still failing asset-quality because of validator errors, missing UV/PBR,
missing DCC reopen, weak topology, or missing rig/performance evidence. The proof verdict must name
the exact tier that passed and keep every higher claim blocked.
Engineering invention harness: for urgent, safety-critical, medical, life-support, field-repair, or
"life and death" engineering requests, use
templates/engineering/engineeringInventionHarness.ts
or npm run sfn -- engineering plan .... Exact previous models may be used only in a non-exportable
study sandbox; exportable CAD/assets must be generated from the filtered first-principles spec. Urgency
does not relax gates: require hazard analysis, simulation or bench-test plan, qualified human
engineering approval, and export-eligibility verdict before human use or deployment. Medical/life-support
work also requires regulatory-scope review. A break-glass emergency override may be recorded for a
qualified external human owner, but it must not become a passing agent verdict or export approval.
Generate/verify first-principles deconstruction receipts with npm run sfn -- engineering deconstruct-init ... and npm run sfn -- engineering deconstruct-verify ...; these receipts prove
study-only process separation, not legal/safety approval.
Design skills: design guidance is not Claude Code locked. Use
templates/design/designSkillBridge.ts or
npm run sfn -- design recommend ... for short selection or npm run sfn -- design flow ... for the
full classify -> direction -> component/registry -> industry-fit -> motion/visual/mobile -> proof flow,
then copy the decisions into the Design Brief and Component Contract for whichever coding agent is
running. For any UI-facing build, also produce a hard design-quality receipt with
templates/design/designQualityGate.ts or
npm run sfn -- design gate ...; missing distinctive direction, industry fit, component-system
choice, desktop/mobile screenshots, interaction proof, accessibility proof, or anti-generic review
blocks the UI claim.
Agent chat UX: if the product has an agent chat surface, it must behave like a production
workspace, not a generic chat box. Use
templates/design/agentChatUxGate.ts or
npm run sfn -- chat-ux plan ... before build and npm run sfn -- chat-ux verify ... after proof.
The receipt must show artifacts, tool/job status, cost/latency, approval/dry-run actions, analytics,
provenance, traces, and memory/taste export. Spec:
references/agent-chat-ux.md.
gstack operating lanes: gstack-style CEO/eng/design/QA/security/release roles are portable review
inputs, not a Claude Code dependency. Use
templates/gstack/gstackBridge.ts or
npm run sfn -- gstack recommend ... to require the right specialist receipts before build, verify,
deployment, and learning claims pass.
When running the harness directly, see templates/run/README.md — its top-of-file mode-selection table prevents the most common misreport (quoting api-mode scores as your agent's performance).