Generate family-office HTML emails with a two-layer format: executive summary first, then deep-dive narrative with provenance. Use this before sending any outbound HTML email from family personas.
Resources
1Install
npx skillscat add hvkshetry/stewardos/family-email-formatting Install via the SkillsCat registry.
SKILL.md
Family Email Formatting (Executive Summary + Deep Dive)
Use this skill whenever composing outbound HTML email for family-office personas.
Workflow
- Determine persona alias (
cos,estate,hc,hd,io,wellness). - Load persona variant from
references/persona-variants.json. - Render layout from
references/base-template.md. - Build a two-layer response in this order:
- Executive Summary (2-minute scan): KPI cards, action table, and signal graph.
- Deep Dive and Provenance: narrative analysis, assumptions, caveats, and source attribution.
- Keep the executive layer compact, but make the deep dive complete enough for auditability.
Mandatory style rules
- Keep one shared layout for all personas.
- Apply nuance only through accent color, role label, and signature/footer copy.
- Inline styles only.
- No markdown in final body.
- Executive Summary must come before Deep Dive.
- Deep Dive must include where information came from:
- MCP-backed facts: cite MCP server/tool names.
- Web research: include links actually consulted.
- Do not omit narrative context when decisions or tradeoffs are involved.
Recommended visual hierarchy
- Header band (role + subject + date context).
- Executive Summary heading + one short narrative paragraph.
- KPI strip (2 to 4 cards).
- Action table.
- Signal graph/progress bars.
- Deep Dive narrative.
- Provenance table (claim, source system/tool, link/reference).
- Closing and signature.
Provenance guidance
- Prefer concrete attribution, e.g.
MCP: paperless.search_documentsorMCP: google-workspace-personal-ro.get_calendar_events. - For web lookups, include direct URLs.
- If no web sources were used, explicitly state that in the deep-dive or provenance section.
Automation reply contract
After sending with Gmail tools, return JSON only:
{"status":"sent","sent_message_id":"<id>","thread_id":"<thread_id>","from_email":"<alias_email>","to":"<recipient_or_list>"}