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 besoeasy/open-skills --skill integrate-codex-ollamagit clone --depth 1 https://github.com/besoeasy/open-skillsWrote 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/besoeasy/open-skills/integrate-codex-ollama)<a href="https://agentmods.dev/skills/besoeasy/open-skills/integrate-codex-ollama"><img src="https://agentmods.dev/badge/skills/besoeasy/open-skills/integrate-codex-ollama/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/besoeasy/open-skills/integrate-codex-ollama"><img src="https://agentmods.dev/badge/skills/besoeasy/open-skills/integrate-codex-ollama.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.00079 | $0.02666 |
| Opus 5 | $0.00039 | $0.01333 |
| Sonnet 5 | $0.00016 | $0.00533 |
| Haiku 4.5 | $0.00008 | $0.00267 |
Grade D, and why
integrate-codex-ollama scanned grade D with 3 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 7d 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.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
curl -fsSL https://ollama.com/install.sh | sh Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
cat ~/.codex/config.toml Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -fsSL https://ollama.com/install.sh | sh How it starts
The opening of the file, as written. The whole thing — 233 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Integrate Codex with Ollama
Point Codex CLI at a locally served Ollama model and connect it to Odysseus through the scoped /api/codex/* skill bundle. Outcome: codex doctor reports the local model/provider as active and odysseus_api.py capabilities returns the token's tool scopes.
Quick quality checklist
namematches folder name exactly (kebab-case)- Commands tested against codex-cli 0.153.x + Ollama 0.11.x
- No tokens, keys, or personal paths in examples
- Uses free/local tooling only (Ollama, Codex CLI, Odysseus)
When to use
- Use case 1: "Run Codex with my local Ollama model"
- Use case 2: "Let Codex read/write my Odysseus todos, email, calendar, memory, or documents"
- Use case 3: "Codex keeps using my ChatGPT account instead of the local model"
Required tools / APIs
- Ollama with at least one pulled model (
ollama pull gpt-oss:20b) - Codex CLI (
npm i -g @openai/codexor via brew) - Odysseus instance with a Codex Agent API token (Settings > Integrations)
# Ubuntu/Debian (Ollama)
curl -fsSL https://ollama.com/install.sh | sh
# Codex CLI
npm install -g @openai/codex
codex --version
Skills
inspect_existing_install
Never assume a fresh install — audit first, then patch minimally.
# Where things live
codex doctor 2>&1 | grep -E "model |provider" | head -n 10
cat ~/.codex/config.toml
ollama list # confirm the tag exists locally first
# Which provider is actually active (must NOT be "openai" for local runs)
codex doctor 2>&1 | grep "default model provider"
# Odysseus side: is the model discovered and is the server healthy?
curl -fsS --max-time 10 http://localhost:11434/v1/models | jq -r '.data[].id'
curl -fsS --max-time 5 http://127.0.0.1:7000/api/health
Interpretation:
model gpt-oss:20b · openai→ miswired: Codex falls back to the ChatGPT account and local-only models fail with 400model gpt-oss:20b · ollama-launch→ correct local wiringdefault model provider ollama-launch→ config key took effect
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.
- 7d ago First seen · 233 lines · 79 tokens per session scan D 3fee6e724abc
integrate-codex-ollama is a skill published in the GitHub repository besoeasy/open-skills (132 stars, last pushed 7d ago), licensed MIT. It adds 79 tokens to every session and 2,666 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it D with 3 findings (downloads and executes remote code, reads agent configuration directories, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-05.
Other skills, from other repositories
bootstrap-realtime-eval
Bootstrap a new realtime eval folder inside this cookbook repo by choosing the right harness from examples/evals/realtimeevals, scaffolding prompt/tools/data files, generating a useful README, and validating it with smoke, full eval, and test runs. Use when a user wants to start a new crawl, walk, or run realtime eval…
pydantic-ai
Build production-ready AI agents with PydanticAI — type-safe tool use, structured outputs, dependency injection, and multi-model support.
openai-whisper-api
Transcribe audio via OpenAI Audio Transcriptions API (Whisper).
ax-ai
This skill helps an LLM generate correct AI provider setup and configuration code using @ax-llm/ax. Use when the user asks about ai(), providers, models, routing, adaptive balancing, presets, embeddings, batch audio with ai.transcribe() or ai.speak(), extended thinking, context caching, or mentions…
ax-agent-rlm
This skill helps an LLM generate correct AxAgent RLM/runtime code using @ax-llm/ax. Use when the user asks about RLM code execution, AxJSRuntime, contextFields, contextPolicy, liveRuntimeState, promptLevel, stage prompt controls, executorModelPolicy, maxRuntimeChars, agent.test(...), llmQuery(...), recursionOptions…
ax-flow
This skill helps an LLM generate correct AxFlow workflow code using @ax-llm/ax. Use when the user asks about flow(), AxFlow, workflow orchestration, parallel execution, DAG workflows, conditional routing, map/reduce patterns, or multi-node AI pipelines.