agent-environment-retr…
Use when a completed session needs an agent-environment retrospective. Not for an engineering retrospective from telemetry: use engineering-retrospective.
Use when a user wants to define patterns the agent should not do. Don''t use for remote, credential, publish, deploy, or irreversible changes.
$ npx -y skills add OutlineDriven/odin-claude-plugin --skill prohibit-bad-habits --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/prohibit-bad-habitsContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when a user wants to define patterns the agent should not do. Don''t use for remote, credential, publish, deploy, or irreversible changes.
name: prohibit-bad-habits description: 'Use when a user wants to define patterns the agent should not do. Don''t use for remote, credential, publish, deploy, or irreversible changes.' disable-model-invocation: true
| Field | Bound contract | |---|---| | Trigger | Human requests that specific agent behavior patterns be documented as prohibited in a structured project document or agent-rule file rather than in AGENTS.md. | | Authority | Reversible local: writes only the named local artifact; rollback is deleting the written file if it did not exist before and the human has not confirmed it. No remote mutation. | | Side effect | Local file write: creates or updates one structured project document or agent-rule file that enumerates prohibited agent behavior patterns. | | Done | A structured artifact exists at the agreed target path and contains at least one prohibited-habit entry with a non-empty name and description, verified by the human. |
1. Gather prohibited patterns. Ask the human to list each pattern to prohibit. For each, collect: name (short identifier), description (concrete behavior to avoid), consequence (what goes wrong when the agent does this), and optionally category and workaround. If the human cannot supply a concrete description, stop without writing. Done when: every pattern the human listed has a name and a concrete description, and any pattern lacking a description is named as blocked rather than invented. 2. Confirm target location. Accept the human's specified path, or use `docs/prohibited-habits.md` for a shared-project location or `agent-rules/prohibited-habits.yaml` for an agent-rules location. Present the chosen path to the human and wait for confirmation before proceeding. Done when: the human has confirmed or revised the path, and the path is recorded for the write. 3. Choose format. Use Markdown (`*.md`) if the target is under `docs/` or the human requests it. Use YAML (`*.yaml`) if the target is under `agent-rules/` or multiple agent-rule files already exist in the project. Otherwise default to Markdown. Done when: the format matches the target path extension, or the default is chosen and the path extension agrees with it. 4. Draft file content. Write the following structure to the confirmed path:
# Prohibited Habits
## <Pattern Name>
**What to avoid:** <concrete description of the behavior>
**When it happens:** <negative consequence of the behavior>
**Workaround:** <alternative or mitigation, if provided> prohibited_habits:
- name: <short name>
description: <concrete behavior to avoid>
consequence: <what goes wrong>
category: <category, if provided>
workaround: <alternative or mitigation, if provided>Done when: the drafted content contains one entry per gathered pattern, each entry carries name, description, and consequence, and the structure matches the chosen format. 5. Write the file. Create or overwrite the confirmed target path with the drafted content. If a pre-existing file at that path contains content the human has not reviewed in this session, stop and report the conflict rather than overwriting silently. Done when: the file exists at the confirmed path and its contents match the draft, or the pre-existing-conflict stop condition fired and no write occurred. 6. Present to the human. Show the written file path and content. The human confirms acceptance or requests revision. If the human declines to review, report the partial result and stop without claiming done. Done when: the human has confirmed acceptance of the written content, or the human declined to review and the result is recorded as partial.
Formerly the ODIN Claude Plugin. The repository URL is unchanged. Outline-Driven Development, nicknamed ODIN, is a highly opinionated code-agent skill library: principles-first engineering, surgical editing, and workflow automation, published as installable
Repo: OutlineDriven/odin-claude-plugin
Use when a completed session needs an agent-environment retrospective. Not for an engineering retrospective from telemetry: use engineering-retrospective.
Use when a repo needs agent setup, AGENTS.md added or made lean, CLAUDE.md audited, or agent instructions scored or pruned. Not for remote, credential,…
Use when a human explicitly asks for a full repository agent-compatibility pass returning a scored report with prioritized fixes. Not for tasks that require…
Use when setting up a project, auditing agent command permissions, or asking which read-only bash commands and domains to allow. Not for remote, credential,…
Use when asked to build or review a CLI intended for coding agents and return flag-driven, pipeline-safe, idempotent design advice. Not for running or…
Use when the user asks to make the skills framework work in a new harness, IDE, or CLI. Not for remote, credential, publish, deploy, or irreversible changes.