Skip to content

Commit 88254a0

Browse files
committed
update
1 parent a370437 commit 88254a0

1 file changed

Lines changed: 29 additions & 6 deletions

File tree

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

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,18 @@ digraph check_issue {
3939
### Step 0: Fetch and Parse Issue
4040

4141
```bash
42-
gh issue view <NUMBER> --json title,body,labels
42+
gh issue view <NUMBER> --json title,body,labels,comments
4343
```
4444

4545
- Detect issue type from title: `[Rule]` or `[Model]`
4646
- If neither, stop with message: "This skill only checks [Rule] and [Model] issues."
4747

48+
#### Duplicate Check Detection
49+
50+
Before running checks, scan existing comments for a previous `## Issue Quality Check` heading. If found:
51+
- **Default:** Skip and report: "Already checked (comment from YYYY-MM-DD). Use `/check-issue <NUMBER> --force` to re-check."
52+
- **`--force` flag:** Proceed with re-check. Post the new report as "Re-check" and note any changes from the previous report (e.g., "Previously: 2 warnings → Now: 0 warnings after issue edits").
53+
4854
---
4955

5056
# Part A: Rule Issue Checks
@@ -200,12 +206,16 @@ Applies when the title contains `[Model]`.
200206
```
201207
If it succeeds, the problem **already exists****Fail** ("Problem already implemented").
202208

203-
3. Check **Motivation** field:
209+
3. Check **planned reductions** — the issue must mention at least one concrete reduction rule connecting this problem to the existing graph:
210+
- Look for explicit statements like "reduces to/from X", "interreducible with Y", or references to planned `[Rule]` issues
211+
- If **no reduction is mentioned at all****Fail** ("Orphan node — a problem without any planned reduction rule has no value in the reduction graph. Add at least one planned reduction to/from an existing problem.")
212+
- If reductions are mentioned but vague ("can be connected to other problems") → **Warn**
213+
214+
4. Check **Motivation** field:
204215
- Is there a concrete use case? (quantum computing, network design, scheduling, etc.)
205-
- Does it mention what reductions this problem enables? A problem without any planned reduction rules is an orphan node.
206216
- If motivation is empty, placeholder, or vague → **Warn**
207217

208-
4. Check **How to solve** section:
218+
5. Check **How to solve** section:
209219
- At least one solver method must be checked (brute-force, ILP reduction, or other)
210220
- If no solver path is identified → **Warn** ("No solver means reduction rules can't be verified")
211221

@@ -240,6 +250,13 @@ If the problem has a genuinely different feasibility constraint or objective fun
240250
- Check that feasibility constraints and objective are clearly separated
241251
- Verify the variable domain matches the problem semantics (binary for selection, k-ary for coloring, etc.)
242252

253+
### 3e: Representation Feasibility
254+
255+
Verify that the proposed data types in the Schema can represent the stated problem domain:
256+
- If the Schema proposes a data type but the Definition or Variants mention domains that exceed that type's range (e.g., proposing integer coefficients for a finite field larger than any fixed-width integer can hold) → **Fail** ("Proposed data type cannot represent the stated domain")
257+
- If multiple variants are listed, check that the proposed schema handles all of them or explicitly restricts scope
258+
- If the issue acknowledges a limitation and restricts scope (e.g., "initial implementation targets small fields only"), this is acceptable → **Pass** with a note
259+
243260
### 3b: Complexity Verification
244261

245262
The issue claims a best-known exact algorithm with a specific time bound. Verify:
@@ -278,7 +295,7 @@ Check all template sections are present and substantive:
278295
| Definition | Formal: input, feasibility constraints, objective |
279296
| Variables | Count, per-variable domain, semantic meaning |
280297
| Schema | Type name, variants, field table |
281-
| Complexity | Best known algorithm with citation |
298+
| Complexity | Best known algorithm with citation **and** a concrete complexity expression in terms of problem parameters (e.g., `q^n`, `2^{0.8765n}`) |
282299
| How to solve | At least one solver method checked |
283300
| Example Instance | Concrete instance with known solution |
284301

@@ -301,9 +318,14 @@ The formal definition must be **precise and implementable**:
301318
### 4d: Example Quality
302319

303320
- **Non-trivial**: Enough vertices/variables to exercise constraints meaningfully (not just a triangle)
321+
- **Exercises core structure**: Examples must use the defining features of the problem. For instance, a "MultivariateQuadratic" example that only has linear terms does not exercise the quadratic structure → **Fail**. If the problem's name or definition highlights a specific structural feature (quadratic, k-colorable, bipartite, etc.), at least one example must exercise that feature.
304322
- **Known optimal solution provided**: Must state the optimal value, not just the instance
305323
- **Detailed enough for paper**: This example will appear in the paper — it needs to be illustrative
306324

325+
### 4e: Representation Feasibility
326+
327+
Same check as Correctness 3e — if the proposed data types cannot represent the stated domain, this is also a **Fail** here (the schema is not implementable as written).
328+
307329
---
308330

309331
# Step 2: Compose and Post Report
@@ -387,7 +409,8 @@ gh issue edit <NUMBER> --add-label "Trivial" # if Check 2 failed
387409
gh issue edit <NUMBER> --add-label "Wrong" # if Check 3 failed
388410
gh issue edit <NUMBER> --add-label "PoorWritten" # if Check 4 failed
389411

390-
# If ALL checks passed (no failures), add the "Good" label
412+
# "Good" label requires: zero failures AND zero warnings on Usefulness or Correctness.
413+
# Warnings on Non-trivial or Well-written alone do NOT block "Good".
391414
gh issue edit <NUMBER> --add-label "Good"
392415

393416
# If re-checking after fixes, remove stale failure labels and add "Good" if now passing

0 commit comments

Comments
 (0)