CtrlK
BlogDocsLog inGet started
Tessl Logo

sympy

Use this skill when working with symbolic mathematics in Python. This skill should be used for symbolic computation tasks including solving equations algebraically, performing calculus operations (derivatives, integrals, limits), manipulating algebraic expressions, working with matrices symbolically, physics calculations, number theory problems, geometry computations, and generating executable code from mathematical expressions. Apply this skill when the user needs exact symbolic results rather than numerical approximations, or when working with mathematical formulas that contain variables and parameters.

61

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 ./backend/cli/skills/coding/sympy/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

60%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 well-structured for progressive disclosure — every reference file exists, is one level deep, and carries explicit load conditions — and the guidance is largely executable with useful verification patterns. Its main liability is token efficiency: roughly 250 of its 505 lines restate content already shown earlier in the file or already known to Claude.

Suggestions

Remove the self-duplicating sections: 'Getting Started Examples' repeats the solve/derivative/integral/eigenvalue/lambdify examples already shown under Core Capabilities and Patterns, and the 'Quick Reference: Most Common Functions' import block restates standard usage — cutting these would roughly halve the file without losing information.

Fix the non-executable snippets: import `Operator` in the quantum example (and define or remove `B`), give Patterns 2-3 self-contained imports and defined inputs (`x_data`), and replace the invalid `from sympy import evalf` with `expr.evalf()` / `from sympy import nsimplify, N`.

Add brief verification checkpoints to the flows that lack them, mirroring the existing solve-and-verify pattern — e.g. numerically spot-check a lambdified function against `evalf()` results, or confirm generated C code compiles.

DimensionReasoningScore

Conciseness

The 505-line body duplicates itself across sections: `solve(x**2 - 5*x + 6)` appears in both 'Pattern 1' and 'Example 1', derivative demos repeat between 'Calculus' and 'Example 2', `lambdify` is demonstrated three times, and the assumptions snippet appears twice, plus a 30-line import 'Quick Reference' that restates standard usage Claude already knows. This matches anchor 2 ('noticeably verbose; several unnecessary or padded sections') rather than 3, where padding would be incidental rather than whole duplicated sections.

2 / 5

Actionability

Nearly all guidance is concrete, executable code with expected outputs in comments (e.g. `integrate(exp(-x), (x, 0, oo)) # 1`). Minor gaps keep it below 5: the quantum snippet uses `Operator('A')` without importing `Operator` and references undefined `B`, Patterns 2-3 use undefined `x_data` and unimported names, and `from sympy import evalf` in the Quick Reference is not a valid top-level SymPy import.

4 / 5

Workflow Clarity

Sequencing is clear ('Always Define Symbols First' -> assumptions -> exact arithmetic -> choose solver) and 'Pattern 1: Solve and Verify' includes an explicit validation loop (`assert result == 0`), while the symbolic-to-numeric pipeline is numbered step-by-step. It is not 5 because some flows (codegen, dsolve, lambdify output) lack verification checkpoints. No destructive or batch operations are involved, so the workflow-clarity cap does not apply.

4 / 5

Progressive Disclosure

The five referenced files (core-capabilities.md, matrices-linear-algebra.md, physics-mechanics.md, advanced-topics.md, code-generation-printing.md) all exist, are clearly signaled per section ('For detailed X: See references/...'), are one level deep, and get explicit 'Load when:' conditions in the Reference Files Structure section. It falls short of anchor 5 because the main file inlines substantial detail (Quick Reference, Getting Started Examples, Integration sections) that a lean overview would push to references.

4 / 5

Total

14

/

20

Passed

Description

88%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.

A strong description that explicitly states both capabilities and trigger conditions with concrete, domain-spanning actions. Its main weakness is trigger coverage: it omits the library name 'SymPy' and common user phrasings like 'simplify', which slightly weakens discoverability and distinctiveness.

DimensionReasoningScore

Specificity

The description lists multiple specific concrete actions — 'solving equations algebraically, performing calculus operations (derivatives, integrals, limits), manipulating algebraic expressions, working with matrices symbolically, physics calculations, number theory problems, geometry computations, and generating executable code' — giving comprehensive coverage of the domain. It fits anchor 5 rather than 4 because the action list spans the skill's whole surface with no meaningful gaps.

5 / 5

Completeness

It explicitly answers both questions: what ('This skill should be used for symbolic computation tasks including...') and when ('Apply this skill when the user needs exact symbolic results rather than numerical approximations, or when working with mathematical formulas that contain variables and parameters'). The concrete trigger phrases match the anchor-5 example shape, so it is not 4.

5 / 5

Trigger Term Quality

Natural terms like 'equations', 'derivatives', 'integrals', 'limits', 'matrices', and 'exact symbolic results' are present, but coverage is not comprehensive: the description never names SymPy itself (the most likely trigger a user would say), and common phrasings like 'simplify an expression' or 'LaTeX' are absent. This sits between anchors 4 and 5, so 4.

4 / 5

Distinctiveness Conflict Risk

The clause 'exact symbolic results rather than numerical approximations' cleanly distinguishes it from numerical-computation skills, and 'symbolic mathematics in Python' is a distinct niche. However, broad phrases like 'physics calculations' and 'geometry computations' could overlap with other scientific skills, so it is mostly rather than fully distinct — anchor 4, not 5.

4 / 5

Total

18

/

20

Passed

Validation

81%

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

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (506 lines); consider splitting into references/ and linking

Warning

metadata_version

'metadata.version' is missing

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

13

/

16

Passed

Repository
synthetic-sciences/openscience
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.