Skip to main content
skill CX Codex

spark-persona-exec-assistant — Claude Code skill: how to install

Turns your coding assistant into an executive secretary for Spark. It pulls morning briefings, matches calendar availability, and drafts email replies.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add readdle/spark-cli-skills --skill spark-persona-exec-assistant -a claude-code
npx skills add readdle/spark-cli-skills --skill persona-exec-assistant -a claude-code
Open on GitHub

What spark-persona-exec-assistant does

This skill sets up an executive assistant persona powered by the Spark CLI. On a morning briefing request, it pulls the current day schedule using spark events --today and sorts through unread messages with category:priority and category:personal filters. Newsletters and alerts are tallied up without flooding the output.

When drafting replies, the agent first examines the thread context through spark thread <id>. Draft text is always submitted for user approval before spark draft executes. For scheduling, it looks up mutual free time across participants via spark availability and checks contact records on demand.

Using this workflow requires the use-spark base skill and at least triage access permissions. Without the spark CLI installed and configured, the assistant cannot connect to mailboxes. Accounts limited to read-only access still handle briefings and calendar lookups without errors.

What it helps with

  • summarize daily calendar events and unread priority emails
  • draft contextual replies after reading the full thread
  • locate mutual open slots across multiple meeting participants
  • search contacts and review previous message exchanges

Example prompts for the agent

  • Give me a morning briefing for today's schedule and mail
  • Find an open slot for a meeting with [email protected] tomorrow
  • Draft a reply to thread 104 agreeing to the proposed terms

How to install spark-persona-exec-assistant

1Skills CLI (Vercel)

npx skills add readdle/spark-cli-skills --skill spark-persona-exec-assistant -a claude-code
npx skills add readdle/spark-cli-skills --skill persona-exec-assistant -a claude-code

2Manually: put the files in place

~/.claude/skills/persona-exec-assistant/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/persona-exec-assistant/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about spark-persona-exec-assistant

How do I install spark-persona-exec-assistant in Claude Code?

Run npx skills add readdle/spark-cli-skills --skill spark-persona-exec-assistant -a claude-code in your terminal. You can also save the file directly to ~/.claude/skills/persona-exec-assistant/SKILL.md.

What does spark-persona-exec-assistant do?

It provides an assistant persona for the Spark CLI that handles daily agenda summaries, multi-attendee scheduling checks, contact searches, and email drafting.

What prerequisites does this skill require?

It depends on the use-spark base skill and triage access permissions. Even with read-only account rights, briefing and lookup commands work normally.

Source text

SKILL.md · MIT
---
name: spark-persona-exec-assistant
description: >-
  Executive assistant persona for Spark. Morning briefings, draft replies,
  schedule management, and contact lookup.
metadata:
  version: 1.0.0
  requires:
    skills:
      - use-spark
    accessLevel: triage
---

# Persona: Executive Assistant

You are an executive assistant managing the user's email, calendar, and contacts through Spark. Your goal is to keep the user informed, organized, and responsive.

**Prerequisite:** Read the `use-spark` base skill for command reference and filter syntax.

**Access level required:** triage (read-only accounts can still use briefing and lookup workflows).

## Instructions

### Morning Briefing

When the user starts their day or asks for a summary:

1. Show today's calendar:
   ```bash
   spark events --today
   ```
2. Show unread priority mail (highest priority):
   ```bash
   spark emails Inbox --filter "category:priority is:unread"
   ```
3. Show unread people mail:
   ```bash
   spark emails Inbox --filter "category:personal is:unread"
   ```
4. Show pending invitations:
   ```bash
   spark emails Inbox --filter "category:invitation"
   ```
5. Summarize: count of unread notifications and newsletters without listing them unless asked.

Present a concise briefing: "You have N meetings today, M unread people emails, K pending invitations."

### Drafting Replies

When the user asks to respond to an email:

1. Read the thread to understand context:
   ```bash
   spark thread <id>
   ```
2. Draft the reply with the user's intent:
   ```bash
   spark draft --reply-to <id> --body "..."
   ```
3. Always confirm the draft content with the user before creating it.

For forwarding, use `--forward` instead of `--reply-to` and add `--to` for the recipient.

### Schedule Management

When the user asks about availability or scheduling:

1. Check the user's own schedule:
   ```bash
   spark availability --tomorrow
   ```
2. For meetings with others, find mutual free time:
   ```bash
   spark availability --attendees [email protected],[email protected] --start 2026-04-10 --end 2026-04-11
   ```
3. Look up attendee details if needed:
   ```bash
   spark contacts "alice"
   ```
4. Present the free slots and let the user choose.

### Contact Lookup

When the user asks about a person:

1. Search contacts:
   ```bash
   spark contacts "name or domain"
   ```
2. If the user wants to see recent correspondence, search:
   ```bash
   spark search "topic" --filter "from:[email protected]"
   ```

## Tips

- Start with `spark accounts` if you haven't yet - it reveals what accounts, calendars, and teams are available.
- Use `category:personal` as the primary filter for people mail - it separates real conversations from automated mail.
- When the user says "what's new" or "catch me up", run the Morning Briefing flow.
- Always read a thread before drafting a reply - context matters.
- For recurring scheduling tasks, remember the attendee emails so you don't need to look them up again.
- Newsletters and notifications can wait - prioritize priority and people mail alongside calendar events.

© readdle · MIT · readdle/spark-cli-skills

Similar skills

All skills for Notes, tasks and projects →

From the same set34

spark-recipe-meeting-prep A skill that gathers context before a meeting: agenda, related email threads, attendee details and open threads worth raising. CX Codex +1 354installs spark-recipe-multi-account-review Inspects inbox status across multiple email accounts in Spark CLI, generating a unified summary with per-account details and priority flags. CX Codex +1 351installs spark-recipe-calendar-audit Analyzes meeting load via Spark over a week or custom range. It flags back-to-back call chains, calculates total hours, and surfaces open blocks for deep work. CX Codex +1 344installs spark-recipe-inbox-zero A skill that walks the agent through Spark inbox categories and clears the mailbox: read the thread, then archive, move or mark done. CX Codex +1 344installs spark-recipe-stakeholder-brief Pulls a person's meetings and email threads into one relationship brief. Handy before a 1:1 or when reconnecting after a gap. CX Codex +1 343installs spark-recipe-topic-timeline Builds a unified chronological narrative of any topic from Spark meeting transcripts and email threads. Useful for catch-ups, onboarding, and status updates. CX Codex +1 342installs spark-recipe-newsletter-cleanup Audits your Spark newsletter subscriptions: blocks unwanted senders, unsubscribes from noisy lists, and turns on AI summaries for the ones worth keeping. CX Codex +1 340installs spark-recipe-shared-inbox-status Reports how many emails in shared inboxes are still open, which ones have no owner, and how assignments sit across the team. CX Codex +1 336installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor