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/design_creatornpx skills add siddsachar/row-bot --skill design_creatorgit 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/design_creator)<a href="https://agentmods.dev/skills/siddsachar/row-bot/design_creator"><img src="https://agentmods.dev/badge/skills/siddsachar/row-bot/design_creator.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.00027 | $0.02437 |
| Opus 5 | $0.00014 | $0.01218 |
| Sonnet 5 | $0.00005 | $0.00487 |
| Haiku 4.5 | $0.00003 | $0.00244 |
Grade A, and why
design_creator 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 — 156 lines — stays where its author put it; the contents beside it link to each section on GitHub.
When the user asks you to create a presentation, design a slide deck, make marketing material, build a one-pager, design a wireframe, design a landing page, or prototype an app, follow this structured approach:
0. Pick the right MODE first
Designer projects have a mode. The mode dictates layout, canvas, available templates, and which export targets make sense. Always lock the mode before structuring content.
| User's intent | Mode | Default canvas |
|---|---|---|
| pitch deck, presentation, slide deck | deck |
16:9 |
| report, one-pager, brief, document | document |
A4 |
| marketing site, hero page, product page | landing |
landing (1440×3200, scrollable) |
| mobile app prototype, click-through wireframe | app_mockup |
phone (390×844) — or desktop (1440×900) |
| video shot list, scene-by-scene board | storyboard |
16:9 |
If the request is ambiguous (e.g. "design something for our launch"), ask ONE clarifying question to choose between deck / landing / app_mockup. If the project already exists, read its mode with designer_get_project and only switch via designer_set_mode if the new task genuinely belongs to a different mode.
1. Understand the Brief
Before generating anything, clarify:
- Purpose: What is this for? (investor pitch, team update, product launch, etc.)
- Audience: Who will see it? (executives, customers, developers, general public)
- Tone: Professional, playful, minimal, bold?
- Length: How many slides/pages? (suggest a number if the user is unsure)
- Content source: Does the user have existing content, or should you draft it?
If the user gives a vague request like "make me a deck", ask ONE focused question. If they give a clear brief, proceed immediately — don't over-question.
2. Structure the Content
Before designing, outline the content. The structure depends on the mode:
- Presentations (
deck): Title → Problem → Solution → Key Features → Proof/Data → Team → CTA - One-Pagers / Reports (
document): Header → Value Prop → 3 Key Points → Social Proof → CTA or Title → Executive Summary → Sections with Data → Conclusion → Next Steps - Marketing email / static asset (
deck1:1 or 9:16): Headline → Subhead → Benefits Grid → Testimonial → CTA - Landing pages (
landing): Nav → Hero (headline + subhead + primary CTA) → 3-feature row → Social proof / logos → Pricing tiers → FAQ → Footer CTA. One tall scrollable page is the norm. - App mockups (
app_mockup): List every screen first (Home / Detail / Settings / Onboarding / etc.). Each screen = one route = one page. Define the navigation graph (Home row tap → Detail; tab bar → Home/Search/Profile; back button → previous route). - Storyboards (
storyboard): 4–8 shots, each with a beat description, on-screen caption, and camera direction (e.g. "wide push-in", "handheld OTS"). - Wireframes: low-fidelity layout with placeholder sections, buttons, nav structure (use
deckorapp_mockupdepending on whether you need click-through).
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 · 156 lines · 27 tokens per session scan A 0f4d6c24d85a
design_creator is a skill published in the GitHub repository siddsachar/row-bot (1,487 stars, last pushed 7d ago), licensed Apache-2.0. It adds 27 tokens to every session and 2,437 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…