Samara-main capability

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.

install
source · Clone the upstream repo
git clone https://github.com/claudeaceae/samara-main
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/claudeaceae/samara-main "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/capability" ~/.claude/skills/claudeaceae-samara-main-capability && rm -rf "$T"
manifest: .claude/skills/capability/SKILL.md
source content

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

CapabilityMethodRequires
Send iMessageAppleScript via SamaraSamara running, Automation permission
Send image
send-image
script
Pictures folder workaround
Read calendarAppleScriptCalendar permission
Write calendarAppleScriptCalendar permission
Read contactsAppleScriptContacts permission
Read/write notesAppleScriptNotes permission (legacy)
Shared workspace notesFilesystem
~/.claude-mind/shared/
(preferred)
Send emailAppleScriptMail permission
Post to Bluesky
bluesky-post
script
Credentials in config
Browse webPlaywright MCPMCP server running
Take screenshot
screenshot
script
Screen recording permission
Read Messages DBDirect file accessFull Disk Access
Run shell commandsBashAlways available
Read/write filesDirectAlways available

Checking Specific Capabilities

Messaging

launchctl list co.organelle.Samara 2>/dev/null | grep -q 'PID' && 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

Shared Workspace (Preferred)

ls ~/.claude-mind/shared 2>/dev/null

Notes (Legacy)

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