AGENT SKILL

objective-create

Create a new Objective record under .ns/objectives/<slug>/. Use when starting to track a new unit of planned work: 'create an objective', 'turn this into a tracked objective', or scaffolding a new objective's thesis/scope/roadmap. To act on an Objective that already exists, use objective-next (recommend work), objective-update (record progress), or objective-close (finish it).

License 许可
MIT
所属仓库
nseng-ai/ns
最近更新
2026-10-02
Stars
★ 2
Forks
0

01 前言 Front Matter

name
objective-create
description
Create a new Objective record under .ns/objectives/<slug>/. Use when starting to track a new unit of planned work: 'create an objective', 'turn this into a tracked objective', or scaffolding a new objective's thesis/scope/roadmap. To act on an Objective that already exists, use objective-next (recommend work), objective-update (record progress), or objective-close (finish it).
disable-model-invocation
true

02 资源文件 8

03 SKILL.md 正文

objective-create

Create exactly one new Objective record under .ns/objectives/<slug>/. Use the objective umbrella skill first for shared vocabulary, selection rules, storage model, safety boundaries, and family policy.

The Objective pattern set — wayfinding/ideation, steelthread, standing, umbrella, autoobjective, and readme-driven-development — lives in references/<pattern>-create.md; each reference owns that pattern's creation procedure on top of this skill's record mechanics. The pattern is chosen in the interview (see the Pattern beat below). When the user names a pattern upfront, read the matching reference immediately and skip the menu. Recognition prose and composition facts stay in the objective skill's patterns catalog (references/objective-patterns.md).

Required shape

New records live in the active root only, .ns/objectives/<slug>/, with objective.md, roadmap.md, and updates/ per the umbrella skill's storage model. Creation deltas: orientation.md is optional and orienting-only; there is no closed.md at creation.

objective.md uses the umbrella skill's required headings.

  • ## Assumptions and Risks must distinguish assumptions from risks, with enough context for a future objective-update to mark an assumption incorrect, a risk de-risked or not, or add newly discovered ones.
  • When the record accepts a deliberate shortcut — a prototype-race sacrifice of security, scope, or quality — never record the shortcut alone: name its upgrade beside it, so the later swap is a slice rather than a redesign and a future objective-update can retire the pair together.
  • Default to planning-only: execution-policy sections are never mandatory and appear only when the user explicitly asks for execution-friendly/runner/autonomous behavior. Never offer execution policy as an interview question on your own initiative — the Pattern beat settles this axis, and choosing a standard Objective (or any pattern other than autoobjective) without an explicit execution request means planning-only; execution policy can always be added later via objective-update. When the user does ask, read references/execution-friendly-create.md before asking policy questions.
  • Independently of execution policy, any pattern may opt into an optional ## Prompting Instructions section (semantics: the objective skill's references/prompting-instructions.md). Offer it only when the interview surfaces durable prompting facts — standing context, validation gates, executor preference, standing hazards — rather than as a mandatory question.

roadmap.md uses the umbrella skill's required headings, statuses, row sizing, validation-rows-as-evidence rule, and prose-guidance rules. Creation delta: when validation surfaces as a branch point in the interview, steer it into completion evidence under a semantic row — e.g. an indented Evidence: targeted tests and relevant repo checks passed — never a standalone final row.

Slug and path

  • Require an explicit slug, or propose a normalized slug and get explicit confirmation before writing any file.
  • Write only under .ns/objectives/<slug>/; never docs/objectives/ or anywhere else.
  • Slug identity is the umbrella skill's rule: renames never mint a new slug. Before creating a slug that looks like a rename or replacement of existing work, run ns objective list --status all --format md; if a likely existing Objective appears, stop per Stop / ask.
  • Check the active root before writing. ns objective exec read-objective <slug> --format md returns a not_found envelope when the slug has no active record and otherwise emits it. If .ns/objectives/<slug>/ exists, stop per Stop / ask — never overwrite. If the slug was previously deleted, source control history is the only historical link; recreate it only when the user wants that identity again.
  • Records are Markdown: write them directly, using ns objective exec only for deterministic reads; the only sanctioned YAML is Record Frontmatter below.

Record Frontmatter: initial edges and Blocked Sentence

Record Frontmatter mechanics — the exact-two-keys rule, mirrored two-file edits, and ns objective check — are owned by the objective umbrella skill. Creation deltas:

  • It is usually absent at creation: omit the block entirely unless the interview surfaces a real fact.
  • Initial edges. When the new Objective has a durable relationship to an existing record, declare the edge at creation — including the perspective-correct mirror entry in the counterpart's frontmatter, the one sanctioned edit outside the new record.
  • Blocked Sentence. Set blocked: only when the new record is genuinely gated at creation; the value is a non-empty sentence saying why.

