Skip to content

Commit 3ac6795

Browse files
committed
update skills
1 parent 664f898 commit 3ac6795

3 files changed

Lines changed: 35 additions & 8 deletions

File tree

.claude/skills/fix-issue/SKILL.md

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ Use `OnHold` as the in-progress state for `/fix-issue`. Once claimed, do not mov
123123

124124
If the issue is already in `OnHold` because you are resuming previously started `fix-issue` work, do not move it again; just continue.
125125

126-
### 1e: Fetch the chosen issue
126+
### 1e: Fetch the chosen issue and related context
127127

128128
```bash
129129
gh issue view <NUMBER> --json title,body,labels,comments
@@ -132,6 +132,25 @@ gh issue view <NUMBER> --json title,body,labels,comments
132132
- Find the **most recent** comment that starts with `## Issue Quality Check` — this is the check-issue report
133133
- If no check comment found, run `/check-issue <NUMBER>` first, then re-fetch the issue
134134

135+
**Cross-reference lookup (required):**
136+
137+
- **For `[Model]` issues:** Fetch **all** associated `[Rule]` issues that reference this problem as source or target. Search broadly — the problem name may appear in different forms (CamelCase, spaces, abbreviations):
138+
```bash
139+
gh issue list --search "<ProblemName> in:title label:rule" --state open --json number,title,body --limit 50
140+
```
141+
Read the body of each matching rule issue to understand how the model is used (what fields the rule constructs, whether it relies on decision vs optimization framing, what overhead expressions reference). This context is essential for making informed decisions about schema, framing, and naming.
142+
143+
- **For `[Rule]` issues:** Check whether the source and target models exist in the codebase or as issues:
144+
```bash
145+
# Check if models exist in pred
146+
pred show <SourceModel> 2>&1
147+
pred show <TargetModel> 2>&1
148+
# Check for model issues if not in pred
149+
gh issue list --search "<SourceModel> in:title label:model" --state open --json number,title,body --limit 10
150+
gh issue list --search "<TargetModel> in:title label:model" --state open --json number,title,body --limit 10
151+
```
152+
Read relevant model issue bodies to understand schema fields, variants, and framing. This informs whether the rule's overhead expressions, field names, and algorithm are consistent with the models.
153+
135154
---
136155

137156
## Step 2: Parse Failures and Warnings
@@ -205,23 +224,27 @@ Use `cargo run -p problemreductions-cli --bin pred -- show <problem>` (or `./tar
205224

206225
Present everything in one block so the human has full visibility:
207226

208-
1. **Check report summary** — the parsed table from Step 2 (Check / Result / Details). For `Fail` or `Warn` results, include the specific sub-issues from the detailed section, not just the one-liner.
209-
2. **Research results** — any web searches, `pred show` lookups, or companion issue status gathered during Steps 2–3.
210-
3. **Auto-fixes applied** — table of mechanical fixes (Section / Issue / Fix).
211-
4. **Substantive issues requiring input** — numbered list of issues that need human judgment, with enough context for the human to evaluate each one.
227+
1. **Full problem definition** — quote the issue's Definition and Schema sections verbatim so the human can see exactly what is being discussed without switching to the browser. For rule issues, include the Reduction Algorithm and Size Overhead sections instead.
228+
2. **Check report summary** — the parsed table from Step 2 (Check / Result / Details). For `Fail` or `Warn` results, include the specific sub-issues from the detailed section, not just the one-liner.
229+
3. **Related issues** — for model issues, list all associated rule issues found in Step 1e with a one-line summary of how each rule uses this model (fields referenced, framing assumed). For rule issues, state whether the source and target models exist in `pred` or as open issues, and note any schema/framing mismatches.
230+
4. **Research results** — any web searches, `pred show` lookups, or other research gathered during Steps 2–3.
231+
5. **Auto-fixes applied** — table of mechanical fixes (Section / Issue / Fix).
232+
6. **Substantive issues requiring input** — numbered list of issues that need human judgment, with enough context for the human to evaluate each one.
212233

213234
---
214235

215236
## Step 5: Brainstorm Substantive Issues
216237

217238
For each substantive issue, present it to the human **one at a time**:
218239

219-
1. **Show the evidence first** — quote the relevant check report section, web research results, or `pred show` output that informs this decision. The human should be able to evaluate the options based on the evidence shown, not just the option labels.
240+
1. **Show the evidence first** — quote the relevant check report section, web research results, `pred show` output, or related rule/model issue findings that inform this decision. The human should be able to evaluate the options based on the evidence shown, not just the option labels. If the issue's Definition or Schema is relevant to the decision, quote the relevant sections inline.
220241
2. State the problem clearly
221242
3. Offer 2-3 concrete options when possible (with your recommendation)
222243
4. Wait for the human's response
223244
5. Apply the chosen fix to the draft issue body
224245

246+
**Example instances require special handling:** If the example is flagged as incorrect, incomplete, or trivial, you MUST present **3 concrete example options** using `AskUserQuestion` with previews. Each preview should show the full graph/instance specification, optimal value, suboptimal cases, and an invalid configuration. Do NOT silently reuse or fix the existing example without offering alternatives — the human must choose.
247+
225248
Use web search if needed to help resolve issues:
226249
- Literature search for correct complexity bounds
227250
- Verify algorithm claims
@@ -347,3 +370,7 @@ Done! Issue #<NUMBER>:
347370
| Force-pushing or modifying git | This skill only edits GitHub issues via `gh`. No git operations |
348371
| Inventing `pipeline_board.py` subcommands | Only `next`, `claim-next`, `ack`, `list`, `move`, `backlog`, `find` exist |
349372
| Forgetting to update the issue title | If the problem name changed, update the title with `gh issue edit <N> --title "..."` and find all related issues referencing the old name |
373+
| Asking questions without context | Before every `AskUserQuestion`, show the relevant issue content (definition, example, constraints) so the human can make an informed decision |
374+
| Not showing the full problem definition in Step 4 | Always quote the Definition and Schema (or Reduction Algorithm and Size Overhead for rules) verbatim in Step 4 so the human has the full picture without switching to the browser |
375+
| Skipping cross-reference lookup for models | For model issues, fetch and read **all** associated rule issues to understand how the model is used before making framing/schema decisions |
376+
| Skipping cross-reference lookup for rules | For rule issues, check whether source and target models exist in `pred` or as open issues, and read their schema/framing to ensure consistency |

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@ run-pipeline:
403403
run_agent "pipeline-output.log" "$$PROMPT"
404404

405405
# Poll Ready column for new issues and run-pipeline when new ones appear
406-
# Checks every 10 minutes; triggers make run-pipeline when the eligible Ready-item set gains new members
406+
# Checks every 30 minutes; triggers make run-pipeline when the eligible Ready-item set gains new members
407407
run-pipeline-forever:
408408
@. scripts/make_helpers.sh; \
409409
MAKE=$(MAKE) watch_and_dispatch ready run-pipeline "Ready issues"

scripts/make_helpers.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ watch_and_dispatch() {
222222
make_target=$2
223223
label=$3
224224
repo=${4-}
225-
interval=${POLL_INTERVAL:-600}
225+
interval=${POLL_INTERVAL:-1800}
226226
max_retries=${MAX_RETRIES:-3}
227227

228228
state_file=${STATE_FILE:-/tmp/problemreductions-${mode}-forever-state.json}

0 commit comments

Comments
 (0)