Borrowing it
Nothing to install: this file belongs to r3bl-org/r3bl-open-core. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/r3bl-org/r3bl-open-core/main/.agents/skills/fast-string-allocations/SKILL.mdgit clone --depth 1 https://github.com/r3bl-org/r3bl-open-coreWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/r3bl-org/r3bl-open-core/fast-string-allocations)<a href="https://agentmods.dev/skills/r3bl-org/r3bl-open-core/fast-string-allocations"><img src="https://agentmods.dev/badge/skills/r3bl-org/r3bl-open-core/fast-string-allocations/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/r3bl-org/r3bl-open-core/fast-string-allocations"><img src="https://agentmods.dev/badge/skills/r3bl-org/r3bl-open-core/fast-string-allocations.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00036 | $0.00563 |
| Opus 5 | $0.00018 | $0.00282 |
| Sonnet 5 | $0.00007 | $0.00113 |
| Haiku 4.5 | $0.00004 | $0.00056 |
Grade A, and why
fast-string-allocations scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 47 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Fast String Allocations & Zero-Overhead Formatting
When writing code that involves string building, formatting, or rendering (especially in the TUI engine, logging, or event loops), you MUST adhere to the codebase's strict zero-allocation architecture.
When to Use
- When building ANSI escape sequences
- When building strings in a 60 FPS event loop or render cycle
- When using
tracing::*!macros - Whenever you are tempted to use
format!orwrite!on aFormatter
Core Strategy
Read the full Source of Truth at mod@crate::core::common::fast_strings#string-allocation-performance-strategy for detailed architectural constraints.
Performance Hierarchy (Fastest to Slowest)
- Direct
push_str()- Zero overhead, direct memory copy. crate::format_no_alloc!- Zero heap allocations, reuses existing heap.FastStringify- Temporary heap allocation, completely bypassesFormatterstate machine.inline_string!- Stack allocated (16 bytes), but dynamically spills to the heap if exceeded.format!/write!- Always heap allocates (format!) OR uses heavy formatter overhead (write!). Avoid in hot paths.
Implementation Guidelines
1. The FastStringify Trait
Use for custom types (like ANSI codes) that are serialized millions of times.
- Bypasses the expensive
Formatterstate machine by pushing everything into a temporary heapStringand making ONEf.write_str()call. - Use
generate_impl_display_for_fast_stringify!to auto-generate theDisplayblock.
2. The inline_string! Macro
Use for stack-allocated strings (16 bytes).
- Drop-in replacement for
format!. - The primary use case is the core Editor Component and
tracing::*!macros. - Warning: If text exceeds 16 bytes, it spills to the heap and incurs the cost of
format!.
3. The format_no_alloc! Macro
Use for hot loops where the string is guaranteed to exceed 16 bytes (meaning inline_string! would spill).
- Hoist a
String::with_capacity(N)outside the loop. - Pass the hoisted string into the macro inside the loop to clear and write into the existing capacity.
- Zero allocations per tick.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 47 lines · 36 tokens per session scan A a1491a831c2c
fast-string-allocations is a skill published in the GitHub repository r3bl-org/r3bl-open-core (483 stars, last pushed 3d ago), licensed Apache-2.0. It adds 36 tokens to every session and 563 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
cw-dogfood
Use when a Codewhale change needs proving in the real product, or when asked to build/install/dogfood the local binaries: stamped release build, atomic install, fresh-shell verification, and the manual QA that gates cannot cover.
cw-gates
Use before claiming any Codewhale change is done, green, or ready to land: the focused-to-broad verification ladder, the budget checks CI enforces, and the rules for what counts as a passing test.
cw-land
Use when turning verified Codewhale work into commits, branches, or a merge: choosing direct-main vs. worktree vs. integration branch, preserving contributor credit, and honoring the gate artifact before merging.
cw-slice
Use before writing code for any Codewhale feature, upgrade, or refactor: find the existing owner of the behavior, bound the change to one reviewable slice, and fix the evidence bar before you start.
cw-handoff
Use when writing a Codewhale takeover prompt, continuation note, or end-of-session summary for another agent or a later session: a paste-ready handoff grounded in live state, with done/suspected/blocked kept separate.
cw-orient
Use at the start of any Codewhale work session, or when unsure which checkout, branch, or worktree is authoritative: establish live repo truth before reading a plan or editing a file.