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
- 参考文档agents/openai.yaml43 B
- 参考文档references/autoobjective-create.md2.4 KB
- 参考文档references/execution-friendly-create.md2.2 KB
- 参考文档references/readme-driven-development-create.md2.7 KB
- 参考文档references/standing-create.md1.3 KB
- 参考文档references/steelthread-create.md2.5 KB
- 参考文档references/umbrella-create.md2.1 KB
- 参考文档references/wayfinding-create.md2.9 KB
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 Risksmust distinguish assumptions from risks, with enough context for a futureobjective-updateto 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-updatecan 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, readreferences/execution-friendly-create.mdbefore asking policy questions. - Independently of execution policy, any pattern may opt into an optional
## Prompting Instructionssection (semantics: theobjectiveskill'sreferences/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>/; neverdocs/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 mdreturns anot_foundenvelope 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 execonly 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.
- 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.
- 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.
- Single-select the primary shaping; on pattern opt-in, read
references/<pattern>-create.mdbefore 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
- 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.mdorreferences/execution-friendly-create.md— before its questions. - Create
.ns/objectives/<slug>/withupdates/,objective.md, androadmap.mdper Required shape, in concise human-readable narrative. - 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. - 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, andActive slice: see this objective's roadmap.md. Otherwise skip it; presence of the file is the opt-in flag. Lifecycle/graduation metadata stays inroadmap.md, never inorientation.md. - Create no initial file under
updates/and noclosed.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-updateor 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, andupdates/, andobjective.mdcontains## Assumptions and Risks. - If orienting,
orientation.mdexists 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
blockedand/oredges, every declared edge has its mirror entry in the counterpart record, andns objective check <slug>passes; if not written,objective.mdstarts with# <Title>and no frontmatter fence. - No files outside the new Objective's directory changed, except counterpart
objective.mdfrontmatter blocks touched by mirrored edge entries. - There is no initial file under
updates/and noclosed.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
pr-make-accountable
Interview a PR author to establish shared understanding of intent and design decisions, then co-author the What / Why / Changes PR body with opt-in Requested reviewer focus.
typescript-style
Opinionated style guide for strict, portable TypeScript. Use when writing, designing, or reviewing TypeScript: type design, boundary validation, error handling, module architecture, and review discipline.
typescript-fake-driven-testing
TypeScript fake-driven testing architecture. Use when writing or reviewing TS code with external dependencies, gateway interfaces, real adapters, in-memory fakes, or CLI scenario tests.
ns-typescript
TypeScript overlay for ns-style projects. Use when editing or reviewing TS in this repo: tsconfig baseline, pnpm/Vitest/oxlint/oxfmt/native tsc commands, relative .ts imports, workspace subpath exports, and the exactOptionalPropertyTypes spread idiom. Repo-specific enforcement (test lanes, time seams, style guard) lives in the host repo's AGENTS.md.
ns-typescript-style-tripwire
Invoke the ns TypeScript style Tripwire against a supplied diff or current branch.
skill-management
Manage skills with `npx skills`: add, edit, remove, rename, update, or list skills (local or GitHub), and the nested `skills/<disposition>/.../<name>/` / flat `.agents/skills/` layout conventions.