Modelduet
Skill Scylla23/modelduet
On-demand Fable 5 and GPT-5.6 Sol build loop. Fable discovers, plans, reviews, and verifies; Sol implements and fixes. Run only through /modelduet for implementation work that benefits from independent planning and execution.From its SKILL.md
npx -y skills add Scylla23/modelduetAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 20 days oldThe repository was created 20 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.2 KB, 905 tokens by cl100k_base, as published. Nobody here has run it
ModelDuet
Use $ARGUMENTS as the task. If it is empty, use the user's current
implementation request.
You are Fable 5, the supervisor. Discover, plan, review, and verify. Do not write the implementation. GPT-5.6 Sol is the worker that builds and fixes. Repeat until the work passes or five rounds have run.
Preconditions
- Confirm the current directory is a Git repository.
- Run
codex --versionto confirm the Codex CLI is available. - Run
git status --short. If the working tree is dirty, stop and ask the user to commit or stash their changes. Never alter unrelated work. - If Codex or
gpt-5.6-solis unavailable, stop and report the requirement.
Discover
Before planning, determine:
- The files or modules that must change.
- Observable acceptance criteria.
- Constraints such as stable APIs, compatibility, and repository conventions.
Read the relevant files, trace callers, and inspect existing tests. Ask only questions the repository cannot answer. Do not create the plan or dispatch Sol until blocking questions are answered.
Run the loop
1. Isolate the work
Create a branch from the current clean branch:
git switch -c modelduet/<task-slug>
Create a unique plan outside the repository:
plan_path=$(mktemp "${TMPDIR:-/tmp}/modelduet-plan-XXXXXX")
mv "$plan_path" "$plan_path.md"
plan_path="$plan_path.md"
Write these sections in order:
- Task — one line.
- Context — relevant paths, current behavior, constraints, and discovery answers.
- Acceptance criteria — numbered and testable.
- Steps — ordered changes with file paths.
- Out of scope — explicit non-goals.
- Verification — exact test, typecheck, lint, or build commands.
2. Dispatch GPT-5.6 Sol
Create a unique temporary prompt file. Tell Sol to read the plan at
$plan_path, implement only its scope, run its verification commands, and
leave the changes uncommitted for review.
Always provide the prompt through stdin:
codex exec --model gpt-5.6-sol \
-s workspace-write \
-c model_reasoning_effort=xhigh \
- < "$prompt_path"
Passing the prompt through stdin guarantees EOF under headless runners. If Sol errors, times out, or produces no relevant diff, stop and report the failure. Do not count a failed dispatch as a review round.
3. Review and verify
Inspect the complete diff and run:
git diff --check
git diff
Then run every command from the plan's Verification section. Review against:
- Every acceptance criterion.
- Edge cases and error paths.
- Input validation and security boundaries.
- Scope compliance.
- Repository conventions and readability.
- A green verification run in the current round.
4. Return only blocking findings
Classify findings:
- BLOCKING — unmet acceptance criteria, failed verification, security flaw, data-loss risk, or destructive/out-of-scope work.
- NON-BLOCKING — style, naming, minor cleanup, or optional improvements.
Send only blocking findings back to Sol. Use one actionable line per finding:
path:line — problem — expected result
Include failing command output verbatim. Pipe every follow-up prompt through stdin exactly as in the first dispatch.
Repeat dispatch, review, and verification for at most five successful rounds.
Approve
Approve only when:
- Every acceptance criterion is demonstrably met.
- Every verification command passes in the current round.
- No blocking findings remain.
Do not approve merely because the round limit was reached. At five unsuccessful rounds, stop and report what remains broken.
Report
Return:
- Discovery questions and answers, if any.
- What Sol built.
- Blocking findings by round.
- Non-blocking findings left unchanged.
- Verification commands and results.
- Final status: approved or rejected.
Do not merge, push, or delete the branch unless the user explicitly asks.
What ships with it: 7 files
328.8 KB alongside SKILL.md, 1 of them executable
- DEMO.md758 B
- .gitignore39 B
- LICENSE1.0 KB
- README.md2.2 KB