Capability Check

VerifiedSafe

Verify if a specific action is possible and diagnose any blockers. Use to check permissions, verify capability existence, or troubleshoot why something isn't working.

Sby Skills Guide Bot
DevelopmentIntermediate
506/2/2026
Claude Code
#capability#permissions#troubleshooting#automation#system

Recommended for

Our review

Checks whether a specific action is possible and diagnoses any blockers such as missing permissions, services, or configuration.

Strengths

  • Systematic approach to testing capabilities.
  • Uses simple, reproducible bash commands.
  • Covers a wide range of system integrations (Messages, Calendar, Contacts, etc.).
  • Avoids trial and error by providing clear diagnostics.

Limitations

  • Relies on system-specific scripts and permissions that may vary by setup.
  • Requires upfront configuration (credentials, system permissions).
  • Some checks may produce incomplete or misleading error messages.
When to use it

Use this skill when you need to verify whether an action (e.g., sending an iMessage, reading contacts) is possible before attempting it.

When not to use it

Avoid using it when permissions and configurations are already known to work, or when the action is trivial and does not require verification.

Security analysis

Safe
Quality score85/100

This skill only provides diagnostic commands (pgrep, osascript, ls, grep) to check system capabilities. It does not execute destructive actions, exfiltrate data, or use obfuscated payloads. The declared tools (Bash, Read, Grep, Glob) are used for harmless introspection.

No concerns found

Examples

Check iMessage capability
Can I send an iMessage from this environment? Check what's blocking it.
Permission troubleshooting for calendar
Why can't I read the calendar? Check my capabilities and diagnose any blockers.
Overall capability inventory
Show me what actions I'm currently able to perform and what permissions are missing.

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