Interview

Interview the user relentlessly before writing (inspired by Matt Pocock's grill-me skill) until shared understanding covers title, thesis, scope, non-goals, completion criteria, assumptions, risks, open questions, and a semantic initial roadmap — or the user chooses to stop questioning and write.

  • Pattern. Early — once the thesis and work shape are roughly understood but before deep branch-walking — progressively disclose Objective shapes. Skip these menus when the user already named a pattern or the shape is unambiguous.
    1. First present only two choices: Create a standard Objective (recommended; continue without a named pattern) and Select an Objective template or pattern. Do not name, summarize, or enumerate patterns in this first menu.
    2. Only when the user selects the second choice, present a second numbered menu containing the six patterns, each with a one-line recognition cue sourced from the patterns catalog entries (do not restate deep prose), plus a final choice to go back and create a standard Objective.
    3. Single-select the primary shaping; on pattern opt-in, read references/<pattern>-create.md before asking that pattern's questions. Ask layering/composition questions only when the catalog says the chosen pattern composes.
  • Walk each branch of the design tree, resolving dependencies between decisions one by one; focus on branch points that affect scope, completion criteria, assumptions, risks, sequencing, closure evidence, or — only when the user explicitly requested execution behavior — execution policy.
  • Explore the codebase or existing docs instead of asking questions whose answers are discoverable locally.
  • Ask one unresolved question at a time, including your recommended answer so the user can confirm or correct it — framed so choosing it is an affirmative selection, never a "no" recommendation followed by "Do you agree?" — as a compact numbered menu with domain-specific labels — never an open-ended continuation prompt. Tell the user they can answer with a number or a custom correction.
  • Menu order: recommended path first, main alternative(s) next, and — only after the slug is explicitly confirmed — a final stop option reading exactly Stop and create Objective <slug>, confirmed slug verbatim. If the slug is unconfirmed, omit the stop option and resolve slug confirmation first.
  • Never write generic or invented durable content; keep interviewing until you don't have to.

Workflow

  1. Run the interview; confirm the slug and clear the active root per Slug and path, loading any conditional reference — a pattern's references/<pattern>-create.md or references/execution-friendly-create.md — before its questions.
  2. Create .ns/objectives/<slug>/ with updates/, objective.md, and roadmap.md per Required shape, in concise human-readable narrative.
  3. If the interview surfaced initial edges or a genuine blocked gate, write Record Frontmatter per its section — including the counterpart mirrors — and run ns objective check <slug>; otherwise write no frontmatter.
  4. If the Objective is orienting — an agent doing unrelated work must obey its direction — write orientation.md (≈8 content lines, agent-facing) using the umbrella skill's format: Direction, Getting to (with ADR/CONTEXT pointers), What you see now, Avoid, and Active slice: see this objective's roadmap.md. Otherwise skip it; presence of the file is the opt-in flag. Lifecycle/graduation metadata stays in roadmap.md, never in orientation.md.
  5. Create no initial file under updates/ and no closed.md.

Stop / ask

  • The slug is missing, unconfirmed, invalid-looking, or points outside .ns/objectives/.
  • The target Objective directory already exists — ask whether the user meant objective-update or a direct read.
  • The request looks like a rename/replacement of existing Objective work and the user has not explicitly chosen create vs update vs slug migration — ask whether they meant objective-update, a direct read, or an explicit slug migration.
  • Durable context is too thin to write thesis, scope, completion criteria, assumptions, risks, or requested execution policy without inventing them.
  • The request needs multiple Objectives: create only one and ask the user to run the command again for the others.

Verify

  • The directory contains objective.md, roadmap.md, and updates/, and objective.md contains ## Assumptions and Risks.
  • If orienting, orientation.md exists and follows the format; otherwise it is absent. It is optional, never required.
  • If execution-friendly, verify against references/execution-friendly-create.md; if planning-only, execution policy sections are absent unless explicitly requested.
  • If a pattern was chosen, verify against that pattern reference's verification items.
  • If Record Frontmatter was written, it carries only blocked and/or edges, every declared edge has its mirror entry in the counterpart record, and ns objective check <slug> passes; if not written, objective.md starts with # <Title> and no frontmatter fence.
  • No files outside the new Objective's directory changed, except counterpart objective.md frontmatter blocks touched by mirrored edge entries.
  • There is no initial file under updates/ and no closed.md.
  • Summarize the created slug, first planned roadmap item, most important assumption or risk captured, and whether the Objective is planning-only or execution-friendly.

04 同仓库更多 Skills