with one click
goal-design
Create validated goal-design packets.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Create validated goal-design packets.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
回顾最近 N 天的 Claude Code 使用记录——扫描原始会话数据,按主题分组汇总"我都做了什么",并从个人操作系统视角输出模式、风险与增删建议。当用户说 /recap、"看看我这几天做了什么"、"回顾一下我最近的会话"、"这两天我用 claude 干了啥"、"活动回顾" 时使用。
Wenn es um /anpassen in diesem Spezialbereich geht: prüft Frist, Form, Zuständigkeit, Rechtsweg und Sofortmaßnahmen; liefert eine Fristen- und Risikoampel mit Sofortschritten.
Use when wiring up or switching between China-domestic LLM providers (DeepSeek, Doubao/Volc Ark, Qwen/DashScope, MiniMax). Provides OpenAI-compatible adapter pattern, env-var contracts, fallback strategy, cost guardrails, and minimum verifications before declaring integration done.
Consult an independent GPT-5.6 reviewer (Terra by default; Sol on request, for a stronger but costlier review), matched to your current reasoning-effort level. Use before committing to an interpretation or a substantial piece of writing/analysis, when stuck (recurring errors, a non-converging approach, results that do not fit), when considering a change of approach, or when you believe a task is complete and want a check before finalizing. Not a co-implementer — read-only advisory only, does not edit files.
QA the omo Codex Light edition (lazycodex / packages/omo-codex) itself, in strict isolation so ONLY our plugin is exercised, never the user's real ~/.codex. The first-party method drives the real `codex app-server` against an isolated CODEX_HOME plus a LOCAL mock model (no real API call), and proves a plugin hook fired by asserting hook/started + hook/completed notifications. Also: isolated install verification, per-component hook probes, a tmux TUI smoke, and runtime log observation (RUST_LOG / logs SQLite / /debug-config). Ships tested helper scripts each with a --self-test. Use whenever someone changes anything under packages/omo-codex or wants to QA, smoke-test, verify, or debug the Codex plugin, its hooks/components, the installer/config.toml, the app-server flow, or the Codex TUI. Triggers: codex qa, qa codex, codex-qa, test codex plugin, verify codex hook, codex app-server, lazycodex qa, isolated CODEX_HOME, prove codex hook fired, codex tui test.
MANDATORY for every coding agent (Claude Code, Codex, or any other) on every change-set — every applicable source file the agent creates or updates MUST start with the project's copyright/authorship header (file overview + exact author line). Use automatically whenever writing a new file or editing an existing one; do not wait to be asked. Covers JS/TS/TSX/CJS/MJS, Python, shell, and CSS. Includes the audit script to verify repo-wide compliance.
| name | goal-design |
| description | Create validated goal-design packets. |
When this skill runs in Codex hookless mode (CODEX_THREAD_ID is set or
CODEX_INTERNAL_ORIGINATOR_OVERRIDE is Codex Desktop), run:
ao codex ensure-start 2>/dev/null || true
The CLI records startup once per thread and skips duplicates automatically.
Loop position: pre-discovery adapter for move 1 of the operating loop. It turns a human goal into a checked
intent.md+driver.mdpacket that$discoveryand$plancan consume without relying on chat context.
Execute this workflow. Do not only describe it.
Use $goal-design when the goal is important enough to leave chat but not yet
ready to become beads. The skill writes .agents/goal-design/<slug>/intent.md
and driver.md, refreshes the driver digest, runs the packet checker, and
requires an independent validation verdict before the packet drives work.
Do not use $goals for this. $goals maintains GOALS.md fitness specs;
$goal-design creates a per-objective intent packet.
Given $goal-design "<goal>" [--slug <slug>]:
| Input | Meaning |
|---|---|
| goal | Human objective to shape as BDD |
--slug | Optional packet slug; default is kebab-case from goal |
--scenario-id | Optional first scenario id; default S1 |
--bounded-context | Optional BC tag; default bc-loop until evidence says otherwise |
Shape WHAT before HOW. Write the objective, why, bounded context, non-goals, rollback/containment, stale assumptions, and at least one Given/When/Then scenario.
Create the packet with the helper. Prefer the digest-safe tool:
scripts/goal-design-packet.py new <slug> \
--objective "<goal>" \
--scenario-name "<observable behavior>" \
--first-failing-proof "<test or command>" \
--write-scope "<path or glob>"
Edit deliberately. If you edit intent.md, refresh driver.md before
checking:
scripts/goal-design-packet.py refresh-digest .agents/goal-design/<slug>
Run the deterministic checker.
scripts/goal-design-packet.py check .agents/goal-design/<slug>
The checker must fail closed on stale digest, slug drift, misleading
intent_ref.path, unknown scenario ids, unmapped candidate behavior, schema
violations, and self-grading language.
Get independent validation. Invoke $validate .agents/goal-design/<slug>
or an equivalent fresh-context validator. A checker-clean packet with no
independent verdict is not ready to drive work. Record the verdict with the
evidence-bound transition (never hand-edit status:):
scripts/goal-design-packet.py mark-validated .agents/goal-design/<slug> \
--verdict "PASS (<validator>, <date>)"
It refuses FAIL/empty verdicts, flips both statuses, stamps the driver's
Last validation verdict line, refreshes the digest, and re-runs the checker
in one move.
Hand off. After validation, pass the packet path to $discovery or
$plan. Preserve scenario ids and names exactly; do not paraphrase S1,
S2, or candidate behavior labels away.
Emit the dispatch prompt. When the packet executes out-of-session via a
goal API (codex goals, claude goals, an NTM pane, bushido spawn),
emit the small copyable prompt that points the worker at the packet:
scripts/goal-design-packet.py prompt .agents/goal-design/<slug>
Paste the output verbatim into the goal command. It fails closed on a
draft packet (validate first; --allow-draft for a preview) and on prompts
over 4000 characters (the codex goal-API limit). The packet files remain
the contract of record; the prompt only aims the worker at them.
A long autonomous run is only safe if the goal carries its own escalation
policy — a per-goal class → tier router, never a flat "escalate to me"
(doctrine: docs/architecture/the-flywheel.md, the three-tier andon). The
helper's new command scaffolds the canonical router table into the driver
body — replace its TODO row with the goal-specific one-way-door rows before
dispatch; do not leave the placeholder. When
authoring driver.md, write the router as a table in the driver body and
mirror its escalation semantics in the schema-validated route_back_rules
frontmatter (auto → validation_fails, council →
promotion_contradicts_intent, human → a breaker-trip clause in those rules):
| One-way-door class | Tier | Machinery (reuse, never rebuild) |
|---|---|---|
| Gate / validation failure | auto | AUTO-REDO + ao gate check --fast --scope head |
| Architecture fork / plan-shape one-way door | council | $council + ao plan-pawl decide (PASS/REDO/BLOCKED) + $converge |
| Money / legal / irreversible-external (the refusal lane) + any breaker trip | human | ESCALATE / HOLD — hand back to the operator |
Every router carries the implicit final row: a slice that cannot pass validation in N rounds, an oscillation, or a scope-creep flag trips the breaker to human — stop and ask, never guess through it.
Schema limit (do not hack it): the driver v1 schema is
additionalProperties: false with no dedicated andon field, so the class →
tier table lives in the driver body while route_back_rules carries the
machine-checkable semantics. A driver v2 andon_router field is a candidate
follow-up — do not modify the landed schemas, templates, or checker to add it.
.agents/goal-design/<slug>/intent.md.agents/goal-design/<slug>/driver.mdscripts/check-goal-design-packet.shscripts/goal-design-packet.py prompt <packet>)
when a goal API executes the packet out-of-session$goal-design is done only when:
scripts/check-goal-design-packet.sh .agents/goal-design/<slug> exits 0.PASS or WARN with no blocker.$discovery .agents/goal-design/<slug>,
$plan .agents/goal-design/<slug>, or an emitted dispatch prompt handed to
a goal API (codex/claude goals).Feature: Goal-design packets carry validated intent into the loop
Scenario: Create a checked packet before discovery
Given a human objective that should not stay only in chat
When $goal-design writes intent.md and driver.md
Then scripts/check-goal-design-packet.sh passes
And the packet names an independent validation verdict before $discovery or $plan consumes it
Scenario: Reject stale or inconsistent packet identity
Given driver.md points at stale, mismatched, or unknown intent content
When the packet checker runs
Then it exits non-zero before planning or implementation starts
Scenario: Emit a dispatch prompt for goal APIs
Given a validated goal-design packet
When goal-design-packet.py prompt runs against it
Then a copyable prompt under 4000 characters points the worker at intent.md and driver.md
And a draft packet is refused unless --allow-draft is passed
GOALS.md.$plan is invoked..agents/goal-design packets unless the
write-surface contract changes.bats tests/scripts/goal-design-packet.bats
bats tests/scripts/check-goal-design-packet.bats
scripts/check-goal-design-packet.sh .agents/goal-design/<slug>