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 mpsuesser/pi-effect-harness --skill effect-ai-language-modelgit clone --depth 1 https://github.com/mpsuesser/pi-effect-harnessWrote 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/mpsuesser/pi-effect-harness/effect-ai-language-model)<a href="https://agentmods.dev/skills/mpsuesser/pi-effect-harness/effect-ai-language-model"><img src="https://agentmods.dev/badge/skills/mpsuesser/pi-effect-harness/effect-ai-language-model/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/mpsuesser/pi-effect-harness/effect-ai-language-model"><img src="https://agentmods.dev/badge/skills/mpsuesser/pi-effect-harness/effect-ai-language-model.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00044 | $0.04597 |
| Opus 5 | $0.00022 | $0.02299 |
| Sonnet 5 | $0.00009 | $0.00919 |
| Haiku 4.5 | $0.00004 | $0.00460 |
Grade A, and why
effect-ai-language-model 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 9d 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 — 624 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Effect AI Language Model
Pattern guide for working with the LanguageModel service from Effect AI for type-safe LLM interactions with Effect's functional patterns.
Import Patterns
CRITICAL: Always use namespace imports:
import * as LanguageModel from 'effect/unstable/ai/LanguageModel';
import * as Prompt from 'effect/unstable/ai/Prompt';
import * as Response from 'effect/unstable/ai/Response';
import * as Toolkit from 'effect/unstable/ai/Toolkit';
import * as Tool from 'effect/unstable/ai/Tool';
import * as Effect from 'effect/Effect';
import * as Stream from 'effect/Stream';
import * as Schema from 'effect/Schema';
When to Use This Skill
- Generating text completions from language models
- Extracting structured data with schema validation
- Real-time streaming responses for chat interfaces
- Tool calling and function execution
- Multi-turn conversations with history
- Switching between different AI providers
Service Interface
LanguageModel :: Service
-- Core operations
generateText :: Options → Effect GenerateTextResponse E R
generateObject :: Options → Schema A → Effect (GenerateObjectResponse A) E R
streamText :: Options → Stream StreamPart E R
-- Service as dependency (LanguageModel is both a namespace and a service tag)
LanguageModel ∈ R → Effect.gen(function*() {
-- Option A: use static accessors (adds LanguageModel to R automatically)
const response = yield* LanguageModel.generateText(options)
-- Option B: yield the tag explicitly
const model = yield* LanguageModel.LanguageModel
const response = yield* model.generateText(options)
})
generateText Pattern
Basic text generation with optional tool calling:
import * as LanguageModel from 'effect/unstable/ai/LanguageModel';
import * as Effect from 'effect/Effect';
// Simple text generation
const simple = LanguageModel.generateText({
prompt: 'Explain quantum computing'
});
// With system prompt and conversation history
const withHistory = LanguageModel.generateText({
prompt: [
{ role: 'system', content: 'You are a helpful assistant' },
{ role: 'user', content: [{ type: 'text', text: 'Hello!' }] }
]
});
// With toolkit for tool calling
const withTools = LanguageModel.generateText({
prompt: "What's the weather in SF?",
toolkit: weatherToolkit,
toolChoice: 'auto' // "none" | "required" | { tool: "name" } | { oneOf: [...] }
});
// Parallel tool call execution
const withConcurrency = LanguageModel.generateText({
prompt: 'Search multiple sources',
toolkit: searchToolkit,
concurrency: 'unbounded' // or number for limited parallelism
});
// Disable automatic tool call resolution
const manualTools = LanguageModel.generateText({
prompt: 'Search for X',
toolkit: searchToolkit,
disableToolCallResolution: true // Get tool calls without executing
});
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.
- 9d ago First seen · 624 lines · 44 tokens per session scan A 5d62dc5712d8
effect-ai-language-model is a skill published in the GitHub repository mpsuesser/pi-effect-harness (24 stars, last pushed 2mo ago), licensed MIT. It adds 44 tokens to every session and 4,597 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
effect-patterns-building-data-pipelines
Effect-TS patterns for Building Data Pipelines. Use when working with building data pipelines in Effect-TS applications.
cordis-plugin-sofagent-inject
A sofagent plugin that loads company constraints through several prompt-building layers when the agent starts.
gpt-image-2-style-library
Choose GPT-Image2 / gpt-image-2 visual styles and industrial prompt templates from the awesome-gpt-image-2 style library. Use when an agent needs to create, rewrite, classify, or improve image-generation prompts with repository-backed templates, categories, style tags, scene tags, pitfalls, and example cases.
temprouter
Call tempRouter — a payable, end-to-end-encrypted LLM inference endpoint on MPP (Tempo). Pay per inference in pathUSD stablecoin AFTER your agent verifies (Intel DCAP) that the prompt runs inside a real Phala Intel TDX enclave that can't read it. Use when a prompt holds secrets/PII (API keys sk-…, private keys 0x……
llm-integration
LLM Integration: Anthropic Claude API, OpenAI, streaming, tool use, prompt caching, structured output, fallback strategies, cost optimization.
prompt-engineering
Prompt Engineering: Template patterns, chain-of-thought, few-shot learning, prompt versioning.