/construct-counterexamples
Construct candidate counterexamples to test a proposed conjecture, lemma, or intermediate claim by keeping the assumptions true while making the claimed conclusion fail. Use when a proposed conjecture/claim feels fragile or unproved, or when you are stuck in reasoning and want
$ npx -y skills add frenzymath/Danus --skill construct-counterexamples --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/construct-counterexamples
Context preview
The summary Claude sees to decide when to auto-load this skill.
Construct candidate counterexamples to test a proposed conjecture, lemma, or intermediate claim by keeping the assumptions true while making the claimed conclusion fail. Use when a proposed conjecture/claim feels fragile or unproved, or when you are stuck in reasoning and want
SKILL.md
construct-counterexamples.SKILL.mdname: construct-counterexamples
description: Construct candidate counterexamples to test a proposed conjecture, lemma, or intermediate claim by keeping the assumptions true while making the claimed conclusion fail. Use when a proposed conjecture/claim feels fragile or unproved, or when you are stuck in reasoning and want to see where the assumptions take effect and gain intuition.
Construct Counterexamples
Actively falsify proposed conjectures or intermediate claims by finding examples that satisfy the assumptions but violate the claimed conclusion.
Input Contract
Read:
- the specific conjecture/claim to test
- active branch assumptions
- candidate lemmas/proof steps
- current `immediate_conclusions` and `toy_examples`
- previously found counterexamples that can be reused against new claims
Procedure
1. Identify the assumptions that must hold and the conclusion to fail. 2. Use reasoning, decomposition, and retrieval to search for standard obstructions, pathological constructions, or previously known counterexamples. 3. Decide status:
- `refuted`: assumptions hold and the claim fails
- `not_refuted`: no counterexample found yet
- `inconclusive`: search space unclear or partially explored
4. If the search produces a concrete example that is informative but is not actually a counterexample, save that example as well in `toy_examples`. 5. If refuted, store the counterexample for reuse against future claims and mark impacted branches/lemmas as invalid. 6. If no counterexample is found, treat that only as evidence that the claim may be correct, not as a proof.
Output Contract
Publish to global memory with `gm_add` (kind `counterexample`): `claim` = what is refuted/tested, `evidence` = the candidate construction, plus these fields:
{
"target_claim": "...",
"candidate_counterexample": "...",
"status": "refuted|not_refuted|inconclusive",
"assumptions_satisfied": ["..."],
"failed_conclusion": "...",
"impact": "...",
"branch_id": "optional",
"subgoal_id": "optional"
}If `status="refuted"` and it kills a branch, also publish a `dead_end` finding (`gm_add`, kind `dead_end`) so siblings skip that branch.
If the search produced a concrete non-refuting example, also publish an `example` finding (`gm_add`, kind `example`):
{
"example": "...",
"why_relevant": "constructed while testing the claim ...",
"assumptions_satisfied": ["..."],
"conclusion_verified": true,
"where_assumptions_take_effect": "...",
"observed_pattern": "...",
"supports_branch_ids": ["optional"],
"subgoal_id": "optional"
}Do this whenever the constructed example is useful enough to test future claims or clarify the current branch, even if it did not refute the target claim.
Tools
- `gm_add` (publish counterexample / dead_end / example findings)
- `gm_search` (recall stored counterexamples to reuse against new claims)
- Codex built-in web search and `search_arxiv_theorems` to find standard counterexample patterns
Failure Logging
If no meaningful counterexample space is identified, append:
- `events.event_type="counterexample_space_unclear"`
Read more
name: construct-counterexamples description: Construct candidate counterexamples to test a proposed conjecture, lemma, or intermediate claim by keeping the assumptions true while making the claimed conclusion fail. Use when a proposed conjecture/claim feels fragile or unproved, or when you are stuck in reasoning and want to see where the assumptions take effect and gain intuition.
Construct Counterexamples
Actively falsify proposed conjectures or intermediate claims by finding examples that satisfy the assumptions but violate the claimed conclusion.
Input Contract
Read:
- the specific conjecture/claim to test
- active branch assumptions
- candidate lemmas/proof steps
- current `immediate_conclusions` and `toy_examples`
- previously found counterexamples that can be reused against new claims
Procedure
1. Identify the assumptions that must hold and the conclusion to fail. 2. Use reasoning, decomposition, and retrieval to search for standard obstructions, pathological constructions, or previously known counterexamples. 3. Decide status:
- `refuted`: assumptions hold and the claim fails
- `not_refuted`: no counterexample found yet
- `inconclusive`: search space unclear or partially explored
4. If the search produces a concrete example that is informative but is not actually a counterexample, save that example as well in `toy_examples`. 5. If refuted, store the counterexample for reuse against future claims and mark impacted branches/lemmas as invalid. 6. If no counterexample is found, treat that only as evidence that the claim may be correct, not as a proof.
Output Contract
Publish to global memory with `gm_add` (kind `counterexample`): `claim` = what is refuted/tested, `evidence` = the candidate construction, plus these fields:
{
"target_claim": "...",
"candidate_counterexample": "...",
"status": "refuted|not_refuted|inconclusive",
"assumptions_satisfied": ["..."],
"failed_conclusion": "...",
"impact": "...",
"branch_id": "optional",
"subgoal_id": "optional"
}If `status="refuted"` and it kills a branch, also publish a `dead_end` finding (`gm_add`, kind `dead_end`) so siblings skip that branch.
If the search produced a concrete non-refuting example, also publish an `example` finding (`gm_add`, kind `example`):
{
"example": "...",
"why_relevant": "constructed while testing the claim ...",
"assumptions_satisfied": ["..."],
"conclusion_verified": true,
"where_assumptions_take_effect": "...",
"observed_pattern": "...",
"supports_branch_ids": ["optional"],
"subgoal_id": "optional"
}Do this whenever the constructed example is useful enough to test future claims or clarify the current branch, even if it did not refute the target claim.
Tools
- `gm_add` (publish counterexample / dead_end / example findings)
- `gm_search` (recall stored counterexamples to reuse against new claims)
- Codex built-in web search and `search_arxiv_theorems` to find standard counterexample patterns
Failure Logging
If no meaningful counterexample space is identified, append:
- `events.event_type="counterexample_space_unclear"`
Danus orchestrates mathematical reasoning agents with fact-graph memory. A main agent (Claude Code) steers a swarm of autonomous codex workers that prove; a cold-start verifier is the sole authority on correctness: a result becomes real only once it passes.
Other skills on danus.
- /consult
Consult a strong reasoning model for strategy — feed it the current elaboration, take its reply as the next master_guidance, and dispatch workers from it. This is the main agent's high-intelligence step (workers prove; the consult decomposes and steers). Runs over the gpt_pro
Open skill - /elaboration
Write a high-signal-to-noise mathematical progress synthesis of a project from the shared stores (global memory + fact graph), following a fixed verdict→routes→interfaces→dangers→bridges template and a strict honesty discipline. Use it each strategic cycle, right before the
Open skill - /human-summary
Write a human-readable mathematical progress report (compiled PDF) on a project for the operator / the mathematician who posed the problem. This is NOT `elaboration` (dense input for the strategy consult) and NOT the dashboard. Render from the fact graph's verified
Open skill - /initialize
First-run setup interview for a Danus deployment. Run it on the FIRST session, whenever runtime/.danus-initialized is absent or OPERATOR.md is still the blank template, or when the operator asks to set up / initialize / onboard / re-configure. It greets the operator, explains
Open skill - /write-paper
Turn a project's verified fact graph into a publishable LaTeX paper in a configurable house style — a standalone amsart .tex with a real bibliography, compiled to PDF. Use when a project's target theorem is established and the operator wants the paper, or asks to
Open skill - /check-referenced-statements
Validate externally referenced theorems by querying arXiv theorem search first and Codex's built-in web search second. Use when a markdown proof cites statements from external papers.
Open skill

