{
  "markdown": "<p align=\"center\">\n  <strong>Stops your coding agent from saying \"that should work now.\"</strong>\n</p>\n<p align=\"center\">\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/github/license/evangelosmeklis/i-have-ocd?style=flat\" alt=\"License\"></a>\n</p>\n\n## Install\n\n<details>\n<summary><strong>Claude Code</strong></summary>\n\n```bash\nclaude plugin marketplace add evangelosmeklis/i-have-ocd\nclaude plugin install i-have-ocd@i-have-ocd\n```\n\nThen type `/i-have-ocd`. No local clone needed: Claude Code fetches the repo and keeps it updated.\n\nWant it on every session? `touch ~/.claude/.i-have-ocd-always` (see [INSTALL.md](./INSTALL.md)).\n\n</details>\n\n<details>\n<summary><strong>Codex</strong></summary>\n\n```bash\ncodex plugin marketplace add evangelosmeklis/i-have-ocd --ref main\ncodex plugin add i-have-ocd@i-have-ocd\n```\n\nThen type `$i-have-ocd`.\n\n</details>\n\nInstall instructions for other coding agents live in [INSTALL.md](./INSTALL.md).\n\n## What it does\n\nCoding agents hedge. \"That should fix it,\" \"this looks right,\" \"you may want to check the other callers.\" Every one of those is an open loop the reader has to close themselves.\n\nThis skill closes them. Claims come with evidence attached or get labelled unverified. Scope is stated explicitly. Code stays clean: one responsibility per unit, no leftovers after a rewrite. Tests run before every commit, and a red one gets the code fixed rather than the assertion weakened. A working tree full of unrelated changes gets committed as several small ones, each green on its own, rather than a single mass with a paragraph for a message. Anything built from scratch gets defined first — what it is, where it lives, who it is for — instead of guessed at. A request that names a solution gets a question about the goal behind it, and a cheaper route to that goal gets named before the expensive one is built. A large feature that does not fit the existing design gets that said out loud, with the alternative and its cost, rather than bolted on. And nothing destructive runs without being spelled out and confirmed twice.\n\n## The rules\n\n16 rules. Full text in [SKILL.md](./skills/i-have-ocd/SKILL.md).\n\n1. Evidence, not reassurance.\n2. Two certainty states: verified, or unverified.\n3. Bound the blast radius.\n4. Never leave a loop open.\n5. Unchecked is not unknowable.\n6. No \"just in case\" work.\n7. One answer, not a menu of maybes.\n8. Failures get a state, not a worry.\n9. No reassurance language.\n10. Clean code, one responsibility per unit.\n11. Destructive commands need explicit confirmation, twice.\n12. Unit tests: run them before committing, and never edit one to make it pass.\n13. Define before you build: ask what, where, and for whom before writing anything from scratch.\n14. A big change tests the design: if it fits badly, say why and offer the alternative instead of bolting it on.\n15. Build toward the goal, not the wording: ask what a request is for, name a better route when one exists, and stop when the code contradicts your reading of the ask.\n16. Small commits, one purpose each: short messages, and a full working tree split into pieces that each pass the suite before the next one starts.\n\n## Tune it\n\nFork, edit `skills/i-have-ocd/SKILL.md`, then swap your copy in:\n\n```bash\nclaude plugin uninstall i-have-ocd            # drop the upstream copy first:\nclaude plugin marketplace remove i-have-ocd   # fork and upstream share both names\nclaude plugin marketplace add <your-username>/i-have-ocd\nclaude plugin install i-have-ocd@i-have-ocd\n```\n\nRestart Claude Code, then re-invoke `/i-have-ocd`.\n\n## Credits\n\nInspired by [i-have-adhd](https://github.com/ayghri/i-have-adhd) by Ayoub G., which established the format: a real cognitive profile, the facts that follow from it, and rules traceable to those facts. This project is not affiliated with, endorsed by, or maintained by that project or its author.\n\n## License\n\nMIT.\n",
  "bytes": 3892,
  "sha": "927f08fffa894a0f1b7bf7c8d8f2c76c45e5a0dfb33e46ef03c606b6869ac70d",
  "repo_slug": "evangelosmeklis/i-have-ocd",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_evangelosmeklis_i_have_ocd_4ce0b613/readme"
}