本文へ移動
cccskills
無料GitHub で公開

keel-align-expectations

Align explicit requirements, implicit expectations, non-goals, observable acceptance, evidence, and decision authority before OpenSpec specs and executable tasks finalize. Use when authoring or updating a proposal, design, specs, or tasks, or when a request hides a material product choice. Do not use for routine implementation of an already-authorized task, unrelated conversation, or facts the repository can answer.

日本語の概要は準備中です。原文の説明を表示しています。

インストール方法を見る

含まれるファイル(1)

  • SKILL.md7.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

keel-align-expectations

Purpose

Turn user intent and repository facts into durable OpenSpec authority before specs and executable tasks harden. Alignment is risk-scaled: clear, complete, low-risk requests pass through a compact quick path; material ambiguity switches to a focused deep path. This skill owns materiality routing, acceptance authority, and write-back ownership; which surface a host offers for asking is the host's, and it does not replace /opsx:apply, review, or OpenSpec artifact mechanics.

Routing

Take the quick path when the request, repository facts, and intended observable outcome are coherent and no material choice is unresolved. Switch to the deep path when a choice can materially change: user-visible behavior, an external interface, acceptance, security/privacy/permission boundaries, data loss or migration, protocol/state/timing/reset semantics, generated equivalence, irreversible cost, a dependency or architecture commitment, or when a contradiction appears between user intent and repository facts.

Missing wording, stylistic preference, discoverable facts, and reversible implementation detail stay on the quick path. For routine implementation of an authorized task, unrelated conversation, or a factual question the repository answers, do not start a product interview and do not mutate OpenSpec artifacts.

Quick path

State the extracted goals, non-goals, observable Acceptance, constraints, and evidence expectations compactly, label any non-material assumptions, and proceed. A complete low-risk request may satisfy the checkpoint in one compact confirmation without an interactive pause.

Deep path

Pause spec/task finalization and ask one material decision at a time. Each question explains in plain terms why the decision matters and provides a recommended answer. When the host offers a structured-choice surface, ask a decision whose answers can be enumerated through it, with the recommended option first and marked; keep prose for open questions and for hosts with no such surface. Continue only until executable authority is clear; do not run a broad brainstorming session. A material choice that stays unresolved becomes a Q<n> with an owner or resolution gate, and no affected task becomes executable until it is accepted, verified, durably owned, or explicitly discarded.

Implicit expectations are proposals

Label inferred expectations (accessibility, compatibility, failure behavior, migration, performance, security, and similar unstated candidates) as candidate expectations and explain their impact. A candidate becomes authority only when the user explicitly accepts it or durable repository/product authority verifies it. Silence does not authorize a material product choice, interface change, risk boundary, or acceptance downgrade.

Repository facts before user questions

Before asking the user, inspect the relevant code, tests, docs, OpenSpec artifacts, issues, and verified runtime behavior. Record verified facts as F<n> with their basis; escalate only the user-owned product choice that remains after the facts are known. When sources disagree on an acceptance-relevant fact, surface the contradiction and ask who or what has authority instead of silently choosing one source.

Write-back

Accepted alignment routes to existing OpenSpec owners; create no separate alignment ledger, chat-memory dependency, or HANDOFF payload:

  • proposal.md owns motivation, scope, goals, and non-goals.
  • design.md owns accepted D/F/A/Q statements, rationale, constraints, and risks.
  • specs own observable requirements and positive/negative/edge/failure scenarios.
  • tasks.md owns Covers, verification strategy and checks, scope, and stop boundaries that reference the accepted authority instead of duplicating chat prose.

Decision precedents

When the repository declares a precedent store, consult the precedent matching a decision before escalating it, and record a new precedent when the user decides something the store does not cover. A precedent store is user-authored and never bundled; a repository that declares none behaves exactly as one without this section.

Record the reasoning, not only the conclusion. "Chose A" applies only to the situation literally recorded; "chose A because B fails offline" can be applied to a case nobody has seen yet, and — just as important — recognised as not applying when the new case is online. Only the reasoning transfers. A precedent with no rationale is incomplete and is not applied.

Three rules govern use:

  • Cite only where you replaced a question. Name the precedent you applied exactly when, without it, you would otherwise have interrupted the user. Decisions that would not have interrupted them are not cited, so that a citation always marks a decision made in the user's place rather than running commentary.
  • Promotion is the user's act. A precedent enters as recorded and is offered as a recommendation while the question is still asked. To make one applicable without asking, propose the promotion and name the precedent; it changes only when the user accepts. There is no usage count, age, or other threshold that promotes anything, because a threshold crosses with nobody watching.
  • A precedent answers a recurrence; it never reclassifies. It may shorten a decision inside its materiality category by supplying the recorded answer and its reasoning. It never moves a decision out of the categories that require asking, and no accumulation of precedents makes a category immaterial. A decision that resembles a precedent but sits in a different category is not a match.

A precedent informs a decision and never substitutes for a proof: gates, evidence, Review, and the write guard are untouched by anything in the store.

Unattended runs

The admission rule, what admission does and does not authorize, the open-a-pull-request/no-merge boundary, and that Keel schedules nothing are stated once, in this repository's AGENTS.md, under its own ## Unattended runs section. Read the boundary there — this skill states no separate copy, so the two surfaces cannot drift against each other.

Domain lenses

When the change signals a specific domain, look in keel/lenses/ for a lens whose Applies when: header matches, and read it before asking domain questions. When no lens matches, or the repo defines none, proceed on the domain-agnostic path. Lenses are user-authored; scaffold the bundled starting points with keel lenses add (web, hardware, hardware-dsl).

Boundaries

Alignment does not implement code, expand Touch, change selected-task acceptance, replace keel-review-checklist, or own follow-ups. If implementation later discovers a new material expectation, stop and return to OpenSpec authoring before continuing.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

Debug Keel agent command or validation failures under Keel's selected OpenSpec task contract. Use when `/opsx:apply` or a selected task reports failed commands, failing tests, validation errors, stop decisions, or needs an evidence-bound failure report.

日本語の概要は準備中です。原文の説明を表示しています。

TanglmChris/keel22026年10月20日 更新

Create, validate, or clear the optional keel-handoff/v1 pointer override when human intent cannot be inferred uniquely.

日本語の概要は準備中です。原文の説明を表示しています。

TanglmChris/keel22026年10月20日 更新

Run the current agent's thin semantic consistency review after shared Keel Core gates and before task completion, sync, archive, or meaningful handoff.

日本語の概要は準備中です。原文の説明を表示しています。

TanglmChris/keel22026年10月20日 更新

Drive Keel agent test-first or evidence-first execution for a selected OpenSpec task. Use when a task needs software tests, hardware testbench, assertions, lint, new behavior proof, regression coverage, or red/green evidence before implementation.

日本語の概要は準備中です。原文の説明を表示しています。

TanglmChris/keel22026年10月20日 更新

Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.

日本語の概要は準備中です。原文の説明を表示しています。

TanglmChris/keel22026年10月20日 更新

Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.

日本語の概要は準備中です。原文の説明を表示しています。

TanglmChris/keel22026年10月20日 更新

TanglmChris のスキルをすべて見る

このスキルの問題を報告する