Rsigma
timescale/rsigma
Use the rsigma CLI and MCP server: engine eval, engine daemon, rule lint, rule draft, rule tune, rule backtest, backend convert, mcp serve.
This skill should be used when the user asks to "support a trait from another crate", "implement a third-party trait", "add an integration for crate X", "add num-traits / serde / rand / ...
$ npx skills add cmpute/dashu --skill support-3rdparty-traits -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install cmpute/dashu support-3rdparty-traits --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/cmpute/dashu.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/support-3rdparty-traits .claude/skills/support-3rdparty-traits && 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 "support-3rdparty-traits" agent skill from https://github.com/cmpute/dashu/tree/master/.claude/skills/support-3rdparty-traits into .claude/skills/support-3rdparty-traits/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "support-3rdparty-traits", 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/cmpute/dashu/tree/master/.claude/skills/support-3rdparty-traitsType 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 cmpute/dashu --skill support-3rdparty-traits -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install cmpute/dashu support-3rdparty-traits --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cmpute/dashu.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/support-3rdparty-traits .agents/skills/support-3rdparty-traits && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "support-3rdparty-traits" agent skill from https://github.com/cmpute/dashu/tree/master/.claude/skills/support-3rdparty-traits into .agents/skills/support-3rdparty-traits/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "support-3rdparty-traits", 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 cmpute/dashu --skill support-3rdparty-traits -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install cmpute/dashu support-3rdparty-traits --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cmpute/dashu.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/support-3rdparty-traits .cursor/skills/support-3rdparty-traits && 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 "support-3rdparty-traits" agent skill from https://github.com/cmpute/dashu/tree/master/.claude/skills/support-3rdparty-traits into .cursor/skills/support-3rdparty-traits/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "support-3rdparty-traits", 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/cmpute/dashu.git --path .claude/skills/support-3rdparty-traits--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 cmpute/dashu --skill support-3rdparty-traits -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install cmpute/dashu support-3rdparty-traits --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cmpute/dashu.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/support-3rdparty-traits .gemini/skills/support-3rdparty-traits && 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 "support-3rdparty-traits" agent skill from https://github.com/cmpute/dashu/tree/master/.claude/skills/support-3rdparty-traits into .gemini/skills/support-3rdparty-traits/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "support-3rdparty-traits", 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 cmpute/dashu support-3rdparty-traitsInstalls 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 cmpute/dashu --skill support-3rdparty-traits -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/cmpute/dashu.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/support-3rdparty-traits .github/skills/support-3rdparty-traits && 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 "support-3rdparty-traits" agent skill from https://github.com/cmpute/dashu/tree/master/.claude/skills/support-3rdparty-traits into .github/skills/support-3rdparty-traits/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "support-3rdparty-traits", 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 cmpute/dashu --skill support-3rdparty-traits -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install cmpute/dashu support-3rdparty-traits --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cmpute/dashu.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/support-3rdparty-traits .opencode/skills/support-3rdparty-traits && 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 "support-3rdparty-traits" agent skill from https://github.com/cmpute/dashu/tree/master/.claude/skills/support-3rdparty-traits into .opencode/skills/support-3rdparty-traits/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "support-3rdparty-traits", 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.
support-3rdparty-traitsThis skill should be used when the user asks to "support a trait from another crate", "implement a third-party trait", "add an integration for crate X", "add num-traits / serde / rand / ...
Support 3rdparty Traits is an agent skill from cmpute/dashu. This skill should be used when the user asks to "support a trait from another crate", "implement a third-party trait", "add an integration for crate X", "add num-traits / serde / rand / ... support", "add a feature flag for a new dependency", "wire up crate X behind a feature", "expose type X for crate Y", or "support a new major version of rand / serde / num-traits / diesel / postgres-types" (e.g. "add randv09 alongside randv08", "support diesel v3"). It provides the SOP for adding an optional third-party…
Its SKILL.md is about 3.9k 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 Development, covering Operations and SOPs and Changelog and release notes. It works with PostgreSQL and Rust. The repository describes itself as: A library set of arbitrary precision numbers implemented in Rust. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit aadb058. 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.
Support 3rdparty Traits loads about 3.9k tokens when it runs. Until then it costs about 190 tokens; SKILL.md has 1,753 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 cmpute/dashu at commit aadb058, republished under its Apache-2.0 licence (© cmpute). 1,753 words, ~3,858 tokens.
.claude/skills/support-3rdparty-traits/SKILL.md (or your agent's skills folder).Standard operating procedure for two related changes:
borsh, arbitrary, bytemuck support, or a trait crate the repo doesn't depend on yet).rand_v09 alongside rand_v08, or diesel_v3 alongside diesel_v2).Both share the same invariants; Branch B reuses Branch A's steps plus a versioning layer.
Read these before touching anything — they are the conventions every existing integration follows.
<crate>/src/third_party/, one file per external crate. <crate>/src/third_party/mod.rs gates each submodule with #[cfg(feature = "...")]. <crate>/src/lib.rs declares mod third_party; (private) then pub use third_party::*; to expose any public items.mod.rs:pub mod rand; — when the file defines new public types (e.g. UniformBits, UniformUBig) that users import from crate::rand.mod num_traits; / mod serde; — when the file only impls an external trait for a local type; the impl is globally reachable once compiled, so nothing public needs re-exporting.Cargo.toml, marked # stable dependencies / # unstable dependencies):serde = ["dep:serde", "dashu-int/serde"]._vXX suffix, plus an unversioned alias feature pointing at the current default.package = resolves it to the real crate:rand_v08 = { optional = true, version = "0.8.3", package = "rand", default-features = false }use rand_v08::{Rng, ...};. Inside a file you may alias it back to the natural name for readability: use num_traits_v02 as num_traits;.num-traits_v02 = ["dep:num-traits_v02", "dashu-int/num-traits_v02"]rand = ["rand_v08"], num-traits = ["num-traits_v02"]. Users write features = ["rand"]; the alias decides which real version that means.diesel_v1 and diesel_v2 are both real, each with its own versioned dep + feature + module file (third_party/postgres/diesel_v1.rs, diesel_v2.rs). Shared conversion logic lives in third_party/postgres/mod.rs; each version file only wires that logic to its own diesel traits.num-order = ["dep:num-order", "dep:_num-modular"] (rational).default-features = false so it cannot drag std into the default (no_std) build. If the dep itself needs std, the feature must pull in std (e.g. postgres-types_v02 = ["dep:postgres-types_v02", "dep:_bytes", "std"]).dashu (root Cargo.toml) forwards every feature to all sub-crates that have it — both the versioned form and the unversioned alias: rand_v08 = ["dashu-int/rand_v08", "dashu-float/rand_v08", "dashu-ratio/rand_v08"] and rand = ["dashu-int/rand", ...]..github/workflows/drop_incompatible_deps_for_msrv.py (see pre-publish-check skill, Step 6).Cargo.toml styles coexist in the repo: integer uses the legacy style where optional = true deps auto-create an implicit feature (so serde/zeroize/num-order aren't listed in [features]). float/rational use the modern explicit style with dep: syntax. Prefer the dep: (modern) style for any new work; match the surrounding crate's existing style when editing an existing feature.Cargo.toml → Branch A.If the upstream crate has a history of breaking changes between major versions (rand, num-traits, num-integer) or is pre-1.0, treat it as unstable → you need the versioned suffix machinery. If its API is effectively frozen at 1.x (serde, zeroize, num-order) → stable → a single unversioned feature suffices. When in doubt, choose unstable; the cost is one extra alias line and you avoid a painful migration later.
Cargo.tomlUnder the matching # stable dependencies or # unstable dependencies comment. Always default-features = false.
Stable:
borsh = { optional = true, version = "1.x", default-features = false }Unstable (note the _vXX key + package =):
arbitrary_v1 = { optional = true, version = "1.x", package = "arbitrary", default-features = false }Stable (modern dep: style):
borsh = ["dep:borsh"]Unstable — two entries: the versioned feature (with cross-crate forwarding if a lower crate also exposes the type) plus the unversioned alias:
arbitrary_v1 = ["dep:arbitrary_v1"]
arbitrary = ["arbitrary_v1"]If the trait must also be enabled on a crate this one depends on (because it re-exports that crate's types), add the downstream feature to the versioned feature list — see load-bearing fact above.
Add <crate>/src/third_party/<crate_name>.rs. Import the external crate by its dep key (alias back to the natural name if it reads better). impl the external trait(s) for the local types (UBig/IBig/FBig/RBig). Follow existing files as a template: integer/src/third_party/num_traits.rs (pure trait impls), integer/src/third_party/rand.rs (defines new public types + a module-level # Examples doc), float/src/third_party/postgres/ (multi-version, shared logic).
If the file defines new public items the user will name, declare it pub mod in mod.rs; otherwise plain mod.
third_party/mod.rs#[cfg(feature = "borsh")]
mod borsh;
// or, if it exposes public types:
#[cfg(feature = "arbitrary_v1")]
pub mod arbitrary;No change to lib.rs is needed beyond the existing pub use third_party::*; — that line already re-exports anything pub from these modules.
If the same trait makes sense on types from more than one sub-crate, repeat Steps A2–A5 in each crate, and make each higher crate's versioned feature turn on the lower crate's matching feature (load-bearing fact). Keep the feature name identical across crates (arbitrary_v1 everywhere).
In the root Cargo.toml [features], add both forms (versioned + unversioned alias), each forwarding to every sub-crate that implements it:
arbitrary_v1 = ["dashu-int/arbitrary_v1", "dashu-float/arbitrary_v1", "dashu-ratio/arbitrary_v1"]
arbitrary = ["dashu-int/arbitrary", "dashu-float/arbitrary", "dashu-ratio/arbitrary"]List only the sub-crates that actually have the feature — do not forward to a crate that doesn't implement it (that's a build error).
[[test]] with required-features = ["<feature>"] (see the random / serde tests in each Cargo.toml), or put unit tests in a #[cfg(test)] mod tests at the bottom of the new module file.[dev-dependencies] without optional, so doctests/examples resolve.rand.rs) needs a # Examples block; in examples use the dep by its dep key (use rand_v08::{...}).Confirm the new dep's rust-version (or last-known-compatible release) is ≤ 1.68. If not, add it to drop_incompatible_deps_for_msrv.py so MSRV CI builds strip it.
Add an entry under ### Add in the ## Unreleased section of every crate whose Cargo.toml you changed (target crate, any crate that got cross-crate forwarding, and note the meta crate has no changelog). New optional deps are additive → patch bump.
Example below uses adding rand_v09 alongside rand_v08; substitute names as needed.
Keep the old one; add the new one beside it under # unstable dependencies:
rand_v08 = { optional = true, version = "0.8.3", package = "rand", default-features = false }
rand_v09 = { optional = true, version = "0.9.0", package = "rand", default-features = false }Both keys resolve to the real rand crate via package =. They coexist fine because the keys differ.
In every crate that supports it, mirroring the old version's feature line and its cross-crate forwarding:
rand_v09 = ["dep:rand_v09", "dashu-int/rand_v09"] # in float/rational
rand_v09 = ["dep:rand_v09"] # in integerThe alias rand = [...] selects the default version users get. Two options:
rand = ["rand_v08"]) — purely additive, no behavior change for existing features = ["rand"] users. Recommended default.rand = ["rand_v09"]) — existing users silently upgrade. This is a breaking change in effect; only do it deliberately, call it out in the changelog under ### Change, and require at least a minor bump (pre-1.0 rule).If you move the alias, the old versioned feature still exists for users who need to pin it explicitly.
Add <crate>/src/third_party/rand_v09.rs (or whatever splits cleanly). Often you can share logic with the old-version file by extracting the version-independent core into a helper (the postgres/mod.rs Numeric struct + conversion fns are the model: shared core, version-specific trait wiring in diesel_v1.rs/diesel_v2.rs). Gate the new module in mod.rs:
#[cfg(feature = "rand_v08")]
pub mod rand; // existing
#[cfg(feature = "rand_v09")]
pub mod rand_v09; // newPort every trait impl from the old file, adjusting for API differences in the new major version.
Repeat Step B2 in every implementing crate, and add rand_v09 = [...] (and, if you moved the alias, the updated rand = [...]) to the root Cargo.toml forwarding to all sub-crates that have it.
Add a dev-dependency for the new version, and either a new [[test]] gated on rand_v09 or extend the existing one to cover both versions. Mirror the old version's doctest coverage using the new dep key.
Under ### Add in each affected crate's ## Unreleased: "Add support for rand 0.9 (behind the rand_v09 feature)." If you moved the unversioned alias (Step B3 option 2), also add a ### Change entry and treat the release as breaking.
After either branch, confirm the feature compiles in isolation and that the no_std path still holds:
# feature on, 64-bit Word
cargo check -p <crate> --features <feature>
# feature on, 32-bit Word (NTT and some paths are 32-bit-specific)
RUSTFLAGS='--cfg force_bits="32"' cargo check -p <crate> --features <feature>
# no_std still builds (the new dep must not have pulled in std)
cargo build -p <crate> --no-default-features --features <feature>
# clippy clean with the feature on
cargo clippy -p <crate> --features <feature> -- -D warnings
# doctests/examples for the new module
cargo test -p <crate> --features <feature> --doc
# meta crate forwards correctly
cargo check -p dashu --features <feature>If the feature exists in multiple sub-crates, run the --features check on each and on -p dashu.
package = rename on a versioned dep — rand_v09 without package = "rand" makes cargo look for a (nonexistent) crate literally named rand_v09. Every versioned dep needs package = "<real crate name>".num-traits_v02 feature must list dashu-int/num-traits_v02; without it, enabling the feature on the higher crate doesn't give the lower crate's types the impl.dashu-base has no rand feature; listing it in the meta crate's rand forwarding is a build error. Only forward to crates that actually define the feature.default-features = false — silently breaks the no_std build (serde/zeroize pull std by default). Every optional dep in this repo sets it.#[cfg] feature name ≠ Cargo feature name — mod.rs gates on the feature name (rand_v08), not the dep key's package. They usually match the key, but if you renamed via package =, the cfg still uses the key/feature name, not rand.features = ["rand"] to work; a versioned-only feature breaks that contract.1.68 matrix job. Must be stripped in drop_incompatible_deps_for_msrv.py.mod foo in mod.rs but the module defines public types the user needs (crate::foo::UniformBits). If users name items from the module, it must be pub mod.Cargo.toml you edited (target crate + forwarded crates) needs an ## Unreleased entry; the meta crate has none.© cmpute, 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 .claude/skills/support-3rdparty-traits of cmpute/dashu.
Open the folder on GitHubat commit aadb058
Support 3rdparty Traits 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 |
|---|---|---|---|---|---|---|
| Support 3rdparty Traits this skillcmpute/dashu | 142 | — | ~3.9k | Automated safety check: Pass | Apache-2.0 | |
| Rsigmatimescale/rsigma | 159 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Releasesignageos/vscode-sops | 122 | — | ~2.2k | Automated safety check: Notes | MIT | |
| Release Skillsnexmoe/eve | 421 | 3 repos | ~3.3k | Automated safety check: Pass | None | |
| Aptos CLI Releaseaptos-labs/aptos-core | 6.4k | — | ~431 | Automated safety check: Pass | Custom licence | |
| Worktrunk Release Workflowmax-sixty/worktrunk | 9k | — | ~6.9k | Automated safety check: Pass | Custom licence |
timescale/rsigma
Use the rsigma CLI and MCP server: engine eval, engine daemon, rule lint, rule draft, rule tune, rule backtest, backend convert, mcp serve.
signageos/vscode-sops
Releases the vscode-sops extension end-to-end: determines the next version from the bump history, updates CHANGELOG.md and package.json/package-lock.json, builds via vscode:prepublish, publishes to…
nexmoe/eve
Universal release workflow. An agent skill from nexmoe/eve.
aptos-labs/aptos-core
A skill your agent uses when cutting or preparing a new Aptos CLI release, bumping the aptos crate version, or editing crates/aptos/CHANGELOG.md for a release
max-sixty/worktrunk
Walks a maintainer through cutting a Worktrunk release: sync the release branch, pass two test gates, review the changes, then publish.
delexw/claude-code-trace
Cuts a new versioned release of claude-code-trace end-to-end without asking any questions.
cmpute/dashu
Runs formatting/lint/test/semver checks before publishing. An agent skill from cmpute/dashu.
Works with
Categories
This skill should be used when the user asks to "support a trait from another crate", "implement a third-party trait", "add an integration for crate X", "add num-traits / serde / rand / ... Support 3rdparty Traits is an agent skill from cmpute/dashu. This skill should be used when the user asks to "support a trait from another crate", "implement a third-party trait", "add an integration for crate X", "add num-traits / serde / rand / ...
Support 3rdparty Traits fits situations like: asks to support a trait from another crate; implement a third-party trait; add an integration for crate X; add num-traits / serde / rand / ..
Run `npx skills add cmpute/dashu --skill support-3rdparty-traits -a claude-code`. Or copy the skill folder (.claude/skills/support-3rdparty-traits in cmpute/dashu) into .claude/skills/support-3rdparty-traits in your project. Claude Code loads it when a task matches its description.
Run `npx skills add cmpute/dashu --skill support-3rdparty-traits -a codex`. Or copy the skill folder (.claude/skills/support-3rdparty-traits in cmpute/dashu) into .agents/skills/support-3rdparty-traits 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 cmpute/dashu --skill support-3rdparty-traits -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/support-3rdparty-traits, .gemini/skills/support-3rdparty-traits, .github/skills/support-3rdparty-traits and .opencode/skills/support-3rdparty-traits in your project.
Going by SKILL.md and its folder, Support 3rdparty Traits 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.
Support 3rdparty Traits 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 3.9k tokens (SKILL.md is roughly 15k 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 Support 3rdparty Traits: Rsigma (timescale/rsigma, 159 stars), Release (signageos/vscode-sops, 122 stars), Release Skills (nexmoe/eve, 421 stars) and Aptos CLI Release (aptos-labs/aptos-core, 6.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
cmpute (a GitHub user) maintains it in cmpute/dashu, which has 142 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 4, 2026.
Source: cmpute/dashu on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.