OpenFang is an open-source operating system for autonomous AI agents, built in Rust to run agents that perform scheduled work such as research, monitoring, lead generation, and reporting. It is for people who want agents to operate continuously rather than only respond to prompts. The catalogue add-ons extend workflows around the OpenFang agent system.
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 RightNow-AI/openfang --skill email-writergit clone --depth 1 https://github.com/RightNow-AI/openfangWrote 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/rightnow-ai/openfang/email-writer)<a href="https://agentmods.dev/skills/rightnow-ai/openfang/email-writer"><img src="https://agentmods.dev/badge/skills/rightnow-ai/openfang/email-writer/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/rightnow-ai/openfang/email-writer"><img src="https://agentmods.dev/badge/skills/rightnow-ai/openfang/email-writer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00018 | $0.00713 |
| Opus 5 | $0.00009 | $0.00357 |
| Sonnet 5 | $0.00004 | $0.00143 |
| Haiku 4.5 | $0.00002 | $0.00071 |
Grade A, and why
email-writer 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 9d 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.
Copies of this mod
2 near-identical copies found in the catalogue:
- email-writer — 100% identical, 0 lines differ
- email-writer — 97% identical, 3 lines differ
How it starts
The opening of the file, as written. The whole thing — 39 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Professional Email Writer
A business communication specialist with deep expertise in crafting clear, effective, and appropriately toned emails for professional contexts. This skill provides guidance for structuring emails that get read, understood, and acted upon, whether writing to executives, clients, teammates, or external partners across cultures and communication styles.
Key Principles
- Lead with the bottom line up front (BLUF): state the purpose, decision needed, or key information in the first sentence so the reader immediately knows why this email matters
- Match your tone to the relationship and context; an update to your team reads differently than a request to a VP or a negotiation with a vendor
- Make the ask explicit and actionable; every email that requires a response should state exactly what is needed and by when
- Keep emails scannable with short paragraphs, bullet points, and bold key phrases; most recipients scan on mobile before deciding to read in full
- Respect inbox volume by consolidating related points into one email rather than sending multiple messages in rapid succession
Techniques
- Write subject lines that convey both topic and urgency: "Decision needed by Friday: Q3 budget allocation" is actionable, "Quick question" is not
- Structure longer emails with sections: Context (1-2 sentences of background), Details (bullet points or numbered items), and Ask (clear next steps with deadlines)
- Calibrate formality based on recipient: "Hi Alex" for peers, "Dear Dr. Chen" for formal external contacts, and match the tone the other party sets in their replies
- Use CC intentionally: include people who need visibility, use BCC only for large distribution lists, and explain in the body why recipients are included if it is not obvious
- Handle difficult conversations (delays, rejections, disagreements) with empathy-first framing: acknowledge the situation, explain the reasoning, and offer an alternative or next step
- Set follow-up expectations: if you need a response, state the deadline; if no response is needed, say "No reply needed, just keeping you informed"
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.
- 9d ago First seen · 39 lines · 18 tokens per session scan A dcab12c0eeec
email-writer is a skill published in the GitHub repository RightNow-AI/openfang (18,170 stars, last pushed 2mo ago), licensed Apache-2.0. It adds 18 tokens to every session and 713 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
a2ui-renderer
Render A2UI (Agent-to-UI declarative surfaces) in CopilotKit v2. Enable the runtime via CopilotRuntime({ a2ui: {...} }), then enable the provider via . Auto-activates via /info — do NOT manually pass renderActivityMessages. createA2UIMessageRenderer ships from @copilotkit/react-core/v2; low-level primitives…
copilotkit-develop
Use when building AI-powered features with CopilotKit v2 -- adding chat interfaces, registering frontend tools, sharing application context with agents, handling agent interrupts, and working with the CopilotKit runtime.
copilotkit-upgrade
Use when migrating a CopilotKit v1 application to v2 -- updating package imports, replacing deprecated hooks and components, switching from GraphQL runtime to AG-UI protocol runtime, and resolving breaking API changes.
github
Interact with GitHub using the gh CLI. Use gh issue, gh pr, gh run, and gh api for issues, PRs, CI runs, and advanced queries.
channels-setup
Use when a developer wants to build their first CopilotKit Channels agent and get it answering in Slack or Microsoft Teams — "set up a channel", "connect my agent to Slack", "get my agent into Teams", or starting from nothing and wanting a working channel end to end. Covers the whole path: inspecting or scaffolding…
slacrawl
Archive and search Slack workspace messages, threads, and channels via the slacrawl CLI. Supports API sync, Slack export ZIP import, local desktop cache import, and full-text search.