email-via-filesystem

Coordinate async email-like messaging through a SQLite-backed filesystem mailbox with locks.

18|3|Updated Mar 5, 2026
One-click install
npx skills add https://github.com/igamenovoer/houmao --skill email-via-filesystem
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: email-via-filesystem
Source: https://github.com/igamenovoer/houmao/tree/main/openspec/changes/archive/2026-03-12-add-agent-mailbox-protocol/skills/email-via-filesystem
Command: npx skills add https://github.com/igamenovoer/houmao --skill email-via-filesystem

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

It eliminates the complexity of coordinating async, email-like message exchange for agents when mailbox state and messages must live on disk with SQLite-backed tracking and lock synchronization.

Core Features & Use Cases

  • Filesystem-backed async mailbox transport: Read, send, reply to, and inspect mailbox messages stored as Markdown files under a runtime-provided mailbox root.
  • Thread-accurate conversation handling: Preserve stored thread ancestry using persisted thread_id and in_reply_to semantics rather than subject-based heuristics.
  • Safe shared-mailbox operations: Use mailbox-local rules and managed helper scripts for sensitive operations touching index.sqlite or locks, following required env bindings and initialization guards.
  • Projection-based message delivery: Maintain canonical immutable message bodies under messages/<YYYY-MM-DD>/..., while inbox/sent entries are symlink projections to those canonical files.

Quick Start

Use email-via-filesystem to have an agent read unread messages and send a reply using the runtime-provided filesystem mailbox bindings.

Frequently Asked Questions about email-via-filesystem

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I coordinate async messaging between agents using a filesystem mailbox?

Async messaging between agents is coordinated by routing email-like messages through a filesystem mailbox backed by SQLite state and lock synchronization. Agents read, compose, and reply to messages stored as files under a runtime-provided mailbox root.

How do file system mailboxes preserve thread ancestry for agent conversations?

Thread ancestry is preserved using a persisted thread_id and in_reply_to semantics rather than subject-based heuristics. This ensures accurate conversation handling across replies stored within the filesystem mailbox.

Do I need SQLite to manage mailbox state and lock synchronization for agent messaging?

SQLite is required to track mailbox state and manage lock synchronization for safe shared access. Shared rules and helper scripts handle sensitive operations touching index.sqlite and locks to prevent race conditions.

What is the best way to project inbox and sent messages from a filesystem transport?

Inbox and sent messages are projected as symlinks to canonical immutable message bodies stored under messages/<YYYY-MM-DD>/. This projection-based delivery separates the canonical files from the agent-facing inbox and sent views.

How do I validate mailbox environment variables for filesystem agent messaging?

Mailbox environment variables must be validated to enforce filesystem transport scope and bind to the runtime-provided mailbox root. Reloading bindings on refresh and following initialization guards ensures safe mailbox inspection.

Can I use filesystem transport for async agent workflows without external messaging brokers?

Filesystem transport enables async agent workflows without external messaging brokers by using Markdown files and SQLite-backed tracking. Lock synchronization ensures safe concurrent mailbox operations directly on disk.