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.

跳到安装

来源信息

仓库
nicknisi/ideation
最近来源活动
2026年8月9日 00:24
检测到的 SKILL.md 语言
英语
星标
13
分支
5

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
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.
在 GitHub 查看