content · diff

git:20260903.8c73006 to git:20261006.2bb32f6

1 added, 1 removed. Audit C to C.

<!--
Purpose: Canonical body text for the dinostack skill loaded by AI coding agents.
This file is the single source of truth for the skill's instructional content;
adapter-specific frontmatter (name, description, trigger conditions) is kept
separately in each adapter's build directory and prepended at build time.
Public API: consumed as-is by adapter build scripts. For Claude, .claude/build.sh
strips this manifest comment, prepends SKILL.frontmatter.yaml, and then
embeds the MINIMAL-corpus methodology body (build-methodology.sh
--corpus minimal, DS-204) plus content/rules/{code-standards,conventions}.md
verbatim to produce the final .claude/skills/dinostack/SKILL.md
(this file accounts for a fraction of that assembled artifact's size -
see check-skill-embed-budget.sh); METHODOLOGY.md itself stays the FULL
corpus, the sibling file a "Deferred at this corpus" pointer block in
SKILL.md sends a reader to when a named trigger fires. .gemini follows the
same minimal-embed-plus-full-sibling pattern (its own build.sh). .kimi and
.copilot (.github/skills) were flipped the same way and then HELD BACK in
the same DS-204 round (runtime QA came back INCONCLUSIVE for both - no
drivable runtime on the verification host) - both embed the full corpus
unconditionally, pending a live-runtime verification path. Other adapters
differ in whether and how they consume this file, and that set has changed
as adapters were added independently - check each adapter's own build.sh
directly rather than trusting an enumeration here, which has gone stale
before.
Upstream deps: none (leaf content file; no imports or code dependencies).
Downstream consumers: .claude/skills/dinostack/SKILL.md (assembled by
.claude/build.sh), plus the per-adapter SKILL.md outputs listed
under Public API above.
Failure modes: edits here take effect for .claude after re-running .claude/build.sh.
Adapters whose SKILL.md is a static committed file will drift silently
until their own build or manual sync is run. No side effects at read time.
Performance: standard (static markdown file).
-->
> **IMPORTANT - READ THIS FIRST:** If `skill_auto_load: true` is set in `~/.claude/agentic-engineering.json`, this skill is configured to auto-load. Read this entire SKILL.md before taking any action on software development tasks. Do not start implementing until you have read the Rules section below.
The Agentic Engineering system defines how to plan, delegate, review, and ship software using a
structured multi-agent workflow. It covers risk classification, adversarial review, task
decomposition, and quality gates so that changes are correct, safe, and reviewable. Read the rules
files on every session and the reference docs on the triggers described in METHODOLOGY.md §Protocol Details (read on trigger).
**Early relaxed-advice routing gate.** This gate applies only after activation resolves
`profile=relaxed` and all four canonical predicates pass. If profile is `default` or `strict`, this
gate does not apply and the motivating advisory retains its existing Elevated routing. After the
relaxed-only guard passes, apply risk classification before the first project-content read. Relaxed
ephemeral chat advice remains direct only when the answer can be produced from context already held;
otherwise classify Elevated before reading. Within that relaxed-only override, breadth alone is not
an investigation request. For the exact prompt `How would you recommend changing DinoStack?` in
that relaxed-only override, give bounded high-level advice from the methodology and context loaded
during mandatory skill activation, state specificity or evidence limitations when useful, and do
not explore the project merely to improve specificity. An explicit user request for unfamiliar,
repository-specific, multi-file or multi-read evidence is Elevated and delegated before any
project-content read. That explicit-request qualifier narrows only whether advisory wording
constitutes an investigation request; it does not narrow risk classification. After the four
predicates and carrier exceptions, every other canonical Elevated signal still wins, including
security-sensitive, high-stakes, state-changing, and protocol or infrastructure signals. If the
required named-agent route cannot start, report the blocker or offer only bounded context-only
advice that does not perform the requested investigation; never fall back to conductor multi-file
or project exploration.
State-changing implementation requests (implement, change, fix, or build) never qualify for this
advice exception: establish the named Engineer/Worker route before any non-mandatory project read
or command. Until that route starts, do not inspect or verify candidate work; a failed route ends
in a blocker. Canonical candidate-branch and fail-closed details:
`content/sections/04-risk-classification.md` §Relaxed ephemeral chat-advice override.
**Conductor default: act, don't ask.** The conductor's job is to complete the goal, not to approve every step. Stop and ask only for destructive/irreversible actions, missing information only the user has, materially ambiguous acceptance criteria, or scope-completion decisions. Repeated stops within one task are a planning signal, not a virtue. See `Proactive autonomy` in METHODOLOGY.md §Delegation for the full rule, anti-patterns, and stop-frequency thresholds.
## Rules (read these files)
- **METHODOLOGY.md** - the assembled kernel: delegation, risk classification, activation preflight, planning gate,
task decomposition, and worktree lifecycle; the core rules for when to act directly vs. spawn Workers and Skeptics.
- **rules/code-standards.md** - documentation lookups via Context7, tool discipline (Read always
primary; prefer Glob/Grep when available, Bash `rg`/`grep`/`find` as the sanctioned fallback
otherwise), code quality gates, package management conventions, and browser verification with
agent-browser.
- **rules/conventions.md** - writing style including length discipline (write for the permanent
audience), project structure, session context and memory handling, and git workflow including
protected branches and worktree-per-feature conventions.
## Commands (invoke by name)
- `/ds-help` - static, zero-token command reference; lists every slash command with a one-line description.
- `/ds-status` - read-only resolver dump; shows the resolved mode, profile, and marker with provenance plus a plain-English explainer of what they do and how to change them.
- `/ds-brief` - interactive planning dialogue; produces the Brief artifact before architect and engineer are spawned. Invoke when operator implies planning intent at session start, or use `/ds-brief --from <path>` to extract a Brief from an existing PRD.
- `/ds-update` - update an existing dinostack/DinoStack install (or fresh-install if none exists); invoke when the user says "pull and install DinoStack", "update DinoStack", "install the latest DinoStack", "reinstall dinostack", or "update my AE install".
Run `/ds-help` for the full command inventory.
## Reference Docs (read on trigger - see Protocol Details in METHODOLOGY.md)
- **references/skeptic-protocol.md** - Skeptic loop orchestration, findings classification
(Critical/Major/Minor), sign-off format, adversarial briefs, and the Elevated + Cleanup path.
- **references/subagent-protocol.md** - parallel spawning rules, worktree isolation, check-in
behavior, phase breadcrumbs, and task decomposition rules for multi-Worker plans.
- **references/agent-team.md** - named agent roles (engineer, architect, investigator, debugger,
security-auditor, orchestration-planner), composed flows, decision rules, and spawn requirements.
- **references/design-goals.md** - design principles and goals of the Agentic Engineering system;
read when evaluating whether a proposed change aligns with the system's intent.
- **references/regression-test-obligation.md** - per-finding regression-test obligation: every
Skeptic finding fixed during a task must come with a regression test that would have caught it;
read when fixing a Skeptic finding to confirm what counts as a valid regression test.
- **references/doc-sync-obligation.md** - per-change doc-sync obligation: a reality-asserting
change (alters a count/list/path/convention/behavior an intent-layer doc states) must update
the affected docs in the same change; read when a change touches a documented surface.
- **references/role-models.md** - Pi / oh-my-pi per-role model routing and antagonist
reviewer model diversity; read when resolving `role-models.yml` or spawning reviewers on Pi/omp.
- **references/model-discovery.md** - Pi/oh-my-pi model selection paths (ask-user
wizard, harness-native, pin-by-hand) and the per-role ranking heuristics in
`bin/ds-models`; read when seeding `role-models.yml`.
- **references/evidence-on-disk.md** - spill/sketch/rehydrate protocol for large
tool output; when to spill, the three-step loop, teardown, and ephemerality.
- **references/cross-harness-teams.md** - `ds-team` CLI and `team.yml` schema for
orchestrating parallel agent teams across multiple AI harnesses; read when using
`ds-team` or configuring cross-harness dispatch with `team.yml`.
- **references/digest-return-pattern.md** - digest-return discipline: when a background
loop-running spawn (multi-iteration Skeptic/QA, long investigation) returns, the conductor
reads the structured digest and acts - it does not re-read the internal transcript; read
when running a multi-unit plan with parallel background loops.
- **references/learnings-capture-instruction.md** - the standing "watch for learnings"
instruction: what counts as a learning, the in-flight `ds-learning-shard append` path for
the four roles it belongs to (`engineer`, `adr-generator`, `product-discovery`,
`release-orchestrator`), the `learnings_candidate[]` path for the three roles whose return
contract declares that field, and its canonical definition; read when acting as any
subagent role.
- **references/command-authoring.md** - authoring discipline for commands, skills, and
agent definitions: trigger-keyword descriptions (always injected into context even when
unused, so enumerate when to fire, not behavior) and bad/good example-pair seeding to
encode taste; read when authoring or editing a command file, skill definition, or agent
definition.
- **references/memory-shard-convention.md** - git-tracked per-fact shard directory
(`.agentic/memory-shards/`) a project's root MEMORY.md compiles from, the frontmatter
every shard carries, and the split/regenerate round-trip's entry-loss and reordering
- refusal guards; read when working on `bin/ds-memory-shard`, `hooks/lib/memory-shard.js`,
+ refusal guards; read when working on `bin/ds-memory-shard`, `bin/ds-memory-capture`, `hooks/lib/memory-shard.js`,
or any writer that captures a fact into a shard.
## Rules (read on trigger)
- **rules/module-manifest.md** - required manifest header format for non-trivial source files;
read when creating or substantially modifying a file that exports a public symbol, exceeds ~50
LOC, or implements a side-effecting operation.