qqqqqf-q/arkloop/activity-record

Claude Code and agent skill by qqqqqf-q/arkloop

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Query and orchestrate Arkloop Activity Record local activity data. Covers browser history, search terms, screen time, bluetooth, shell commands, window focus, keyboard, mouse, clipboard, screen content (accessibility tree), microphone audio transcription, and Codex sessions.

Install

npx vskill@latest install qqqqqf-q/arkloop/activity-record

SKILL.md

Activity Record

Activity Record stores normalized local activity facts in:

bash
~/.Arkloop/activity-record/activity.db

Use bounded SQL queries. Always include a time range or LIMIT.

Tables

activity_events
ColumnDescription
occurred_atRFC3339 timestamp
sourceSource key (see Sources below)
source_event_idStable dedup key
appApp or profile name
window_titleActive window title when available
urlURL when available
actionEvent action
titleShort event title
textLonger text when available
metadata_jsonSource-specific JSON
ref_kind, ref_keyOptional reference pointer
source_cursors

Incremental sync state per source. Diagnostics only.

activity_refs

Optional reference files.

Sources and Actions

chrome — Chromium Browser History

Covers Chrome, Chrome Canary, Chromium, Edge, Brave. Multi-profile.

ActionTitleMetadata
visitedPage titleprofile, duration_sec, foreground_sec
downloadedFilenameprofile, path, size_bytes, mime_type
searchedSearch termprofile, normalized_term
safari — Safari History (macOS)
ActionTitleMetadata
visitedPage titledomain, visit_count, load_successful, score
screentime — macOS Screen Time (knowledgeC.db)
ActionTitleMetadata
app_usedApp namebundle_id, source_bundle, device_id, duration_sec
screen_on"screen on"duration_sec
screen_off"screen off"duration_sec
notification_receivedApp namebundle_id
media_usedApp namebundle_id, duration_sec, url, media_url
media_playingTrack title or appbundle_id, duration_sec, playing, artist, album, genre
web_usedDomainbundle_id, web_domain, duration_sec
bluetooth_connectedDevice namedevice_name, device_type, is_apple_audio_device, duration_sec
bluetooth_disconnectedDevice nameSame as above
shell — Shell Command History

Reads ~/.zsh_history and ~/.bash_history. Deduplicated by command hash.

ActionTitleMetadata
commandCommand (truncated)shell, line_num. Full command in text column.
codex — Claude Code Sessions
ActionTitleMetadata
promptedPrompt textsession_id, cwd
receivedResponse textsession_id, cwd, model
window — Active Window Tracking (daemon)
ActionTitleMetadata
focused"App - Window Title"duration_sec, pid
idle_start"idle"idle_threshold_sec
idle_end"idle"—
keyboard — Keystroke Counting (daemon)
ActionTitleMetadata
keystroke_count"N keystrokes in App"count, interval_sec, app, window_title
mouse — Mouse Activity (daemon)
ActionTitleMetadata
mouse_activity"N clicks, N scrolls in App"clicks, scrolls, interval_sec, app, window_title
clipboard — Clipboard Changes (daemon)
ActionTitleMetadata
clipboard_changedContent previewlength. Full text in text column when enabled.
ax — Screen Content via Accessibility Tree (daemon, macOS)

Captures visible text from the focused window by walking the macOS accessibility tree. No screen capture or OCR involved — zero WindowServer overhead.

ActionTitleMetadata
ax_snapshot"App - Window Title"element_count, text_length, walk_duration_ms, content_hash, pid, truncated, truncation_reason

Text content: full visible text from the focused window is stored in the text column. Content is deduplicated by SHA-256 hash — identical screens do not produce repeated events.

Browser URL: extracted via AXDocument attribute when the focused app is a browser. Available in the url column.

Excluded apps: password managers (1Password, Bitwarden, KeePassXC, LastPass, Dashlane, Keychain Access) and incognito/private browsing windows are skipped entirely.

audio — Microphone Transcription (daemon)

