{"id":"34f8ed2e-41c4-429e-a669-d8c9d061154e","shortId":"pMYxpE","kind":"skill","title":"formalize-problem","tagline":"Formalize a research question into precise, testable hypotheses with model assumptions, core properties, and explicit success/failure conditions. Use when asked to formalize, define, or scope a research problem after paper analysis.","description":"# Formalize Problem\n\nTransform a research goal into precise, testable hypotheses with explicit success/failure conditions.\n\n## Usage\n\nInvoke this skill by name with the research goal as a quoted string. On slash-command hosts, prefix with `/` (e.g. `/formalize-problem \"<goal>\"`).\n\n```\nformalize-problem \"determine if the security proof in Section 4 holds under asynchrony\"\n```\n\n\n## Instructions\n\n### 1. Read Inputs\n\n**Always read:**\n- `reaper-workspace/notes/clarified-goal.md` — refined research goal, scope, assumptions, and success criteria\n- `reaper-workspace/notes/paper-summary.md` — what the paper claims and how. **If this file does not exist** (paper-less mode), proceed without it — use the literature review and clarified goal as primary inputs instead.\n- The research goal from the argument (use the refined goal from `clarified-goal.md` if available)\n\n**Read selectively from:**\n- `reaper-workspace/notes/literature.md` — focus on the \"Key Prior Results\" and \"Gaps Identified\" sections, not the full paper tables. Only deep-read individual paper entries if a specific prior result is needed for hypothesis screening. **In paper-less mode, this becomes the primary technical context** — read it more thoroughly.\n\n### 2. Identify the Core Question\n\nWhat exactly needs to be resolved? Be specific. \"Is this protocol secure?\" is too vague. \"Does the safety proof of Protocol X hold when the adversary is adaptive rather than static?\" is testable.\n\n### 3. Pin Down Model Assumptions (must be unambiguous before hypotheses)\n\nPin down every dimension of the system/trust model. If any dimension is left vague, the investigation will produce ambiguous results. Consult `../reaper/references/model.md` for the domain-appropriate checklist of dimensions that must be specified. Every field must have a concrete answer, not \"TBD\".\n\nEvery hypothesis must reference these model assumptions by specifying which parameters it holds under. A hypothesis that states a claim without pinning every relevant dimension is rejected.\n\n### 4. Apply Importance Filter (Hamming)\n\nNot all questions are equally worth investigating. Prioritize by consequence — ask: \"If we resolved this question, who would care and why?\" Consult `../reaper/references/model.md` for domain-specific examples of how to rank by importance.\n\n### 5. Apply Gap-Finding (Qian)\n\nMap the dimensions of existing work and find unexplored combinations. Consult `../reaper/references/model.md` for the domain-appropriate gap-finding matrix dimensions. Which cells in this matrix are empty? Those are candidate hypotheses.\n\n### 6. Screen Against Known Impossibilities\n\nFor each hypothesis, check whether it contradicts a known impossibility or lower bound. Consult `../reaper/references/impossibility-results.md` for the domain-relevant impossibility results and lower bounds.\n\nIf a hypothesis asks to prove something that an impossibility result rules out:\n1. **Flag it explicitly** in the hypothesis with a warning\n2. **Reformulate**: \"Under what additional assumptions does this become possible?\" or \"What weaker property can be achieved?\"\n3. Do NOT leave it as a hypothesis for the investigate skill to waste cycles on\n\n### 7. Enforce Definitional Hygiene\n\nEach core property listed in the output must be stated precisely. Consult `../reaper/references/definitional-standards.md` for the domain-appropriate acceptable definition forms. Informal or ambiguous terms without formal definitions are NOT acceptable — different papers define the same terms differently, so pin it down. If the paper under analysis uses informal definitions, formalize them explicitly and note that you are doing so.\n\n### 8. Write Output\n\nWrite to `reaper-workspace/notes/problem-statement.md`:\n\n```markdown\n# Problem Statement\n\n## Research Goal\n[Restate the goal precisely]\n\n## Model Assumptions\n[One field per dimension from `../reaper/references/model.md`. Every dimension must have a concrete answer.]\n\n## Security Properties Under Investigation\n[What must hold? List each property with its formal definition or reference.]\n1. **[Property name]**: [formal definition or citation]\n2. ...\n\n## Performance Metrics\n[Concrete targets, if applicable]\n- Communication complexity:\n- Round complexity:\n- Other:\n```\n\nWrite ideas to a separate file `reaper-workspace/notes/ideas.md`:\n\n```markdown\n# Ideas\n\n## Initial Ideas\n\n### H1: [Short descriptive title]\n- **Statement**: [Precise, falsifiable claim — specific enough that a reader could disagree]\n- **Success condition**: [What evidence would confirm this?]\n- **Failure condition**: [What evidence would refute this?]\n- **Priority**: High / Medium / Low\n- **Rationale**: [Why this priority? What's the consequence of resolving it?]\n\n### H2: [Short descriptive title]\n...\n```\n\n### Relationship to Brainstorm\n\n`/formalize-problem` handles *initial* formalization: pinning down trust assumptions, the core question, definitional hygiene, and the first set of hypotheses. It runs once at the start of the pipeline. The `/brainstorm` skill handles *recurring* ideation — generating additional ideas as the investigation progresses, applying Hamming/Qian heuristics to current state, and proposing follow-up hypotheses based on patterns in results. `/brainstorm` updates the `ideas.md` that this skill creates (adding new ideas and editing existing ones inline).\n\n### Quality Criteria\n\n- Every hypothesis is **falsifiable** — a reader could disagree with it\n- Every hypothesis has **explicit** success and failure conditions — not \"we'll know it when we see it\"\n- Priorities are justified by consequence, not convenience\n- Trust assumptions are complete — no missing dimensions\n- The hypotheses collectively cover the research goal — resolving all of them would answer the original question\n- At most 5-7 hypotheses — focus beats breadth. If you have more, merge or drop the low-priority ones\n- `clarified-goal.md` is always required — return an error if missing. `paper-summary.md` is optional (absent in paper-less mode) — if missing, rely on `literature.md` and `clarified-goal.md` instead","tags":["formalize","problem","reaper","sebastianelvis","agent-skills","ai-research","arxiv","claude-code","cline","codex-cli","cryptography","cursor"],"capabilities":["skill","source-sebastianelvis","skill-formalize-problem","topic-agent-skills","topic-ai-research","topic-arxiv","topic-claude-code","topic-cline","topic-codex-cli","topic-cryptography","topic-cursor","topic-dblp","topic-distributed-systems","topic-gemini-cli","topic-iacr"],"categories":["reaper"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/SebastianElvis/reaper/formalize-problem","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add SebastianElvis/reaper","source_repo":"https://github.com/SebastianElvis/reaper","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 8 github stars · SKILL.md body (6,069 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:08:56.988Z","embedding":null,"createdAt":"2026-05-18T13:14:41.464Z","updatedAt":"2026-05-18T19:08:56.988Z","lastSeenAt":"2026-05-18T19:08:56.988Z","tsv":"'-7':821 '/brainstorm':714,743 '/formalize-problem':71,685 '/notes/clarified-goal.md':95 '/notes/ideas.md':629 '/notes/literature.md':158 '/notes/paper-summary.md':107 '/notes/problem-statement.md':560 '/reaper/references/definitional-standards.md':504 '/reaper/references/impossibility-results.md':421 '/reaper/references/model.md':275,351,380,577 '1':87,445,601 '2':206,455,608 '3':244,472 '4':82,324 '5':363,820 '6':402 '7':488 '8':552 'absent':850 'accept':510,522 'achiev':471 'ad':751 'adapt':238 'addit':459,720 'adversari':236 'alway':90,840 'ambigu':272,515 'analysi':34,538 'answer':294,584,814 'appli':325,364,726 'applic':614 'appropri':280,385,509 'argument':143 'ask':23,339,435 'assumpt':14,100,248,303,460,571,692,796 'asynchroni':85 'avail':151 'base':738 'beat':824 'becom':197,463 'bound':419,431 'brainstorm':684 'breadth':825 'candid':400 'care':347 'cell':392 'check':410 'checklist':281 'citat':607 'claim':111,316,641 'clarifi':132 'clarified-goal.md':149,838,862 'collect':804 'combin':378 'command':66 'communic':615 'complet':798 'complex':616,618 'concret':293,583,611 'condit':20,48,650,657,778 'confirm':654 'consequ':338,674,792 'consult':274,350,379,420,503 'context':201 'contradict':413 'conveni':794 'core':15,209,493,694 'could':647,767 'cover':805 'creat':750 'criteria':103,760 'current':730 'cycl':486 'deep':176 'deep-read':175 'defin':26,525 'definit':490,511,519,541,598,605,696 'descript':636,680 'determin':75 'differ':523,529 'dimens':257,264,283,321,371,390,575,579,801 'disagre':648,768 'domain':279,354,384,425,508 'domain-appropri':278,383,507 'domain-relev':424 'domain-specif':353 'drop':832 'e.g':70 'edit':755 'empti':397 'enforc':489 'enough':643 'entri':180 'equal':333 'error':844 'everi':256,288,297,319,578,761,771 'evid':652,659 'exact':212 'exampl':356 'exist':119,373,756 'explicit':18,46,448,544,774 'failur':656,777 'falsifi':640,764 'field':289,573 'file':116,625 'filter':327 'find':367,376,388 'first':700 'flag':446 'focus':159,823 'follow':735 'follow-up':734 'form':512 'formal':2,4,25,35,73,518,542,597,604,688 'formalize-problem':1,72 'full':171 'gap':166,366,387 'gap-find':365,386 'generat':719 'goal':40,58,98,133,140,147,565,568,808 'h1':634 'h2':678 'ham':328 'hamming/qian':727 'handl':686,716 'heurist':728 'high':664 'hold':83,233,309,591 'host':67 'hygien':491,697 'hypothes':11,44,253,401,703,737,803,822 'hypothesi':189,298,312,409,434,451,479,762,772 'idea':621,631,633,721,753 'ideas.md':746 'ideat':718 'identifi':167,207 'import':326,362 'imposs':406,416,427,441 'individu':178 'inform':513,540 'initi':632,687 'inlin':758 'input':89,136 'instead':137,863 'instruct':86 'investig':269,335,482,588,724 'invok':50 'justifi':790 'key':162 'know':782 'known':405,415 'leav':475 'left':266 'less':122,194,854 'list':495,592 'literatur':129 'literature.md':860 'll':781 'low':666,835 'low-prior':834 'lower':418,430 'map':369 'markdown':561,630 'matrix':389,395 'medium':665 'merg':830 'metric':610 'miss':800,846,857 'mode':123,195,855 'model':13,247,261,302,570 'must':249,285,290,299,499,580,590 'name':54,603 'need':187,213 'new':752 'note':546 'one':572,757,837 'option':849 'origin':816 'output':498,554 'paper':33,110,121,172,179,193,524,536,853 'paper-less':120,192,852 'paper-summary.md':847 'paramet':307 'pattern':740 'per':574 'perform':609 'pin':245,254,318,531,689 'pipelin':712 'possibl':464 'precis':9,42,502,569,639 'prefix':68 'primari':135,199 'prior':163,184 'priorit':336 'prioriti':663,670,788,836 'problem':3,31,36,74,562 'proceed':124 'produc':271 'progress':725 'proof':79,229 'properti':16,468,494,586,594,602 'propos':733 'protocol':221,231 'prove':437 'qian':368 'qualiti':759 'question':7,210,331,344,695,817 'quot':61 'rank':360 'rather':239 'rational':667 'read':88,91,152,177,202 'reader':646,766 'reaper':93,105,156,558,627 'reaper-workspac':92,104,155,557,626 'recur':717 'refer':300,600 'refin':96,146 'reformul':456 'refut':661 'reject':323 'relationship':682 'relev':320,426 'reli':858 'requir':841 'research':6,30,39,57,97,139,564,807 'resolv':216,342,676,809 'restat':566 'result':164,185,273,428,442,742 'return':842 'review':130 'round':617 'rule':443 'run':705 'safeti':228 'scope':28,99 'screen':190,403 'section':81,168 'secur':78,222,585 'see':786 'select':153 'separ':624 'set':701 'short':635,679 'skill':52,483,715,749 'skill-formalize-problem' 'slash':65 'slash-command':64 'someth':438 'source-sebastianelvis' 'specif':183,218,355,642 'specifi':287,305 'start':709 'state':314,501,731 'statement':563,638 'static':241 'string':62 'success':102,649,775 'success/failure':19,47 'system/trust':260 'tabl':173 'target':612 'tbd':296 'technic':200 'term':516,528 'testabl':10,43,243 'thorough':205 'titl':637,681 'topic-agent-skills' 'topic-ai-research' 'topic-arxiv' 'topic-claude-code' 'topic-cline' 'topic-codex-cli' 'topic-cryptography' 'topic-cursor' 'topic-dblp' 'topic-distributed-systems' 'topic-gemini-cli' 'topic-iacr' 'transform':37 'trust':691,795 'unambigu':251 'unexplor':377 'updat':744 'usag':49 'use':21,127,144,539 'vagu':225,267 'warn':454 'wast':485 'weaker':467 'whether':411 'without':125,317,517 'work':374 'workspac':94,106,157,559,628 'worth':334 'would':346,653,660,813 'write':553,555,620 'x':232","prices":[{"id":"271304c6-9462-4b03-960f-9d44b49dec5b","listingId":"34f8ed2e-41c4-429e-a669-d8c9d061154e","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"SebastianElvis","category":"reaper","install_from":"skills.sh"},"createdAt":"2026-05-18T13:14:41.464Z"}],"sources":[{"listingId":"34f8ed2e-41c4-429e-a669-d8c9d061154e","source":"github","sourceId":"SebastianElvis/reaper/formalize-problem","sourceUrl":"https://github.com/SebastianElvis/reaper/tree/main/skills/formalize-problem","isPrimary":false,"firstSeenAt":"2026-05-18T13:14:41.464Z","lastSeenAt":"2026-05-18T19:08:56.988Z"}],"details":{"listingId":"34f8ed2e-41c4-429e-a669-d8c9d061154e","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"SebastianElvis","slug":"formalize-problem","github":{"repo":"SebastianElvis/reaper","stars":8,"topics":["agent-skills","ai-research","arxiv","claude-code","cline","codex-cli","cryptography","cursor","dblp","distributed-systems","gemini-cli","iacr","openalex","research","scientific-research","semantic-scholar","skills"],"license":"apache-2.0","html_url":"https://github.com/SebastianElvis/reaper","pushed_at":"2026-05-02T06:06:07Z","description":"AI-native scientific research pipeline. Takes a research goal and autonomously runs multi-step academic research on Cursor, Codex CLI, Cline, Continue, Gemini CLI, Copilot, Windsurf, Claude Code, and 40+ more.","skill_md_sha":"c16795046def5fef24a6511eff142abd016b96f8","skill_md_path":"skills/formalize-problem/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/SebastianElvis/reaper/tree/main/skills/formalize-problem"},"layout":"multi","source":"github","category":"reaper","frontmatter":{"name":"formalize-problem","license":"Apache-2.0","description":"Formalize a research question into precise, testable hypotheses with model assumptions, core properties, and explicit success/failure conditions. Use when asked to formalize, define, or scope a research problem after paper analysis."},"skills_sh_url":"https://skills.sh/SebastianElvis/reaper/formalize-problem"},"updatedAt":"2026-05-18T19:08:56.988Z"}}