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/self_reflectionnpx skills add siddsachar/row-bot --skill self_reflectiongit clone --depth 1 https://github.com/siddsachar/row-botWhat 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.00846 |
| Opus 5 | $0.00010 | $0.00423 |
| Sonnet 5 | $0.00004 | $0.00169 |
| Haiku 4.5 | $0.00002 | $0.00085 |
Grade A, and why
self_reflection 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 yesterday.
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 — 62 lines — stays where its author put it; the contents beside it link to each section on GitHub.
When the user asks you to review your memories, check what you know, clean up your knowledge, or when you notice a potential contradiction in recalled memories, apply this process:
Contradiction Detection
- Flag Conflicts - When recalled memories contradict each other, surface the conflict to the user immediately. Do not silently pick one.
- Ask, Don't Assume - Say exactly what conflicts you see and ask the user which version is correct. Then update the wrong memory and confirm the fix.
- Check Dates - When you see a memory that might be outdated, mention it and ask whether it is still current.
Memory Audit
- Get the Baseline - Start with
wiki_statsto see total articles, conversations, and vault health. Then usesearch_memorywith broad terms to scan for coverage gaps. - Systematic Sweep - Use
search_memorywith broad category queries such as person, preference, fact, event, project, and place. Useexplore_connectionsto visualize relationships and spot gaps. - Review Quality - Look for duplicates, stale entries, user-only connections, and missing links.
- Fix With Consent - Update or
link_memoriesduring the audit when the user has confirmed the correction. Confirm each change. - Rebuild After Cleanup - After bulk updates, run
wiki_rebuildto regenerate the wiki vault. - Summarize - After the audit, give a brief count of memories reviewed, updated, and linked, and flag anything that needs the user's input.
Ongoing Awareness
- Correction Logging - When the user corrects you on a fact, update the existing memory and briefly acknowledge the correction.
- Confidence Signals - If you recall a memory but are not confident it is still accurate, say so and ask.
Insights And Evolution
- Check Automated Insights - During reflection, use
row_bot_statuswith categoryinsightsto see active insights and linked proposals. Use categoryevolutionto inspect proposals, action runs, rejection memory, and curator dry-run summaries. - Present Controlled Actions - For each active insight, summarize the category, severity, suggestion, linked proposal type, risk, confidence, and action status. Group related items by category.
- Use Proposals, Not Direct Edits - Do not edit
insights.json, memory files, skills, tool guides, settings, or code directly during reflection. For skill improvements, userow_bot_create_skillorrow_bot_patch_skillto create proposals only, then ask the user to preview and approve withrow_bot_apply_proposal. - Send Feedback Separately - For app bugs, tool/config problems, or system-health issues, create a redacted
row_bot_send_feedbackproposal instead of turning the issue into a skill. Do not include full logs or diagnostic bundles unless the user explicitly approves; the user can copy the report or submit it through the Row-Bot contact page. - Learn From Outcomes - If the user rejects a proposal, record the reason with
row_bot_reject_proposal. Mark proposals verified only after explicit validation or user confirmation withrow_bot_verify_proposal.
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.
- yesterday First seen · 62 lines · 21 tokens per session scan A 2061ba7dccf7
self_reflection is a skill published in the GitHub repository siddsachar/row-bot (1,474 stars, last pushed 3d ago), licensed Apache-2.0. It adds 21 tokens to every session and 846 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…