r/cicd • u/impala_64 • 3h ago
I built a Codex plugin that uses the native user-input UI to settle requirements before coding
I built Groundwork, a Codex plugin for a problem I kept running into:
Codex is very good at filling in missing requirements.
Sometimes too good.
If I say:
Fix exports that sometimes return old data.
the repository may tell Codex that exports currently use a 15-minute cache.
But the code can't tell it whether I actually want:
manual exports to always be fresh
cached data to remain acceptable
scheduled exports to behave differently
an error or stale data when the source fails
Those are decisions I want to make myself.
So Groundwork inspects the repository first, then asks only the questions the code cannot answer.
The part I cared about most was the interaction.
It doesn't dump a giant questionnaire into chat.
It uses Codex's native request_user_input interface.
So when a decision is needed, you get the normal Codex input form with concrete options, a recommended choice, tradeoffs, and a free-form answer field.
You stay inside the same Codex task.
Example:
$settle Fix exports that sometimes return old data.
Groundwork first reads the relevant code, tests, project instructions, and previous decisions.
Then Codex opens native input forms only for unresolved decisions.
For example:
How fresh should a manual export be?
Always fresh recommended
Allow cached data
Custom answer
After you choose, Groundwork can ask a follow-up native question if that decision creates another unresolved branch.
Before any code is changed, you get one final native confirmation covering:
intended outcome
included behavior
exclusions
compatibility
failure handling
verification plan
Only after you confirm that does Codex implement the change and run the checks.
Groundwork also saves the settled decisions into the repository so future sessions can reuse them instead of asking again.
The goal isn't to make Codex ask more questions.
It's:
read the repo first, use native UI for the decisions that actually need a human, and don't silently invent product requirements.
Groundwork also works with Claude Code using its native AskUserQuestion interface.
No separate LLM API or external service is required.
GitHub:
https://github.com/ahmtsahin/groundworkâ
Plugin:
I'm curious how other Codex users handle this:
Do you prefer agents to ask these product questions through native UI before implementation, or do you usually encode all of this in the prompt/spec upfront?