Row-Bot is a local-first desktop AI assistant that combines language models with memory and tools for working across files, repositories, workflows, and communication channels. It is intended for people who want an assistant that can run locally while keeping application data on their machine.
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 skills/siddsachar/row-bot/row_bot_status_guidenpx skills add siddsachar/row-bot --skill row_bot_status_guidegit clone --depth 1 https://github.com/siddsachar/row-botWrote 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/siddsachar/row-bot/row_bot_status_guide)<a href="https://agentmods.dev/skills/siddsachar/row-bot/row_bot_status_guide"><img src="https://agentmods.dev/badge/skills/siddsachar/row-bot/row_bot_status_guide.svg" alt="Measured on agentmods" 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 | $0.00021 | $0.02970 |
| Opus 5 | $0.00010 | $0.01485 |
| Sonnet 5 | $0.00004 | $0.00594 |
| Haiku 4.5 | $0.00002 | $0.00297 |
Grade A, and why
row_bot_status_guide 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 5d 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 — 121 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ROW-BOT STATUS & SELF-MANAGEMENT:
- You have tools to query your own configuration and diagnose issues.
QUERYING STATUS (row_bot_status):
- Use category='overview' for a full summary across all areas.
- Use category='version' to check the Row-Bot version number.
- Use category='model' to check the current Brain model, provider, context window, and the complete active pinned Brain model choices.
- Use category='channels' to see which messaging channels are running.
- Use category='memory' for knowledge graph entity/relation counts.
- Use category='skills' to list Skill Library availability, pinned defaults, and default active skills by surface.
- Use category='tools' to list global enabled/disabled tools, plugin runtime tools, and the effective thread tool scope when an Agent Profile is active.
- Use category='plugins' to inspect installed/enabled plugins, stale legacy plugins moved aside, plugin tools, and plugin channels.
- Use category='providers' to check provider connections, credential source labels, runtime health, and Quick Choice counts. Model catalog browsing, pinning, and defaults live in Settings -> Models.
- Use category='insights' to check active dream-cycle insights, the last insight analysis time, and recent insight titles.
- Use category='api_keys' only for legacy/API key storage status. It never shows key values.
- Use category='identity' to check the configured assistant name and personality.
- Use category='tasks' to summarise active scheduled tasks.
- Use category='agents' to inspect current durable Agent Runs, subagents, workflow mirrors, active writer locks, and V1 agent defaults.
- Use category='agent_profiles' to inspect Agent Profile Library counts, enabled/disabled state, sources/scopes, the active thread profile, and whether tools are selected or inherited when a thread is in context.
- Use category='goals' to inspect current Goal Mode status, current-thread goal state, turn budgets, progress, blockers, and verifier failures.
- Use category='vision' to check the Vision model, provider/runtime model, enabled state, camera config, provider/custom-endpoint readiness, and pinned Vision model choices. For custom endpoints, note whether Vision was verified, failed, inconclusive, or skipped because of a manual override.
- Use category='image_gen' to check the current image generation model and pinned Image model choices.
- Use category='video_gen' to check the current video generation model and pinned Video model choices.
- Use category='voice' for the full voice runtime: Talk, Dictate, local vs Realtime Talk, Dictation model, Speech Output model/voice, captions, Realtime readiness, active Row-Bot run status, active-run controls, and recent Realtime diagnostics.
- Use category='config' for context window caps, dream cycle, wiki vault, memory extraction.
- For "what tools do you have available?", answer effective thread tools first when category='tools' reports an active selected-tools Agent Profile; mention the global catalog separately.
- A selected Agent Profile allow-list is runtime-bound: non-selected global tools are not bound to the turn's agent graph while that profile is active.
- A profile with no allow-list inherits all globally enabled tools; do not describe that as a sandbox.
- Avoid saying tools are "maybe blocked" when status reports an active allow-list; say the global tool exists but is not bound under the current profile.
- Use category='designer' to check designer project count and recent projects.
- Use category='updates' to check the app version, update channel, last update check, and available release state.
- Use category='logs' for recent warnings and errors (WARNING+ level, newest first).
- Use category='errors' for recent errors with tracebacks — use this to diagnose failures.
VOICE STATUS MODEL:
- Row-Bot exposes only two user-facing voice modes: Talk and Dictate.
- Dictate is STT-only. It writes text into the composer and must not call the LLM until the user explicitly presses Send.
- Talk can use either Local Talk or Realtime Talk. These are runtimes/providers, not extra user-facing modes.
- Local Talk uses local STT plus the normal Row-Bot send path, then local Speech Output when enabled.
- Realtime Talk is a voice transport/backchannel. It gives live microphone/caption/speech behavior, but serious work still goes through the normal Row-Bot agent, tools, memory, browser/computer-control policy, and approval gates.
- Realtime must not be treated as a second independent agent. It must not claim tool results or call normal app/browser/filesystem/shell tools directly.
- The intended Realtime substantive bridge policy is consult/control only: substantive work goes through row_bot_agent_consult, and active-run status/cancel/follow-up/steer goes through row_bot_agent_control. Realtime may also have a quiet no-op wait_for_user action for silence/background/non-addressed audio; this is not a normal Row-Bot tool.
- When category='voice' reports an active Row-Bot run, use that output to answer status questions such as "what are you doing?", to identify approval waits, and to see whether cancel/follow-up/steer are available.
- Follow-up and steer requests received while a run is active are queued for a safe boundary and then routed through the normal Row-Bot send path.
- If Realtime fails, check category='voice' first for recent voice.realtime.pipeline diagnostics, microphone permission state, client event failures, provider output lifecycle, and stuck Thinking clues. Then use category='logs' or category='errors' if more detail is needed.
- Common failure patterns:
- Transcript appears but no thread update: check the Row-Bot consult bridge and active generation status.
- Thread updates but no speech: check output_started, response_done, client_event_failed, function_call_ready/function_call_output diagnostics, and the Realtime response payload shape.
- Stuck Thinking: check active Row-Bot run status, queued controls, producer errors, and recent realtime diagnostics.
- Microphone prompts after restart: check microphone_permission diagnostics and whether the native WebView persistent profile is active.
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.
- 5d ago First seen · 121 lines · 21 tokens per session scan A 5e0b1af402f7
row_bot_status_guide is a skill published in the GitHub repository siddsachar/row-bot (1,487 stars, last pushed 7d ago), licensed Apache-2.0. It adds 21 tokens to every session and 2,970 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-30.
Other skills, from other repositories
rich-post
Send a Telegram rich-media post to ANOTHER allowlisted chat via the bot (Bot API 10.1 sendRichMessage) - text, inline images, tables, headings, lists, quotes, collapsible blocks, formulas, collages/slideshows ALL in one message bubble. Use when the owner asks to post somewhere other than the current conversation (the…
telegram-userbot
Подключение и работа с личным Telegram-аккаунтом владельца (userbot, НЕ бот). Используй, когда просят читать личные чаты/переписку/диалоги, искать по своим сообщениям, писать кому-то от своего имени, «зайди в мой телеграм», «подключи мой телеграм», «прочитай личку», «ответь в личке», «перешли сообщение», а также при…
memory-processor
Iva's daily-memory processor. Reads the day's two-sided transcript (daily/YYYY-MM-DD.md), distills noteworthy entities / decisions / ideas into typed autograph cards, links them into the graph, and produces a daily-summary card (topics + MOC) that navigates down to the raw transcript and up to the week. Model-agnostic…
agent-browser
Браузерная автоматизация для интерактивных веб-задач. Используй, когда нужно открыть сайт, заполнить форму, кликнуть, сделать скриншот, залогиниться, спарсить JS-страницу или протестировать веб-приложение. Триггеры — «зайди на сайт», «заполни форму», «нажми кнопку», «скриншот страницы», «войди в аккаунт», «спарси…
update-recovery
Restore or merge user customizations preserved during an Iva update. Use when the owner says "restore my update changes", "recover my customizations", «верни мои изменения после обновления», «восстанови мои доработки» or asks about an update conflict.
security-defense
Procedures for handling untrusted content, suspected prompt injection, secret exposure, data exfiltration, and manual security inspection. Use for emails, web pages, forwarded messages, webhooks, group content, or a suspected leak. Do not use as a general claim that every command or model call is automatically…