{"id":51223186,"url":"https://github.com/saadshahd/moo.md","last_synced_at":"2026-07-09T07:00:32.985Z","repository":{"id":328864072,"uuid":"1106613577","full_name":"saadshahd/moo.md","owner":"saadshahd","description":" Stay present with AI. A Claude Code plugin that keeps you understanding what you sign to own.","archived":false,"fork":false,"pushed_at":"2026-06-24T19:58:11.000Z","size":24485,"stargazers_count":33,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-24T21:19:59.325Z","etag":null,"topics":["agentic-workflow","claude-code","claude-code-plugins","claude-code-plugins-marketplace","claude-code-skills","decision-making","interactive-agents"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/saadshahd.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-29T15:45:06.000Z","updated_at":"2026-06-24T19:58:13.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/saadshahd/moo.md","commit_stats":null,"previous_names":["saadshahd/moo.md"],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/saadshahd/moo.md","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saadshahd%2Fmoo.md","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saadshahd%2Fmoo.md/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saadshahd%2Fmoo.md/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saadshahd%2Fmoo.md/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saadshahd","download_url":"https://codeload.github.com/saadshahd/moo.md/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saadshahd%2Fmoo.md/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35290235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-09T02:00:07.329Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentic-workflow","claude-code","claude-code-plugins","claude-code-plugins-marketplace","claude-code-skills","decision-making","interactive-agents"],"created_at":"2026-06-28T09:00:31.118Z","updated_at":"2026-07-09T07:00:32.972Z","avatar_url":"https://github.com/saadshahd.png","language":"Shell","funding_links":[],"categories":["Source Catalog"],"sub_categories":[],"readme":"Why introduce friction? Because **YOU** the human end up being the world model. The agent is just your hands.\n\n**moo/hope** doesn't build, and doesn't author your code, rules, or taste. It works alongside build tooling like [superpowers](https://github.com/obra/superpowers).\n\nOne idea runs through all three layers: **never delegate a decision.**\n\n## Try it\n\n```bash\n/plugin marketplace add saadshahd/moo.md\n/plugin install hope@moo.md\n```\n\n- Run the whole loop with `/hope:full \u003cyour seed\u003e`, or run the stages directly: `/hope:intent \u003cyour seed\u003e` then `/hope:shape \u003cyour intent\u003e`, each handing you a lean card.\n- For work you used to do by hand, `/hope:delegate` routes it to agents while you keep every decision.\n- When work depends on live external state, `/hope:freeze` snapshots it as fact (never memory) before a stage builds on it.\n- As the work lands, `/hope:over` hands each load-bearing decision back so you reason it into your own model.\n\n## A loop\n\nThe loop is pure decision work. You drive it slowly, in your own context.\n\nEvery piece of work starts as a raw `\u003cseed\u003e`, the rough thing you fully typed. It is the one artifact that is fully yours.\n\n**/intent** and **/shape** do not make the seed more honest. They make it explicit and specified. Each surfaces a decision as an interactive question, every choice previewed, a few at a time, and you answer. Every added detail stays yours because you chose it. `/intent` turns the `\u003cseed\u003e` into a confirmed statement of what you want. `/shape` turns the `\u003cintent card\u003e` into a chosen approach before any code exists.\n\nThe outcome is a card you carry comfortably outside the context window.\n\n![The loop](assets/loop.png)\n\n## An anchor\n\n**freeze** anchors the work to what is observed, not what you remember. When a stage depends on state that lives outside the repo — a service, a database, a queue, live logs — that state keeps moving, and memory of it goes stale the moment you look away.\n\nfreeze snaps the slice your work touches into one immutable value: every fact observed live or named as an open gap, never inferred. The stages decide against a fact, not a guess. It is the ground the other three stand on — and repo-local work skips it.\n\n![freeze](assets/freeze.png)\n\n## A mode\n\n**delegate** is the line between deciding and doing.\n\nYou keep every decision. Each one is surfaced to you so you stay engaged. Only tactical, observable work fans out to agents: implement, test, verify, audit, explore.\n\nThis is also what stops compaction from silently rewriting your context. The verbose doing never enters your main thread, so it can never quietly mutate what you decided.\n\n![Deciding stays, doing leaves](assets/delegate.png)\n\n## A discipline\n\n**over** hands a decision back the moment it lands — in-flow, as soon as the work is done, never banked to the end. The agents that did the work are short-lived; what they carried vanishes with them, so the decision has to come back to you right away.\n\nAgents grow the codebase faster than they grow your understanding of it. That gap is the part you are accountable for. over closes it. It finds what was load-bearing and hands each decision back as one forward question — you reason it into your own mental model, it confirms once. A short conversation, no score.\n\nWhat the agent never carries is what over hands back.\n\n![over](assets/over.png)\n\n## Overview\n\n| The trap                                 | Layer                          | Guard                                        |\n| ---------------------------------------- | ------------------------------ | -------------------------------------------- |\n| AI fills in your decisions               | `/hope:intent` \u0026 `/hope:shape` | interactive questions, each choice previewed |\n| compaction mutates \u0026 drifts your context | `/hope:delegate`               | doing stays out, deciding stays in           |\n| stale or remembered external state       | `/hope:freeze`                 | snapshot facts, never infer                  |\n| code grows faster than understanding     | `/hope:over`                   | hand each decision back in-flow, you reason it into your own model |\n\n## Reading\n\n- [The Engineer's Anxiety at the Penalty Kick](https://saadshahd.github.io/blog/the-engineers-anxiety-at-the-penalty-kick/) — \"Ownership without comprehension is just a signature.\"\n- [One Flew Over the Context Window](https://saadshahd.github.io/blog/one-flew-over-the-context-window/) — what the agent never carries between sessions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaadshahd%2Fmoo.md","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaadshahd%2Fmoo.md","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaadshahd%2Fmoo.md/lists"}