Existing chain package

SkillDev tools

Lets your agent safely modify the @smthrs/chain runner, journal replay, and sandbox code without breaking its guarantees.

Available today. Use it from your connected AI after setup.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the Existing chain package skill

About this skill

Maintain the existing @smthrs/chain runner, journal replay, catalog handlers, or sandbox boundary.

What this skill tells your AI

The instructions your AI receives, as published by smithersai/smithers in .agents/skills/smithers-chain/SKILL.md and read by ahel’s review.

Read the chain README and its tests before changing this package. Keep the main product's single Agent.Service loop and @smthrs/flow authoring model; this skill is for the existing chain implementation, not a reason to add a second loop or graph API.

QuickJsRunner.layer() creates a sealed QuickJS realm per link with memory, stack, and step limits and no host globals. ScriptRunner.layerInProcess has no isolation and belongs only in trusted fixtures; a script there can reach process globals and dynamic imports.

The journal is the state authority. A matching settled call replays once, but a handler may execute again if it succeeded before CallSettled was recorded. Make external effects idempotent or give them an external durable key from the stable catalog call slot (chain, link, ordinal). Preserve the declaration/script identity checks that fail on replay divergence. Verify a crash after handler success and before settle when changing recovery.

Signals

GitHub stars
422
Forks
50
Last commit
Sep 2026
Advanced
Catalog kind
skill
Key
smithers-chain
Source
github.com/smithersai/smithers