Agent Resource Allocator
ruvnet/ruflo
Agent skill for resource-allocator - invoke with $agent-resource-allocator
Write or update an allocation-free JSON decoder over the kimojio-json tokenizer.
$ npx skills add Azure/kimojio-rs --skill kimojio-json-decoder -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Azure/kimojio-rs kimojio-json-decoder --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/Azure/kimojio-rs.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/kimojio-json-decoder .claude/skills/kimojio-json-decoder && 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 "kimojio-json-decoder" agent skill from https://github.com/Azure/kimojio-rs/tree/main/.github/skills/kimojio-json-decoder into .claude/skills/kimojio-json-decoder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kimojio-json-decoder", 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/Azure/kimojio-rs/tree/main/.github/skills/kimojio-json-decoderType 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 Azure/kimojio-rs --skill kimojio-json-decoder -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Azure/kimojio-rs kimojio-json-decoder --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Azure/kimojio-rs.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/kimojio-json-decoder .agents/skills/kimojio-json-decoder && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "kimojio-json-decoder" agent skill from https://github.com/Azure/kimojio-rs/tree/main/.github/skills/kimojio-json-decoder into .agents/skills/kimojio-json-decoder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kimojio-json-decoder", 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 Azure/kimojio-rs --skill kimojio-json-decoder -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Azure/kimojio-rs kimojio-json-decoder --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Azure/kimojio-rs.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/kimojio-json-decoder .cursor/skills/kimojio-json-decoder && 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 "kimojio-json-decoder" agent skill from https://github.com/Azure/kimojio-rs/tree/main/.github/skills/kimojio-json-decoder into .cursor/skills/kimojio-json-decoder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kimojio-json-decoder", 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/Azure/kimojio-rs.git --path .github/skills/kimojio-json-decoder--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 Azure/kimojio-rs --skill kimojio-json-decoder -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Azure/kimojio-rs kimojio-json-decoder --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Azure/kimojio-rs.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/kimojio-json-decoder .gemini/skills/kimojio-json-decoder && 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 "kimojio-json-decoder" agent skill from https://github.com/Azure/kimojio-rs/tree/main/.github/skills/kimojio-json-decoder into .gemini/skills/kimojio-json-decoder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kimojio-json-decoder", 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 Azure/kimojio-rs kimojio-json-decoderInstalls 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 Azure/kimojio-rs --skill kimojio-json-decoder -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Azure/kimojio-rs.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/kimojio-json-decoder .github/skills/kimojio-json-decoder && 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 "kimojio-json-decoder" agent skill from https://github.com/Azure/kimojio-rs/tree/main/.github/skills/kimojio-json-decoder into .github/skills/kimojio-json-decoder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kimojio-json-decoder", 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 Azure/kimojio-rs --skill kimojio-json-decoder -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Azure/kimojio-rs kimojio-json-decoder --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Azure/kimojio-rs.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/kimojio-json-decoder .opencode/skills/kimojio-json-decoder && 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 "kimojio-json-decoder" agent skill from https://github.com/Azure/kimojio-rs/tree/main/.github/skills/kimojio-json-decoder into .opencode/skills/kimojio-json-decoder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kimojio-json-decoder", 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.
kimojio-json-decoderWrite or update an allocation-free JSON decoder over the kimojio-json tokenizer.
Kimojio JSON Decoder is an agent skill from Azure/kimojio-rs, published by the product's own GitHub organization. Write or update an allocation-free JSON decoder over the kimojio-json tokenizer. Use when asked to build, finish, or change code that turns JSON into a struct, an enum, or an iterator without heap allocation - especially when the answer is a state machine that would be tedious to write by hand.
Its SKILL.md is about 3k 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: A thread-per-core Linux iouring async runtime for Rust optimized for latency. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 05aa18f. 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.
Kimojio JSON Decoder loads about 3k tokens when it runs. Until then it costs about 79 tokens; SKILL.md has 1,623 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 Azure/kimojio-rs at commit 05aa18f, republished under its MIT licence (© Azure). 1,623 words, ~2,970 tokens.
.claude/skills/kimojio-json-decoder/SKILL.md (or your agent's skills folder).kimojio-json tokenizes JSON. It reports borrowed input to a visitor. A
decoder maps those events to a typed Rust value.
This skill is for direct, allocation-free decoders. It gives the agent the constraints and the reasons for them. It does not prescribe one state layout for every schema. A previous implementation is evidence, not a specification. If a task gives a type or an interface, treat that interface as a contract unless the task also asks to change it.
Before writing code, identify:
Then compare possible designs. For each design, ask:
State the reason for a choice in the module documentation or change summary. Do not copy a detailed technique from an earlier decoder without checking why it was used. A different schema may make another technique better.
Read these files from the repository root before relying on an API detail:
kimojio-json/src/lib.rskimojio-json/src/tokenizer.rskimojio-json/src/escape_string.rskimojio-json/src/error.rsConfirm names, lifetimes, return values, and error behavior in the source. Do not invent a pull-token API or assume that a callback has access to the tokenizer.
The tokenizer already owns the scan loop and calls a Visitor. Prefer this
protocol when the decoder can consume events as they arrive. This avoids an
extra token iterator and an extra dispatch layer.
This recommendation has a measured reason. In this repository, iterator overhead has dominated tokenization for some workloads. A visitor can provide the same streaming behavior while paying the suspension and output cost only for events that complete an item: return no output for other events and return an output at an item boundary. Use an iterator adapter only when the caller's interface needs one, and compare its cost with the direct visitor design.
The visitor methods return Option<Self::Output>. In the normal case, None
means that scanning continues. Some returns control to drive; a later call
resumes the same decoder state. This is the mechanism for streaming results.
If a decoder never suspends, an uninhabited output such as
core::convert::Infallible can make the impossible output path removable.
Confirm the exact drive contract in the tokenizer before depending on this.
Other tokenizer facts affect the design:
Streaming sequence. Let the consumer handle an item when the item is
complete. This keeps peak memory near one item and avoids an intermediate
document. A visitor or callback is often the best fit. An iterator adapter is
useful when the caller requires the standard Iterator interface, but it
should not add per-token work without a benefit.
Single struct. Keep only the fields needed to construct the value. Check required fields at the object boundary or another unambiguous completion point. Borrow fields from the input when their lifetime permits.
Enum or several document shapes. Use the earliest safe discriminator. If member order is not fixed, retain only the data needed to decide the variant. Do not build a full intermediate tree to postpone a decision.
Callback bridge. A generic bridge can borrow the caller's visitor while the
decoder remains a concrete type. This can keep the public API simple and avoid
storing a type parameter in decoder state. It is a useful option, not a rule.
If profiling shows that a borrowed decoder adds repeated state indirection,
test moving small plain decoder state by value across one drive call. One
measurement in this repository found about a 7 percent difference on a small
document. Treat that result as a clue, not a universal threshold. Keep the
consumer borrow if it is touched less often than the decoder state.
Use explicit states and a loop when the input can control nesting. Recursive descent turns input depth into call-stack depth and can exhaust the stack. Track only the context needed by the schema:
Unknown values may be skipped by counting nested containers in the decoder. Apply depth and size limits while skipping too. An unknown member must not provide an unbounded path around an input limit.
Emit a value as soon as it is complete. Keep a record only until its fields can be validated. Do not parse, unescape, copy, or store data that the result does not use. Use fixed-size inline storage for data with a real maximum. Reject values over that maximum; do not truncate or grow storage.
Name states after input positions, such as Parameters, AddressOctets, or
Skip. A reviewer must be able to relate a state to a position in the input.
These are defaults because they preserve the tokenizer's properties. Change one only when the task changes the contract and the trade-off is explicit.
Vec, String, Box,
collect, and to_owned. Borrow &str and other input data to the end of
the call. Heap storage hides bounds and adds work that the tokenizer avoids.serde, runtime
schemas, trait objects, and generic plumbing that is not required by the
interface. They can add dispatch, compile time, binary size, or hidden
allocation. Plain Rust keeps the hot path and its invariants visible.unsafe. Do not use
unwrap, expect, panic!, todo!, unreachable!, unchecked indexing,
or arithmetic that can overflow for input-derived conditions. A panic is
appropriate only when reaching it would prove that an internal invariant is
false, the invariant is known to hold in practice, and Rust cannot enforce
it. Document that invariant and keep input validation before it. Use
checked conversions, checked arithmetic, and bounds-aware access elsewhere.Generated code needs its context in the file. Put this information in module documentation:
Start generated modules with:
//! GENERATED with the `kimojio-json-decoder` skill - prefer regenerating or
//! updating with that skill over hand-editing.Document every public item. Comment only state transitions or invariants that are not clear from the code.
Public types, derives, accessors, error text, and documentation are ordinary source. A maintainer may edit them directly.
Mark the derived state machine, scratch values, visitor implementation, and entry-point or iterator bodies. Use markers like these:
// ---------------------------------------------------------------------------
// STATE MACHINE - maintained by the `kimojio-json-decoder` skill.
//
// Everything above this line is ordinary source.
//
// This region is derived to keep the path allocation-free, non-recursive, and
// explicit. A local change can break a transition, a bound, or an error path.
// Prefer describing the required behavior and letting the skill derive it.
// If this region is edited by hand, record why and re-check those properties.
// ---------------------------------------------------------------------------// ------------------------- end of the state machine ------------------------In Editing this file, say what is safe to edit by hand, what should be regenerated or updated by the skill, and which invariants must be checked after a machine edit.
From scratch. Use the schema and interface as the source of truth. Design the smallest machine that meets them. Include the required module documentation and ownership markers.
Finish a sketch. Preserve the supplied public types and signatures unless
the task says they are wrong. Complete the machine around that contract. Do
not treat todo!() as permission to replace the interface.
Update. Read the module documentation and the machine markers first. Make the smallest change that satisfies the new contract. Do not regenerate a whole file for a local fix.
Assume that an existing file has hand edits. Preserve changes outside the
machine. Read changes inside the machine before replacing them; an unusual
branch or a fix comment records behavior that may be required. Carry that
behavior forward or explain why it no longer applies. Summarize important
design changes and any intentionally removed behavior.
Keep hand-written acceptance tests independent. Do not edit or delete them to make the implementation pass. Tests inside the generated module may be added for local state-machine checks, but they do not replace the external contract.
Use the repository's existing validation commands. For a decoder package, the usual checks are:
cargo fmt -p <package>
cargo clippy -p <package> --all-targets --all-features -- -D warnings
cargo test -p <package>After validation, inspect the machine against the allocation, depth, bounds, error-offset, and panic rules. These properties are the reason for the design; the exact state names and bridge layout are implementation choices.
© Azure, 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 .github/skills/kimojio-json-decoder of Azure/kimojio-rs.
Open the folder on GitHubat commit 05aa18f
Kimojio JSON Decoder 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 |
|---|---|---|---|---|---|---|
| Kimojio JSON Decoder this skillAzure/kimojio-rs | 264 | — | ~3k | Automated safety check: Pass | MIT | |
| Agent Resource Allocatorruvnet/ruflo | 74k | 2 repos | ~4.9k | Automated safety check: Pass | MIT | |
| Speculative DecodingOrchestra-Research/AI-Research-SKILLs | 13k | 3 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Asset Allocation and OptimizersHKUDS/Vibe-Trading | 35k | — | ~2.9k | Automated safety check: Pass | MIT | |
| Defi Yield Strategy Allocatorsickn33/agentic-awesome-skills | 47k | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Cipher Decoderarchestra-ai/archestra | 4.3k | — | ~293 | Automated safety check: Pass | Custom licence |
ruvnet/ruflo
Agent skill for resource-allocator - invoke with $agent-resource-allocator
Orchestra-Research/AI-Research-SKILLs
Explains three ways to speed up LLM inference: draft-model speculative decoding, Medusa heads and lookahead decoding with Jacobi iteration, and when each one fits.
HKUDS/Vibe-Trading
Explains portfolio theory and the built-in optimizers: mean-variance (MPT), Black-Litterman, risk budgeting and all-weather allocation, plus rebalancing rules and config output.
sickn33/agentic-awesome-skills
Multi-vault automated yield strategy allocation register: APY benchmarks, impermanent loss risk tiers, and rebalancing triggers.
archestra-ai/archestra
Decode an encoded message using the bundled cipher scripts. An agent skill from archestra-ai/archestra.
NVIDIA/skills
Add EAGLE-3 or draft-model speculative decoding to a Jetson vLLM server when TPOT is the bottleneck.
Write or update an allocation-free JSON decoder over the kimojio-json tokenizer. Kimojio JSON Decoder is an agent skill from Azure/kimojio-rs, published by the product's own GitHub organization. Write or update an allocation-free JSON decoder over the kimojio-json tokenizer.
Kimojio JSON Decoder fits situations like: change code that turns JSON into a struct; an iterator without heap allocation - especially when the answer is a state machine that would be tedious to write by hand.
Run `npx skills add Azure/kimojio-rs --skill kimojio-json-decoder -a claude-code`. Or copy the skill folder (.github/skills/kimojio-json-decoder in Azure/kimojio-rs) into .claude/skills/kimojio-json-decoder in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Azure/kimojio-rs --skill kimojio-json-decoder -a codex`. Or copy the skill folder (.github/skills/kimojio-json-decoder in Azure/kimojio-rs) into .agents/skills/kimojio-json-decoder 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 Azure/kimojio-rs --skill kimojio-json-decoder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/kimojio-json-decoder, .gemini/skills/kimojio-json-decoder, .github/skills/kimojio-json-decoder and .opencode/skills/kimojio-json-decoder in your project.
Going by SKILL.md and its folder, Kimojio JSON Decoder 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.
Kimojio JSON Decoder is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k tokens (SKILL.md is roughly 12k 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 Kimojio JSON Decoder: Agent Resource Allocator (ruvnet/ruflo, 74k stars), Speculative Decoding (Orchestra-Research/AI-Research-SKILLs, 13k stars), Asset Allocation and Optimizers (HKUDS/Vibe-Trading, 35k stars) and Defi Yield Strategy Allocator (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Azure (a GitHub organization, an official publisher) maintains it in Azure/kimojio-rs, which has 264 GitHub stars. The repository was last updated on September 29, 2026.
Source: Azure/kimojio-rs on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.