Skip to main content
skill CX Codex

jackin-goal-prompt — Claude Code skill: turn a roadmap item into /goal

Distills a roadmap item and optional plan files into one self-contained /goal prompt capped at 4000 characters.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add jackin-project/jackin-dev --skill jackin-goal-prompt -a claude-code
Open on GitHub

What jackin-goal-prompt does

The skill reads a roadmap item in .mdx and, when --plan is passed, the plan files too. From them it lifts scope, steps, verify commands, done criteria and STOP conditions. The output is a single prompt an executor with no prior context can run to completion.

The skeleton comes from /improve: objective, scope, verify gates, done criteria, STOP conditions. Verify commands are read from the repo itself — CONTRIBUTING.md, .github/workflows/ci.yml, mise.toml — never invented. Code excerpts stay out; the prompt names the file and the contract instead. Auto-loaded rules such as AGENTS.md and COMMITS.md are pointed at, not copied.

The 4000-character cap is hard. The skill writes the prompt to a temp file and counts it with wc -c, then compresses in order: drop code excerpts, collapse conventions to a pointer, tighten the objective, cut the why. If you want a longer prompt, say so up front — otherwise you will be asking for the dropped parts back by hand.

What it helps with

  • turn a roadmap item into a prompt an executor understands without chat history
  • fuse /improve plan files and a roadmap item into one runnable text
  • pull the repo's real verify commands into the prompt
  • fit the task statement into 4000 characters without losing done criteria
  • keep STOP conditions so the executor can stop honestly

