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 agentmods add commands/ch-bas/kibana-plugin-helper/embeddablegit clone --depth 1 https://github.com/ch-bas/kibana-plugin-helperWhat 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 | $0.00028 | $0.01191 |
| Opus 5 | $0.00014 | $0.00596 |
| Sonnet 5 | $0.00006 | $0.00238 |
| Haiku 4.5 | $0.00003 | $0.00119 |
Grade A, and why
embeddable 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 2d 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 — 104 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Generate Kibana Embeddable
Create a custom Embeddable that can be rendered inside Kibana Dashboards or other container contexts. Ask the user for:
- Embeddable type ID (snake_case, e.g.
my_plugin_widget) - Display name (human-readable, e.g. "My Plugin Widget")
- What it renders (description of the visualization or content)
- Input parameters (what data/config the embeddable accepts from the dashboard)
- Output parameters (what data the embeddable exposes to the dashboard/container)
- Data source: Does it query Elasticsearch directly, use a saved object, or receive all data via input?
- Interactive? Does it emit events (e.g. filter clicks, drilldowns)?
- Needs saved object reference? Can users save/load configurations for this embeddable?
Generation Steps
-
Create the embeddable directory structure:
public/embeddable/ ├── index.ts ├── my_embeddable.tsx # The embeddable class ├── my_embeddable_factory.ts # Factory for creating instances ├── my_embeddable_component.tsx # React component rendered inside └── types.ts # Input/Output interfaces -
Define Input and Output interfaces in
types.ts:- Input extends
EmbeddableInput— includesid,title,timeRange,filters,query, plus custom fields - Output extends
EmbeddableOutput— includes any data the embeddable exposes to the container
- Input extends
-
Create the Embeddable class:
- Extends
Embeddable<MyInput, MyOutput> - Implements
render(node: HTMLElement)andreload()methods - Renders a React component into the provided DOM node
- Handles input changes via
this.getInput()andthis.updateInput() - Handles output updates via
this.updateOutput() - Implements
destroy()for cleanup (unmount React, cancel subscriptions)
- Extends
-
Create the EmbeddableFactory:
- Extends
EmbeddableFactoryDefinition - Sets
type,displayName,grouping,getIconType() - Implements
create(input, parent?)to instantiate the embeddable - Optionally implements
getExplicitInput()for a creation wizard/modal - Optionally implements
canCreateNew()andisEditable()
- Extends
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.
- 2d ago First seen · 104 lines · 28 tokens per session scan A 1e4f00711608
embeddable is a command published in the GitHub repository ch-bas/kibana-plugin-helper (3 stars, last pushed 6mo ago), licensed MIT. It adds 28 tokens to every session and 1,191 once invoked, about $0.0001 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-31.
Other commands, from other repositories
status
Show tlive daemon, channel, and Codex companion status.
url
Print the tlive web terminal/dashboard link + QR code.
dead-code-scan
Scan for dead code, unused imports, duplicates, and zombie code across the project.
esp-teach
One-time project setup -- discover hardware, find datasheets, persist context to CLAUDE.md.
dead-code-clean
Actively find and remove dead code, unused imports, duplicates, and zombie code.
swift-critique
Critique SwiftUI code for patterns, design, clean code, accessibility, and performance.