Basin
cloudflare/skills
Build and troubleshoot Cloudflare Basin analytics workflows with Basin Pipelines, Basin Catalog, and Basin SQL.
Add one research-grounded numerical optimization solver to Basin, including its public API, state and math integration, backend tests, rustdoc references, and solver-catalog synchronization.
$ npx skills add jolars/basin --skill add-solver -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jolars/basin add-solver --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/jolars/basin.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/add-solver .claude/skills/add-solver && 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 "add-solver" agent skill from https://github.com/jolars/basin/tree/main/.codex/skills/add-solver into .claude/skills/add-solver/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-solver", 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/jolars/basin/tree/main/.codex/skills/add-solverType 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 jolars/basin --skill add-solver -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jolars/basin add-solver --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jolars/basin.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.codex/skills/add-solver .agents/skills/add-solver && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "add-solver" agent skill from https://github.com/jolars/basin/tree/main/.codex/skills/add-solver into .agents/skills/add-solver/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-solver", 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 jolars/basin --skill add-solver -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jolars/basin add-solver --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jolars/basin.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.codex/skills/add-solver .cursor/skills/add-solver && 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 "add-solver" agent skill from https://github.com/jolars/basin/tree/main/.codex/skills/add-solver into .cursor/skills/add-solver/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-solver", 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/jolars/basin.git --path .codex/skills/add-solver--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 jolars/basin --skill add-solver -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jolars/basin add-solver --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jolars/basin.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.codex/skills/add-solver .gemini/skills/add-solver && 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 "add-solver" agent skill from https://github.com/jolars/basin/tree/main/.codex/skills/add-solver into .gemini/skills/add-solver/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-solver", 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 jolars/basin add-solverInstalls 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 jolars/basin --skill add-solver -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jolars/basin.git skills-src && mkdir -p .github/skills && cp -r skills-src/.codex/skills/add-solver .github/skills/add-solver && 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 "add-solver" agent skill from https://github.com/jolars/basin/tree/main/.codex/skills/add-solver into .github/skills/add-solver/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-solver", 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 jolars/basin --skill add-solver -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jolars/basin add-solver --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jolars/basin.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.codex/skills/add-solver .opencode/skills/add-solver && 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 "add-solver" agent skill from https://github.com/jolars/basin/tree/main/.codex/skills/add-solver into .opencode/skills/add-solver/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-solver", 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.
add-solverAdd one research-grounded numerical optimization solver to Basin, including its public API, state and math integration, backend tests, rustdoc references, and solver-catalog synchronization.
Add Solver is an agent skill from jolars/basin. Add one research-grounded numerical optimization solver to Basin, including its public API, state and math integration, backend tests, rustdoc references, and solver-catalog synchronization. Use for a new concrete solver, not for routine fixes to an existing solver or a line-search component alone.
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Numerical optimization in Rust, with pluggable linear-algebra backends and WASM support. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 4e72a4a. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
cargoFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Add Solver loads about 2.5k tokens when it runs. Until then it costs about 78 tokens; SKILL.md has 1,231 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 found no risky patterns in SKILL.md.
Automated 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 jolars/basin at commit 4e72a4a, republished under its Apache-2.0 licence (© jolars). 1,231 words, ~2,500 tokens.
.claude/skills/add-solver/SKILL.md (or your agent's skills folder).Implement one public solver per invocation and carry it through code, tests, documentation, and catalogue integration. Preserve the solver and variant the user requested. If no solver has been selected and the user has not delegated the choice, identify the missing choice before implementation; recommendations should be based on a concrete gap in Basin's current catalogue.
Read AGENTS.md, the relevant sections of CONTRIBUTING.md,
crates/basin/src/core/solver.rs, and the closest existing solver before
designing the change. Inspect the state and math traits the algorithm appears to
need rather than assuming a new abstraction is necessary.
Research the algorithm from authoritative sources before writing production code:
references/ directory. Commit only durable, license-compatible artifacts
needed by tests, such as compact output fixtures and their regeneration
driver or instructions.If neither a credible algorithm source nor a trustworthy executable reference can be found, explain the evidence gap before presenting the implementation as research-based. Cite the sources that actually guided the code—do not borrow a nearby citation merely because it is conventional.
Before coding, settle these design facts: public type and constructor, required problem traits, constraint support, state shape, minimum math capabilities, claimed backends, scalar genericity, solver-specific controls, and the test oracle. Raise a breaking public-API requirement rather than quietly changing an existing signature or trait contract.
Start with focused tests that fail for the missing solver. Exercise the public
Executor path, not only private kernels. Choose tests in proportion to the
algorithm, including:
Vec, nalgebra, ndarray, and faer) for vector-based
solvers, with both f32 and f64, plus every claimed sparse backend, using
scale-appropriate approximate comparisons; andf32 round-trip coverage when the new public surface stores or exposes a
scalar-valued state.Scalar algorithms do not require a linear-algebra backend.
For a solver that wraps or orchestrates an existing solver, concentrate new tests on the outer algorithm: state transfer, restart or phase decisions, evaluation accounting, and end-to-end behavior. Do not duplicate unchanged inner-solver mechanics, but retain at least one public-path test proving that the composition works.
Keep parity fixtures small and document their provenance, locked inputs,
comparison tolerances, and regeneration procedure in
crates/basin/tests/fixtures/README.md. Do not demand floating-point-identical
trajectories when algebraic ordering or a legitimate variant differs.
Put the solver in crates/basin/src/solver/<snake_case>.rs; use sibling files
under solver/<snake_case>/ for a substantial implementation and never add
mod.rs. Follow the closest solver's public shape where the research does not
dictate a difference.
pub(crate), expose data through the appropriate traits, and carry
F: Scalar with an F = f64 default through scalar-valued public types.Solver lifecycle exactly. init must seed every field that
termination criteria or next_iter can read at iteration zero. Each
successful step must return mutually consistent current state. Use
terminate for clean current-state convergence, return a
TerminationReason for mid-step soft stops, and propagate the user's typed
problem error for hard aborts.Problem; never
maintain evaluation counters by hand. Use batch evaluation where the
algorithm has independent points, while preserving deterministic ordering.linalg capability only when every dense backend can provide the real
operation in pure Rust without a fake fallback. Implement missing dense
capabilities in the same change. Sparse support is optional and must be
documented separately.parallel feature and preserve
reproducibility across serial and parallel evaluation.wasm32-unknown-unknown build. Avoid new dependencies
when existing math traits suffice; assess the MSRV, WASM support, feature
semantics, and license before adding any dependency.Add the module and re-export in crates/basin/src/solver.rs, then re-export the
public solver—and any state or strategy users must name—from
crates/basin/src/lib.rs. Keep the addition semver-compatible. Update a matching
TODO.md item if one exists; do not reorganize unrelated TODOs.
The solver rustdoc should explain the implemented variant, essential update
rule, configuration, caller and state requirements, termination behavior,
numerical safeguards, and a runnable public example. Include a # Backends
section whose claims are verified by tests. Give complete research references,
including DOI or stable source URL when available, and identify the reference
implementation and version when parity was used.
Synchronize web/src/routes/docs/solvers/+page.svx in the same change:
# Backends claim; andThe catalogue must still equal the solver re-exports in
crates/basin/src/lib.rs. Do not expand the visualizer or add unrelated web
pages unless the user requested that work.
Run focused tests during development, followed by the repository checks that a new default-path solver requires:
cargo fmt --all -- --check
cargo test -p basin --features nalgebra_latest,ndarray_latest,faer_latest,problems,parallel
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo doc --no-deps -p basin --features nalgebra_latest-lapack,ndarray_latest-blas,faer_latest,parallel,problems,serde
cargo build --target wasm32-unknown-unknown
cargo build --target wasm32-unknown-unknown --no-default-featuresBecause the solver catalogue changes, run from web/:
pnpm format:check
pnpm lint
pnpm check
pnpm buildDo not substitute a bare cargo test --all-features; the repository
intentionally needs an explicit BLAS/LAPACK provider to link that matrix. Report
the research basis and variant, implementation and public-surface changes,
backend coverage, parity status, and every verification result. Distinguish
failures caused by the change from pre-existing or environment failures.
Attempt every required check, but do not broaden the task merely to repair an
unrelated baseline failure. If a repository-wide check fails only in untouched
files, confirm that fact from the diff and with the narrow checks that cover the
changed area. Report the failing command and evidence accurately—a pre-existing
failure is neither a regression nor a passing check.
© jolars, Apache-2.0. 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 .codex/skills/add-solver of jolars/basin.
Open the folder on GitHubat commit 4e72a4a
Add Solver 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 |
|---|---|---|---|---|---|---|
| Add Solver this skilljolars/basin | 124 | — | ~2.5k | Automated safety check: Pass | Apache-2.0 | |
| Basincloudflare/skills | 3k | 1 repos | ~684 | Automated safety check: Pass | Apache-2.0 | |
| Solveratopile/atopile | 4k | — | ~2.3k | Automated safety check: Pass | MIT | |
| Grounded CitationsNousResearch/hermes-agent | 252k | — | ~3.1k | Automated safety check: Pass | MIT | |
| Numerical Integrationparcadei/Continuous-Claude-v3 | 3.9k | 1 repos | ~948 | Automated safety check: Notes | MIT | |
| Grounded Vaultwshobson/agents | 40k | — | ~1.4k | Automated safety check: Pass | MIT |
cloudflare/skills
Build and troubleshoot Cloudflare Basin analytics workflows with Basin Pipelines, Basin Catalog, and Basin SQL.
atopile/atopile
How the Faebryk parameter solver works (Sets/Literals, Parameters, Expressions), the core invariants enforced during mutation, and practical workflows for debugging and extending the solver.
NousResearch/hermes-agent
Attaches a numbered, URL-backed citation to every outside fact in an answer or document, rejecting quotes that aren't real.
parcadei/Continuous-Claude-v3
Problem-solving strategies for numerical integration in numerical methods
wshobson/agents
A skill your agent uses when maintaining a durable Markdown knowledge store that agents compile from sources, when every number or quote in a wiki page must trace back to an immutable source, or…
gridaco/grida
Establish what is actually true and current for the surface you are about to change — not just search.
jolars/basin
Investigate performance in this Basin repository using its solver and backend benchmarks, competitor harnesses, evaluation accounting, and profiling tools.
Add one research-grounded numerical optimization solver to Basin, including its public API, state and math integration, backend tests, rustdoc references, and solver-catalog synchronization. Add Solver is an agent skill from jolars/basin. Add one research-grounded numerical optimization solver to Basin, including its public API, state and math integration, backend tests, rustdoc references, and solver-catalog synchronization.
Add Solver fits situations like: A new concrete solver; not for routine fixes to an existing solver; A line-search component alone.
Run `npx skills add jolars/basin --skill add-solver -a claude-code`. Or copy the skill folder (.codex/skills/add-solver in jolars/basin) into .claude/skills/add-solver in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jolars/basin --skill add-solver -a codex`. Or copy the skill folder (.codex/skills/add-solver in jolars/basin) into .agents/skills/add-solver 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 jolars/basin --skill add-solver -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-solver, .gemini/skills/add-solver, .github/skills/add-solver and .opencode/skills/add-solver in your project.
Going by SKILL.md and its folder, Add Solver needs the command-line tools its instructions call (cargo).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Add Solver is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 10k 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 Add Solver: Basin (cloudflare/skills, 3k stars), Solver (atopile/atopile, 4k stars), Grounded Citations (NousResearch/hermes-agent, 252k stars) and Numerical Integration (parcadei/Continuous-Claude-v3, 3.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jolars (a GitHub user) maintains it in jolars/basin, which has 124 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 8, 2026.
Source: jolars/basin on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.