create-atomic-context-provider

A guide for adding changing information to an Atomic Agents agent's instructions at runtime. A context provider can supply data such as the current time, user details, retrieved documents, session state, or a database schema.

In plain words
What is it for?
Use it to inject live or retrieved data into prompts, share session state, provide user identity, or refresh information before an agent call.
Why use it?
It keeps the agent's main instructions reusable while supplying information that may differ between runs.

Skill for Claude CodeCodex

Part of the atomic-agents plugin — 7 skills, 2 agents shipped together

Install

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.

agentmods
npx agentmods add skills/eigenwise/atomic-agents/create-atomic-context-provider
Any agent
npx skills add Eigenwise/atomic-agents --skill create-atomic-context-provider
Clone the repo
git clone --depth 1 https://github.com/Eigenwise/atomic-agents

Made for: Claude Code, Codex.

Or install atomic-agents, the plugin that ships this one along with the rest of its 7 skills, 2 agents.

Per session 106 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,770 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00106 $0.01770
Opus 5 $0.00053 $0.00885
Sonnet 5 $0.00021 $0.00354
Haiku 4.5 $0.00011 $0.00177

Measured 3d ago against content hash f98d497335fe, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

create-atomic-context-provider 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 3d 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.

claude-plugin/atomic-agents/skills/create-atomic-context-provider/SKILL.md · 208 lines

How it starts

The opening of the file, as written. The whole thing — 208 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Create an Atomic Agents Context Provider

A context provider injects a named, titled block into the agent's system prompt at every run(). The base prompt stays static; the context is what changes between calls.

For deep material (caching strategies, async data sources, multi-agent sharing patterns), the authority is ../framework/references/context-providers.md. This skill is the action-oriented path: clarify → write → register.

When this fires vs the umbrella framework skill

  • This skill: the user wants to add a provider — "inject the user's name", "make the agent see the current time", "feed retrieved docs into the prompt", "share session state across two agents".
  • framework skill: questions about Atomic Agents in general, or about something other than authoring a provider.

Phase 1 — Clarify

Bundle into one message:

  1. What goes into the prompt? One sentence. Defines the provider's job.
  2. Where does the data come from? In-memory state mutated by your code? A vector DB lookup? A REST call? A clock?
  3. How fresh must it be? Per-run() (default), every N seconds (cache), or refreshed externally before each call (async data).
  4. Which agent(s)? One agent, or shared across multiple agents?

Skip what's already obvious from context.

Phase 2 — Plan

Confirm in one short block:

  • File: <project>/context_providers.py (or alongside the agent that owns it).
  • Class: <Topic>Ctx(BaseDynamicContextProvider).
  • Title (rendered as the section header in the prompt) — must be unique across providers on the same agent.
  • Update mechanism: mutate fields between run() calls (most common), set via a method, or await refresh() for async sources.

Phase 3 — Implement

Skeleton

from atomic_agents.context import BaseDynamicContextProvider


class UserCtx(BaseDynamicContextProvider):
    def __init__(self):
        super().__init__(title="User Context")
        self.name: str = ""
        self.role: str = ""

    def get_info(self) -> str:
        if not self.name:
            return "No user is logged in."
        return f"User: {self.name} (role: {self.role})"

Read the full file on GitHub · 208 lines

Changes

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.

  1. 3d ago First seen · 208 lines · 106 tokens per session scan A f98d497335fe

Subscribe to this mod's changes

create-atomic-context-provider is a skill published in the GitHub repository Eigenwise/atomic-agents (6,218 stars, last pushed 9d ago), licensed MIT. It adds 106 tokens to every session and 1,770 once invoked, about $0.0005 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.

Related

Other skills, from other repositories

potpie-source-ingestion

Use when the user explicitly asks to ingest, refresh, or deeply understand a repository, PR, issue, ticket, runbook, incident report, document, or web link into Potpie. The harness performs todo-driven discovery, uses local/GitHub/integration tools and read-only subagents when available, builds evidence-backed…

potpie-ai/potpie · 82 tokens

neuron-rag-specialist

Implement RAG (Retrieval-Augmented Generation) with Neuron AI including vector stores, embeddings providers, document loaders, and retrieval strategies. Use this skill whenever the user mentions RAG, retrieval, vector search, document retrieval, semantic search, knowledge bases, chat with documents, or wants to build…

neuron-core/neuron-ai · 95 tokens

synalinks

Use for anything involving the Synalinks neuro-symbolic LM framework (Keras-inspired) — DataModel/Field/Input, JSON operators (+ & | ^ ), synalinks.ops, LanguageModel/EmbeddingModel and provider prefixes (openai/anthropic/ollama/groq/openrouter/bedrock/...); the Program class and its four building APIs…

SynaLinks/synalinks-skills · 290 tokens

session-rag-eval

Run and debug Chatbox session attachment RAG model evaluation with synthetic and real long-file fixtures.

chatboxai/chatbox · 25 tokens

add-provider-package

Guide for adding first-party AI provider packages to the AI SDK. Use when creating a provider package under packages/ to integrate an external AI service.

vercel/ai · 33 tokens

update-provider-models

Add new or remove obsolete model IDs for existing AI SDK providers. Use when adding a model to a provider, removing an obsolete model, or processing a list of model changes from an issue. Triggers on "add model", "remove model", "new model ID", "obsolete model", "update model IDs".

vercel/ai · 68 tokens