Transcribes microphone speech via an OpenAI-compatible API. Each segment passes an RMS gate, voice-activity detection, and music filtering before transcription, so only segments containing speech are stored.

ActionTitleMetadata
audio_transcriptionTranscript previewduration_sec, device, language, model. Full transcript in text column.

Text content: the full transcript of each speech segment is stored in the text column. Overlapping words between consecutive segments are deduplicated.

Examples

Recent activity across all sources:

sql
SELECT occurred_at, source, action, title, url
FROM activity_events
ORDER BY occurred_at DESC
LIMIT 50;

What apps were used today (Screen Time):

sql
SELECT title AS app, COUNT(*) AS sessions,
SUM(json_extract(metadata_json, '$.duration_sec')) AS total_sec
FROM activity_events
WHERE source = 'screentime' AND action = 'app_used'
AND occurred_at >= datetime('now', '-1 day')
GROUP BY title ORDER BY total_sec DESC
LIMIT 20;

Recent browser searches:

sql
SELECT occurred_at, title AS search_term, url
FROM activity_events
WHERE source = 'chrome' AND action = 'searched'
AND occurred_at >= datetime('now', '-7 days')
ORDER BY occurred_at DESC
LIMIT 50;

Recent shell commands:

sql
SELECT occurred_at, text AS command
FROM activity_events
WHERE source = 'shell' AND action = 'command'
ORDER BY occurred_at DESC
LIMIT 30;

Bluetooth device connections:

sql
SELECT occurred_at, action, title AS device,
json_extract(metadata_json, '$.duration_sec') AS duration
FROM activity_events
WHERE source = 'screentime' AND action LIKE 'bluetooth%'
ORDER BY occurred_at DESC;

Music playing history:

sql
SELECT occurred_at, title,
json_extract(metadata_json, '$.artist') AS artist,
json_extract(metadata_json, '$.album') AS album
FROM activity_events
WHERE source = 'screentime' AND action = 'media_playing'
ORDER BY occurred_at DESC
LIMIT 20;

Window focus timeline:

sql
SELECT occurred_at, app, window_title,
json_extract(metadata_json, '$.duration_sec') AS sec
FROM activity_events
WHERE source = 'window' AND action = 'focused'
AND occurred_at >= datetime('now', '-1 day')
ORDER BY occurred_at DESC
LIMIT 50;

Recent screen content (what the user is reading/doing):

sql
SELECT occurred_at, app, window_title, url,
substr(text, 1, 500) AS screen_text,
json_extract(metadata_json, '$.element_count') AS elements
FROM activity_events
WHERE source = 'ax'
AND occurred_at >= datetime('now', '-1 day')
ORDER BY occurred_at DESC
LIMIT 30;

Screen content for a specific app:

sql
SELECT occurred_at, window_title, url,
substr(text, 1, 800) AS screen_text
FROM activity_events
WHERE source = 'ax' AND app = 'Google Chrome'
AND occurred_at >= datetime('now', '-4 hours')
ORDER BY occurred_at DESC
LIMIT 20;

Recent audio transcripts (meetings, conversations):

sql
SELECT occurred_at,
substr(text, 1, 500) AS transcript,
json_extract(metadata_json, '$.duration_sec') AS dur
FROM activity_events
WHERE source = 'audio'
AND occurred_at >= datetime('now', '-1 day')
ORDER BY occurred_at DESC
LIMIT 30;

Memory Rules

Write only durable context to memory_write:

  • Stable preferences and habits.
  • Ongoing projects and decisions.
  • Important events with useful future context.
  • Clear changes in workflow or priorities.

Do not write Notebook entries. Do not persist raw OCR, raw transcripts, app-switch logs, secrets, one-time codes, or unverified fragments.

Security

  • Security scanPassed, 91 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
374
Repository forks
36
7-day trend score
30

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/qqqqqf-q/arkloop/activity-record/badge)](https://verified-skill.com/skills/qqqqqf-q/arkloop/activity-record)

Something wrong with this skill or its page? Tell us.