{"id":"6102b9fd-a3e4-448c-858c-09323e8d4990","slug":"let-him-grill","kind":"skill","name":"let-him-grill","summary":"A Codex planning skill: resolve reversible decisions, stop at human gates, and resume the decision path.","owner":"pengusto","repoUrl":"https://github.com/pengusto/let-him-grill","license":"MIT","licenseTier":"permissive","trust":"community","stars":1,"match":null,"fewStars":true,"format":"skill","createdAt":"2026-07-22T20:51:53.000Z","addedAt":"2026-10-21T11:17:03.752Z","logoUrl":"https://avatars.githubusercontent.com/u/106893073?u=cff87227102d2ed0bfca9d15bfd420467a2911ae&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["writing"],"tags":["ai-agents","codex","decision-making","developer-tools","human-in-the-loop","workflow-automation"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-26T07:59:23.233Z","sample":false,"url":"https://conduits.dev/tools/let-him-grill","language":"Python","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"docs/assets/let-him-grill-banner-ember-dark.png\">\n  <source media=\"(prefers-color-scheme: light)\" srcset=\"docs/assets/let-him-grill-banner-ember.png\">\n  <img src=\"docs/assets/let-him-grill-banner-ember.png\" alt=\"AI illustration: the penguin grills question cards; an unfurled paper plan keeps one human decision open.\">\n</picture>\n\n# Let Him Grill\n\n**English** · [Deutsch](README.de.md)\n\n**Let the agent cook. Grill only what matters.**\n\nA Codex skill for developers and project owners who want to stress-test a plan\nwithout answering every reversible decision themselves. Let Him Grill researches\nthe project, resolves low-risk choices, and stops when goals, architecture,\nsecurity, or cost need your judgment. The decision path stays inspectable and\ncan be resumed later.\n\n[Project site](https://pengusto.github.io/let-him-grill/) ·\n[Reference artifacts](docs/examples/README.md) · [Changelog](CHANGELOG.md)\n\n## Demo\n\n![Let Him Grill resolves five reversible choices, stops at a human gate, and keeps the current path ready after reassessment.](docs/demo-poster.png)\n\nSix decisions evaluated · five resolved autonomously · one human gate. Compare\nthe [initial state](docs/demo.png) with the [post-reassessment poster](docs/demo-poster.png),\nread the [recorded branch reassessment](docs/examples/feature-planning/reassessment.md),\nor inspect a [complete portable decision artifact](docs/examples/README.md).\n\nThe demo and poster were rendered from the bundled interface; see the\n[recording provenance and sequence](docs/tickets/003-demo-gif.md).\n\nThis is not a blanket `continue autonomously` instruction. Let Him Grill\ndefines a decision boundary, keeps the portable source of truth in\n`.grill/decisions.json`, and invalidates dependent branches when an earlier\nchoice changes.\n\n## Install\n\n```bash\nnpx skills add pengusto/let-him-grill -g -a codex -y\n```\n\nRequires Codex with skill support and Node.js with `npx`.\nThen open a **new Codex task** in your project and try:\n\n```text\nUse $let-him-grill in compact mode to stress-test this plan:\nAdd saved filters to the existing dashboard.\nReuse project patterns and stop when product scope needs my decision.\n```\n\nThe skill checks project evidence first, explains its choices, and collects\nunresolved human gates. Before implementation, it asks you to confirm the\nplanning summary. No additional server is needed.\n\n## Pick your mode\n\n| Mode | Best for | Output |\n| --- | --- | --- |\n| Compact | Short, linear planning questions | Decisions and reasons in chat; files only when useful |\n| Visual | Branching plans and later reassessment | Interactive tree and portable state in `.grill/decisions.json` |\n\nBoth modes use the same decision rules. Switch at any time.\n\n## Status and limits\n\nAn installable skill with published versions and recorded Codex installation\nand resume checks. This is a planning aid, not an enforcement mechanism for\npermissions: review provisional AI choices before implementation. The Python\npath provides executable state validation; the native fallback follows the same\ncontract without that validation.\n\nThe [validation record](docs/validation/cross-agent-install/README.md) covers\nClaude Code package installation, but not an authenticated live invocation.\nThe [roadmap](docs/ROADMAP.md) tracks remaining validation and launch work.\n\n## Before and after\n\nIn five scripted paired planning runs, median time to a usable plan fell from\n455 to 54 seconds. Let Him Grill's final plans surfaced seven normalized\nmaterial human gates while asking one immediate question. See the\n[protocol, raw transcripts, and limitations](docs/benchmark/RESULTS.md). The\ntiming includes Codex execution and benchmark-controller latency; it is product\nevidence, not a controlled model-performance benchmark.\n\nThe [clean-install validation](docs/validation/cross-agent-install/README.md)\nrecords Codex discovery and resume behavior plus Claude package installation;\nlive Claude invocation remains unverified.\n\n## Why not just say “continue autonomously”?\n\nThat instruction tells an agent to keep going, but not where to stop or how to\nrecover when an earlier choice changes. Let Him Grill makes those boundaries\nexplicit: it classifies decisions, resolves only low-risk reversible options,\nstops at genuine Human-Gates, and can resume the portable state in a later\ntask.\n\n## How it works\n\n![Excalidraw-style overview of the Let Him Grill decision and Codex rendering workflow.](docs/how-it-works.svg)\n\n- researches repository code and documentation before asking questions\n- recommends an answer for every real decision\n- triages every option by fit, risk, effort, and reversibility\n- continues through reversible, low-risk choices automatically\n- stops at architecture, product, security, cost, and other human gates\n- invalidates dependent decisions when an earlier choice changes\n- supports compact text output and a persistent interactive decision tree\n\n## Manual installation\n\nUse Git as a fallback when the `skills` CLI is unavailable. Both modes use the\nsame installation; choose the mode when invoking the skill.\n\n### Global installation\n\nAvailable in every Codex project for the current user:\n\n```bash\nmkdir -p ~/.agents/skills\ngit clone https://github.com/pengusto/let-him-grill.git \\\n  ~/.agents/skills/let-him-grill\n```\n\nPowerShell:\n\n```powershell\nNew-Item -ItemType Directory -Force \"$HOME\\.agents\\skills\" | Out-Null\ngit clone https://github.com/pengusto/let-him-grill.git `\n  \"$HOME\\.agents\\skills\\let-him-grill\"\n```\n\n### Project-local installation\n\nVersion the skill with one repository:\n\n```bash\nmkdir -p .agents/skills\ngit submodule add https://github.com/pengusto/let-him-grill.git \\\n  .agents/skills/let-him-grill\n```\n\nStart a new Codex task after installation so the skill is discovered.\n\n## Use\n\n### Compact mode\n\nText-first. State and visualization are created only when branching or revisiting\ndecisions makes them useful.\n\n```text\nUse $let-him-grill in compact mode to stress-test this plan.\nContinue autonomously until my decision is required.\n```\n\n### Visual mode\n\nPersists decisions in `.grill/decisions.json` and shows the interactive tree at\nhuman gates and after changes.\n\n```text\nUse $let-him-grill in visual mode to stress-test this plan.\nContinue autonomously until my decision is required.\n```\n\nVisual mode uses the Python standard-library backend when available and falls\nback to native Codex file and visualization tools otherwise. Both backends\npopulate the same bundled HTML template, so the interface does not change with\nthe renderer. To choose explicitly:\n\n```text\nUse $let-him-grill in visual mode with the Python backend.\n```\n\n```text\nUse $let-him-grill in visual mode with the native Codex fallback. Do not use\nPython or another runtime.\n```\n\nCodex announces `Visual mode · Python backend` or\n`Visual mode · Native Codex fallback` before the first decision.\n\n### Resume a decision artifact\n\n`.grill/decisions.json` is the portable source of truth. In a later task with\nLet Him Grill installed, ask the agent to resume that file. The Python backend\ncan inspect the deterministic next action without changing state:\n\n```bash\npython3 <skill-dir>/scripts/decision_state.py resume .grill/decisions.json\n```\n\nResume re-checks provisional AI choices against current repository evidence,\nreassesses contradicted or invalidated branches, and continues autonomously to\nthe next human gate. HTML and Markdown exports are derived views and should be\nregenerated in the new workspace.\n\n### Automatic mode selection\n\n```text\nUse $let-him-grill in the best fitting mode to stress-test this\nplan until my decision is required.\n```\n\nCodex chooses compact mode for short linear discussions and visual mode for\nbranching or revisitable decisions. It states the selected mode once. You can\nswitch modes at any time.\n\n### Downloadable reference artifacts\n\nThree complete bundles include the starting prompt, portable JSON state,\ninteractive tree, Markdown handoff, and a documented branch reassessment:\n\n- [Feature planning](docs/examples/feature-planning/README.md)\n- [Software architecture](docs/examples/software-architecture/README.md)\n- [Release readiness](docs/examples/release-readiness/README.md)\n\n### Example prompts\n\n<details>\n<summary>Six use cases with prompts and interface examples</summary>\n\n#### Finance\n\n`Use $let-him-grill to choose a budgeting and reporting approach for our SaaS\nbusiness. Stop before compliance or spending decisions.`\n\nExample decisions: financial priority, forecast cadence, and spending approvals.\n\n![Finance example with decisions about runway, forecasting, and approval controls.](docs/finance-example.png)\n\n#### Software architecture\n\n`Use $let-him-grill to decide whether this B2B product should start as a modular\nmonolith or separate services. Stop at material scaling or ownership trade-offs.`\n\nExample decisions: system shape, API contracts, and delivery workflow.\n\n![Software architecture example with decisions about system shape, API contracts, and delivery.](docs/software-architecture-example.png)\n\n#### AI training\n\n`Use $let-him-grill to plan a domain-model training workflow. Stop at privacy,\nlicensing, or budget gates.`\n\nExample decisions: measurable objective, evaluation-data governance, and the\nfirst adaptation method to test.\n\n![AI training example with decisions about objectives, evaluation data, and adaptation methods.](docs/ai-training-example.png)\n\n#### Game development\n\n`Use $let-him-grill to shape the save system and multiplayer scope for this game\nprototype. Stop where platform, networking, or player-experience goals differ.`\n\nExample decisions: core player loop, save format, and multiplayer timing.\n\n![Game development example with decisions about the player loop, saves, and multiplayer.](docs/game-development-example.png)\n\n#### Language training\n\n`Use $let-him-grill to create a twelve-week language training plan. Continue\nuntil motivation, certification, or professional priorities need my judgment.`\n\nExample decisions: primary learning outcome, weekly practice rhythm, and\ncorrection timing during speaking practice.\n\n![Language training example with decisions about goals, practice schedules, and feedback timing.](docs/language-training-example.png)\n\n#### Infrastructure and security\n\n`Use $let-him-grill to choose deployment, authentication, backups, and\nobservability for this internal portal. Stop before accepting security exposure\nor recurring cost.`\n\nExample decisions: deployment target, employee authentication, and recovery\nevidence required before launch.\n\n![Infrastructure and security example with decisions about hosting, authentication, and recovery.](docs/infrastructure-security-example.png)\n\n</details>\n\n### Finishing the grill\n\nAt shared understanding, Codex summarizes confirmed human decisions,\nprovisional AI choices, assumptions, remaining risks or blockers, and the\nordered implementation plan. It asks for confirmation before implementation.\n\nAfter confirmation, it updates an existing canonical planning, specification,\nor decision document when the repository already uses one or documentation was\nrequested. It does not create a duplicate plan file by default.\n\n## Safety and requirements\n\n- Codex with skill support\n- Node.js with `npx` for the primary installation command\n- Git only for the manual installation fallback\n- Python 3 recommended for deterministic visual state updates\n- no virtual environment, `pip install`, server, or network service\n\nLet Him Grill extends the companion `grilling` and `domain-modeling` skills; it\ndoes not vendor or modify them. The clean-install evidence verifies this\nrepository's discovery and portable-state path, not every live combination of\ncompanion skills and host runtime.\n\nCompact mode works without Python. The native visual fallback applies the same\nstate and invalidation rules through Codex file tools, but does not have the\nPython backend's executable validation. Hosts without inline visualization\nsupport fall back to the same decision content as text.\n\n## Update\n\nFor a global installation made with the `skills` CLI, rerun the installation command. Save any local customizations first; reinstalling replaces the installed skill files:\n\n```bash\nnpx skills add pengusto/let-him-grill -g -a codex -y\n```\n\nFor a global installation made with the manual Git clone:\n\n```bash\ngit -C ~/.agents/skills/let-him-grill pull --ff-only\n```\n\nProject-local submodule:\n\n```bash\ngit submodule update --remote --merge \\\n  .agents/skills/let-him-grill\n```\n\n## Development\n\n```bash\npython3 scripts/test_decision_state.py\n```\n\nThe state engine uses only the Python standard library.\nSee the [roadmap](docs/ROADMAP.md) for launch and follow-up work.\nUser-facing changes are tracked in the [changelog](CHANGELOG.md).\n\n## Attribution\n\nInspired by Matt Pocock's\n[Grill with Docs](https://github.com/mattpocock/skills/tree/main/skills/engineering/grill-with-docs)\nworkflow. Let Him Grill is an independent project and is not affiliated with or\nendorsed by Matt Pocock or OpenAI.\n\n## License\n\n[MIT](LICENSE)\n"}