nicknisi/ideation · Archived

get-goal-prompt

Generate a /goal command that runs an ideation project to completion UNATTENDED by driving /ideation:autopilot.

Installation

$ npx skills add nicknisi/ideation --skill get-goal-prompt

Summary

  • 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.

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from nicknisi/ideation.

npx skills add nicknisi/ideation

Browse all from nicknisi/ideation

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 13
License LICENSE
Default branch main
Open issues 1
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsRead, Bash, Glob, Grep
Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,215 B
  • docs SUMMARY.md 472 B

History

  1. First recorded snapshot · 2 installs

SKILL.md

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 ${CLAUDEPLUGINROOT}/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.

  1. Already complete? Run node ${CLAUDEPLUGINROOT}/scripts/verify.mjs <contract-data.json>.

Exit 0 → quote its final VERIFY {slug}: … line, tell the user the project is complete, and stop.

  1. Print the goal: node ${CLAUDEPLUGINROOT}/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.

  1. 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.

  1. 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.