from-first-principle
Use when a user wants to rebuild a design, organization, or API from primitives. Not for a perspective take: use from-*-perspective seats.
Install
npx skills add https://github.com/OutlineDriven/odin-claude-plugin/tree/main/plugins/odin-planning/skills/from-first-principle
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install outlinedriven-odin-claude-plugin@llmmart
git clone https://github.com/OutlineDriven/odin-claude-plugin.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole outlinedriven/odin-claude-plugin collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
From first principle
Contract
| Field | Bound contract |
|---|---|
| Trigger | User wants to rebuild a design, organization, or API from primitives. |
| Authority | Reversible local: writes only one named local rebuild specification artifact; rollback is deleting the artifact. No remote mutation. |
| Side effect | Writes a first-principles rebuild specification of the design, organization, or API to a local file. |
| Done | Produces a rebuilt first-principles specification naming primitives, derived structure, and open assumptions. |
Not for
- A perspective take on a question: use from-perspective.
- Pruning an existing structure down to its primitives: this rebuilds from primitives, it does not strip down.
- Restarting from a blank greenfield: use fromzero.
- Remote, credential, publish, deploy, or irreversible changes.
Inputs
Required: the target to rebuild (a design, an organization, or an API) and access to its current form for read-only comparison. Optional: the primitives the user insists on starting from; when absent, primitives are derived from the target itself.
Procedure
- Name the target and confirm whether it is a design, an organization, or an API. Done when: the target type is stated.
- Enumerate the irreducible primitives the target cannot exist without: concepts, data, or operations that are not themselves derivable from something smaller in this target. Done when: primitives are listed and each is confirmed irreducible.
- Derive the target's structure from those primitives only. Reject any element that is not forced by a primitive or a necessary composition of primitives. Done when: every derived element traces to a primitive or composition.
- For each derived element, record the primitive or composition that forces it. Elements with no primitive basis are open assumptions, not derived. Done when: each element is labeled derived or open-assumption with its basis.
- Write the rebuild specification to a local artifact: the enumerated primitives, the derived structure, each derivation step, and the open assumptions. Done when: the artifact is written with all four sections.
- Diff the rebuilt structure against the existing target, marking what changed and what was eliminated as non-primitive. Done when: the diff is recorded in the artifact.
Failure and recovery
- Primitives not enumerable: stop and report that the target cannot be reduced to stated primitives, naming the missing concept. Do not invent primitives.
- Element with no primitive basis: record it as an open assumption; never present an underived element as primitive-forced.
- Partial result: emit the artifact with derived sections complete and open assumptions listed; never fill a gap with a plausible but underived element.
- Non-mutation: the existing target is read-only throughout. Rollback is deleting the written artifact; no other state is touched.
Output
A local first-principles rebuild specification artifact: enumerated primitives, derived structure, per-element derivation steps, change/elimination diff against the existing target, and open assumptions, in that order.
Files (odin-claude-plugin)
-
agents
-
openai.yaml 154 B
interface: display_name: "From First Principle" short_description: "Use when a user wants to rebuild a design, organization, or API from primitives."
-
-
SKILL.md 3.2 KB
--- name: from-first-principle description: 'Use when a user wants to rebuild a design, organization, or API from primitives. Not for a perspective take: use from-perspective.' --- # From first principle ## Contract | Field | Bound contract | |---|---| | Trigger | User wants to rebuild a design, organization, or API from primitives. | | Authority | Reversible local: writes only one named local rebuild specification artifact; rollback is deleting the artifact. No remote mutation. | | Side effect | Writes a first-principles rebuild specification of the design, organization, or API to a local file. | | Done | Produces a rebuilt first-principles specification naming primitives, derived structure, and open assumptions. | ## Not for - A perspective take on a question: use from-perspective. - Pruning an existing structure down to its primitives: this rebuilds from primitives, it does not strip down. - Restarting from a blank greenfield: use fromzero. - Remote, credential, publish, deploy, or irreversible changes. ## Inputs Required: the target to rebuild (a design, an organization, or an API) and access to its current form for read-only comparison. Optional: the primitives the user insists on starting from; when absent, primitives are derived from the target itself. ## Procedure 1. Name the target and confirm whether it is a design, an organization, or an API. Done when: the target type is stated. 2. Enumerate the irreducible primitives the target cannot exist without: concepts, data, or operations that are not themselves derivable from something smaller in this target. Done when: primitives are listed and each is confirmed irreducible. 3. Derive the target's structure from those primitives only. Reject any element that is not forced by a primitive or a necessary composition of primitives. Done when: every derived element traces to a primitive or composition. 4. For each derived element, record the primitive or composition that forces it. Elements with no primitive basis are open assumptions, not derived. Done when: each element is labeled derived or open-assumption with its basis. 5. Write the rebuild specification to a local artifact: the enumerated primitives, the derived structure, each derivation step, and the open assumptions. Done when: the artifact is written with all four sections. 6. Diff the rebuilt structure against the existing target, marking what changed and what was eliminated as non-primitive. Done when: the diff is recorded in the artifact. ## Failure and recovery - Primitives not enumerable: stop and report that the target cannot be reduced to stated primitives, naming the missing concept. Do not invent primitives. - Element with no primitive basis: record it as an open assumption; never present an underived element as primitive-forced. - Partial result: emit the artifact with derived sections complete and open assumptions listed; never fill a gap with a plausible but underived element. - Non-mutation: the existing target is read-only throughout. Rollback is deleting the written artifact; no other state is touched. ## Output A local first-principles rebuild specification artifact: enumerated primitives, derived structure, per-element derivation steps, change/elimination diff against the existing target, and open assumptions, in that order.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.