Skip to content

Commit cbfad84

Browse files
committed
update
1 parent b3b18f1 commit cbfad84

1 file changed

Lines changed: 29 additions & 4 deletions

File tree

.claude/skills/propose/SKILL.md

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ Interactive brainstorming skill that helps domain experts (who may not know the
1919

2020
<HARD-GATE>
2121
Do NOT write any code, create any files, or invoke implementation skills (add-model, add-rule, issue-to-pr).
22-
The ONLY output of this skill is GitHub issues filed via `gh issue create`.
22+
Exception: downloading main reference PDFs into `docs/research/raw/` is allowed and required by the literature-check step.
23+
The ONLY project output of this skill is GitHub issues filed via `gh issue create`; reference PDFs are supporting evidence, not implementation artifacts.
2324
</HARD-GATE>
2425

2526
## Process
@@ -295,6 +296,7 @@ Only fall back to the full `AskUserQuestion` if the inference is genuinely ambig
295296
Requirements:
296297
- Use concrete numeric exponents (e.g., `1.1996^n`, not `(2-ε)^n`)
297298
- Every option must include a link to the paper or resource
299+
- For the selected main algorithm/reference, download the PDF into `docs/research/raw/` and read the relevant theorem/algorithm/proof before drafting. Prefer existing paper tooling (`python3 scripts/fetch_papers.py lookup/download/scihub`) when the reference is or will be in `docs/paper/references.bib`; otherwise save the directly fetched PDF with a clear slug. If no full paper is obtainable, state that explicitly and do not present unverified abstract-level claims as checked facts.
298300
- After the user picks one, fetch the BibTeX entry for the chosen reference (from the paper's page, DOI resolver, or Google Scholar) and record it — the BibTeX will be included in the filed issue
299301

300302
5. **Solving strategy** — The library's brute-force solver works on every problem by enumerating the configuration space. **Auto-fill "Brute-force" as the baseline** — do not present it as a choice.
@@ -493,6 +495,25 @@ After studying the models, check whether this is a **well-known textbook reducti
493495
- Use WebSearch to check standard references (Garey & Johnson, Karp's 21, CLRS, Sipser, Arora & Barak)
494496
- Check if an existing GitHub issue already describes this reduction
495497

498+
Then identify the **main algorithm reference** for the reduction: the paper/book chapter whose construction will be implemented. Download its PDF into `docs/research/raw/` and read it carefully before drafting:
499+
500+
```bash
501+
# Preferred when the reference is already in or being added to docs/paper/references.bib
502+
python3 scripts/fetch_papers.py lookup
503+
python3 scripts/fetch_papers.py download
504+
python3 scripts/fetch_papers.py scihub
505+
506+
# Fallback for an open PDF URL
507+
curl -L '<pdf-url>' -o docs/research/raw/<author-year-short-title>.pdf
508+
```
509+
510+
Requirements:
511+
- Do not rely only on abstracts, snippets, or secondary summaries for the construction.
512+
- Read the theorem statement, construction/gadget definitions, proof lemmas, and any assumptions/normalization steps.
513+
- If the source has ambiguities, transcription risks, or missing details, call them out in the issue draft rather than smoothing them over.
514+
- The issue must include an implementable algorithm, not just a citation.
515+
- If no full reference can be obtained, tell the user and mark the proposal as unverified until the paper is available.
516+
496517
If the reduction is well-known, use the literature to **pre-fill** answers in Step 3.4 — but still present each step to the user for confirmation. Do NOT skip the guided brainstorming.
497518

498519
#### Step 3.4: Guided brainstorming
@@ -529,6 +550,7 @@ If the reduction is well-known, use the literature to **pre-fill** answers in St
529550
After the user picks one, present the full algorithm write-up for confirmation.
530551
- Must define all symbols before using them
531552
- Must be detailed enough that someone could implement it
553+
- Must reflect the downloaded main reference directly: include normalization assumptions, gadget/variable definitions, edge/constraint families, parameter settings, and solution extraction when the reference provides them
532554

533555
3. **Explanation** — Present a correctness argument explaining why the reduction preserves feasibility (for satisfaction problems) or optimality (for optimization problems), then ask for feedback via `AskUserQuestion`:
534556
```
@@ -590,6 +612,7 @@ If the reduction is well-known, use the literature to **pre-fill** answers in St
590612
description: "<paper title, year> — <URL>"
591613
```
592614
If no references are found, ask the user if this is a novel reduction.
615+
After a reference is chosen, confirm the downloaded PDF path under `docs/research/raw/` and summarize what sections/theorems were read.
593616

594617
---
595618

@@ -708,13 +731,14 @@ If proposing a model + rules, present all drafts together:
708731

709732
**Critical: Run the check-issue logic on the draft BEFORE filing.** This catches problems early and avoids filing issues that will fail review.
710733

711-
Apply all 4 checks from `/check-issue` against the draft content:
734+
Apply the `/check-issue` quality checks against the draft content:
712735

713736
### Rule draft checks
714737
1. **Usefulness:** `pred path <source> <target>` — verify no existing path. If path exists, run redundancy analysis.
715738
2. **Non-trivial:** Review the algorithm for genuine structural transformation (not just variable substitution or subtype coercion).
716739
3. **Correctness:** Verify references exist (check `check-issue/references.md`, `docs/paper/references.bib`, then WebSearch). Cross-check claims.
717-
4. **Well-written:** Verify all sections present, symbols consistent, overhead table field names match `pred show <target> --json``size_fields`, example is fully worked.
740+
4. **PDF/read-through:** Verify the main algorithm reference PDF was downloaded to `docs/research/raw/`, the relevant theorem/construction/proof was read, and the issue draft names the exact theorem/section used. If the issue only cites a paper without transcribing an implementable construction, this check fails.
741+
5. **Well-written:** Verify all sections present, symbols consistent, overhead table field names match `pred show <target> --json``size_fields`, example is fully worked.
718742

719743
### Model draft checks
720744
1. **Usefulness:** `pred show <name>` must fail (problem doesn't exist). At least one reduction planned.
@@ -725,7 +749,7 @@ Apply all 4 checks from `/check-issue` against the draft content:
725749

726750
**If any check fails:** Fix the draft automatically if possible. If user input is needed, ask. Loop back to Step 4 with the corrected draft.
727751

728-
**If all checks pass:** Show the user a summary: "Draft passes all 4 quality checks (Usefulness ✅, Non-trivial ✅, Correctness ✅, Well-written ✅). Ready to file."
752+
**If all checks pass:** Show the user a summary: "Draft passes all quality checks (Usefulness ✅, Non-trivial ✅, Correctness ✅, PDF/read-through ✅, Well-written ✅). Ready to file."
729753

730754
Then present for approval via `AskUserQuestion`:
731755

@@ -789,6 +813,7 @@ Print all issue URLs when done.
789813
- **Auto-infer obvious answers** — When the user's orienting description clearly determines the answer (problem type, data representation, variable structure, motivation), confirm inline rather than presenting an open-ended `AskUserQuestion`. Expert users find obvious multiple-choice questions patronizing.
790814
- **Study models before brainstorming** — always run `pred show <source> --json` and `pred show <target> --json` before asking questions. This reveals field types, size getters, and schema details that are essential for correct overhead tables.
791815
- **Pre-fill well-known reductions** — if the reduction appears in standard textbooks, pre-fill answers from literature but still present each step to the user for confirmation. Never skip brainstorming steps.
816+
- **Read the main reference, not just metadata** — for any rule whose algorithm comes from a paper, download the PDF to `docs/research/raw/`, read the actual construction/proof, and include implementation-level details in the issue. A citation-only algorithm section is not acceptable.
792817
- **One question at a time** — don't overwhelm; each `AskUserQuestion` call has one focused question
793818
- **Mathematical language only** — never mention Rust types, traits, macros, or code patterns to the user
794819
- **Help find references** — use WebSearch to help locate papers, verify claims

0 commit comments

Comments
 (0)