Example prompts for the agent

  • write a goal prompt for the auth-refresh roadmap item
  • jackin-goal-prompt for the rate-limits item, plans live in plans/rate-limits/
  • build a /goal prompt from docs/roadmap/billing.mdx and plans/billing/*.md

How to install jackin-goal-prompt

1Skills CLI (Vercel)

npx skills add jackin-project/jackin-dev --skill jackin-goal-prompt -a claude-code

2Manually: put the files in place

~/.claude/skills/jackin-goal-prompt/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/jackin-goal-prompt/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about jackin-goal-prompt

How do I install jackin-goal-prompt in Claude?

Run npx skills add jackin-project/jackin-dev --skill jackin-goal-prompt -a claude-code. The skill then sits at ~/.claude/skills/jackin-goal-prompt/SKILL.md.

What does jackin-goal-prompt do?

It turns a roadmap item plus optional plan files into one self-contained /goal prompt of up to 4000 characters. Inside are the objective, scope, verify gates, done criteria and STOP conditions.

How is jackin-goal-prompt different from jackin-research?

jackin-research authors a multi-page prompt.mdx dossier brief run via /goal Follow. This skill produces a compact inline prompt for /goal Implement or /goal Run.

Source text

SKILL.md · Apache-2.0
---
name: jackin-goal-prompt
description: Use only when the user explicitly requests this skill. Distills a jackin❯ roadmap item — plus optional plan files — into a self-contained /goal prompt capped at 4000 characters.
argument-hint: "<slug> [--plan <path|glob>]"
disable-model-invocation: true
license: Apache-2.0
user-invocable: true
---

# jackin-goal-prompt

Distill a roadmap item (and any plan files the operator hands you) into a single **self-contained** `/goal` prompt — one an executor agent with zero prior context can run to completion. The prompt is the product; its tightness decides whether the goal succeeds.

Capped at **4000 characters, hard.** Structure borrowed from `/improve`'s plans: self-contained, verification-gated, hard-boundaried. The skeleton that carries execution — objective, scope, verify gates, done criteria, STOP conditions — stays; everything the executor can read from files (code excerpts) or inherits from jackin❯'s auto-loaded rules (`AGENTS.md`, `COMMITS.md`, `ENGINEERING.md`) is pointed at, never restated.

Distinct from `jackin-research`: that authors a *dossier brief* (a multi-page `prompt.mdx` file run via `/goal Follow`). This produces a compact *inline* prompt run via `/goal Implement` or `/goal Run`.

## When to use

- Operator asks for a goal prompt / wants to kick off `/goal` on a roadmap item.
- Operator has a roadmap item plus `/improve` plan files and wants them fused into one runnable prompt.

## When NOT to use

- Authoring a research dossier brief → `jackin-research`.
- Designing the roadmap item itself → `jackin-brainstorm`.
- Opening the PR → `jackin-create-pr` / `jackin-propose`.

## Arguments

- `<slug>` — the roadmap item (slug, path, or the `.mdx`). Always required.
- `--plan <path|glob>` — plan markdown to fold in (a folder, a file, or a glob). Usually `/improve` output.

## Process

1. **Gather the change.** Read the roadmap `.mdx`. Anchor on `title:` and `**Status**:` only — real items drift from the `Problem/Why/Design/Tasks` scaffold, so tolerate any heading set. If `--plan` is given, read every plan file and lift its scope, steps, verify commands, done criteria, and STOP conditions.

   *Done when* you can state, in two sentences, what this change builds and where its code lives.

2. **Read the repo's real verification gates.** The verify commands come from the repo, never invented. Pull them from `CONTRIBUTING.md` (the merge-readiness block), `.github/workflows/ci.yml`, and `mise.toml` — for jackin❯ that is `cargo fmt --check`, `cargo clippy --all-targets --all-features -- -D warnings`, `cargo nextest run --all-features`, the `e2e` profile, plus the `bun` docs gate when `docs/` is touched.

   *Done when* every gate you cite is a command the repo actually runs, with its expected result.

3. **Compose the prompt** — the compressed `/improve` skeleton:
   - **Objective** — one or two lines: what to build, pulled from the roadmap/plan.
   - **Scope** — in-scope paths; out-of-scope boundaries (what looks related but must not be touched).
   - **Verify gates** — the commands from step 2, each with its expected result.
   - **Done criteria** — machine-checkable, one line each (a command + result, or a greppable absence), never prose like "works correctly."
   - **STOP conditions** — drift vs the plan, a scope boundary that won't hold, a gate that won't go green honestly.
   - **Conventions** — one line pointing at jackin❯'s auto-loaded rule files; do not copy their content.

4. **Enforce the 4000-character cap.** Write the prompt to a temp file and `wc -c` it. Over the cap, compress in this priority order until it fits: drop code excerpts (name the file + the contract, not the code), collapse conventions to a pointer, tighten the objective, cut the "why" narrative, merge done criteria into the verify gates. Re-count. The cap is hard — never emit over 4000.

   *Done when* `wc -c` reports ≤ 4000 and the prompt still carries objective + scope + verify gates + done criteria + STOP conditions.

5. **Emit + report.** Print the prompt in a single code block, ready to paste after `/goal Implement <slug>` or `/goal Run`. State the character count. Name what you compressed or dropped to fit, so the operator can ask for it back inline if they'd rather raise the cap.

## Common mistakes

- Exceeding 4000 characters — the one hard constraint.
- Inventing verify commands instead of reading the repo's real ones — a gate the repo doesn't run is noise.
- Restating jackin❯'s auto-loaded rules (`AGENTS.md`, `COMMITS.md`, `ENGINEERING.md`) — the executor auto-loads them; point, don't copy.
- Inlining code excerpts — the executor reads the files; name the file and the contract it must satisfy.
- Producing a prompt that leans on chat context ("as discussed", "the approach we chose") — not self-contained, breaks on a fresh executor.
- Ignoring `--plan` files when given — they carry the scope and done criteria; folding them in is the point.
- Dropping the STOP conditions — they are the executor's only honest escape hatch.

## Tooling

No xtask owns this. The skill orchestrates reads (the roadmap `.mdx`, the plan files, the repo's verify commands) and emits a single ≤ 4000-char string. The structure borrows from `/improve`'s plan anatomy (self-contained, verification-gated, hard-boundaried) and the `/goal Run` brief shape jackin❯ already uses for gap-closure.

© jackin-project · Apache-2.0 · jackin-project/jackin-dev

Similar skills

All skills for Agent setup: memory, context, orchestration →

From the same set2

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor