by mari8711
Typed Python Runtime API for Claude Agent OpenAI Codex and Google Antigravity SDKs
# Add to your Claude Code skills
git clone https://github.com/mari8711/agent-runtime-kitGuides for using ai agents skills like agent-runtime-kit.
See how agent-runtime-kit compares with popular alternatives.
agent-runtime-kit is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by mari8711. Typed Python Runtime API for Claude Agent OpenAI Codex and Google Antigravity SDKs. It has 58 GitHub stars.
agent-runtime-kit's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/mari8711/agent-runtime-kit" and add it to your Claude Code skills directory (see the Installation section above).
agent-runtime-kit is primarily written in HTML. It is open-source under mari8711 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh agent-runtime-kit against similar tools.
No comments yet. Be the first to share your thoughts!
Available after the catalog security scan passes.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
agent-runtime-kit is a typed, async Python runtime API for running coding-agent tasks through the Claude Agent SDK, OpenAI Codex SDK, or Google Antigravity SDK without writing provider-specific plumbing. It is aimed at Python 3.10+ developers embedding coding agents into their own applications, who need a consistent surface for tasks, results, events, capability checks, and diagnostics across providers. Each adapter keeps the provider's permissions and supported inputs explicit: shared AgentTask and AgentResult types do not silently discard unsupported options such as per-task MCP servers or cost budgets, and mismatches raise typed errors. Unlike routers, queues, or hosted agent frameworks, it is strictly a runtime layer—your application decides when and where a task runs.
AgentKit runs the same task shape against Claude Agent SDK, OpenAI Codex SDK, or Google Antigravity SDK. Swap the runtime, keep the orchestration code.| Concern | Guarantee |
|---|---|
| Task input | AgentTask is shared across adapters; unsupported fields raise typed errors instead of being silently dropped |
| Task output | AgentResult with is_success, output, error, and finish_reason |
| Capabilities | Explicit checks before a run — readiness is advisory, not a success guarantee |
| Permissions | Requested access (e.g. read-only filesystem) is declared per task, not implied |
| Model selection | Provider default is used unless you set a model explicitly |
| Events | Streamable task events for progress and diagnostics |
| Failure modes | Typed exceptions, no provider-specific error shapes leaking into callers |
async with AgentKit() as kit:
result = await kit.run(runtime, goal="Summarize the repository layout")
if not result.is_success:
raise RuntimeError(result.error or result.finish_reason)
Offline-first development. FakeAgentRuntime returns deterministic results with no vendor SDK, no credentials, and no network — ideal for tests and CI.
Capability checks you can trust at the boundary. Probe a runtime before committing to a task; unsupported combinations fail fast and loudly.
caps = kit.capabilities(runtime)
if not caps.supports_mcp_servers:
... # adjust task instead of discovering rejection mid-run
| Provider | Per-task MCP servers | Cost budget | Per-server env |
|---|---|---|---|
| Claude | ✓ | ✓ | ✓ |
| Codex | — | — | — |
| Antigravity | ✓ | — | — |
Sessions and deadlines. Long-running work supports session continuity, deadlines, and cancellation through the shared runtime surface.
Diagnostics built in. Preflight probes and typed error reporting make provider setup issues diffable without reading vendor logs first.
Async, typed, Python 3.10+. Full type annotations on the public surface; ADRs and an API-stability policy document what's covered.
A runtime layer, not a framework. No router, queue, scheduler, or hosted service. You decide when and where a task runs; the kit handles the provider boundary.
agent-runtime-kit sits between your application and each vendor SDK. You describe a task once with AgentTask; the kit selects the runtime adapter, validates that the requested inputs are supported, executes the task, and normalizes provider output into AgentResult plus a stream of typed events.
AgentKit.run(runtime, goal, inputs)
│
├─ capability check ──► typed error on unsupported input
├─ readiness probe ───► advisory only (task may still fail)
├─ runtime adapter ───► provider SDK (Claude / Codex / Antigravity)
└─ normalize ─────────► AgentResult + events + diagnostics
| Object | Role |
|---|---|
AgentKit |
Async entry point; owns lifecycle and task execution |
AgentTask |
Provider-agnostic task description (goal, inputs, limits) |
FakeAgentRuntime |
Deterministic offline runtime for tests and examples |
AgentResult |
Normalized outcome: success flag, output, error, finish reason |
| Events | Typed progress/cost/tool signals emitted during a run |
| Diagnostics | Provider availability and setup probe results |
async with AgentKit() so provider resources are released on exit.result.is_success and read result.output, result.error, or result.finish_reason.The adapters share AgentTask and AgentResult, but each exposes different capabilities. Set only what the provider supports:
| Input | Claude | Codex | Antigravity |
|---|---|---|---|
| Per-task MCP servers | Yes | No | Yes |
| Per-server environment values | Yes | No | No |
| Per-task cost budget | Yes | No | No |
Unsupported inputs raise typed errors at validation time rather than failing mid-run. Native model selection is used unless you set a model explicitly.
async with AgentKit() as kit:
diag = await kit.diagnose(runtime)
if not diag.available:
raise RuntimeError(diag.reason)
async for event in kit.stream(runtime, goal="Summarize the repo"):
handle(event)
result = kit.last_result
if not result.is_success:
raise RuntimeError(result.error or result.finish_reason)
The kit is a runtime layer, not a router, queue, hosted service, or full agent framework. Scheduling, retries across providers, and persistence remain the application's responsibility.
agent-runtime-kit targets Python 3.10+ and supports the three provider SDKs below. Each provider is optional: install only the extra you need, and the core package runs offline with FakeAgentRuntime.
| Provider | Extra | Adapter | Status |
|---|---|---|---|
| Claude Agent SDK | claude |
ClaudeAgentRuntime |
Supported |
| OpenAI Codex SDK | codex |
CodexAgentRuntime |
Supported |
| Google Antigravity SDK | antigravity |
AntigravityAgentRuntime |
Supported |
| In-process fake | none (core) | FakeAgentRuntime |
Supported |
async APIs; a synchronous facade is not provided.AgentResult shape, but provider-specific inputs are validated and unsupported ones raise typed errors rather than being dropped.The shared AgentTask type does not imply identical provider behavior. Unsupported fields are rejected at validation time.
| Capability | Claude | Codex | Antigravity | Fake |
|---|---|---|---|---|
| Per-task MCP servers | Yes | No | Yes | No |
| Per-server MCP env values | Yes | No | No | No |
| Per-task cost budget | Yes | No | No | No |
| Explicit model selection | Yes | Yes | Yes | No |
| Deterministic offline output | No | No | No | Yes |
Call describe_capabilities() on a runtime before building a task when you need to branch on features:
from agent_runtime_kit import ClaudeAgentRuntime
runtime = ClaudeAgentRuntime()
caps = runtime.describe_capabilities()
if not caps.supports_mcp_servers:
raise RuntimeError("this runtime cannot accept MCP servers")
Provider SDKs change independently of this package. Adapters validate at the boundary and surface drift as typed diagnostics instead of silent fallbacks. Readiness probes report whether a task is worth attempting; they cannot guarantee a provider will accept a request.
| Requirement | Details |
|---|---|
| Python | 3.10 or newer |
| Runtime | asyncio event loop; the kit exposes an async API |
| Core install | No vendor SDK, credential, or network access required to use the fake runtime |
| Provider SDKs | Install only the extras for the runtimes you use; each is optional and independent |
| Provider credentials | Configured per provider, through that provider's supported authentication mechanism; the kit does not manage secrets |
| Provider access | A real task may incur provider charges and may invoke tools, depending on the permissions you grant |