pyapple-mcp: Skill for Claude Code

.claude/skills/pyapple/SKILL.md

pyapple is a skill for Claude Code from 54yyyu/pyapple-mcp. It costs 98 tokens per session (13,454 once invoked), scanned A, original, MIT.

A skill for handling a software project through written planning, test-driven development, and a continuously updated project wiki. Test-driven development means writing tests before or alongside the code they check.

In plain words
What is it for?
Use it to plan features, propose changes, implement them with tests, review the result, update the wiki, or query existing project knowledge.
Why use it?
It provides a repeatable path from an idea to an implementation, review, and recorded project knowledge.

Skill for Claude Code

Written for Claude Code: installed under .claude/.

This is 54yyyu/pyapple-mcp's own configuration. It tells Claude Code how to work on pyapple-mcp itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything pyapple-mcp configures →

Reuse

Borrowing it

Nothing to install: this file belongs to 54yyyu/pyapple-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/54yyyu/pyapple-mcp/main/.claude/skills/pyapple/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/54yyyu/pyapple-mcp

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for pyapple

README.md
[![agentmods](https://agentmods.dev/badge/skills/54yyyu/pyapple-mcp/pyapple.svg)](https://agentmods.dev/skills/54yyyu/pyapple-mcp/pyapple)
Your own site
<a href="https://agentmods.dev/skills/54yyyu/pyapple-mcp/pyapple"><img src="https://agentmods.dev/badge/skills/54yyyu/pyapple-mcp/pyapple.svg" alt="Measured on agentmods" height="20"></a>
Per session 98 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 13,454 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00098 $0.13454
Opus 5 $0.00049 $0.06727
Sonnet 5 $0.00020 $0.02691
Haiku 4.5 $0.00010 $0.01345

Measured 7d ago against content hash 14e967d05093, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

pyapple scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/pyapple/SKILL.md · 968 lines

How it starts

The opening of the file, as written. The whole thing — 968 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Driving pyapple

pyapple reads and writes eight Apple apps on the machine it runs on, and answers two questions about the machine itself. §1 is the lookup table: find the operation, copy the shape, go. Everything after it is what the shape does not tell you.

pyapple <tool> <operation> --help remains the authority on defaults and semantics. Ten tools — messages, mail, contacts, reminders, calendar, notes, maps, shortcuts, presence, doctor — plus pyapple perms, which is not a tool.

Two things to reach for before you go anywhere else. After any exit 3, run pyapple doctor report — it says which macOS grant is missing and where to click, and it distinguishes that from a grant it could not determine (§2). And if a send comes back saying Nothing was sent, that is not a failure: this install requires confirmation, and §11 is the flow.


1. Every operation, and its shape

88 operations. <x> is positional, [x] optional, A|B a fixed choice. --json, --read-only and --perms work on every one of them and are omitted here. The class column is what the policy gate charges (§7). --confirm-token is omitted too and belongs to §11; it is on messages send, messages send-attachment, messages schedule, mail send, mail reply and mail forward.

Seven flags take a space-separated list, not a comma-separated one: messages conversations --participants, and on calendar --invitees, --recurrence-days, --minutes-before, --alarm-minutes-before, --alarm-at. Writing --invitees "[email protected],[email protected]" makes one malformed address, and on --invitees that address gets mail.

Spellings below are canonical, and a handful of flags answer to a second name so that a wrong guess works rather than exiting 2 — --since/--until on calendar windows, --from-date on mail and messages reads, --from-address/--to-address on maps directions, --id for --event-id and --chat-id, --contact for contacts --name, --title/--name either way round on a create. Use the canonical one; the full table is in the README's Alternative flag spellings. Nothing was renamed and no old spelling was removed.

Read the full file on GitHub · 968 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 7d ago First seen · 968 lines · 98 tokens per session scan A 14e967d05093

Subscribe to this mod's changes

pyapple is a skill published in the GitHub repository 54yyyu/pyapple-mcp (17 stars, last pushed 1mo ago), licensed MIT. It adds 98 tokens to every session and 13,454 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

apple-mail

Use this skill when the user wants to manage Apple Mail on macOS - reading, searching, sending, replying to, forwarding, and organizing emails and mailboxes. This skill provides access to Apple Mail through MCP tools.

sweetrb/apple-mail-mcp · 47 tokens

apple-notes

Manage Apple Notes via memo CLI: create, search, edit.

mateaix/mateclaw · 17 tokens

apple-notes

Use this skill when the user wants to interact with Apple Notes on macOS - creating, searching, reading, updating, deleting, organizing, or formatting notes and folders. This skill provides access to Apple Notes through MCP tools and includes safe formatting guidance.

sweetrb/apple-notes-mcp · 54 tokens

confirmation-protocol

Foresay-derived confirmation workflow for email operations. Use this skill BEFORE executing archive-mail with vague filters, composeemail (sending mail), deleteemail/moveemail in bulk, or any operation that touches 5+ emails. Show user a structured preview of "what I understood" before taking action, achieving…

PsychQuant/che-apple-mail-mcp · 88 tokens

bulk-operation-preview

Show structured preview of bulk email operations (5+ emails) before execute. Group by thread, flag false-positive candidates, count side-effect scope (files written, attachments downloaded, mailboxes touched). Use after email-search-disambiguation finishes Phase 1, as Phase 2 of the confirmation protocol.

PsychQuant/che-apple-mail-mcp · 64 tokens

email-search-disambiguation

A clarification step for email searches when a person, time period, direction, or scope is unclear. It presents specific possible meanings so the user can choose one.

PsychQuant/che-apple-mail-mcp · 91 tokens