Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add frenzymath/Danus --skill construct-counterexamplesgit clone --depth 1 https://github.com/frenzymath/DanusWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/frenzymath/danus/construct-counterexamples)<a href="https://agentmods.dev/skills/frenzymath/danus/construct-counterexamples"><img src="https://agentmods.dev/badge/skills/frenzymath/danus/construct-counterexamples/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/frenzymath/danus/construct-counterexamples"><img src="https://agentmods.dev/badge/skills/frenzymath/danus/construct-counterexamples.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00066 | $0.00711 |
| Opus 5.5 | $0.00026 | $0.00284 |
| Sonnet 5.5 | $0.00013 | $0.00142 |
| Haiku 4.5 | $0.00007 | $0.00071 |
Grade A, and why
construct-counterexamples scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 82 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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_conclusionsandtoy_examples - previously found counterexamples that can be reused against new claims
Procedure
- Identify the assumptions that must hold and the conclusion to fail.
- Use reasoning, decomposition, and retrieval to search for standard obstructions, pathological constructions, or previously known counterexamples.
- Decide status:
refuted: assumptions hold and the claim failsnot_refuted: no counterexample found yetinconclusive: search space unclear or partially explored
- If the search produces a concrete example that is informative but is not actually a counterexample, save that example as well in
toy_examples. - If refuted, store the counterexample for reuse against future claims and mark impacted branches/lemmas as invalid.
- 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"
}
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 82 lines · 66 tokens per session scan A dac7c1207a04
construct-counterexamples is a skill published in the GitHub repository frenzymath/Danus (483 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 66 tokens to every session and 711 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
personal-genomics
Analyse personal DNA / genome files for pharmacogenomics, disease risk, carrier status, ancestry and traits. Use whenever the user mentions DNA or genome analysis, a raw genome file, gene names, drug-gene interactions, or wants to combine multiple DNA sources.
nonlinear-solvers
Select and configure nonlinear solvers for root-finding f(x)=0, optimization min F(x), and least-squares problems — choose among Newton, Newton-Krylov, quasi-Newton (BFGS, L-BFGS), Broyden, Anderson acceleration, and Levenberg-Marquardt methods, configure line search or trust-region globalization, diagnose convergence…
ontology-explorer
Parse, navigate, and query materials science ontology structures — browse class hierarchies, inspect individual classes and their properties, look up object and data property definitions with domain/range, search for ontology terms by keyword, and parse or summarize raw OWL/XML files. Currently supports CMSO and ASMO…
post-processing
Extract, analyze, and summarize simulation output data — pull spatial fields at specific timesteps, compute time-series trends and detect steady state, extract line profiles through the domain, generate statistical summaries and distributions, calculate derived quantities (gradients, fluxes, volume fractions…
simulation-orchestrator
Orchestrate multi-simulation campaigns — generate parameter sweep configurations (grid, linspace, or Latin Hypercube sampling), initialize and track batch job campaigns, monitor job completion status, and aggregate results with summary statistics across all runs. Use when running a parameter study across dt, kappa, or…
differentiation-schemes
Select and apply numerical differentiation schemes for PDE and ODE discretization — generate finite-difference stencils at arbitrary order and accuracy, choose between central, upwind, compact (Pade), and spectral methods, handle boundary stencils, and estimate truncation error scaling. Use when discretizing spatial…