Capability Check

VerifiedSafe

Checks whether a specific action (sending a message, accessing calendar, etc.) is possible by testing permissions, required services, and configuration. Helps diagnose why a feature is not working.

Sby Skills Guide Bot
ProductivityIntermediate
1306/2/2026
Claude CodeCursorWindsurf
#capability-check#troubleshooting#permissions#system-diagnostics#apple-script

Recommended for

Our review

This skill checks whether a specific action is possible and diagnoses any blockers by testing permissions, configurations, and system prerequisites.

Strengths

  • Quickly identifies missing permissions or misconfigurations.
  • Provides a ready-to-use capability matrix for common services.
  • Automates checks with simple shell scripts.
  • Covers many macOS services (messaging, calendar, contacts, notes, etc.).

Limitations

  • Requires target applications to be installed and configured in advance.
  • Checks are macOS-specific (uses AppleScript).
  • Only identifies blockers; does not resolve them.
When to use it

Use this skill when you are unsure whether a certain action can be performed or to troubleshoot why it is failing.

When not to use it

Do not use it for actions that do not involve system permissions or third-party services.

Security analysis

Safe
Quality score88/100

The skill runs read-only diagnostic commands (pgrep, osascript, grep, ls) to check system capabilities. No destructive, exfiltrating, or obfuscated actions are included.

No concerns found

Examples

Send iMessage
Can I send an iMessage? Check my capability to send a message.
Read Calendar
Check if I have permission to read my calendar.
Troubleshoot Contacts
Why am I unable to read my contacts? Diagnose the issue.

name: capability description: Check if a specific action is possible and what might be blocking it. Use when asking if you can do something, checking permissions, verifying a capability exists, or troubleshooting why something isn't working. Trigger words: can I, capability, able to, permission, possible, how do I. context: fork allowed-tools:

  • Bash
  • Read
  • Grep
  • Glob

Capability Check

Verify if a specific action is possible and diagnose any blockers.

Capability Inventory

Full capabilities documentation: ~/.claude-mind/self/inventory.md

Access Patterns

# Read full inventory (comprehensive reference)
cat ~/.claude-mind/self/inventory.md

# Search for specific capability
grep -ni "search term" ~/.claude-mind/self/inventory.md

# List all sections
grep "^## " ~/.claude-mind/self/inventory.md

Quick Capability Matrix

| Capability | Method | Requires | |------------|--------|----------| | Send iMessage | AppleScript via Samara | Samara running, Automation permission | | Send image | send-image script | Pictures folder workaround | | Read calendar | AppleScript | Calendar permission | | Write calendar | AppleScript | Calendar permission | | Read contacts | AppleScript | Contacts permission | | Read/write notes | AppleScript | Notes permission | | Send email | AppleScript | Mail permission | | Post to Bluesky | bluesky-post script | Credentials in config | | Browse web | Playwright MCP | MCP server running | | Take screenshot | screenshot script | Screen recording permission | | Read Messages DB | Direct file access | Full Disk Access | | Run shell commands | Bash | Always available | | Read/write files | Direct | Always available |

Checking Specific Capabilities

Messaging

pgrep -q Samara && echo "Samara: OK" || echo "Samara: Not running"
~/.claude-mind/system/bin/message "test" --dry-run 2>/dev/null

Calendar

osascript -e 'tell application "Calendar" to get name of calendars' 2>&1

Contacts

osascript -e 'tell application "Contacts" to get name of first person' 2>&1

Notes

osascript -e 'tell application "Notes" to get name of first note' 2>&1

Mail

osascript -e 'tell application "Mail" to get name of first account' 2>&1

Bluesky

grep -q "bluesky" ~/.claude-mind/system/config.json && echo "Bluesky: Configured" || echo "Bluesky: Not configured"

Full Disk Access

ls ~/Library/Messages/chat.db 2>/dev/null && echo "FDA: OK" || echo "FDA: Missing"

Troubleshooting Flow

  1. Identify the capability: What action is being attempted?

  2. Check prerequisites:

    • Is the required app/service running?
    • Are permissions granted?
    • Is configuration present?
  3. Test minimally: Run simplest possible version of the action

  4. Check logs: Look for error messages

log show --predicate 'process == "osascript"' --last 2m
  1. Report findings: What works, what doesn't, what to fix

Common Blockers

  • "Not authorized to send Apple events": Missing Automation permission
  • "Operation not permitted": Missing FDA or specific permission
  • "Application isn't running": Need to launch the app first
  • "No such file": Script or config missing
Related skills