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 usetheokit/theokit --skill theokit-frontendgit clone --depth 1 https://github.com/usetheokit/theokitWrote 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/usetheokit/theokit/theokit-frontend)<a href="https://agentmods.dev/skills/usetheokit/theokit/theokit-frontend"><img src="https://agentmods.dev/badge/skills/usetheokit/theokit/theokit-frontend/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/usetheokit/theokit/theokit-frontend"><img src="https://agentmods.dev/badge/skills/usetheokit/theokit/theokit-frontend.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.00025 | $0.01120 |
| Opus 5.5 | $0.00010 | $0.00448 |
| Sonnet 5.5 | $0.00005 | $0.00224 |
| Haiku 4.5 | $0.00003 | $0.00112 |
Grade A, and why
theokit-frontend 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 1mo 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 — 128 lines — stays where its author put it; the contents beside it link to each section on GitHub.
TheoKit Frontend (React + File-Based Routing)
File-Based Routing
| File | URL | Purpose |
|---|---|---|
app/page.tsx |
/ |
Home page |
app/layout.tsx |
(wrapper) | Root layout (wraps all pages) |
app/error.tsx |
(error) | Error boundary |
app/loading.tsx |
(loading) | Suspense fallback |
app/not-found.tsx |
(404) | Not found page |
app/about/page.tsx |
/about |
Nested route |
app/tasks/[id]/page.tsx |
/tasks/:id |
Dynamic route |
Typed API Client (theoFetch)
import { theoFetch } from 'theokit/client'
// The URL is used literally — build it yourself for a dynamic route.
const tasks = await theoFetch('/api/tasks')
const task = await theoFetch(`/api/tasks/${id}`)
// POST with body. `method` is REQUIRED when the route declares one.
const created = await theoFetch('/api/tasks', {
method: 'POST',
body: { title: 'New task' },
})
theoFetch has no params option. Its options are RequestInit minus body/method, plus a
conditional query and body — nothing interpolates a :id segment for you. Reach for the
generated client below when you want that; it is the half that knows your route tree.
App Client (proxy-based)
import { createAppClient } from 'theokit/client'
const client = createAppClient()
const tasks = await client.tasks.get()
const task = await client.tasks.id.get({ params: { id: '42' } }) // → GET /api/tasks/42
const created = await client.tasks.post({ body: { title: 'New' } })
Three details the generator decides for you, and each is easy to guess wrong:
- methods are lowercase —
get,post; the export in your route file staysGET - a dynamic segment loses its colon —
app/tasks/[id]is reached asclient.tasks.id, notclient.tasks[':id'] paramsvalues are strings —{ id: '42' }; a URL segment has no other type
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.
- 1mo ago Changed 0ad4b5f8cce1
- 1mo ago First seen · 128 lines · 25 tokens per session scan A c0f7507a56dc
theokit-frontend is a skill published in the GitHub repository usetheokit/theokit (5 stars, last pushed today), licensed Apache-2.0. It adds 25 tokens to every session and 1,120 once invoked, about $0.0001 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-08-31.
Other skills, from other repositories
senior-dev
Activates the SeniorDev agent for full-stack software engineering. Use this skill when you need production-ready code: Next.js 14 frontends, FastAPI backends, TypeScript strict-mode components, PostgreSQL schemas, Redis caching, authentication flows, or complete REST/GraphQL APIs. SeniorDev always outputs complete…
canvas-webapp
Render a React/Vite (or any bundled) web app on the pi-dashboard canvas, which loads loopback URLs in a sandboxed opaque-origin iframe. Use when a canvas(target:{kind:"url"|"server"}) target shows up blank white, an empty surface, or a /live/ 500 ECONNREFUSED. Covers why Vite dev servers and non-CORS static servers…
remotion
Render a short (10s) video on any topic with Remotion - the agent writes a storyboard JSON, a bundled React/Remotion project renders it to an MP4, and the clip is committed to the repo and delivered by URL. No editor, no external generative API.
component-new
Scaffold a new React component with matching test file and consistent folder layout, following the project's conventions in src/features or src/components. Invoke when the user asks to create, scaffold, or add a new component.
continuum-tools-mcp
Connect MCP servers (Stdio/SSE/StreamableHTTP) to a Continuum agent, configure tool filtering, set up tool-context capture/injection (e.g. sessionid), and read run artifacts (UI widgets, structured tool data). Invoke when the user asks "connect MCP", "filesystem tool", "remote API tool", "auto-capture sessionid"…
continuum-handoffs
Build agent-to-agent transitions with Continuum's Handoff system — triage routing, history summarization modes (FULL/SUMMARY/RECENTN/HYBRID), cycle detection, depth tracking, return-to-parent. Invoke when the user asks "route customer requests to specialists", "agent that can transfer to another", "summarize history…