skills/ambient-context/SKILL.md
Manage Claude Code's ambient awareness system. Use when the user wants to add context events, check pending events, manage the filesystem watcher, troubleshoot the ambient system, or integrate external event sources. Triggers on "ambient", "event queue", "what happened while I was away", "context events", or "watcher status".
npx skillsauth add szoloth/skills ambient-contextInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A clawdis-inspired system for machine awareness and automatic context injection between Claude Code sessions.
This skill manages the ambient context system that:
# Manual event
~/.claude/bin/claude-event "message" --source NAME --priority LEVEL
# External event (simplified)
~/.claude/bin/claude-external-event SOURCE "message"
# Examples
~/.claude/bin/claude-event "Completed auth refactor" --source dev --priority normal
~/.claude/bin/claude-external-event ci "Build passed for dwa-prototypes"
~/.claude/bin/claude-external-event calendar "Meeting with Sarah in 15 minutes"
# List pending events (without draining)
ls -la ~/.claude/events/*.event 2>/dev/null | wc -l
# Preview event content
for f in ~/.claude/events/*.event; do
[ -f "$f" ] && jq -r '"\(.priority | ascii_upcase): [\(.source)] \(.message)"' "$f"
done 2>/dev/null
# Status
launchctl list | grep claude.ambient
# Logs
tail -20 /tmp/claude-watcher.log
# Restart
launchctl unload ~/Library/LaunchAgents/com.claude.ambient-watcher.plist
launchctl load ~/Library/LaunchAgents/com.claude.ambient-watcher.plist
# Stop
launchctl unload ~/Library/LaunchAgents/com.claude.ambient-watcher.plist
# Install in current repo
ln -sf ~/.claude/bin/claude-git-hook .git/hooks/post-commit
# Install in specific repo
ln -sf ~/.claude/bin/claude-git-hook /path/to/repo/.git/hooks/post-commit
urgent - Meetings, critical failures, blockers → Shows with "!" prefix, always displayed normal - Commits, deploys, significant changes → Shows with "-" prefix, always displayed low - Minor code edits, routine changes → Shows with "-" prefix, filtered if >5 events
~/.claude/
├── events/ # Event queue (ephemeral, auto-cleaned)
│ └── *.event # JSON event files
├── bin/
│ ├── claude-event # Core event CLI
│ ├── claude-external-event
│ └── claude-git-hook
├── watchers/
│ └── project-watcher.sh
├── hooks/
│ ├── session-start-hook.sh # Drains events
│ └── drain-events.sh
└── ambient/
└── README.md # Full documentation
~/Library/LaunchAgents/
└── com.claude.ambient-watcher.plist
The filesystem watcher monitors these directories (edit ~/.claude/watchers/project-watcher.sh to change):
# Edit the watcher script
vim ~/.claude/watchers/project-watcher.sh
# Add to WATCH_DIRS array:
# WATCH_DIRS=(
# "$HOME/dwa-prototypes"
# "$HOME/your-new-project" # Add here
# )
# Restart watcher
launchctl unload ~/Library/LaunchAgents/com.claude.ambient-watcher.plist
launchctl load ~/Library/LaunchAgents/com.claude.ambient-watcher.plist
Add to existing scripts like ~/clawd/scripts/morning.sh:
# At end of script
~/.claude/bin/claude-external-event morning "Morning briefing completed"
# In webhook handler
~/.claude/bin/claude-external-event ci "Deploy v1.2.3 to production succeeded"
Create a Shortcut with "Run Shell Script":
~/.claude/bin/claude-external-event calendar "Meeting starting: [Meeting Name]"
# Email check (every 30 min)
~/.claude/bin/claude-external-event email "$(mail -H | wc -l) new emails"
Check events exist:
ls ~/.claude/events/*.event 2>/dev/null
Test drain manually:
~/.claude/hooks/drain-events.sh
Verify hook is in session-start:
grep drain-events ~/.claude/hooks/session-start-hook.sh
Check launchd status:
launchctl list | grep claude.ambient
# Should show PID and exit code 0
Check for errors:
cat /tmp/claude-watcher-error.log
Verify fswatch installed:
which fswatch
Check watch directories exist:
for d in ~/dwa-prototypes ~/prototype-01 ~/training-app ~/clawdis; do
[ -d "$d" ] && echo "✓ $d" || echo "✗ $d (missing)"
done
Default TTL is 4 hours. To change, edit ~/.claude/bin/claude-event:
TTL_HOURS=4 # Change to desired hours
EVENT SOURCES QUEUE DRAIN
─────────────────────────────────────────────────────────────
fswatch ─┐
git ─┼──▶ claude-event ──▶ ~/.claude/events/ ──▶ session-start
CI/CD ─┤ (ephemeral) │
calendar─┤ TTL: 4 hours ▼
manual ─┘ Max: 20 Claude sees
context
Key principles from clawdis system-events:
content-media
Fetch transcripts from YouTube videos for summarization and analysis.
documentation
This skill should be used when reviewing or editing written drafts to ensure they match Sam's personal style guide. It prioritizes voice preservation and anti-beige detection while catching structural gaps. Triggers on requests to review, edit, or improve written content.
tools
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
development
Web search and content extraction using Brave Search. Use when researching topics, finding documentation, extracting article content, or gathering information from the web. No browser required - works headlessly.