spark-recipe-invitation-manager — Claude Code skill: triage calendar
Walks through pending calendar invitations, checks whether each proposed time is free, and returns a decision list with recommendations.
npx skills add readdle/spark-cli-skills --skill spark-recipe-invitation-manager -a claude-code
npx skills add readdle/spark-cli-skills --skill recipe-invitation-manager -a claude-codeWhat spark-recipe-invitation-manager does
The skill pulls inbox mail tagged invitation, reads each thread with spark thread <id>, and notes the proposed time, attendees and purpose. Then it compares those slots against your calendar: spark events --today, spark events --start 2026-04-14 --end 2026-04-14, or spark availability when you want free windows fast.
What comes back is a decision list. Accept if the slot is open, conflict if something else overlaps (the skill names it), needs discussion if you are technically free but the meeting itself is unclear. A separate step reviews invitation responses through the category:invitation_response filter and reports who accepted, declined or proposed another time.
Access is read-only, so nothing on the calendar gets changed. The use-spark base skill has to be in place first — it holds the command reference and filter syntax, and the steps will not run without it. For recurring meetings the skill suggests reading the whole thread: what matters is whether the series works long term, not just the next occurrence. When a conflict turns up, it checks availability around the proposed date and offers an alternative.
What it helps with
- triage a backlog of pending calendar invitations in one pass
- check whether a proposed meeting time is actually free
- spot an overlap with an existing event and name it
- see who accepted an invitation or proposed another time
- find an alternative slot near the proposed date
Example prompts for the agent
- show my pending calendar invitations and tell me which ones I can accept
- check my availability for every meeting in my unread invitations
- who replied to my invitations and offered a different time
How to install spark-recipe-invitation-manager
1Skills CLI (Vercel)
npx skills add readdle/spark-cli-skills --skill spark-recipe-invitation-manager -a claude-codenpx skills add readdle/spark-cli-skills --skill recipe-invitation-manager -a claude-code2Manually: put the files in place
~/.claude/skills/recipe-invitation-manager/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/recipe-invitation-manager/
1Skills CLI (Vercel)
npx skills add readdle/spark-cli-skills --skill recipe-invitation-manager -a codex2Manually: put the files in place
.agents/skills/recipe-invitation-manager/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add readdle/spark-cli-skills --skill recipe-invitation-manager -a cursor2Manually: put the files in place
.cursor/skills/recipe-invitation-manager/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install readdle/spark-cli-skills recipe-invitation-manager2Manually: put the files in place
.github/skills/recipe-invitation-manager/SKILL.md1Skills CLI (Vercel)
npx skills add readdle/spark-cli-skills --skill recipe-invitation-manager -a gemini-cli2Platform CLI
gemini skills install https://github.com/readdle/spark-cli-skills --path skills/recipe-invitation-managerManually: put the files in place
.devin/skills/recipe-invitation-manager/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add readdle/spark-cli-skills --skill recipe-invitation-manager -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about spark-recipe-invitation-manager
How do I install spark-recipe-invitation-manager in Claude?
Run npx skills add readdle/spark-cli-skills --skill spark-recipe-invitation-manager -a claude-code. The skill file then lands at ~/.claude/skills/recipe-invitation-manager/SKILL.md.
What does spark-recipe-invitation-manager do?
It collects pending invitations from your inbox, reads the details of each meeting, checks the times against your calendar and returns a list with recommendations: accept, conflict or needs discussion.
What does the skill need to work?
The use-spark base skill, which carries the command reference and filter syntax. This skill runs at read-only access, so it does not modify your calendar.
Source text
SKILL.md · MIT
---
name: spark-recipe-invitation-manager
description: >-
Process pending calendar invitations: check availability and present a
decision list with recommendations.
metadata:
version: 1.0.0
requires:
skills:
- use-spark
accessLevel: read-only
---
# Recipe: Invitation Manager
Process pending calendar invitations by checking availability for each and presenting a decision list with recommendations.
**Prerequisite:** Read the `use-spark` base skill for command reference and filter syntax.
**Access level required:** read-only.
## Steps
### Step 1: List pending invitations
```bash
spark emails Inbox --filter "category:invitation"
```
Collect all pending invitations. Note the senders, subjects, and IDs.
### Step 2: Read each invitation
For each invitation, read the thread to understand the meeting details:
```bash
spark thread <id>
```
Note the proposed time, attendees, and purpose.
### Step 3: Check availability for each
For each invitation's proposed time, check whether the user is free:
```bash
spark events --today
```
Or for a specific date range:
```bash
spark events --start 2026-04-14 --end 2026-04-14
```
For a broader view:
```bash
spark availability --start 2026-04-14 --end 2026-04-14
```
### Step 4: Present a decision list
Summarize each invitation with a recommendation:
- **Accept** - the user is free at the proposed time
- **Conflict** - the user has an overlapping event (name the conflict)
- **Needs discussion** - the user is technically free but the meeting needs clarification
### Step 5: Check invitation responses
Review any invitation responses the user has received:
```bash
spark emails Inbox --filter "category:invitation_response"
```
Report who accepted, declined, or proposed alternative times.
## Tips
- Process invitations daily - they're time-sensitive and forgetting one can mean missing an important meeting.
- Use `availability` to quickly check free slots rather than scanning through `events` manually.
- Invitation responses (`category:invitation_response`) are a separate category - check them to see who RSVPed.
- For recurring meeting invitations, read the thread to check if the pattern works long-term, not just the next occurrence.
- When there's a conflict, suggest an alternative time by checking `availability` around the proposed date.
- Combine with `recipe-schedule-meeting` when an invitation leads to rescheduling.
© readdle · MIT · readdle/spark-cli-skills