Shipyard's internal requirements intake for non-engineer contributors (support/ops) — turn a pasted chat log or verbal problem report into a five-section intent.md through numbered batch questioning with a completion gate, walk it through tracker review with harbor's four records, and hand the accepted intent to /launch as its mission brief. Produces decisions, not code.
64
78%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./skills/intent/SKILL.mdIntent is the shipyard's internal intake: support/ops staff see product problems first but cannot write engineering specs. The intent skill converts their conversation into a goal-level YAML+markdown artifact that an owner reviews and signs, so engineering receives a fog-free mission. It stands on the verifiability boundary — the agent asks, records, and drafts; humans submit, verify, and sign.
Design provenance: every decision here was pinned by a wayfinder map (7 tickets) and walked end-to-end in a demo repository before implementation.
待确认 items.1 是; 2 不确定). Unknown answers are recorded as 待确认 and pushed into open questions — never pressed until guessed.待确认 and counted as open questions无docs/intents/<slug>/intent.md (template below) at status: draft; the contributor confirms wording before any submission.---
intent: <slug>
title: <one-line title>
author: <name (role)>
date: <YYYY-MM-DD>
status: draft | in-review | accepted | rejected
round: <tracker review round>
---
## 问题
<observable phenomena, no solution>
## 目标
one sentence, no qualifiers
## 用户和系统
<who the users are, which systems, real names; unknowns as 待确认>
## 约束
<boundaries, non-goals; cite Rules pillar files when a constraint comes from them>
## 未决问题
- [阻塞|非阻塞] <question> ← agent suggests, product owner finalizesThe test for 阻塞: "can the spec still be approved without answering it?" No → blocking; yes → non-blocking (tracked, may ride into development). The drafting agent suggests grades; the product owner finalizes at spec approval.
Review runs on the repo's tracker — the tracker is the only record source; intent.md frontmatter mirrors status only. One record file per Intent, rounds accumulate inside it. Required fields per record: signer, date, verdict, link to intent.md, round, rejection reason (mandatory on reject).
status: in-review)Rejected → revise → resubmit in the same file under the next round number. History stays traceable.
An accepted intent (status: accepted) is a valid mission brief. Launch's spec synthesis then follows the four-step contract:
docs/intents/<slug>/intent.md (must be accepted, latest round)CLAUDE.md + docs/standards/ + docs/business/)Intent open questions carry into the spec verbatim, keeping their pending status.
New information after acceptance (typically surfaced by the first spec) is an amendment: anyone may initiate, the submitter signs, and it always re-enters full review as a new round — no minor-change exemption. An intent change marks the generated spec stale; the spec is regenerated from the new intent and re-approved. No separate amendment record type: rounds carry it.
Conflict conclusions in the spec's pending section follow precedent-based routing: case-local answers stay in the spec; conclusions that will bind later Intents sediment into the Rules pillar (docs/business/ for business rules, docs/standards/ for behavior rules); hard-to-reverse technical tradeoffs become ADRs. Never double-write; never defer archiving. The product owner decides whether a conclusion is precedent-setting; the tech lead advises the destination.
dc7ba1d
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.