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 intelligentnode/Intelli --skill intelli-flowsgit clone --depth 1 https://github.com/intelligentnode/IntelliWrote 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/intelligentnode/intelli/intelli-flows)<a href="https://agentmods.dev/skills/intelligentnode/intelli/intelli-flows"><img src="https://agentmods.dev/badge/skills/intelligentnode/intelli/intelli-flows/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/intelligentnode/intelli/intelli-flows"><img src="https://agentmods.dev/badge/skills/intelligentnode/intelli/intelli-flows.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.00187 | $0.01753 |
| Opus 5.5 | $0.00075 | $0.00701 |
| Sonnet 5.5 | $0.00037 | $0.00351 |
| Haiku 4.5 | $0.00019 | $0.00175 |
Grade A, and why
intelli-flows 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 — 93 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Intelli flows
Follow the Intelli section of AGENTS.md in this skill's folder, then these rules. For which
agent types and providers exist and what passes between them, see references/agents.md.
For a chat app, an assistant with memory or RAG over documents, use the Assistant class and a vector store:
see references/assistant.md.
-
Plan before code. Write a short table: step name, agent type, provider and model, what the step receives, what it returns. Step names are printed on the picture, so make them readable. When the user did not fix the steps, show the table and the picture and let them confirm before running.
-
One flow can mix providers and agent types: each
Agentpicks its own. Example, Claude writes, OpenAI draws and speaks, Gemini checks the image:import asyncio, os from intelli.flow import Agent, Task, TextTaskInput, Flow def key(name): # read keys from the environment; never print or hardcode them return os.environ.get(name, "") writer = Agent("assistant", "anthropic", "Write a two-sentence product pitch.", {"key": key("ANTHROPIC_API_KEY"), "model": "claude-haiku-4-5", "max_tokens": 300}) artist = Agent("image", "openai", "Flat illustration for this pitch, no text", {"key": key("OPENAI_API_KEY"), "model": "gpt-image-2", "width": 1024, "height": 1024}) critic = Agent("vision", "gemini", "Does the image match the pitch? Answer yes or no, then one reason", {"key": key("GEMINI_API_KEY"), "model": "gemini-2.5-flash"}) voice = Agent("speech", "openai", "", {"key": key("OPENAI_API_KEY"), "model": "gpt-4o-mini-tts", "voice": "alloy", "stream": False}) flow = Flow( tasks={ "pitch": Task(TextTaskInput("Pitch a reusable water bottle"), writer), "illustration": Task(TextTaskInput("Illustrate the pitch"), artist), "image check": Task(TextTaskInput("Check the illustration"), critic), "voice over": Task(TextTaskInput("Voice over the pitch"), voice), }, map_paths={"pitch": ["illustration", "voice over"], "illustration": ["image check"]}, auto_save_outputs=True, output_dir="./outputs", # images, audio and text are written here ) print(flow.generate_graph_img(name="pitch_flow", save_path=".")) # no model is called out = asyncio.run(flow.start()) -
Rules for mixed steps:
- Image and audio outputs do not turn into text. Between an
imagestep and a text step put avisionstep; betweenspeechand text putrecognition. - A
visionstep needsmodelinmodel_params. Its question is its mission plus its task text, and the image comes from the parentimagestep. For a first step with your own picture useImageTaskInput("question", img=<base64 string>). - An
imagestep's prompt is its mission, then the parent's text. It returns base64 image data. - An OpenAI
speechstep needs"stream": False, or it returns a stream and no audio is saved or passed on. - A
speechstep speaks its mission, then its input, word for word. Leave the mission empty and have the step before it output only the words to say. Before 2.1.3 it also spoke the prompt template's labels, and OpenAI rejected text over 4,096 characters; 2.1.3 speaks longer text in pieces. - Each provider needs its own key. A missing key fails only that step, so run only when every provider's key is set, or offer to move that step to a provider whose key is set.
- Image, video and audio generation are billed per call. Tell the user before running those steps.
- Image and audio outputs do not turn into text. Between an
-
For a Vibe Agent you are the planner. Write the FlowSpec JSON yourself, save it in the repo, and load it with
planner_fnorbuild_from_spec. Use this shape:{"version": "1", "tasks": [{"name": "thread", "desc": "what the task does", "post_process": "flag_new_numbers", "agent": {"agent_type": "assistant", "provider": "ollama", "mission": "who the agent is", "model_params": {"model": "qwen2.5:0.5b", "temperature": 0.3, "max_tokens": 300}, "options": {}}}], "map_paths": {}, "dynamic_connectors": [], "output_memory_map": {}}
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.
- 9d ago Changed · +10 lines · +72 tokens per session 1a50c3d483c7
- 11d ago First seen · 83 lines · 115 tokens per session scan A b47b2fc42133
intelli-flows is a skill published in the GitHub repository intelligentnode/Intelli (55 stars, last pushed 10d ago), licensed Apache-2.0. It adds 187 tokens to every session and 1,753 once invoked, about $0.0007 per session on Opus 5.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-10-05.
Other skills, from other repositories
claude-api
Reference for the Claude API / Anthropic SDK — model ids, pricing, params, streaming, tool use, MCP, agents, caching, token counting, model migration. TRIGGER — read BEFORE opening the target file; don't skip because it "looks like a one-liner" — whenever: the prompt names Claude/Anthropic in any form (Claude…
claude-api-in-prototypes
Call Claude from your HTML artifacts via window.claude.complete.
prompt-improvement
Improve vague, incomplete, ambiguous, risky, or poorly structured prompts into clear executable prompts for AI agents, coding assistants, automations, reports, research, or model-specific workflows. Use when the user asks to rewrite, clarify, optimize, score, translate, structure, or improve a prompt.
model-portability-adapter
Adapt skills, workflows, prompts, and tool instructions so they work across Claude, ChatGPT, Gemini, Codex, local agents, and other MCP-enabled systems. Use when the user wants cross-model compatibility or asks to make instructions vendor-neutral.
outlines
Outlines: structured JSON/regex/Pydantic LLM generation.
instructor
Structured LLM outputs validated with Pydantic.