Mailkit workflow
Skill gaelic-ghost/socket/plugins/apple-dev-skills/skills/mailkit-workflow
Design macOS MailKit extensions for content blocking, message actions, compose sessions, and message security with explicit privacy, capability, target, and validation boundaries. Use when a macOS app needs to extend Apple Mail.From its SKILL.md
npx -y skills add gaelic-ghost/socket --skill mailkit-workflowAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
8.3 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it
MailKit Workflow
Purpose
Design macOS MailKit app extensions around Apple Mail’s documented handler model. MailKit supplies an MEExtension entry point and four distinct capabilities: content blocking, message actions, compose-session handling, and message security. This skill owns that Mail-specific behavior and its privacy boundary.
It does not own a mail server, IMAP/SMTP transport, account provisioning, general authentication, generic extension mechanics, or Messages/iMessage collaboration.
When To Use
- Use this skill when a macOS app needs a MailKit extension that blocks remote content, acts on downloaded messages, participates in composition, or secures messages.
- Use this skill when selecting
MEContentBlocker,MEMessageActionHandler,MEComposeSessionHandler, orMEMessageSecurityHandlerand theirMEExtensionCapabilitiesdeclaration. - Use
app-extension-architecture-workflowwhen the extension point or app/extension target architecture is not yet settled. - Use
file-provider-and-finder-sync-workflowfor remote files and Finder behavior, not message attachments or mail synchronization. - Use Messaging Collaboration Skills for Messages/iMessage, communication notifications, VoIP, or Push to Talk behavior.
- Recommend
xcode-build-run-workflow,xcode-testing-workflow, andmacos-distribution-workflowfor their respective execution boundaries.
Single-Path Workflow
- Classify the MailKit capability:
- use a content blocker for declarative remote-content rules shown in Mail
- use message actions for a decision as Mail downloads a message
- use compose sessions for recipient validation, compose-window UI, delivery suitability, or custom headers
- use message security for encryption and digital signatures
- split capabilities only when each one has a concrete Mail behavior and privacy case
- State the documented MailKit behavior relied on:
MEExtensionsupplies handlers for the capabilities declared inMEExtensionCapabilities- enabled content-blocking extensions continue to apply their rules even when a person asks Mail to load remote content
- message action decisions run as Mail downloads messages, not as a retroactive bulk-mail automation contract
- compose-session approval is a delivery gate, not an excuse to silently alter recipient intent
- Set up the target boundary:
- keep the containing macOS app responsible for onboarding, settings, account-independent configuration, and user explanation
- keep the Mail extension responsible for its selected MailKit handlers and short, deterministic decisions
- declare only the chosen capabilities in the extension’s
Info.plist; do not advertise handlers that are not implemented
- Design each handler conservatively:
- content blocker: generate narrow JSON rules, explain their effect, and provide a test corpus for allowed and blocked content
- message action: use explicit, explainable rules and avoid irreversible actions unless the user has made the policy clear
- compose session: validate only what the feature needs, provide focused UI when justified, fail delivery with a concrete user-readable reason, and make custom headers intentional
- message security: identify key material, trust policy, signing/encryption state, user consent, failure recovery, and interoperable message expectations before implementation
- Protect mail data:
- minimize access to message bodies, recipients, headers, attachments, and remote-content identifiers
- do not log raw message content, addresses, tokens, cryptographic material, or full headers
- keep any shared configuration separate from message-derived data; use an App Group only when the app and extension have a documented shared-data need
- Validate in layers:
- verify the macOS target, extension point,
MEExtensionCapabilities, signing, embedding, install, and Mail enablement state - test representative messages and account states in a non-production mailbox
- test content-blocker rules, action decisions, compose allow/deny outcomes and UI, or security encryption/signature success and failure paths as applicable
- prove that disabled, interrupted, malformed, missing-key, and offline conditions produce clear behavior without leaking mail data
- verify the macOS target, extension point,
- Return the chosen handler set, documented behavior, Mail/app data boundary, privacy policy, validation matrix, and next handoff.
Inputs
request: optional Mail integration request.capability: optionalcontent-blocker,message-action,compose-session,message-security, orunknown.data_policy: optional restrictions for message bodies, metadata, shared settings, key material, and logs.distribution: optional development, notarized, App Store, or unknown path.- Defaults:
- macOS MailKit only
- least-privilege handler set
- no message-content retention or external transmission without an explicit product decision
- focused MailKit handler tests before broad delivery claims
Outputs
status:success,handoff, orblocked.mailkit_plan:- selected capability or capabilities and documented behavior relied on
- target,
Info.plist, handler, and user-control boundary - message-data, privacy, logging, key-material, and shared-state plan
- handler-specific test cases and distribution validation
- explicit next workflow handoff
Guards and Stop Conditions
- Do not describe MailKit as a general-purpose mail transport, mailbox sync engine, or arbitrary Apple Mail UI automation API.
- Do not use content blocking to bypass user intent; enabled MailKit content blockers have durable effects in Mail.
- Do not silently alter, archive, flag, sign, encrypt, reject, or add headers to messages without a documented handler contract and clear user-facing policy.
- Do not retain or log raw message data, recipient addresses, headers, attachment contents, secret keys, signatures, or decrypted content by default.
- Do not confuse Message Filter extensions, Messages/iMessage apps, or Safari content blockers with MailKit.
- Stop with
blockedwhen the requested feature needs unsupported message access, undocumented Mail control, hidden recipient manipulation, or security/key-management behavior that has not been designed and validated.
Fallbacks and Handoffs
- Recommend
app-extension-architecture-workflowfor reusable target, lifecycle, entitlement, shared-container, and process-isolation design. - Recommend
xcode-build-run-workflowfor the Mail extension target, capability configuration, signing, embedding, install, and Mail enablement work. - Recommend
xcode-testing-workflowfor repeatable handler, message-fixture, and UI validation. - Recommend
macos-distribution-workflowfor release signing, notarization, Gatekeeper, and artifact evidence. - Recommend
explore-apple-swift-docswhen current MailKit symbols or capability behavior need source-specific confirmation. - Recommend
references/snippets/apple-xcode-project-core.mdfor reusable containing-app and extension-target project guidance.
Customization
Use references/customization-flow.md.
scripts/customization_config.py preserves the common customization-file contract. Mail handler choice, message policy, and security decisions remain project-specific and must not be converted into opaque persistent defaults.
References
Workflow References
references/mailkit-capabilities-and-handler-boundaries.mdreferences/privacy-security-and-validation.mdreferences/customization-flow.md
Authoritative Sources
Support References
- Recommend
references/snippets/apple-xcode-project-core.mdfor reusable Xcode project guidance for MailKit app and extension targets.
Script Inventory
scripts/customization_config.py
What ships with it: 7 files
4.4 KB alongside SKILL.md, 1 of them executable
agents/
- openai.yaml622 B
references/
scripts/
- customization_config.pyruns71 B