Install any skill in seconds. Free to start, no credit card required.
Get Started Free →hashgraph-online/email
Use when a val sends email, receives email, or is triggered by an incoming email. Covers email-type vals (the Email handler shape, attachment limits, the assigned val email address) and sending mail via std/email.
Passed 25 of 25 test cases with the skill, and 15 of 25 without it.
and 10 more in the full report
10 fixed15 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 10 test cases the skill fixed. Same model, same prompt, with and without the skill.
When an email containing attached PDF documents arrives at an email val in Val Town, what data type does the handler receive in the attachments field of the email payload?
| Checked | Without skill | With skill |
|---|---|---|
| Identifies attachments as an array of standard File objects | Missed | Passed |
The instructions your model reads when the skill loads.
Val Town supports both directions: vals can be triggered by incoming mail (email-type vals) and can send mail via std/email.
Email vals (fileType: "email") run when a message is delivered to the val's assigned address.
// Learn more: https://docs.val.town/vals/email/
// Email type: {
// from: string,
// to: string[],
// subject?: string,
// text?: string,
// html?: string,
// attachments: File[],
// headers: Record<string, string>
// }
export default async function (e: Email) {
console.log(e.from, e.subject, e.text);
}
The file must have an export — export default for the handler.
Maximum 30MB per message, including attachments. Larger messages will be rejected.
When you list files or create an email-type file, the response includes links.email — the address that triggers this val. Always read this from the API response. Never construct an email address yourself — the format is owned by the platform and may change.
std/emailFor outgoing mail, import from std/email:
import { email } from "https://esm.town/v/std/email";
await email({
test cases passed, vs 15 / 25 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.