-
Notifications
You must be signed in to change notification settings - Fork 2
feat(cross-llm): Group II skill rewrites for cross-host portability #15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
50ea2a0
0ce0141
e5f5940
29d0f38
844c6b0
14fba4f
64ad844
8dc7449
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -9,7 +9,7 @@ description: "You MUST use this before any creative work - creating features, bu | |
|
|
||
| Help turn ideas into fully formed designs and specs through natural collaborative dialogue. | ||
|
|
||
| Start by understanding the current project context, then ask questions one at a time to refine the idea. Once you understand what you're building, present the design and get user approval. | ||
| Start by understanding the current project context, then ask questions using adaptive batching to refine the idea. Once you understand what you're building, present the design and get user approval. | ||
|
|
||
| <HARD-GATE> | ||
| Do NOT invoke any implementation skill, write any code, scaffold any project, or take any implementation action until you have presented a design and the user has approved it. This applies to EVERY project regardless of perceived simplicity. | ||
|
|
@@ -24,7 +24,7 @@ Every project goes through this process. A todo list, a single-function utility, | |
| You MUST create a task for each of these items and complete them in order: | ||
|
|
||
| 1. **Explore project context** — check files, docs, recent commits | ||
| 2. **Ask clarifying questions** — adaptive batching: group 2-4 related questions per form, follow up with targeted singles | ||
| 2. **Ask clarifying questions** — adaptive batching: group related questions to reduce round-trips; use targeted singles for follow-ups | ||
| 3. **Propose 2-3 approaches** — with trade-offs and your recommendation | ||
|
Comment on lines
26
to
28
|
||
| 4. **Present design** — in sections scaled to their complexity, get user approval after each section | ||
| 5. **Write design doc** — save to `docs/plans/YYYY-MM-DD-<topic>-design.md` and commit | ||
|
|
@@ -58,11 +58,20 @@ digraph brainstorming { | |
|
|
||
| **Understanding the idea:** | ||
| - Check out the current project state first (files, docs, recent commits) | ||
| - Ask questions using adaptive batching with AskUserQuestion: | ||
| - **First form:** Group 2-4 related questions covering purpose, constraints, scope, and tech choices | ||
| - **Follow-ups:** Targeted single questions based on interesting or ambiguous answers from previous forms | ||
| - Ask questions using adaptive batching — group related questions to reduce round-trips: | ||
| - **First batch:** covers purpose, constraints, scope, and tech choices | ||
| - **Follow-ups:** Targeted single questions based on interesting or ambiguous answers | ||
|
Comment on lines
+61
to
+63
|
||
|
|
||
| <host: claude-code> | ||
| - Use multiple choice options when possible (AskUserQuestion supports 2-4 options per question) | ||
| - AskUserQuestion supports up to 4 questions per form — use this to reduce round-trips | ||
| </host> | ||
|
|
||
| <host: codex, opencode, cursor> | ||
| - Present options as a numbered list and ask the user to reply with the chosen number | ||
| - Group no more than 3 questions per turn to avoid overloading the chat | ||
|
Comment on lines
+61
to
+72
|
||
| </host> | ||
|
|
||
| - Focus on understanding: purpose, constraints, success criteria | ||
|
|
||
| **Exploring approaches:** | ||
|
|
@@ -106,7 +115,7 @@ When the user wants design exploration without execution, they pass `--design-on | |
|
|
||
| ## Key Principles | ||
|
|
||
| - **Adaptive question batching** - Group 2-4 related questions per form, follow up with targeted singles | ||
| - **Adaptive question batching** - Group related questions to reduce round-trips; use targeted singles for follow-ups | ||
| - **Multiple choice preferred** - Easier to answer than open-ended when possible | ||
| - **YAGNI ruthlessly** - Remove unnecessary features from all designs | ||
| - **Explore alternatives** - Always propose 2-3 approaches before settling | ||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -17,10 +17,13 @@ Invoked automatically by `finishing-a-development-branch` in autonomous mode aft | |||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| ## The Process | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| Spawn a background agent that monitors the PR in a loop: | ||||||||||||||||||||||||||
| Run a `balanced`-tier agent that monitors the PR in a loop until all CI checks pass and no unresolved reviews remain. | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||
| Agent tool (general-purpose, model: sonnet, run_in_background: true): | ||||||||||||||||||||||||||
| <host: claude-code> | ||||||||||||||||||||||||||
| Use the Agent tool to run the monitor in the background: | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| ```` | ||||||||||||||||||||||||||
| Agent tool (general-purpose, model: balanced, run_in_background: true): | ||||||||||||||||||||||||||
|
Comment on lines
+22
to
+26
|
||||||||||||||||||||||||||
| description: "Monitor PR #N for CI and reviews" | ||||||||||||||||||||||||||
| prompt: | | ||||||||||||||||||||||||||
| You are monitoring PR #<number> on <repo> and automatically fixing issues. | ||||||||||||||||||||||||||
|
|
@@ -33,9 +36,7 @@ Agent tool (general-purpose, model: sonnet, run_in_background: true): | |||||||||||||||||||||||||
| Design doc: <path> | ||||||||||||||||||||||||||
| Plan doc: <path> | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| ## Monitor Loop | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| Repeat until exit conditions met: | ||||||||||||||||||||||||||
| Repeat the Monitor Loop until exit conditions are met: | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| ### 1. Check CI Status | ||||||||||||||||||||||||||
|
Comment on lines
+39
to
41
|
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
|
@@ -88,6 +89,20 @@ Agent tool (general-purpose, model: sonnet, run_in_background: true): | |||||||||||||||||||||||||
| ### 4. Wait Between Checks | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| Sleep 60 seconds between check cycles. Do not poll more frequently. | ||||||||||||||||||||||||||
| ```` | ||||||||||||||||||||||||||
| </host> | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| <host: codex, opencode, cursor> | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| Use your host's equivalent mechanism to periodically poll the following in a loop: | ||||||||||||||||||||||||||
| - `gh pr checks <number>` — fix any failing CI checks | ||||||||||||||||||||||||||
| - `gh api repos/<owner>/<repo>/pulls/<number>/comments` — respond to inline review comments | ||||||||||||||||||||||||||
| - `gh api repos/<owner>/<repo>/pulls/<number>/reviews` — handle any "CHANGES_REQUESTED" reviews | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| Continue until all checks pass, no unresolved inline comments remain, and no "changes requested" reviews are pending. | ||||||||||||||||||||||||||
|
Comment on lines
+97
to
+102
|
||||||||||||||||||||||||||
| Use your host's equivalent mechanism to periodically poll the following in a loop: | |
| - `gh pr checks <number>` — fix any failing CI checks | |
| - `gh api repos/<owner>/<repo>/pulls/<number>/comments` — respond to inline review comments | |
| - `gh api repos/<owner>/<repo>/pulls/<number>/reviews` — handle any "CHANGES_REQUESTED" reviews | |
| Continue until all checks pass, no unresolved inline comments remain, and no "changes requested" reviews are pending. | |
| Use your host's equivalent mechanism to periodically poll the following in a loop (sleep 60 seconds between cycles; do not poll more frequently): | |
| - `gh pr checks <number>` — inspect all CI checks and fix any failures | |
| - `gh api repos/<owner>/<repo>/pulls/<number>/comments` — inspect and respond to inline review comments | |
| - `gh api repos/<owner>/<repo>/pulls/<number>/reviews` — inspect PR review states separately from comments and handle any reviews with state `"CHANGES_REQUESTED"` | |
| Only exit when all of the following are true: all checks pass, no unresolved inline comments remain, and there are no pending PR reviews whose state is `"CHANGES_REQUESTED"`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section is now mostly host-neutral, but the actual “dispatch” mechanism is only described for
<host: claude-code>. For portability, add a corresponding block for other supported hosts (e.g., codex/opencode/cursor) describing how to run the alignment check as a separate subagent/thread (or explicitly state that the procedure can be executed inline without spawning a subagent).