haiku-start
Start a new H·AI·K·U intent — describe what you want to accomplish and the system creates a structured lifecycle for it
- License 许可
- Apache-2.0
- 最近更新
- 2026-05-30
- Stars
- ★ 29
- Forks
- 11
01 前言 Front Matter
- name
- haiku-start
- description
- Start a new H·AI·K·U intent — describe what you want to accomplish and the system creates a structured lifecycle for it
02 资源文件 3
- 参考文档references/artifacts.md8.8 KB
- 参考文档references/craft.md14.2 KB
- 参考文档references/motion.md6.4 KB
03 SKILL.md 正文
Start a New Intent
Process
If the user starts the intent with a referenced file — a spec, a doc, a screenshot, a path like ~/Downloads/spec.pdf, or a dragged-in attachment — read it and synthesize its relevant substance directly into the description and context you author below. NEVER store, quote, or reference the file's path in any field. An absolute path leaks the user's machine layout, and the external file won't travel with the intent — the intent must stand on its own from its own text. The path is throwaway; the synthesized content is the durable record. (Read PDFs/images natively; capture what they say, not where they live.)
-
Prelaborate — If the user's description is short (under 2 sentences) or vague, ask 2-3 targeted questions via
AskUserQuestionto understand scope, desired outcome, and constraints. Fold answers into a richer description (3-5 sentences). -
Quick context scan — Glance at the project structure (2-3 tool calls max) to understand the tech stack and project purpose. This informs studio selection later.
-
Right-size it — the escape hatch (do this BEFORE creating an intent). A full multi-stage intent is the right container for a feature. It is overkill for a bug fix, a typo, a config tweak, a copy change, or a small localized refactor — work where the whole lifecycle (design → build → review across stages) costs more than the change itself. Assess what the user actually described and pick the lightest container that fits:
- Zap-class — one localized change: a bug fix, a typo, a config/copy tweak, a small refactor; touches one or a few files; the cost of a mistake is "edit and re-run." → the right home is zap, which writes no intent and no scaffolding.
- Quick-class — a small but real task that wants one stage's hat loop (plan→do→verify) and a lightweight record, but genuinely does not span multiple stages. → the right home is quick mode (a single-stage intent).
- Feature-class — spans multiple concerns or stages, needs real decomposition / design / cross-stage review, or the user explicitly asked for the full lifecycle. → the full intent below.
If it's clearly feature-class, skip straight to step 4 — don't interrupt a real feature with a downgrade prompt. Otherwise, surface the lighter path with
AskUserQuestion, recommended option FIRST (so accepting is one tap), and let the user keep the heavier path if they want the tracking:- Question: "This looks like a
<bug fix / small task>— how do you want to run it?" - Options, recommended first: Zap (no intent overhead) (when it's zap-class) / Quick mode (single stage) (when it's quick-class) / Full intent (multi-stage lifecycle). Offer zap only when it's genuinely zap-class, quick when it's quick-class; always include full as the override.
Route on the answer:
- Zap → do NOT create an intent. Hand off to the zap flow: call
haiku_zap { task: "<the task, in one or two sentences>" }and follow its returnedmessageverbatim (see/haiku:haiku-zap). Stop here — the rest of this skill doesn't apply. - Quick → create the intent (step 4), then drive
haiku_run_nextand lock the mode to quick the way/haiku:haiku-quickdoes (haiku_select_mode { options: ["quick"] }after studio selection). The user chose quick here, so locking it honors their choice — you are not dictating the mode. - Full (or feature-class) → continue to step 4 unchanged; the user picks the mode via the normal elicitation.
-
Write the title and description, then create the intent — You must produce BOTH:
title: A crisp 3–8 word summary, ≤80 chars, single line, no trailing period. Write it deliberately as a human-readable name for the intent. Do NOT pass a truncated description or the first sentence of a paragraph.- Good:
"Add archivable intents","Migrate auth to OAuth2","Fix mobile nav overflow" - Bad:
"Add archivable intents to H·AI·K·U. Users need a way to soft-hide completed,…" - Bad:
"Implement a new system to allow users to mark intents as"(mid-sentence truncation)
- Good:
description: The prelaborated narrative (2–5 sentences) covering scope, motivation, and constraints. This is the richer context, not a title.slug: Kebab-case identifier (max 40 chars). Usually derived from the title.context: Summary of key decisions and constraints from the conversation.studio_candidates(REQUIRED): The 2–4 studios that best fit what you just described — this pre-narrows the studio picker so the user isn't scrolling the whole registry on every intent. Callhaiku_studio_listfirst to see the studios with their descriptions, then pick the closest matches (canonical name, slug, or alias all resolve). You have the description in context right now — this is the one moment you can do a semantically-aware pick. The picker shows your shortlist first and keeps the rest behind a "Show all studios…" expansion, so narrowing is never lossy — there's no downside to narrowing, so always do it. If you callhaiku_intent_createwithout it, the tool rejects the call and tells you to fetchhaiku_studio_listand retry; don't guess studio names, fetch the list.
The title and description are distinct fields — the tool does NOT derive one from the other. Writing a lazy title (e.g. the first chunk of the description) will be rejected.
Do NOT pass
mode,stages, orstudio. Those fields are engine-managed and chosen by the user via the picker.studio_candidatesis a hint that pre-narrows that picker — it does not lock the studio, and the user still makes the final pick. The tool's input schema does not acceptmode/stages/studio; trying to pass them will fail validation. -
Follow the tool's instructions — The tool will direct you to call
haiku_run_next, which then drives the elicitation chain in order:haiku_select_studio— user picks the studio.haiku_select_mode— user picks the mode (continuous, discrete, autopilot, quick).haiku_select_stage— fires only when mode ==quick, user picks the single stage to run.- The pre-stage intent review gate opens for the user's approval before any stage starts.
Notes
- Never dictate mode or stages. If the user mentions "discrete" or "single stage" or "just inception" in their description, that's context for the user when they make the elicit choice — pass it along into the description if it's load-bearing, but do not pre-set the field. The agent MUST let the user pick via elicitation. (The step-3 escape hatch is not an exception: the user chooses the lighter path there, so locking quick afterward honors their pick rather than dictating it.)
- Do NOT ask the user to pick a studio — the workflow engine handles studio selection via elicitation.
- If the user already provided a detailed description, skip prelaboration — but still right-size (step 3) before creating the intent.
- The right-sizing escape hatch is a recommendation the user confirms, not a silent reroute: surface it, default to the recommended path, and always leave the full lifecycle available. When in doubt about scope, lean toward offering the lighter option — the user can always decline.
04 同仓库更多 Skills
haiku-zap
Zero-ceremony single-unit execution — run one task directly through a stage's hat loop without intent or workflow scaffolding
haiku-version
Show the running H·AI·K·U MCP binary version, plugin version, and whether the engine is the dev source build or the compiled bundle
haiku-unarchive
Unarchive an intent — restore a previously archived intent to default lists
haiku-triggers
Poll configured providers for events that should create intents or advance gates
haiku-studios
Browse available H·AI·K·U studios grouped by category with help links into each studio definition
haiku-statusline
Install, remove, or preview the H·AI·K·U custom Claude Code status line — a one-line stage/phase indicator for the active intent