codify-jumbo-goal
Use when a Jumbo goal has been approved by QA review and needs architectural reconciliation…
Add Jumbo goals liberally to decompose objectives into finite units of work with bounded context. Use when defining new Jumbo goals from user requests, or to augment your own work to maintain scope while ensuring complementary work is registered.
$ npx -y skills add jumbocontext/cli --skill define-jumbo-goals --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/define-jumbo-goalsContext preview
The summary Claude sees to decide when to auto-load this skill.
Add Jumbo goals liberally to decompose objectives into finite units of work with bounded context. Use when defining new Jumbo goals from user requests, or to augment your own work to maintain scope while ensuring complementary work is registered.
name: define-jumbo-goals description: Add Jumbo goals liberally to decompose objectives into finite units of work with bounded context. Use when defining new Jumbo goals from user requests, or to augment your own work to maintain scope while ensuring complementary work is registered.
**Prompt:** Analyze the primary objective to discover the architectural context required, decompose the work into right-sized goals, and author each goal with precise objectives, verifiable criteria, and explicit scope — so that refinement and implementation proceed with minimal exploration overhead.
A goal's definition determines everything downstream. During refinement, the agent registers relations based on the objective and criteria. During implementation, `jumbo goal start` assembles context from those relations into an implementation prompt. Vague objectives produce vague relations. Vague relations produce bloated or incomplete context. The implementing agent then wastes tokens exploring what should have been stated upfront, or worse, builds the wrong thing.
**The goal definition is the spec.** Treat it with the rigor of a technical specification, not a backlog item.
Start by getting oriented with the overall project purpose (use a cached response if previously run in this session):
jumbo project show --northstar
The initiative to define a new goal could be self-driven, or have eminated from the user:
Extract the user's intent through conversation. Identify:
If the request is ambiguous, ask clarifying questions before proceeding. Do not guess intent.
Ensure the initiative is not in conflict with the project purpose. Abandon the initiative if it is, or adjust if slight fitting would align it.
Before writing any goal, survey the project to understand what exists:
jumbo components search --q "<query terms>" jumbo components search --type <likely-type> jumbo invariants search --q "<query terms>" jumbo guidelines search --q "<query terms>" jumbo decisions search --q "<query terms>" jumbo dependencies search --q "<query terms>"
This discovery serves two purposes:
Also explore the codebase directly to understand current implementation:
# Find relevant source files # Read key files to understand existing patterns # Identify integration points and boundaries
A goal is **right-sized** when:
**Decomposition heuristics:**
| Signal | Action | |--------|--------| | Work spans multiple bounded contexts or layers | Split by context/layer | | Work requires a new abstraction before feature code | Split: abstraction goal first, feature goal second | | Work has independent sub-deliverables | Split into parallel goals (no prerequisite chain) | | Work has sequential dependencies | Split into chained goals (use `--previous-goal` / `--next-goal`) | | Work is a single focused change | Keep as one goal |
**Sequencing tools:**
When chaining goals, prefix each goal's title with its position in the chain (e.g., `1/3 Deprecate Architecture entity`, `2/3 Migrate context packets`, `3/3 Remove Architecture entity`). This communicates execution order to users and agents reviewing the backlog.
For each goal, compose the three pillars: **objective**, **criteria**, and **scope**.
The objective is a single sentence that answers: "What is being built or changed, and why?"
| Quality | Example | |---------|---------| | BAD | "Implement telemetry" | | BAD | "Add PostHog integration for tracking" | | GOOD | "Add anonymous usage telemetry to the CLI using PostHog so we can understand which commands are used and where failures occur" |
Rules:
Each criterion is a **verifiable statement** that the reviewing agent can confirm by reading code or running tests. Criteria are the implementation instructions in disguise.
| Quality | Example | |---------|---------| | BAD | "Telemetry works" | | BAD | "Good test coverage" | | GOOD | "Application layer defines a TelemetryPort interface with `trackEvent(name, properties)` and `identify(anonymousId)` methods" | | GOOD | "Infrastructure adapter implements TelemetryPort using PostHog Node SDK with fire-and-forget sends that never block the CLI event loop" | | GOOD | "First-run consent prompt stores preference in `~/.config/jumbo/telemetry.json` with schema `{ enabled: boolean, promptedAt: string }`" |
Rules:
Repo: jumbocontext/jumbo.cli
Use when a Jumbo goal has been approved by QA review and needs architectural reconciliation…
Use when a project has Architecture data that needs migrating to fine-grained entities…
Use when the user's prompt is delivered outside the execution context of an existing Jumbo…
Use liberally when you create, discover, or modify a software component. Registers the…
Use liberally when you make an architectural choice, select a technology, or reject an…
Use liberally when you introduce, discover, or upgrade a third-party package or external…