Hugging Face Tokenizers
Orchestra-Research/AI-Research-SKILLs
Shows how to load, train and use fast Hugging Face tokenizers, with BPE, WordPiece and Unigram models, padding, truncation and alignment tracking.
Find which provable-contracts YAML contracts a Hugging Face model needs, create missing contracts, generate Rust artifacts, and implement all stubs.
$ npx skills add paiml/aprender --skill find-contracts -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install paiml/aprender find-contracts --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/paiml/aprender.git skills-src && mkdir -p .claude/skills && cp -r skills-src/crates/aprender-contracts-staging/.claude/skills/find-contracts .claude/skills/find-contracts && 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 "find-contracts" agent skill from https://github.com/paiml/aprender/tree/main/crates/aprender-contracts-staging/.claude/skills/find-contracts into .claude/skills/find-contracts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "find-contracts", 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/paiml/aprender/tree/main/crates/aprender-contracts-staging/.claude/skills/find-contractsType 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 paiml/aprender --skill find-contracts -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install paiml/aprender find-contracts --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/paiml/aprender.git skills-src && mkdir -p .agents/skills && cp -r skills-src/crates/aprender-contracts-staging/.claude/skills/find-contracts .agents/skills/find-contracts && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "find-contracts" agent skill from https://github.com/paiml/aprender/tree/main/crates/aprender-contracts-staging/.claude/skills/find-contracts into .agents/skills/find-contracts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "find-contracts", 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 paiml/aprender --skill find-contracts -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install paiml/aprender find-contracts --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/paiml/aprender.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/crates/aprender-contracts-staging/.claude/skills/find-contracts .cursor/skills/find-contracts && 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 "find-contracts" agent skill from https://github.com/paiml/aprender/tree/main/crates/aprender-contracts-staging/.claude/skills/find-contracts into .cursor/skills/find-contracts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "find-contracts", 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/paiml/aprender.git --path crates/aprender-contracts-staging/.claude/skills/find-contracts--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 paiml/aprender --skill find-contracts -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install paiml/aprender find-contracts --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/paiml/aprender.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/crates/aprender-contracts-staging/.claude/skills/find-contracts .gemini/skills/find-contracts && 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 "find-contracts" agent skill from https://github.com/paiml/aprender/tree/main/crates/aprender-contracts-staging/.claude/skills/find-contracts into .gemini/skills/find-contracts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "find-contracts", 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 paiml/aprender find-contractsInstalls 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 paiml/aprender --skill find-contracts -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/paiml/aprender.git skills-src && mkdir -p .github/skills && cp -r skills-src/crates/aprender-contracts-staging/.claude/skills/find-contracts .github/skills/find-contracts && 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 "find-contracts" agent skill from https://github.com/paiml/aprender/tree/main/crates/aprender-contracts-staging/.claude/skills/find-contracts into .github/skills/find-contracts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "find-contracts", 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 paiml/aprender --skill find-contracts -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install paiml/aprender find-contracts --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/paiml/aprender.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/crates/aprender-contracts-staging/.claude/skills/find-contracts .opencode/skills/find-contracts && 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 "find-contracts" agent skill from https://github.com/paiml/aprender/tree/main/crates/aprender-contracts-staging/.claude/skills/find-contracts into .opencode/skills/find-contracts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "find-contracts", 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.
find-contractsFind which provable-contracts YAML contracts a Hugging Face model needs, create missing contracts, generate Rust artifacts, and implement all stubs.
Find Contracts is an agent skill from paiml/aprender. Find which provable-contracts YAML contracts a Hugging Face model needs, create missing contracts, generate Rust artifacts, and implement all stubs. Triggers on: "find contracts", "contract coverage", "what contracts does X need", "which contracts for", HF model analysis, model contract gap analysis.
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/config-to-contract-mapping.md` and `references/known-architectures.md`).
It sits in AI & LLM Engineering, covering Model hubs and datasets. It works with Hugging Face and Rust. The repository describes itself as: Next Generation Machine Learning, Statistics and Deep Learning in PURE Rust. The licence is MIT.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e0cb137. 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:
rustccurlhuggingface-cliFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
huggingface.coFrom 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.
Find Contracts loads about 3.5k tokens when it runs, and up to ~6.9k if it reads all its reference files. Until then it costs about 79 tokens; SKILL.md has 964 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 paiml/aprender at commit e0cb137, republished under its MIT licence (© paiml). 964 words, ~3,536 tokens.
.claude/skills/find-contracts/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Full pipeline: analyze a Hugging Face model's config.json, determine required
contracts, create missing YAML contracts, generate Rust artifacts, and implement
all stubs to completion (zero-tolerance: no unimplemented!() or SATD markers).
Fetch the config using curl:
curl -sL "https://huggingface.co/$ARGUMENTS/resolve/main/config.json"Error handling:
huggingface-cli login or request access at https://huggingface.co/$ARGUMENTS"Parse the JSON and proceed to field extraction.
Extract these fields from config.json (use null for missing fields):
| Field | Purpose |
|---|---|
model_type | Architecture family |
architectures | Model class list |
hidden_act / activation_function | Activation function |
hidden_size | Model dimension |
intermediate_size | FFN inner dimension |
num_attention_heads | Query head count |
num_key_value_heads | KV head count (GQA if != num_attention_heads) |
num_hidden_layers | Layer count |
vocab_size | Vocabulary size |
rope_theta | RoPE base frequency |
rope_scaling | RoPE scaling config |
partial_rotary_factor | Partial RoPE (Phi-style) |
rms_norm_eps | RMSNorm epsilon (implies RMSNorm) |
layer_norm_eps / layer_norm_epsilon | LayerNorm epsilon (implies LayerNorm) |
sliding_window | Sliding window attention size |
tie_word_embeddings | Tied input/output embeddings |
qk_layernorm / qk_norm | QK normalization |
attn_logit_softcapping | Attention logit capping (Gemma2) |
multi_query | Multi-query attention (Falcon) |
parallel_attn | Parallel attention (Falcon) |
use_alibi / alibi | ALiBi position encoding |
ssm_cfg / d_state / d_conv | SSM/Mamba fields |
Use the mapping in config-to-contract-mapping.md.
Three categories:
A) Universal contracts — every transformer LLM needs these 13:
model-config-algebra-v1softmax-kernel-v1matmul-kernel-v1linear-projection-v1embedding-lookup-v1embedding-algebra-v1tensor-shape-flow-v1cross-entropy-kernel-v1inference-pipeline-v1attention-kernel-v1attention-scaling-v1kv-cache-sizing-v1kv-cache-equivalence-v1B) Conditional contracts — triggered by specific config values. See the full mapping table in config-to-contract-mapping.md.
Key rules:
hidden_act=silu → silu-kernel-v1 + swiglu-kernel-v1 (most SiLU models use SwiGLU FFN)hidden_act contains gelu → gelu-kernel-v1rms_norm_eps present → rmsnorm-kernel-v1layer_norm_eps present → layernorm-kernel-v1rope_theta present → rope-kernel-v1rope_scaling not null → rope-extrapolation-v1partial_rotary_factor present → rope-kernel-v1 + absolute-position-v1num_key_value_heads != num_attention_heads → gqa-kernel-v1sliding_window set → sliding-window-attention-v1qk_layernorm or qk_norm true → qk-norm-v1attn_logit_softcapping set → attention-scaling-v1 (already universal, but note capping variant)tie_word_embeddings true → tied-embeddings-v1use_alibi or alibi true → alibi-kernel-v1ssm-kernel-v1gated-delta-net-v1 + hybrid-layer-dispatch-v1 + conv1d-kernel-v1See known-architectures.md for edge cases (Falcon multi_query, Phi partial_rotary_factor, Gemma2 softcapping, DeepSeek MLA, etc.).
C) Model-specific contracts — always check for these:
<model_type>-shapes-v1.yaml (e.g., qwen35-shapes-v1.yaml)<model_type>-e2e-verification-v1.yaml (e.g., qwen35-e2e-verification-v1.yaml)For the model name normalization: use model_type from config, lowercase, replace
hyphens with nothing. Examples: llama, qwen2, mistral, phi, gemma2, falcon.
Glob contracts/*.yaml in the project root to get the list of all existing contracts.
Compare against the required set from Step 3.
Format the output in four sections:
## Model: $ARGUMENTS
| Field | Value |
|------------------------|------------------|
| model_type | ... |
| hidden_act | ... |
| hidden_size | ... |
| num_attention_heads | ... |
| num_key_value_heads | ... |
| num_hidden_layers | ... |
| rope_theta | ... |
| rope_scaling | ... |
| rms_norm_eps | ... |
| sliding_window | ... |
| tie_word_embeddings | ... |Only include fields that are present (non-null).
## Contract Coverage
| Contract | Status | Trigger |
|-----------------------------|----------|----------------------------|
| model-config-algebra-v1 | EXISTS | universal |
| silu-kernel-v1 | EXISTS | hidden_act=silu |
| llama-shapes-v1 | MISSING | model-specific |
| ... | ... | ... |Status values: EXISTS, MISSING, N/A (not needed for this model).
## Coverage: 28/31 contracts (90.3%)
- Universal: 13/13
- Conditional: 12/14 (2 missing)
- Model-specific: 0/2 (2 missing)For each MISSING contract, output:
### MISSING: llama-shapes-v1.yaml
- **Suggested filename**: `contracts/llama-shapes-v1.yaml`
- **depends_on**: `model-config-algebra-v1`
- **Key equations**: Q/K/V projection shapes, FFN shapes for LLaMA-3.1-8B config
- **Source config fields**: hidden_size=4096, num_attention_heads=32, num_key_value_heads=8, intermediate_size=14336
- **Priority**: High (model-specific shape verification)If any model-specific contracts are MISSING (<model>-shapes-v1.yaml or
<model>-e2e-verification-v1.yaml), create them using the extracted config fields.
Use existing contracts as templates. Read a similar contract from contracts/
(e.g., qwen2-shapes-v1.yaml for a new shapes contract) and adapt:
contracts/<model>-shapes-v1.yaml and/or contracts/<model>-e2e-verification-v1.yamlYAML structure (required sections):
metadata:
version: "1.0.0"
created: "<today>"
author: "PAIML Engineering"
description: "<model> concrete shape instantiation..."
references: [...]
depends_on: ["model-config-algebra-v1"]
equations:
<name>:
formula: "<equation with concrete values>"
domain: "<model config description>"
invariants: [...]
proof_obligations:
- type: invariant|monotonicity|equivalence|bound|ordering|conservation
property: "<human-readable name>"
formal: "<math expression>"
applies_to: all|simd
falsification_tests:
- id: FALSIFY-<PREFIX>-NNN
rule: "<obligation name>"
prediction: "<expected result>"
test: "<test method>"
if_fails: "<what went wrong>"
kani_harnesses:
- id: KANI-<PREFIX>-NNN
obligation: <OBLIGATION-ID>
property: "<description>"
bound: N
strategy: exhaustive|bounded_int
solver: cadical # optional
harness: <function_name>
qa_gate:
id: F-<PREFIX>-001
name: "<Model> Contract"
description: "..."
checks: [...]
pass_criteria: "All N falsification tests pass"
falsification: "<example mutation>"Skip this step for MISSING universal/conditional contracts — those are generic and must be authored manually by the team.
For each newly created model-specific YAML contract, generate Rust artifacts:
pv generate contracts/<model>-shapes-v1.yaml -o generated
pv generate contracts/<model>-e2e-verification-v1.yaml -o generatedThis produces 4 files per contract:
generated/<model>-shapes-v1_scaffold.rs — trait definitiongenerated/<model>-shapes-v1_kani.rs — Kani proof harnessesgenerated/<model>-shapes-v1_probar.rs — property + falsification testsgenerated/<model>-shapes-v1_book.md — documentation pageZERO-TOLERANCE: Every unimplemented!(), todo!(), and SATD marker must be
replaced with complete implementations. The pre-commit hook will reject any
commit containing these markers.
For each generated .rs file:
_probar.rs)Define model config constants at file top level (outside #[cfg(test)] module):
#[allow(dead_code)]
const HIDDEN: usize = <hidden_size>;
const N_HEADS: usize = <num_attention_heads>;
// ... all config constants from the YAMLReplace every unimplemented!("Wire up: ...") with deterministic arithmetic:
assert_eq!(N_HEADS * D_K, HIDDEN)assert_eq!(N_HEADS % N_KV_HEADS, 0)freqs[i] > freqs[i+1]Replace every unimplemented!("Implement falsification test for ..."):
28 * 128 == 3584)_kani.rs)Shape harnesses: use symbolic kani::any() with bounded assumptions:
let n_h: usize = kani::any();
kani::assume(n_h >= 1 && n_h <= 64);
kani::assume(n_h % n_kv == 0);
// ... verify algebraic properties hold for ALL valid configsParam count harnesses: use concrete model constants, verify total in expected range
Quant ordering harnesses: use symbolic n, verify n*9 < n*13 < n*32 < n*64
(bits scaled by 2 to avoid floating point)
_scaffold.rs)pub struct LlamaShapesVerifier;)outputCompile all generated files standalone to confirm no stubs remain:
# Probar files — compile and run tests
for f in generated/<model>-*_probar.rs; do
rustc --edition 2021 --test "$f" -o /tmp/test_bin && /tmp/test_bin
done
# Scaffold files — compile as library
for f in generated/<model>-*_scaffold.rs; do
rustc --edition 2021 --crate-type lib "$f" -o /tmp/lib_bin
done
# Kani files — syntax check only (kani::any not available without cargo kani)
# These are verified when `cargo kani` is run separately
# Final scan — zero stubs remaining
grep -rnH 'unimplemented!\|todo!\|FIXME\|HACK\|XXX' generated/<model>-*.rs
# Expected: no outputAll probar tests must pass. All scaffolds must compile with zero warnings.
After implementation, output the final status:
## Pipeline Complete: $ARGUMENTS
### Contracts Created
- contracts/<model>-shapes-v1.yaml (NEW)
- contracts/<model>-e2e-verification-v1.yaml (NEW)
### Artifacts Generated & Implemented
| File | Tests | Status |
|------|-------|--------|
| <model>-shapes-v1_probar.rs | N property + N falsification | ALL PASS |
| <model>-e2e-verification-v1_probar.rs | N property + N falsification | ALL PASS |
| <model>-shapes-v1_kani.rs | N harnesses | COMPILES |
| <model>-e2e-verification-v1_kani.rs | N harnesses | COMPILES |
| <model>-shapes-v1_scaffold.rs | concrete impl | COMPILES |
| <model>-e2e-verification-v1_scaffold.rs | concrete impl | COMPILES |
### Coverage Update
- Before: X/Y contracts (Z%)
- After: X/Y contracts (Z%)
- Stubs remaining: 0If model_type indicates a non-LLM architecture (e.g., vit, clip, whisper,
wav2vec2), report:
This model (
model_type=vit) is not a decoder-only LLM. The contract mapping is designed for autoregressive language models. Some contracts (attention-kernel, matmul-kernel, etc.) may still apply but the universal set assumes causal decoding.
Still attempt the mapping but flag that coverage analysis may be incomplete.
This skill MUST NOT leave any stub markers in generated code. The pre-commit hook
enforces PMAT_MAX_SATD_COMMENTS=0 and scans all staged .rs files for:
unimplemented!() / todo!()FIXME / HACK / XXXTODO: Replace / Wire up:If pv generate produces scaffolds with these markers, Steps 8-9 are mandatory
before the skill is considered complete. Never stop at gap analysis alone.
© paiml, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in crates/aprender-contracts-staging/.claude/skills/find-contracts of paiml/aprender.
Open the folder on GitHubat commit e0cb137
Find Contracts 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 |
|---|---|---|---|---|---|---|
| Find Contracts this skillpaiml/aprender | 127 | — | ~3.5k | Automated safety check: Pass | MIT | |
| Hugging Face TokenizersOrchestra-Research/AI-Research-SKILLs | 13k | 6 repos | ~3.4k | Automated safety check: Pass | MIT | |
| Add Modelguoqingbao/xinfer | 334 | — | ~4.2k | Automated safety check: Notes | MIT | |
| Check Modelguoqingbao/xinfer | 334 | — | ~3.8k | Automated safety check: Pass | MIT | |
| Xybrid Initxybrid-ai/xybrid | 467 | — | ~3k | Automated safety check: Pass | Apache-2.0 | |
| Test Modelguoqingbao/xinfer | 334 | — | ~2.6k | Automated safety check: Pass | MIT |
Orchestra-Research/AI-Research-SKILLs
Shows how to load, train and use fast Hugging Face tokenizers, with BPE, WordPiece and Unigram models, padding, truncation and alignment tracking.
guoqingbao/xinfer
Adapt and port new LLM model architectures to this xinfer project.
guoqingbao/xinfer
Check model compatibility with xinfer before loading. An agent skill from guoqingbao/xinfer.
xybrid-ai/xybrid
Generate model metadata for an ML model so it works with xybrid.
guoqingbao/xinfer
Test LLM models served by xinfer for correctness, output quality, and performance.
huggingface/skills
Chooses the right serving container and current image URI for deploying a Hugging Face model to a SageMaker endpoint, preferring Hugging Face images over generic ones.
paiml/aprender
Sovereign-stack PRE-RELEASE protocol. An agent skill from paiml/aprender.
paiml/aprender
Pre-release QA for apr-cli — runs all gates that prevent crates.io publish breakage
paiml/aprender
Dogfood the aprender release surface — derive every interface from the built binaries, measure gate coverage against the surface ledger, exercise the covered set, and emit a go/no-go receipt
paiml/aprender
A skill your agent uses to perform a comprehensive code quality and architecture review of the current project or repository, identifying code smells, architectural debt, performance bottlenecks…
paiml/aprender
Adversarial PR review that must show HOW it knows — five consultations (one of them a reviewing agent from a different vendor), a three-state availability encoding no prose can fake, and a signed…
Works with
Categories
Find which provable-contracts YAML contracts a Hugging Face model needs, create missing contracts, generate Rust artifacts, and implement all stubs. Find Contracts is an agent skill from paiml/aprender. Find which provable-contracts YAML contracts a Hugging Face model needs, create missing contracts, generate Rust artifacts, and implement all stubs.
Find Contracts fits situations like: : find contracts; contract coverage; what contracts does X need; which contracts for.
Run `npx skills add paiml/aprender --skill find-contracts -a claude-code`. Or copy the skill folder (crates/aprender-contracts-staging/.claude/skills/find-contracts in paiml/aprender) into .claude/skills/find-contracts in your project. Claude Code loads it when a task matches its description.
Run `npx skills add paiml/aprender --skill find-contracts -a codex`. Or copy the skill folder (crates/aprender-contracts-staging/.claude/skills/find-contracts in paiml/aprender) into .agents/skills/find-contracts 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 paiml/aprender --skill find-contracts -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/find-contracts, .gemini/skills/find-contracts, .github/skills/find-contracts and .opencode/skills/find-contracts in your project.
Going by SKILL.md and its folder, Find Contracts needs the command-line tools its instructions call (rustc, curl and huggingface-cli).
SKILL.md names 1 domain. In commands or code: huggingface.co; the agent is likely to contact it when it follows the instructions. 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.
Find Contracts is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Find Contracts: Hugging Face Tokenizers (Orchestra-Research/AI-Research-SKILLs, 13k stars), Add Model (guoqingbao/xinfer, 334 stars), Check Model (guoqingbao/xinfer, 334 stars) and Xybrid Init (xybrid-ai/xybrid, 467 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
paiml (a GitHub organization) maintains it in paiml/aprender, which has 127 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 9, 2026.
Source: paiml/aprender on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.