Goalx
One Goal In. Continuous Software Evolution Out. GoalX is an autonomous engineering framework that turns a codebase goal into durable research, implementation, verification, and iterative improvement across isolated worktrees.
Install / Use
/learn @vonbai/GoalxREADME
GoalX
One Goal In. Continuous Software Evolution Out.
GoalX is a durable local framework for autonomous investigation, implementation, verification, and continuous software improvement.
goalx run "this product is a working investor-ready demo someone can open and immediately understand"
# go to sleep
# wake up to progress, reports, and mergeable work
GoalX is not a one-shot prompt wrapper. It gives one master agent a durable run identity, isolated worktrees, runtime control, saved artifacts, and the ability to continue or recover later without relying on chat history luck.
Master decomposes the objective into typed obligations and dispatches parallel sessions:

Runs accumulate across projects:

Why GoalX
- Autonomous execution across investigation and implementation: one master reads the repo, chooses the path, dispatches durable sessions, reviews results, and keeps moving.
- Durable local control: runs, journals, reports, leases, saved artifacts, and runtime state survive restarts.
- Worktree-isolated parallelism: workers can branch into dedicated worktrees and merge back through explicit
keepboundaries. - Evidence-first closeout: GoalX records assurance evidence, but the master still owns judgment.
- Continuous evolution:
--intent evolvelets the run keep finding and executing the next best improvement until the budget boundary says stop.
Start Here
GoalX has two normal entry paths.
1. Skill-First Operator Path
If Claude or Codex is your operator:
make install
make skill-sync
make skill-sync installs the same GoalX skill to:
~/.claude/skills/goalx~/.codex/skills/goalx
Use it like this:
- Claude Code: ask Claude to use GoalX for this repo.
- Codex: tell the assistant to use
$goalx.
This is the preferred operator path when you want the assistant to launch, observe, redirect, recover, verify, save, and continue runs correctly instead of improvising raw tmux sequences.
2. Direct CLI Path
If you are operating GoalX yourself:
goalx run "the dashboard feels production-ready, fast, and clear on desktop and mobile"
goalx run "the onboarding feels polished and credible for first-time users"
goalx run --objective-file /abs/path/to/objective.txt
goalx run is the canonical public entrypoint. Fresh runs always materialize intake and compile the success plane before the master starts working.
Use --objective-file for long or multi-line objectives so shell quoting does not silently corrupt the launch command.
Canonical Model
GoalX now centers these durable surfaces:
objective-contract: immutable extracted user-clause contractobligation-model: canonical mutable boundary of what must be trueassurance-plan: scenario-based verification strategyevidence-log: recorded assurance evidencecognition-state: repo cognition provider factsimpact-state: changed files and impact factsfreshness-state: whether evidence or cognition is stale
Legacy goal and acceptance runtime surfaces are gone from the normal runtime path. Phase continuation now fails fast if a saved run is missing canonical surfaces.
Default Operator Loop
The normal loop is:
goalx run "goal"
goalx status
goalx observe
goalx context
goalx afford
goalx tell "redirect"
goalx verify
goalx result
goalx save
Meaning:
goalx status: durable control summary, kept compact by defaultgoalx observe: full diagnostic path for transport and runtime factsgoalx context: canonical identity, paths, cognition, and assurance factsgoalx afford: current run-scoped command surfacegoalx schema <surface>: inspect the canonical authoring contract before writing machine-consumed durable stategoalx durable write <surface> ...: write canonical durable state after inspecting the contractgoalx tell: durable redirect to master or a workergoalx verify: record assurance evidence, not a completion verdictgoalx result: read the current result surfacesgoalx save: export a saved run for later continuation
Fresh runs can briefly show launching while bootstrap settles. In that window, prefer:
goalx status
goalx observe
goalx wait --run RUN master --timeout 30s
Do not jump to goalx recover just because master or runtime-host has not published stable lease facts yet.
Resource Safety
GoalX now treats obvious memory risk as framework execution safety.
- GoalX records host, PSI, cgroup, and GoalX-owned RSS facts in
control/resource-state.json - healthy runs keep default operator surfaces compact
- abnormal resource pressure appears first as a short
statussummary observeis the path for full resource diagnosis- unsafe new execution can be refused explicitly for
add,resume,replace, orrecover - GoalX does not silently reduce effort or shrink fan-out to hide pressure
Write Better Goals
Write the end state, not the route.
Good:
goalx run "users can complete the core workflow reliably in production"
goalx run "the codebase has a high-quality architecture audit and a prioritized fix plan"
goalx run "this project keeps getting better until the budget runs out" --intent evolve --budget 8h
Bad:
goalx run "1. inspect auth 2. patch middleware 3. update tests"
When the user is vague, keep the goal outcome-focused:
- "make deploy work" ->
goalx run "the project deploys cleanly to the target host in one step" - "audit this repo" ->
goalx run "full audit of this project with an actionable improvement plan" - "keep improving this" ->
goalx run "this project keeps getting better until the budget runs out" --intent evolve --budget 8h
Intent Routing
Intent biases master behavior without creating separate runtime engines.
goalx run "goal"
goalx run --objective "goal"
goalx run --objective-file /abs/path/to/objective.txt
goalx run "goal" --intent explore
goalx run "goal" --intent explore --readonly
goalx run "goal" --intent evolve --budget 8h
goalx run --from RUN --intent debate
goalx run --from RUN --intent implement
goalx run --from RUN --intent explore
goalx run --from RUN --intent explore --readonly
Intent meanings:
deliver: the default shipped-result pathexplore: fresh evidence-first investigation or saved-run follow-up explorationevolve: open-ended iterative improvementdebate: challenge and refine prior findings from a saved runimplement: build from prior evidence or debate output
Boundary flag:
--readonly: declare a no-edit run contract intarget.readonly
Context injection:
goalx run "audit auth flow" --intent explore --context README.md,docs/architecture,https://example.com/spec,ref:ticket-123,note:reproduce the rejection path
- file and directory paths go to
context.files - URLs and
ref:/note:items go tocontext.refs - use one comma-delimited
--contextvalue
Recover vs Phase Continuation
Do not mix these up.
Same run, same run directory:
goalx recover --run RUN
New phase from saved artifacts:
goalx save --run RUN
goalx run --from RUN --intent debate
goalx run --from RUN --intent implement
goalx run --from RUN --intent explore
Budget control for the same run:
goalx budget --run RUN
goalx budget --run RUN --extend 2h
goalx budget --run RUN --set-total 10h
goalx budget --run RUN --clear
Rules:
recoverrelaunches the same stopped or stranded run in place- a fresh run that still shows
launchingis not a recover case; wait for bootstrap to settle first save + run --fromcreates a new phase from saved artifacts- exhausted-budget recovery requires a budget change first
- saved-run continuation now requires canonical saved surfaces and fails fast when they are missing
Engine Selection
GoalX auto-detects available engines and builds a candidate pool.
User-scoped long-term policy lives in ~/.goalx/config.yaml:
selection:
disabled_engines:
- aider
disabled_targets:
- claude-code/sonnet
master_candidates:
- codex/gpt-5.4
- claude-code/opus
worker_candidates:
- codex/gpt-5.4
- claude-code/opus
master_effort: high
worker_effort: high
Important boundaries:
selectionis user-scoped only- project config and manual drafts do not persist
selection - explicit
--engine/--modelis an override, not the normal path
Optional Repo Cognition
GoalX always has builtin repo-native cognition:
- file inventory
- file search
- file read
- git diff
GoalX can also expose GitNexus as an optional graph cognition provider.
Current behavior:
- binary install is preferred
- install:
npm install -g gitnexus@1.5.0 - verify:
gitnexus status - pinned
npx gitnexus@1.5.0is only marked available if a real probe succeeds - GoalX does not auto-install GitNexus
- GoalX records provider facts per worktree scope, not just one global availability boolean
availabledoes not meanindexedorfresh- GoalX can best-effort refresh a missing or stale GitNexus index during run lifecycle transitions
- both master and worker scopes can receive runnable GitNexus cognition affordances when the provider is available
Optional MCP setup for runtimes that support it:
codex mcp add gitnexus -- npx -y gitnexus@1.5.0 mcp
claude mcp add gitnexus -- npx -y gitnexus@1.5.0 mcp
GoalX documents these commands, but does not run them for you or mutate your user-level MCP configuration.
Typical outcomes in goalx context --json:
- no GitNexus: only
repo-native - working pinned
npx:gitnexus available=true invocation_kind="npx" index_state=missing|fresh|stale - working global install:
gitnexus available=true invocation_kind="binary" index_state=missing|fresh|stale
Worktree Architecture
GoalX uses explicit merge boundaries:
source root
|
\u2514\u2500 run root wor
Related Skills
YC-Killer
2.7kA library of enterprise-grade AI agents designed to democratize artificial intelligence and provide free, open-source alternatives to overvalued Y Combinator startups. If you are excited about democratizing AI access & AI agents, please star ⭐️ this repository and use the link in the readme to join our open source AI research team.
best-practices-researcher
The most comprehensive Claude Code skills registry | Web Search: https://skills-registry-web.vercel.app
groundhog
399Groundhog's primary purpose is to teach people how Cursor and all these other coding agents work under the hood. If you understand how these coding assistants work from first principles, then you can drive these tools harder (or perhaps make your own!).
last30days-skill
18.7kAI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary
