CtrlK
BlogDocsLog inGet started
Tessl Logo

simplify

Reduce formula complexity using Z3 tactic chains. Supports configurable tactic pipelines for boolean, arithmetic, and bitvector simplification.

63

Quality

74%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.github/skills/simplify/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

82%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a strong, executable skill: verified copy-paste commands, a complete and accurate parameter table, and a clear three-step workflow with a conditional retry path. Its only real slack is minor redundancy around the default tactic chain and the lack of explicit error-handling checkpoints.

DimensionReasoningScore

Conciseness

The body is lean — a tactic table, a parameter table, and three tight steps — and never explains concepts Claude already knows. Not 5 because the default chain "simplify,propagate-values,ctx-simplify" is repeated three times (Step 1 Result, the note under the code block, and the Parameters table) and the Action/Expectation/Result scaffolding adds some trimmable overhead; not 3 because the redundancy is minor and everything else earns its tokens.

4 / 5

Actionability

Three copy-paste-ready bash commands cover the common cases (--formula with --vars, --file with a custom --tactics chain, and --debug), and the full parameter table matches the actual scripts/simplify.py argparse interface exactly. This matches the 'fully executable, copy-paste ready, specific examples cover the common cases' anchor; nothing below it fits better.

5 / 5

Workflow Clarity

Steps 1–3 are clearly sequenced (choose tactics → run → interpret) and Step 2 includes a decision branch ("If the output is simpler, pass it to solve or prove. If unchanged, try a different tactic chain"). Not 5 because there are no explicit validation/error checkpoints (e.g., what to do when a tactic name is rejected or z3 is missing), which is a minor validation gap; not 3 because the sequence is fully defined with a built-in retry path rather than merely listed.

4 / 5

Progressive Disclosure

Sections are well organized (three step headings plus a Parameters section), the only bundle file (scripts/simplify.py) is referenced correctly and exists, and the tactic table is decision-relevant inline content rather than misplaced reference material. Not 5 because the body runs ~75 lines, above the under-50-line simple-skill exception, and the per-tactic documentation is a natural candidate for a references/ file if the skill grows; not 3 because nothing is buried and no content is inappropriately placed.

4 / 5

Total

17

/

20

Passed

Description

66%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is specific and appropriately concise, clearly stating what the skill does and its supported theories. Its main weakness is the complete absence of any 'when to use' guidance, which caps completeness and limits trigger effectiveness. Adding a trigger clause with natural SMT/SMT-LIB phrasing would lift it substantially.

Suggestions

Add an explicit trigger clause, e.g. "Use when simplifying or reducing SMT formulas, preprocessing constraints before solving, or when the user mentions Z3, SMT-LIB, or .smt2 files."

Include the natural synonyms users actually say — "SMT", "SMT-LIB2", "constraint simplification", and the ".smt2" file extension — alongside the current theory names.

Optionally state the input/output contract (takes an SMT-LIB2 formula, returns an equivalent simpler formula) to sharpen the 'what' and further distinguish it from sibling solve/prove/optimize skills.

DimensionReasoningScore

Specificity

"Reduce formula complexity using Z3 tactic chains" plus "configurable tactic pipelines for boolean, arithmetic, and bitvector simplification" names a concrete action and the supported theories, matching the 'several specific actions; minor gaps' anchor. Not 5 because coverage is not comprehensive (no mention of the SMT-LIB2 input format or the common use cases); not 3 because it goes beyond naming the domain to list multiple concrete capabilities.

4 / 5

Completeness

The 'what' is clear (reduce formula complexity via Z3 tactic chains) but there is no 'when' clause at all — no "Use when..." or equivalent trigger guidance, which caps completeness at 3 per the judging guidelines. Not 4 because the 'when' is not even weakly implied, and not 2 because the 'what' half is explicit and specific.

3 / 5

Trigger Term Quality

"formula", "Z3", "simplification", "tactic", and the theory names ("boolean, arithmetic, bitvector") are natural terms a user would say when needing this skill. Not 5 because common variations like "SMT", "SMT-LIB", "constraint", or the ".smt2" extension are missing; not 3 because keyword coverage is genuinely good, not partial.

4 / 5

Distinctiveness Conflict Risk

Z3 tactic chains and formula simplification occupy a clear niche that would rarely fire for unrelated skills. Not 5 because the skill body reveals sibling skills (solve, prove, optimize) where a user saying "simplify before solving" could plausibly want one of those; not 3 because the description's scope is distinctly narrower than generic simplification skills.

4 / 5

Total

15

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
Z3Prover/z3
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.