Stof plugin

A plugin and skill that teach an agent to write Stof documents: JSON with functions, types and tests that run sandboxed.

  • 64 ★ on the repository
  • Last commit
Plugin

Minimal access

Why this level

  • The skill holds instructions only, and the document sandbox closes files and network until the application enables them.
All reasons and checks

dev-formata-io/stof

Install

Works in

In your terminal, with SkillFoxx CLI

npx skillfoxx add plugins/stof

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Minimal accessThe tool runs nothing and makes no network calls.

  • The skill holds instructions only, and the document sandbox closes files and network until the application enables them.

This is third-party code. Review the repository files before installing.

What it does

Stof is a data runtime: any JSON is already a Stof document, with functions, types, units such as `5km` and `2GB`, schemas, imports and tests added on top. A document runs inside your process in a sandbox and sees only itself and the functions the app registers. File system, network and environment are off by default, and every call has a time and memory limit. The repository's `stof` skill teaches an agent the language: how to write, read and debug `.stof` files, check configuration with the `#[schema]` schema, define `#[type]` types and `#[test]` functions, call `stof run` and `stof test` and embed documents in Rust, TypeScript and Python. Library references live in `references/libs/`. The plugin for Claude installs this skill, and the npm package carries the same copy in `node_modules/@formata/stof/skill/stof`.

Who it is for. Developers who ask a model to write rules, filters and calculations for an application and want to run the result safely inside the process.

Good fit when

  • A customer or model sends pricing rules that must be checked and run without a deploy.
  • Configuration should validate itself with a schema and tests beside the data.
  • The repository holds `.stof` files and the agent must be able to read and edit them.
  • Source YAML or TOML must become a document with functions and units.
  • One piece of logic must run the same in a browser, on a server and in a worker.

Not a fit when

  • You are writing core application code, heavy compute or long-running services: the author advises your main language for them.
  • You need container-level isolation or a full safety guarantee without your own host checks.
  • The project uses none of Rust, JavaScript, TypeScript or Python: there are no ready bindings for other languages.

Example request

Turn this JSON config into a Stof document with a port check by schema and a test, then run `stof test`.

Limitations

The skill teaches the Stof language and is of no use outside projects that use it. Installable parts depend on the language: `npm i @formata/stof` for JavaScript and TypeScript, `cargo add stof` for Rust, `pip install stof` for Python and `cargo install stof-cli` for the command line. The `stof` command line tool enables file and network access because it runs your own files, while the library closes it by default. Call limits default to 2 minutes and 256 MB. Network access never reaches localhost or a private network without an explicit host list.

How to disable. Remove the `stof` plugin in Claude Code or the skill directory from the agent's skills folder. Stof packages in a project are removed with ordinary package manager commands.

FAQ

How do I teach an agent Stof?

Give it `content/SKILL.md` with a short language guide and the references from `content/stof.zip`. The npm package carries the same copy in `node_modules/@formata/stof/skill/stof`, and the repository has a plugin for Claude.

Is it safe to run a document a model wrote?

That is what Stof is built for: a document sees only itself and the functions you registered. File system, environment, file imports and network are off by default, and a call has limits of 2 minutes of time and 256 MB of memory.

How do I install the runtime?

`npm i @formata/stof` for JavaScript and TypeScript, `cargo add stof` for Rust, `pip install stof` for Python and `cargo install stof-cli` for the `stof run` and `stof test` commands.

Do I need to replace JSON, YAML or TOML?

No. Stof imports and exports these formats, so logic can be added to existing data. Any JSON is already a valid Stof document.

Why is this better than Python code in a container?

A container needs infrastructure and startup time, and what gets reviewed is a program. Stof runs inside the process, starts instantly, has no access by default, and a change looks like an edit to a document.

Discussion

No questions or reviews yet.

Plugins

A plugin of eight skills for Claude Code and Codex that keeps work in a long-lived project bounded, verified by evidence and remembered

PluginExtended access1.1KRepository stars

omnistack-agent installs four skills for Claude Code, Copilot, Cursor and Codex: debug, review, security, engineering

SkillMinimal access68Repository stars

A mirror of Lauren Tan's pstack set from Cursor: over 50 skills, the poteto-mode with 23 playbooks and 24 principles for strict agent work on code

SkillBroad access4.1KRepository stars

Catalog of 46 versioned skills for code review, releases, CI and landing pages, installed as the lstack plugin or through npx.

PluginExtended access145Repository stars

claudefiles deploys a personal Claude Code setup onto a new machine: skills, commands, hooks and settings from a single manifest.

PluginBroad access120Repository stars

Anthropic DevRel playground: three Claude Code mods, hooks, CLAUDE.md examples and skills, each with notes on how it was built.

PluginExtended access363Repository stars

README in short

The authors call Stof JSON that runs. The engine sits behind Limitr, where every customer's pricing is a Stof document evaluated on every call.

README badge

Report a problem