agentleFS
extrovert-dot-devextrovert-dot-dev/extrovert-skills/configure-himalaya/SKILL.md

configure-himalaya

Skill0 starsChanged 2 months agoMITView on GitHub

Configure Himalaya or another standard mail client for an Extrovert inbox from export_email_config output. Use when an agent runtime needs IMAP and SMTP settings, a mailbox login, a terminal email client, or raw credentials, and explain SMTP review holds, delivery status and safe retries before enabling outbound mail.

The file

We split this skill into the rules it gives an agent

11 rules. About 0 are common, 7 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈7

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read the live guide for current product behavior and use the host's current tool schemas.

    line 19
  2. Very specific:

    Call export_email_config for the inbox only with an explicitly granted mailbox:credentials key on a paid account.

    line 32
  3. Distinctive:

    Keep the same Message-ID and content when retrying an uncertain SMTP submission.

    line 57
  4. Distinctive:

    If the task only requires reading mail, configure IMAP and leave SMTP unused.

    line 70
  5. Distinctive:

    Do not print the generated configuration in shared logs.

    line 74
  6. Distinctive:

    Do not commit it or include it in a prompt.

    line 75
  7. Distinctive:

    Do not copy credentials between inboxes.

    line 76
  8. Distinctive:

    Remove temporary copies after installation.

    line 78
  9. Very specific:

    Use extrovert-send-email for governed outbound work and extrovert-read-inbox for API/MCP reading and triage.

    line 80
  10. Very specific:

    Use inbox display_name for the sender name on API mail.

    line 84
  11. Very specific:

    Create omission/empty uses the local part.

    line 94

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Configure Himalaya

Check current guidance

On first Extrovert use in this session, after one hour (or a shorter returned freshness interval), and after an unknown-tool or schema error, inspect the current tool catalog. Call agent_context only if present; otherwise fetch https://mcp.extrovert.dev/.well-known/agent-contract.json, then https://docs.extrovert.dev/llms.txt. An installed or pinned CLI can run agent status --json if supported. Only when normal installation policy permits an unpinned CLI, use npx --yes --prefer-online @extrovert.dev/mcp agent status --json. Read the live guide for current product behavior and use the host's current tool schemas. If a schema remains stale, refresh the catalog or reconnect before continuing; inspect state before retrying an uncertain mutation.

Compare this skill's metadata.version with its version in live context. A difference signals a refresh to consider, not incompatibility, permission to downgrade, or authorization to install. Preserve explicit pins, local edits, the installation manager, and scope; refresh only the installed Extrovert skills when permitted. Updating files requires two separate reloads: reload and re-read each changed SKILL.md, then restart changed local MCP processes or refresh hosted discovery. If a new session is needed, report that pending step; use live guidance for this task. If freshness is unavailable, report that condition without treating it as disabled signup or permission to guess new behavior. See updates for targeted refresh instructions.

Call export_email_config for the inbox only with an explicitly granted mailbox:credentials key on a paid account. Free accounts cannot export these credentials. Never guess a host, username, port, encryption mode, or password. Treat the response as a secret.

Receiving credentials does not enable direct SMTP. Check the inbox's direct_smtp_enabled value first. It defaults to false; an authorized customer administrator or explicitly granted Full account control connection can change it per inbox. Ordinary mail permissions cannot. It is effective only while paid entitlement remains active. The same password can authenticate IMAP and SMTP, but the mail server rejects raw SMTP when the effective setting is false.

<!-- authorization:start -->
RowToolsRequired scopeBoundary
inbox-credentialsexport_email_configmailbox:credentials plus a paid planConnections may export only within their resource grant. Legacy keys retain ownership checks. Credential export does not confer mail-reading authority.
<!-- authorization:end -->

For Himalaya, request format: "himalaya". Back up an existing ~/.config/himalaya/config.toml, then merge the returned account block instead of overwriting the file. Restrict file permissions to the current user. Test IMAP by listing a folder before attempting SMTP.

Outbound review and delivery

Direct SMTP follows the inbox and account review policies. A required human review is held in the Extrovert review thread; approval, edits, rejection and feedback happen there. An SMTP 250 response means accepted custody, not delivery. Check review status before describing the message as sent. A client's original Sent copy is not proof of delivery, and review edits do not rewrite that local copy.

Keep the same Message-ID and content when retrying an uncertain SMTP submission. The retry resolves to the same review, including after approval or rejection. Changed content needs a new Message-ID. Never work around a pending or rejected review by submitting a new identity without authorization for a new message.

SMTP supports plain text, HTML and ordinary attachments: at most 50 total To/Cc/Bcc recipients, 20 attachments, and 1,800,000 encoded bytes including headers and bodies. Signed/encrypted messages, inline/CID content, embedded messages and unsupported MIME are refused before acceptance. To/Cc/Bcc and supported attachment bytes are preserved. Recipient restrictions, suppression, unsubscribe policy and billing apply at final dispatch. SMTP does not supply the structured intent, category or writing-rule attestation available through API/MCP composition tools.

If the task only requires reading mail, configure IMAP and leave SMTP unused.

Credential safety

  • Do not print the generated configuration in shared logs.
  • Do not commit it or include it in a prompt.
  • Do not copy credentials between inboxes.
  • Rotate credentials if the file or terminal output may have been exposed.
  • Remove temporary copies after installation.

Use extrovert-send-email for governed outbound work and extrovert-read-inbox for API/MCP reading and triage.

Sender display names

Use inbox display_name for the sender name on API mail. Use the inbox management workflow (or SDK inbox create/update) to set it; do not put a full Name <address> in from or try headers.From. Up to 60 Unicode characters after normalization; use a clear personal or organization name without emoji, unsupported invisible characters, embedded addresses, styled letters or fake thread markers. Ordinary Support and bilingual names are valid. Contextually valid Persian and Indic join controls are supported; the service validates their context. An error is a request to correct the name, not to encode, escape or obfuscate it to bypass validation. Ask for a safe replacement when the requested identity cannot be represented safely.

Create omission/empty uses the local part; update omission leaves unchanged and display_name: "" clears to bare-address API mail. Read the normalized result. Existing reviews retain their captured name. SMTP uses the client's own validated From name, including an intentionally bare address; changing the inbox name does not rewrite that SMTP name. Neither setting changes the authorized sender address, review requirement, plan entitlement or proves identity/delivery.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.