Skip to main content

get-goal-prompt

Generate a /goal command that runs an ideation project to completion UNATTENDED by driving /ideation:autopilot. The /goal string is owned by scripts/contract-gen.ts (--print-goal); this skill resolves the project's contract-data.json, prints the goal, and copies it to the clipboard. Use when the user says 'goal', 'run as goal', 'goal prompt', or wants to run the project long-haul/unattended rather than watching /ideation:autopilot interactively.

Zur Installation springen

Quellinformationen

Repository
nicknisi/ideation
Letzte Quellaktivität
9. August 2026 um 00:24
Erkannte Sprache von SKILL.md
Englisch
Sterne
13
Forks
5

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
get-goal-prompt
description
Generate a /goal command that runs an ideation project to completion UNATTENDED by driving /ideation:autopilot. The /goal string is owned by scripts/contract-gen.ts (--print-goal); this skill resolves the project's contract-data.json, prints the goal, and copies it to the clipboard. Use when the user says 'goal', 'run as goal', 'goal prompt', or wants to run the project long-haul/unattended rather than watching /ideation:autopilot interactively.
argument-hint
[path/to/contract-data.json | path/to/contract.md]
disable-model-invocation
true
allowed-tools
["Read","Bash","Glob","Grep"]
# Generate /goal Command for Unattended Execution ## Arguments: $ARGUMENTS Emit the `/goal` that drives `/ideation:autopilot` to completion unattended. The goal string has exactly one owner — `buildGoal()` in `${CLAUDE_PLUGIN_ROOT}/scripts/contract-gen.ts`, printed by `--print-goal` — so this skill only resolves the project, prints, and copies. **Never hand-author or template the /goal**; a second copy of that string is drift. (The layered model — goal wrapper → autopilot → engine → execute-spec — is owned by ideation SKILL.md § 5.4.) 1. **Resolve `contract-data.json` first** — it is the source of truth; `contract.md` is only a legacy fallback. Argument given: a `contract-data.json` path is used directly; a `contract.md` path means its sibling `contract-data.json`. No argument: glob `./docs/ideation/*/contract-data.json` and take the most recently modified. If the project has no `contract-data.json`, stop and say so — `--print-goal` consumes it, so the fix is re-running ideation, not hand-writing a goal. 2. **Already complete?** Run `node ${CLAUDE_PLUGIN_ROOT}/scripts/verify.mjs <contract-data.json>`. Exit 0 → quote its final `VERIFY {slug}: …` line, tell the user the project is complete, and stop. 3. **Print the goal:** `node ${CLAUDE_PLUGIN_ROOT}/scripts/contract-gen.ts --input <contract-data.json> --print-goal` — an early exit that writes nothing (no lineage snapshot, no re-render). The output already carries the isolation-branch clause when the contract has `branch`, the background-workflow rule, and the verify.mjs-based done-when. 4. **Copy and show:** pipe the printed command to `pbcopy` (Linux: `xclip -selection clipboard` or `xsel --clipboard`), then print it so the user sees what they are about to paste. 5. **On a permission denial** of any command above: print the exact command for the user to run themselves (`! node …`) and stop. There is **no fallback template**. Then remind the user: enable auto mode (`/auto`) so tool calls don't block each turn, and confirm the engine is available (`Workflow` tool in Claude Code; in pi the plugin bundles its engine extension, so nothing further is needed). One **caveat, not a gate** — and honestly labeled: this detail was derived from Claude Code binary strings and could not be verified from this repo — `/goal` appears to require a trusted workspace and may refuse to run when hooks are restricted. If the paste is rejected, that is the likely reason; it is a property of the CLI session, not of this project.
Auf GitHub ansehen