The Problem
Email and calendar workflows are repetitive and time-consuming: triaging inboxes, preparing for meetings, and auditing team workloads. AI agents can automate these tasks, but only if they know the right commands for the underlying tools. Without structured skill definitions, agents either guess at CLI syntax or fail entirely. This repo provides a set of reusable, documented skills that give agents precise, executable workflows for the Spark CLI.
What This Does
spark-cli-skills is a collection of Markdown-based skill definitions for AI agents. The core file is skills/use-spark/SKILL.md, which serves as a complete command reference for the Spark CLI—covering mail, calendar, contacts, teams, and meetings. The remaining 13 files in skills/ are "recipes": each one encodes a specific workflow, such as recipe-morning-standup, recipe-meeting-prep, and recipe-calendar-audit.
Each recipe is a self-contained SKILL.md file that instructs an agent on how to gather context, execute commands, and format output for a particular task. Because the skills are plain Markdown, they are portable across any agent framework that supports the skills standard. The repo includes a README.md with an index and installation instructions, plus an MIT LICENSE.
How It Is Wired
There is no application code or runtime logic in this repo—it is purely declarative skill definitions. Execution starts when an agent loads a skill file (e.g., skills/recipe-morning-standup/SKILL.md) and follows its instructions to invoke Spark CLI commands. The use-spark skill acts as the reference hub; recipes reference its command patterns rather than duplicating syntax.
The wiring is the skills standard itself: an agent framework reads these SKILL.md files, parses the instructions, and executes the described CLI calls against the Spark Desktop app. The external surface is the Spark CLI, which must be enabled in Spark Desktop (Settings → AI Agents → Spark CLI Setup). No database, network service, or build pipeline is involved. The dependency graph is flat—each recipe is independent, and none of them import from each other.
How To Use It
Setup: Requires macOS with Spark Desktop signed in and the CLI enabled. Install skills with the skills CLI:
# Install all skills at once
npx skills add https://github.com/readdle/spark-cli-skills
# Or pick only what you need
npx skills add https://github.com/readdle/spark-cli-skills/tree/main/skills/use-spark
npx skills add https://github.com/readdle/spark-cli-skills/tree/main/skills/recipe-inbox-by-category
Configuration: No environment variables or config files are required. The only prerequisite is enabling the Spark CLI in the Spark Desktop app.
Running it: There is no standalone entry point. You invoke a skill through your agent framework (e.g., Claude, Continue, or similar) by referencing the skill name. The agent reads the SKILL.md and executes the described Spark CLI commands.
Real-World Use
A practical workflow: a manager starts their day by asking their agent to "run the morning standup." The agent loads recipe-morning-standup/SKILL.md, which instructs it to fetch today's calendar events, summarize unread emails by category, and list team assignments. The agent executes the appropriate Spark CLI calls, aggregates the results, and returns a concise briefing—all without the manager opening Spark. The same pattern applies to recipe-meeting-prep before a client call, or recipe-calendar-audit to spot back-to-back meeting chains.
Code Health & Issues
Static analysis of this repo found the following (measured, not opinion):
- Medium - No test files detected - repository-wide. There are zero test files, meaning no automated verification of skill instructions or command syntax. Given the declarative nature, tests would need to be integration-style (executing the skills against a live Spark CLI).
- Medium - No CI/CD pipeline detected - no
.github/or CI config. There is no automated gate for validating skill formatting or catching broken command references.
Beyond these, the repo is clean: no committed secrets, a proper MIT license, and a .gitignore is present. The lack of a lockfile is expected—there is no dependency tree.
The Bottom Line
This is a well-organized, useful set of agent skill definitions for Spark CLI users. The flat structure and plain Markdown make it easy to extend or fork, and the recipes cover genuinely common workflows. The main gaps are the absence of tests and CI, which matter more if this grows beyond a personal toolkit. Teams already using Spark Desktop with an agent framework will get immediate value; anyone else should treat it as a reference for building their own skills.