Sympy
zLanqing/codex-claude-academic-skills
A skill your agent uses when working with symbolic mathematics in Python.
Use SymPy to prove or refute a self-authored algebraic identity, derivative, limit, comparative-static sign, or closed form.
$ npx skills add flonat/flonat-research --skill symbolic-check -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install flonat/flonat-research symbolic-check --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/flonat/flonat-research.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/symbolic-check .claude/skills/symbolic-check && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "symbolic-check" agent skill from https://github.com/flonat/flonat-research/tree/main/skills/symbolic-check into .claude/skills/symbolic-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "symbolic-check", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/flonat/flonat-research/tree/main/skills/symbolic-checkType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add flonat/flonat-research --skill symbolic-check -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install flonat/flonat-research symbolic-check --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/flonat/flonat-research.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/symbolic-check .agents/skills/symbolic-check && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "symbolic-check" agent skill from https://github.com/flonat/flonat-research/tree/main/skills/symbolic-check into .agents/skills/symbolic-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "symbolic-check", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add flonat/flonat-research --skill symbolic-check -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install flonat/flonat-research symbolic-check --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/flonat/flonat-research.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/symbolic-check .cursor/skills/symbolic-check && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "symbolic-check" agent skill from https://github.com/flonat/flonat-research/tree/main/skills/symbolic-check into .cursor/skills/symbolic-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "symbolic-check", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/flonat/flonat-research.git --path skills/symbolic-check--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add flonat/flonat-research --skill symbolic-check -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install flonat/flonat-research symbolic-check --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/flonat/flonat-research.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/symbolic-check .gemini/skills/symbolic-check && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "symbolic-check" agent skill from https://github.com/flonat/flonat-research/tree/main/skills/symbolic-check into .gemini/skills/symbolic-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "symbolic-check", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install flonat/flonat-research symbolic-checkInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add flonat/flonat-research --skill symbolic-check -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/flonat/flonat-research.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/symbolic-check .github/skills/symbolic-check && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "symbolic-check" agent skill from https://github.com/flonat/flonat-research/tree/main/skills/symbolic-check into .github/skills/symbolic-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "symbolic-check", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add flonat/flonat-research --skill symbolic-check -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install flonat/flonat-research symbolic-check --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/flonat/flonat-research.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/symbolic-check .opencode/skills/symbolic-check && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "symbolic-check" agent skill from https://github.com/flonat/flonat-research/tree/main/skills/symbolic-check into .opencode/skills/symbolic-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "symbolic-check", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
symbolic-checkUse SymPy to prove or refute a self-authored algebraic identity, derivative, limit, comparative-static sign, or closed form.
Symbolic Check is an agent skill from flonat/flonat-research. Use SymPy to prove or refute a self-authored algebraic identity, derivative, limit, comparative-static sign, or closed form. Use when exact symbolic manipulation can settle the claim. For parameter sweeps or full theorem proving, use $numerical-check or $lean-check.
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Research & Science, covering Math and symbolic computation. It works with SymPy. The repository describes itself as: Shareable Claude Code + Codex infrastructure for PhD researchers — skills, agents, hooks, and rules for academic workflows. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit da27600. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditBashAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
uvFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Symbolic Check loads about 1.8k tokens when it runs. Until then it costs about 70 tokens; SKILL.md has 693 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Write, Edit, Bash, AskUserQuestionAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from flonat/flonat-research at commit da27600, republished under its MIT licence (© flonat). 693 words, ~1,778 tokens.
.claude/skills/symbolic-check/SKILL.md (or your agent's skills folder).Verify a symbolic manipulation you wrote — an identity, a derivative, a limit, a comparative-static sign, a closed form — using sympy. Unlike numerical falsification, this can positively verify the step: a CAS-confirmed identity is correct.
A = B, ∂f/∂x = g, lim = L, sign(∂f/∂x) = −, or "the closed form is …" and want it proven before it ships.symbolic-check, "verify this algebra / derivative / limit", "check the comparative-static sign", "does this closed form equal the original".mark-unverified for self-authored algebra (the derivative-sign / closed-form family the rule explicitly names).| Situation | Use instead |
|---|---|
| A full theorem/lemma you want machine-proven end-to-end | lean-check (R3) |
| A distributional / probabilistic claim over a parameter space | numerical-check (R1) |
| Re-verify a computed empirical result | cross-language-check |
| Conceptual / assumption review | domain-reviewer |
R2 — symbolic / CAS. Can VERIFY (prove) or FALSIFY a symbolic step; between numerical falsification (R1) and formal proof (R3) in strength. It proves algebra, not arbitrary theorems — reasoning beyond symbolic manipulation (measure theory, limits sympy can't evaluate) escalates to lean-check or domain-reviewer.
A == B, derivative diff(f,x) == g, limit limit(f,x,a) == L, sign sign(diff(f,x)) over a domain, or closed form expr == cf.symbols('x', positive=True, real=True) etc. Comparative-static signs and simplifications are wrong without the right domain. State them explicitly (they are part of the claim)..equals(), not simplify(...)==0sympy's simplify is heuristic — a non-zero result does not mean the claim is false, only that simplify gave up. Use (A - B).equals(0), which combines symbolic + random-point numerical testing and returns:
True → VERIFIED (identity holds)False → FALSIFIED (a witness point disproves it)None → INCONCLUSIVE (undecided) — go to step 3.For derivatives: diff(f, x).equals(g). For limits: limit(f, x, a) and compare to L. For a closed form: expr.equals(cf).
None, escalate — do NOT guessfactor, radsimp, trigsimp, powsimp, together, rewrite(...), assuming(...) with the domain.A - B — if all ≈ 0, report INCONCLUSIVE (numerically consistent, symbolically undecided); if any is far from 0, that's a FALSIFIED witness.None to VERIFIED. Undecided is undecided.d = diff(f, x). Ask whether d has a definite sign under the assumptions.refine(d > 0, Q.positive(...)) / ask(Q.negative(d), assumptions); if sympy can't decide, sample the domain numerically to conjecture the sign, then report INCONCLUSIVE (sign consistent on N points) — a sign you can't prove symbolically is a candidate for numerical-check (falsify) or lean-check (prove).Even on a .equals() == True, do a quick numerical substitution at one random point as a sanity check against a symbol/transcription bug. A transcription error is the most common real failure.
# uv run --no-project --with sympy python <script>.py
import sympy as sp
mu, mumax, rho = sp.symbols('mu mumax rho', positive=True) # DECLARE the domain
# --- identity / closed-form ---
A = mu / sp.sqrt(rho); B = mumax # claim: threshold solves A == B
rho_star = sp.solve(sp.Eq(A, B), rho) # -> [mu**2/mumax**2]
print("rho* =", rho_star, " expected (mu/mumax)**2:", (mu/mumax)**2)
print("identity holds:", (rho_star[0] - (mu/mumax)**2).equals(0)) # True / False / None
# --- derivative sign (monotonicity) ---
Phi = lambda z: (1 + sp.erf(z/sp.sqrt(2)))/2 # standard normal CDF
Q = Phi(mu/sp.sqrt(rho)); d = sp.diff(Q, rho)
print("dQ/drho =", sp.simplify(d), " sign<0 on domain (mu>0):", sp.ask(sp.Q.negative(d), sp.Q.positive(mu)))simplify(A - B) != 0 as FALSIFIED — that's simplify giving up. Use .equals().None (undecided) to VERIFIED. Report INCONCLUSIVE.python3 — use uv run --no-project --with sympy python.lean-check (R3) or domain-reviewer.*-check shape)Write to reviews/<scope>/verify-symbolic/<YYYY-MM-DD-HHMM>.md:
claim: <exact symbolic statement + declared symbol domains>
method: R2 symbolic/CAS (sympy .equals() [+ numeric sanity at <k> points])
verdict: VERIFIED | FALSIFIED | INCONCLUSIVE (numerically consistent, symbolically undecided) | ERROR
evidence: <simplified form / witness point that disproves / the derived closed form>
reproduce: uv run --no-project --with sympy python experiments/<script>.pyVERIFIED is emitted only on .equals() == True (or an exact solve/limit match), never on None.no-hardcoded-results).ρ* = (μ_med/μ_max)² solves Φ(μ_med/√ρ) = Φ(μ_max). solve(μ_med/√ρ = μ_max, ρ) → μ_med²/μ_max²; .equals() → VERIFIED.d/dρ Φ(μ/√ρ) = φ(μ/√ρ)·μ·(−½ρ^{-3/2}), negative for μ>0 → sign VERIFIED under Q.positive(mu) (numeric-confirmed on the domain where sympy hesitates).numerical-check stress-tested and lean-check could formalize.© flonat, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/symbolic-check of flonat/flonat-research.
Open the folder on GitHubat commit da27600
Symbolic Check next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Symbolic Check this skillflonat/flonat-research | 146 | — | ~1.8k | Automated safety check: Notes | MIT | |
| SympyzLanqing/codex-claude-academic-skills | 4.7k | 15 repos | ~3.4k | Automated safety check: Pass | MIT | |
| Edu Analytic Geometrywy51ai/edulab | 1.4k | 1 repos | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| Edu Solid Geometrywy51ai/edulab | 1.4k | 1 repos | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Math Toolsananddtyagi/cc-marketplace | 687 | 1 repos | ~1.3k | Automated safety check: Pass | None | |
| Edu Chem Reactionwy51ai/edulab | 1.4k | — | ~1.2k | Automated safety check: Pass | Apache-2.0 |
zLanqing/codex-claude-academic-skills
A skill your agent uses when working with symbolic mathematics in Python.
wy51ai/edulab
把一道解析几何题解成一个自包含的交互教学网页:左栏题面 + 动态控制台(一个 可变参数滑块驱动实时重算的几何量 + 理论范围/定值指示),中栏 KaTeX 分步解析,右栏 2D Canvas 动态几何画板(椭圆/双曲线/抛物线/圆 + 动直线/动点 + 向量 + 标注 + 画笔涂鸦)。
wy51ai/edulab
把一道立体几何题解成一个自包含的交互教学网页:左侧 MathJax 分步解析, 右侧 Three.js 可交互 3D 模型(分步高亮 + 镜头切换)。支持三种入口——给定文字题目、 随机出题、上传题目图片识别后解题。覆盖正方体/长方体、棱锥/棱柱、圆柱/圆锥上的线面角、 二面角、异面直线夹角、点到平面距离、体积等题型,统一用"建系+向量法",并由 sympy 精确 计算驱动(答案、3D…
ananddtyagi/cc-marketplace
Deterministic mathematical computation using SymPy. An agent skill from ananddtyagi/cc-marketplace.
wy51ai/edulab
把一个化学反应做成自包含的微观 3D 交互演示网页:左/上为 Three.js 可交互分子动画 (拖滑块看断键·成键·原子重组,分步高亮),右为 KaTeX 反应方程 + 分步讲解 + 原子守恒计数 + 可选能量-反应进程曲线。支持三入口——给定文字反应/方程、随机出题、上传图片识别后演示。
tradecatlabs/vibe-coding-cn
Runs reproducible math computations and counterexample searches with SymPy, NumPy and mpmath, logging evidence without presenting results as proofs.
flonat/flonat-research
Create a large-format academic poster in LaTeX using beamerposter, tikzposter, or baposter.
flonat/flonat-research
Create, revise, and evaluate reusable AI workflow skills, including trigger-quality tests.
flonat/flonat-research
Create, read, edit, or convert Microsoft Word documents while preserving professional document structure.
flonat/flonat-research
Read, create, combine, split, rotate, OCR, watermark, secure, or extract content from PDF files.
flonat/flonat-research
Create or migrate project-level agents, repeatable project workflows, and planning state from one client-neutral contract, then render repository-scoped adapters for both Claude Code and Codex.
flonat/flonat-research
Deliver a fast pre-commit safety scan: file size, anonymity (author / affiliation strings in tex/bib), hardcoded secrets, and invisible-Unicode carriers.
Works with
Categories
Use SymPy to prove or refute a self-authored algebraic identity, derivative, limit, comparative-static sign, or closed form. Symbolic Check is an agent skill from flonat/flonat-research. Use SymPy to prove or refute a self-authored algebraic identity, derivative, limit, comparative-static sign, or closed form.
Symbolic Check fits situations like: exact symbolic manipulation can settle the claim; tasks that involve Math and symbolic computation.
Run `npx skills add flonat/flonat-research --skill symbolic-check -a claude-code`. Or copy the skill folder (skills/symbolic-check in flonat/flonat-research) into .claude/skills/symbolic-check in your project. Claude Code loads it when a task matches its description.
Run `npx skills add flonat/flonat-research --skill symbolic-check -a codex`. Or copy the skill folder (skills/symbolic-check in flonat/flonat-research) into .agents/skills/symbolic-check in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add flonat/flonat-research --skill symbolic-check -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/symbolic-check, .gemini/skills/symbolic-check, .github/skills/symbolic-check and .opencode/skills/symbolic-check in your project.
Going by SKILL.md and its folder, Symbolic Check needs the command-line tools its instructions call (uv). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash, AskUserQuestion.
SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Symbolic Check is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Symbolic Check: Sympy (zLanqing/codex-claude-academic-skills, 4.7k stars), Edu Analytic Geometry (wy51ai/edulab, 1.4k stars), Edu Solid Geometry (wy51ai/edulab, 1.4k stars) and Math Tools (ananddtyagi/cc-marketplace, 687 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
flonat (a GitHub user) maintains it in flonat/flonat-research, which has 146 GitHub stars. The repository holds 83 skills in this directory. The repository was last updated on September 29, 2026.
Source: flonat/flonat-research on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.