agent-doc-discipline
Writing-time discipline for documents agents consume (the five surfaces, specs, tickets, .omc/skills/) — every rule checkable and…
Twenty-four engineering principles in five groups, mapped to the lane carrying each — premise testing, root causes, honest verification, domain modeling, convergence, context discipline. For design, debugging, or delegation briefs.
Claude Code
$ npx -y skills add Yeachan-Heo/oh-my-claudecode --skill principles --agent claude-code
Codex
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill principles -a codex -y
Cursor
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill principles -a cursor -y
Gemini CLI
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill principles -a gemini-cli -y
GitHub Copilot
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill principles -a github-copilot -y
OpenCode
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill principles -a opencode -y
Windsurf
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill principles -a windsurf -y
name: principles
description: "Twenty-four engineering principles in five groups, mapped to the lane carrying each — premise testing, root causes, honest verification, domain modeling, convergence, context discipline. For design, debugging, or delegation briefs."
aliases: []
metadata:
credits:
principles-library: pstack
author: Lauren Tan
url: "https://github.com/cursor/plugins/tree/main/pstack"
port: pstack-claude
port-author: Michael Denyer
port-url: "https://github.com/michael-denyer/pstack-claude"Twenty-four principles distilled for OMC's lanes from the pstack principle library (credited above) and rewritten against OMC's own mechanisms. Each names when it applies and which lane carries it. This is a discipline skill: it shapes how work is done; it never gates delivery on its own.
should travel with the brief
in one line, then proceed
Refactoring, sizing a diff, or tempted to add abstractions, layers, or signal threading. Bias to deletion and the smallest change that solves the problem. Composes with `minimal-code-discipline`. Carried by `executor` and `code-simplifier`.
Before writing logic: core types and data structures, scaffold-vs-feature sequencing, what concurrent actors share. Carried by `architect` and `planner`.
Integrating a new requirement into an existing design. Redesign as if the requirement had been foundational from day one, instead of patching the old shape around it. Carried by `architect`.
When two or more attempted fixes share one assumption and all failed the same gate, stop writing fix three. Write the shared assumption down, test it directly, and let the result choose the next move. Carried by `critic` during plan gap analysis and by `debugger` before a third retry.
Before sequencing an addition, refactor, or rewrite, remove the dead weight first and build on the simpler base. Carried by `executor` and `code-simplifier`.
Reviewing or shaping code that is hard to trace. Count layers and hidden state, collapse one-caller wrappers, shrink mutable scope. Carried by `code-simplifier` and `writer`.
Planned rewrites and migrations with explicit phase boundaries. Converge on the target architecture; do not preserve throwaway compatibility states. Carried by `planner`.
Product, UX, or feature-scope tradeoffs. Choose user delight over implementation convenience, and say the tradeoff out loud when you take it. Carried by `designer`.
A novel interaction or architectural decision with no precedent. Build 2-3 competing options and compare before committing — the `arena` and `architect` skills are this principle operationalized. Carried by `architect`.
Any non-trivial repeated work. Build the tool that does or proves it — codemod, script, generator — rather than doing it by hand a third time; the tool is the artifact a reviewer reruns. Carried by `executor`.
When stateful logic branches a lot or repeats a shape assumption across files, encode the domain in a structure — a state machine, a typed model, a registry, a reducer — instead of scattering conditionals. OMC's graph runtime (`graph` skill) is this principle at full size. Carried by `architect`.
Wiring validation, error handling, or framework adapters. Guards at system boundaries, trust internal types, keep business logic pure. Carried by `architect` and `executor`.
Designing types or signatures in any typed language. Make illegal states unrepresentable, brand primitives, parse external data at boundaries; in TypeScript, `typescript-best-practices` grounds this in syntax. Carried by `architect` and `executor`.
Design commands, lifecycle steps, and loops that run amid crashes and retries to converge to the same end state. OMC's team recovery replays worker checkpoints idempotently; user code deserves the same property. Carried by `executor`.
Introducing a new internal API while old callers exist. Migrate every caller and delete the old surface in one wave; a compatibility shim with no expiry is a second system. Carried by `executor`.
Concurrent actors might write the same file, branch, key, or object. Eliminate the sharing first (a writer per worktree is OMC's house form); locking is the fallback, not the first move. Carried by `executor` and `team`.
Done means verified against the real artifact — the command's actual output, the passing test, the rendered page — never a proxy and never "it compiles". The `verify` skill owns the evidence format. Carried by `verifier`.
Trace each symptom to the first place the system went wrong and fix it there. A guard for a state that should not exist is a workaround, not a fix; it is legitimate only when that state itself is legitimate. Carried by `debugger`; `verifier` treats symptom-level patches as incomplete work.
Multi-step work — sweeps, migrations, runs of similar edits — and how commits and PRs stack. Small units that each end in a check, verified before the next, ordered so the sequence proves itself. Ca
For Codex users: Check out oh-my-codex — the same orchestration experience for OpenAI Codex CLI. Liked OmC but found it a bit overkill? Try gajae-code.
Writing-time discipline for documents agents consume (the five surfaces, specs, tickets, .omc/skills/) — every rule checkable and…
Clean AI-generated code slop with a regression-safe, deletion-first workflow and optional reviewer-only mode
Settle types and module shape before cross-boundary code — competing designs explored in parallel, compared on API surface and…
Periodic architecture survey — walks the module graph and reports ranked deepening candidates (shallow modules, hypothetical…
Run N parallel candidates at one brief and synthesize: rubric-first framing, isolated fan-out, a cross-judge on a different…
Shipyard's navigator — chart a foggy effort (destination unclear, questions not yet stateable) into a map of decision tickets on…
Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…
Create a new Architecture Decision Record with sequential numbering and AgentDB registration