Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Kastalien-Research/thoughtbox --skill effect-tsgit clone --depth 1 https://github.com/Kastalien-Research/thoughtboxWrote 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/kastalien-research/thoughtbox/effect-ts)<a href="https://agentmods.dev/skills/kastalien-research/thoughtbox/effect-ts"><img src="https://agentmods.dev/badge/skills/kastalien-research/thoughtbox/effect-ts/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/kastalien-research/thoughtbox/effect-ts"><img src="https://agentmods.dev/badge/skills/kastalien-research/thoughtbox/effect-ts.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.00163 | $0.01188 |
| Opus 5.5 | $0.00065 | $0.00475 |
| Sonnet 5.5 | $0.00033 | $0.00238 |
| Haiku 4.5 | $0.00016 | $0.00119 |
Grade A, and why
effect-ts scanned grade A with 1 finding 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 1mo 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
Effect.tryPromise({ try: () => fetch(url), catch: () => new FetchError() }) How it starts
The opening of the file, as written. The whole thing — 142 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Effect-TS Expert
You are an Effect-TS expert. Use the semantic search index to find relevant documentation before answering questions about Effect.
How to Use the Search Index
When the user asks about Effect-TS, search the documentation index to ground your answer:
node .Codex/skills/effect-ts/scripts/search.mjs "<query>" --top-k 5
Run multiple searches if the question spans several topics. For example, if someone asks "how do I use layers with streams", search for "Layer" and "Stream" separately.
The search returns the most relevant sections of the official Effect documentation, ranked by semantic similarity. Use these results as your primary source of truth.
When to Search vs. When to Answer Directly
Search first when:
- The user asks how to use a specific Effect module or API
- You're unsure about the exact API signature or behavior
- The question involves less common features (Batching, Runtime, Platform, RPC, Cluster)
- You need code examples from the official docs
Answer directly (without searching) when:
- The question is about basic Effect concepts you're confident about (Effect.gen, pipe, basic error types)
- You're reviewing/debugging code that's already in front of you
- The user asks a conceptual question ("what's the difference between Effect and Promise")
When in doubt, search. The index is fast and the results are high quality.
Core Effect Concepts Quick Reference
These are the foundational patterns. For anything beyond this, search the index.
The Effect Type
Effect<Success, Error, Requirements>
Success— what the effect produces on successError— typed error channel (useneverfor infallible effects)Requirements— services this effect needs (useneverfor no requirements)
Creating Effects
// From sync values
Effect.succeed(42)
Effect.fail(new MyError())
// From async
Effect.tryPromise({ try: () => fetch(url), catch: () => new FetchError() })
// Generators (preferred for sequential composition)
Effect.gen(function* () {
const a = yield* getA()
const b = yield* getB(a)
return a + b
})
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 1mo ago First seen · 142 lines · 163 tokens per session scan A 79a81fe8f844
effect-ts is a skill published in the GitHub repository Kastalien-Research/thoughtbox (65 stars, last pushed 3mo ago), licensed MIT. It adds 163 tokens to every session and 1,188 once invoked, about $0.0007 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
add-export
Add a new subpath export to the @cyanheads/mcp-ts-core package. Use when creating a new public API surface that consumers import from a dedicated subpath (e.g., @cyanheads/mcp-ts-core/newutil).
fluent-development
This skill should be used when the user asks to "build a fluent app", "create a servicenow app in typescript", or mentions "servicenow sdk", "now-sdk", "fluent", "scoped app as code", or "pro-code development" — or when the working directory contains a now.config.json or .now.ts files.
sdk
Guide users building apps, scripts, CI pipelines, or automations on top of the Cursor TypeScript SDK (@cursor/sdk). Use when the user mentions integrating, installing, or writing code against the Cursor SDK; says Agent.create, Agent.prompt, Agent.resume, agent.send, run.stream, CursorAgentError, or @cursor/sdk; asks…
migrate-waniwani-sdk-0.16-to-0.17
Migrate a project from @waniwani/sdk 0.16.x to 0.17.0 and auto-apply its breaking change: useWaniwani() from @waniwani/sdk/mcp/react no longer auto-discovers its config from a WidgetProvider context or by opening its own host connection, so a bare useWaniwani() in a widget silently stops tracking. Skybridge widgets…
migrate-waniwani-sdk-0.17-to-0.18
Migrate a project from @waniwani/sdk 0.17.x to 0.18.0 and auto-apply its breaking change: the generic funnel events quote.requested, quote.succeeded, quote.failed, and purchase.completed are removed from the track() taxonomy (with the QuoteSucceededProperties / PurchaseCompletedProperties types and the legacy…
kernelcad-authoring
Write or edit .kcad.ts TypeScript models; run kernelcad evaluate or kernelcad export stl|step|dxf|3mf|glb -o .