{"id":"c48cc3a6-e83d-4f81-ab54-05ed7e39f616","shortId":"445YZa","kind":"skill","title":"agent-activity-audit","tagline":"Collective intelligence runtime for AI agents. Knowledge graph + persistent memory.","description":"# Agent Activity Audit\n\nThis skill executes a structured pass over recent agent transcripts to learn what's working and\nwhat's hurting. The original audit (May 2026) examined ~30 days of Claude Code and Codex sessions to\nimprove Sibyl itself — see `EXAMPLES.md` for the full reproducible run.\n\nThe output is a synthesis report grounded in real session evidence, plus per-group findings files\nyou can act on directly.\n\n---\n\n## When to use\n\n- You maintain a system that agents call (CLI, MCP server, library, skill) and want signal beyond\n  \"did it work?\"\n- You suspect agents are stumbling on something but can't name what.\n- A planning cycle is about to start and you want product priorities grounded in usage data, not\n  vibes.\n- A new release shipped and you want to see how it landed in the wild.\n\n**Not for:** general code review, security audits, performance benchmarking. This skill reads\nsession transcripts; it doesn't analyze code.\n\n---\n\n## Agent rules (READ FIRST)\n\n1. **Always write artifacts under `contexts/<analysis-name>-<date>/`.** Keep raw scans, episode\n   extracts, and findings in one tree so the analysis is reproducible and the user can replay or\n   extend it.\n\n2. **Filter early, filter hard.** Most transcripts are noise. Triage with cheap grep before spinning\n   up parallel subagents — the goal is to give each subagent ~50-100 KB of focused episode data, not\n   raw multi-MB JSONLs.\n\n3. **Partition by date for the swarm.** Date-based partitions are mutually exclusive, cover the full\n   window, and make convergence across groups easy to spot (same theme in 4+ date ranges = durable\n   issue).\n\n4. **Each subagent writes findings to a file.** Don't let agents return giant prose back to the main\n   thread. Their job: produce `findings/group_<X>.md`, return a ≤250-word summary.\n\n5. **Convergence-first synthesis.** A pain point in 4+ groups is durable. Single-group findings\n   warrant a sanity check before they're elevated. Count evidence; don't trust impressions.\n\n6. **Verify before recommending fixes.** Inspect current source for the surfaces the audit\n   implicates. A finding like \"the CLI rejects `--kind gotcha`\" should point at the enum's actual\n   location.\n\n7. **Capture durable learnings to Sibyl after synthesis.** The point is to feed back into the\n   product graph; use `sibyl remember --kind pattern` (or `--kind decision`) on the substantive\n   findings.\n\n---\n\n## The Workflow\n\n```\ninventory → triage → extract episodes → parallel swarm → synthesis → capture\n```\n\nEach step has fall-back behavior if data shape varies between Claude and Codex transcripts.\n\n### Step 1: Inventory\n\nFind all JSONLs in the target window. Claude lives in\n`~/.claude/projects/<project-slug>/<uuid>.jsonl`, Codex lives in\n`~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl`. Filter by mtime.\n\n```bash\nmkdir -p contexts/<name>-$(date +%F)/triage\ncd contexts/<name>-$(date +%F)\n\n# Last 30 days\nfind ~/.claude/projects -name '*.jsonl' -newermt \"$(date -d '30 days ago' +%F)\" > triage/claude_files.txt\nfind ~/.codex/sessions -name '*.jsonl' -newermt \"$(date -d '30 days ago' +%F)\" > triage/codex_files.txt\ncat triage/claude_files.txt triage/codex_files.txt > triage/all_files.txt\n\nwc -l triage/*.txt\n```\n\n### Step 2: Triage with the scanner\n\nUse `scripts/scan.py` (ships with this skill) to extract per-file statistics: total events, target\ntool-call counts, error counts, user corrections. Runs in parallel.\n\n```bash\nSKILL_DIR=$(dirname \"$(realpath \"$0\")\")  # or hard-code the path\ncat triage/all_files.txt | xargs -P 12 -n 5 python3 \"$SKILL_DIR/scripts/scan.py\" \\\n  --target-name <tool-or-skill-keyword> > triage/scan_results.jsonl\n```\n\nThe scanner detects three shapes of usage:\n\n- **CLI**: Bash/exec_command calls whose command line matches the target's CLI name\n- **MCP**: tool names matching `mcp__<target>__*` or `<target>_*`\n- **Skill**: Skill invocations whose name matches the target\n\nLook at the output to confirm signal quality before proceeding.\n\n### Step 3: Extract focused episodes\n\nEach \"episode\" is a target-tool call plus its preceding user message, assistant text, and tool\nresult. Use `scripts/extract_episodes.py` to write per-session markdown files (~10-30 KB each, vs\nthe 50-500 KB raw transcripts).\n\n```bash\n# Filter to files with actual usage\npython3 -c \"\nimport json\nfor line in open('triage/scan_results.jsonl'):\n    r = json.loads(line)\n    if r.get('target_total', 0) > 0:\n        print(r['path'])\n\" > triage/using_files.txt\n\nmkdir -p episodes\ncat triage/using_files.txt | xargs -P 12 -n 3 python3 \\\n  \"$SKILL_DIR/scripts/extract_episodes.py\" --target <name> episodes\n```\n\n### Step 4: Partition for the swarm\n\nPartition episodes by date (or by file count if the window is shorter). Aim for groups of 20-60\nfiles each, ~500-1500 KB total payload per group. One agent per partition.\n\n```bash\n# Date-based partitions (adjust ranges to your window)\ngrep -E '^claude-' episodes_dir | awk '{print \"episodes/\"$0}' > triage/group_A_claude.txt\ngrep -E '^codex-2026-04-(16|17|18|19|20|21)-' ... > triage/group_B_codex_apr_early.txt\n# ... etc\n\n# Pull out outliers as their own groups. If one session has 8 MB+ episodes, give it its own agent.\n```\n\n### Step 5: Dispatch the swarm (in parallel)\n\nSend all agents in ONE message with multiple Agent tool calls. Use `run_in_background: true`. Each\nagent's prompt should include:\n\n- Goal context (what system, why we're auditing, what good looks like)\n- The exact file list (paste it inline; agents won't always reach for files outside their context)\n- The output schema (structured headings — see template below)\n- The exit shape (≤250 word return summary, full findings to file)\n\n**Findings file template (use this verbatim in agent prompts):**\n\n```markdown\n# Group <id> — <description>\n\n## At-a-glance\n\n- Sessions analyzed: N\n- Total target tool calls: N (with CLI / MCP / skill breakdown)\n- Errored calls: N\n- Date range: first → last ts\n- Projects represented: list\n- Net assessment: Helping / Hurting / Mixed (one sentence)\n\n## Usage patterns (ranked by frequency)\n\nWhat did agents reach for the target to do? How often? How well?\n\n## Top failure modes (with evidence)\n\nVerbatim error message, frequency, blast radius, session refs.\n\n## What genuinely helped\n\nConcrete wins with citations.\n\n## UX friction\n\nConfusing CLI/output, subcommand naming, output formatting, etc.\n\n## User reactions\n\nDirect user messages about the target — corrections, complaints, praise.\n\n## Improvement ideas (ranked by impact)\n\n1. [Issue] → [Specific fix]\n   - Evidence (session refs)\n   - Why it matters\n2. ...\n\n## Surprises\n```\n\n### Step 6: Build cross-cutting data\n\nWhile agents work, do the prep that needs the full corpus, not partitions:\n\n- **Error catalog**: classify all error outputs by pattern. Most-common categories should match what\n  subagents independently find.\n- **Workflow stats**: did sessions follow the full lifecycle?\n  `sessions_using_target / sessions_capturing_knowledge / sessions_completing_lifecycle`.\n- **Retry loops**: same command run 3+ times in a row in any session → signals stuck behavior.\n- **User corrections**: short user messages mentioning the target tool + reaction words (\"ugh\",\n  \"broken\", \"wrong\", \"stop\") → real feedback.\n\n### Step 7: Synthesize\n\nRead all `findings/group_*.md`, the cross-cutting data, and current source code for the surfaces\nimplicated. Write `SYNTHESIS.md` with:\n\n- Executive summary (≤200 words) with net assessment\n- Methodology\n- Baseline metrics\n- What's working (defend these surfaces)\n- What's broken (P0/P1/P2/P3 with evidence)\n- Counterintuitive findings\n- Recommended fixes table (priority × effort × impact)\n- Cross-cutting observations\n- Process notes\n- Artifact appendix\n\n**Cardinal rule:** every claim should cite specific session files. \"Internal Server Error\" with no\nfile reference is a vibe; \"21 ISE responses in 35 minutes across 5 sessions, e.g.\n`codex-2026-04-21-019db33d.md` ep.3\" is evidence.\n\n### Step 8: Capture durable findings to Sibyl\n\nThe audit is itself a learning opportunity. For each P0/P1 finding:\n\n```bash\nsibyl remember \"Sibyl gap: --kind enum drift\" \"CLI --help lists 9 kinds, API accepts 29; agents\nhit Pydantic enum rejections on 'gotcha', 'learning', 'review'. Source: entities.py EntityType\nvs main.py remember --help. Audit: contexts/sibyl-analysis-2026-05-14/SYNTHESIS.md §4 P1.\" \\\n  --kind error_pattern --tags audit,cli,enum\n```\n\nKeep these scoped to the project being audited; future sessions on that project should find them via\n`sibyl recall`.\n\n---\n\n## Quality bar\n\nA good audit:\n\n- Has at least 3 convergent findings (same theme in 4+ partitions).\n- Quantifies impact (calls/month, sessions affected, minutes wasted) rather than naming severity in\n  the abstract.\n- Names current code locations for every recommended fix.\n- Distinguishes design issues from operational issues from documentation issues.\n- Identifies what's working so the team knows what _not_ to change.\n- Captures surprises — the patterns that contradict the team's prior model.\n\nA bad audit:\n\n- Reads like a list of complaints.\n- Has findings that only appear in one session.\n- Recommends fixes without naming code paths.\n- Conflates \"the system is bad\" with \"I'm bad at using the system.\"\n- Misses what's working.\n\n---\n\n## Scaling considerations\n\n- **Big sessions**: any single transcript > 5 MB of episodes deserves its own subagent. The May 10\n  monster session (8.4 MB, 4409 episodes spanning 4 days) needed strategic sampling — read\n  start/middle/end + all error blocks, not top-to-bottom.\n- **Cold sessions**: transcripts where the target tool was barely used are still data. They tell you\n  the agent _didn't reach_ for the tool. That's its own finding.\n- **Cross-project bleed**: if the target lives in one repo but is called from many, partition by cwd\n  as well as date.\n- **Multi-client**: Claude and Codex have different transcript schemas. The scanner handles both but\n  findings should note any client-specific patterns (e.g., Codex agents read SKILL.md every session;\n  Claude agents launch the skill differently).\n\n---\n\n## Caveats\n\n- **Survivorship bias**: agents who got stuck and gave up early produce shorter transcripts. Don't\n  conclude the system is fine from a sample of finished work.\n- **User-message false positives**: filter out boilerplate (`# AGENTS.md`, `<INSTRUCTIONS>`, long\n  task prompts) before flagging \"user reactions.\" Real reactions are short, in lowercase, and often\n  profane.\n- **\"OUTPUT (ERROR)\" over-inclusion**: the episode extractor flags errors heuristically. Filter\n  again on `Process exited with code 1` or `✗` markers before counting real failures.\n- **Don't fix surfaces the team is already redesigning.** Check `sibyl recall <topic>` before\n  writing up a recommendation — the work might already be in flight.\n\n---\n\n## See also\n\n- `EXAMPLES.md` — full worked example: the 2026-05-14 Sibyl self-audit\n- `scripts/scan.py` — the parallel JSONL scanner\n- `scripts/extract_episodes.py` — focused-context episode extractor\n- The `sibyl` skill — for capturing audit findings back into the graph","tags":["agent","activity","audit","sibyl","hyperb1iss","agent-skills","ai-agents","ai-memory","claude","claude-code","cli","cli-tool"],"capabilities":["skill","source-hyperb1iss","skill-agent-activity-audit","topic-agent-skills","topic-ai-agents","topic-ai-memory","topic-claude","topic-claude-code","topic-cli","topic-cli-tool","topic-graphiti","topic-knowledge-graph","topic-mcp","topic-sibyl","topic-surrealdb"],"categories":["sibyl"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/hyperb1iss/sibyl/agent-activity-audit","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add hyperb1iss/sibyl","source_repo":"https://github.com/hyperb1iss/sibyl","install_from":"skills.sh"}},"qualityScore":"0.462","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 24 github stars · SKILL.md body (11,086 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:05:12.672Z","embedding":null,"createdAt":"2026-05-15T07:05:23.794Z","updatedAt":"2026-05-18T19:05:12.672Z","lastSeenAt":"2026-05-18T19:05:12.672Z","tsv":"'-04':741 '-05':1576 '-100':229 '-14':1577 '-1500':707 '-2026':740 '-30':625 '-500':631 '-60':703 '/.claude/projects':435,460 '/.codex/sessions':472 '/.codex/sessions/yyyy/mm/dd/rollout-':440 '/triage':451 '0':528,658,659,735 '1':174,423,955,1537 '10':624,1356 '12':539,671 '16':742 '17':743 '18':744 '19':745 '2':203,492,965 '20':702,746 '200':1080 '2026':41,1575 '21':747,1135 '250':302,838 '29':1182 '3':241,593,673,1027,1237 '30':43,457,466,478 '35':1139 '4':270,275,314,680,1201,1243,1364 '4409':1361 '5':305,541,770,1142,1346 '50':228,630 '500':706 '6':336,968 '7':366,1056 '8':761,1150 '8.4':1359 '9':1178 'abstract':1258 'accept':1181 'across':262,1141 'act':81 'activ':3,16 'actual':364,640 'adjust':722 'affect':1249 'agent':2,10,15,26,92,108,170,286,714,768,778,784,793,817,853,899,975,1183,1396,1456,1462,1470 'agent-activity-audit':1 'agents.md':1502 'ago':468,480 'ai':9 'aim':698 'alreadi':1551,1564 'also':1569 'alway':175,820 'analysi':192 'analyz':168,862 'api':1180 'appear':1312 'appendix':1115 'artifact':177,1114 'assess':886,1084 'assist':610 'at-a-gl':857 'audit':4,17,39,157,348,805,1157,1199,1207,1217,1233,1301,1581,1598 'awk':732 'back':290,379,411,1600 'background':790 'bad':1300,1326,1330 'bar':1230 'bare':1387 'base':250,720 'baselin':1086 'bash':445,523,635,717,1167 'bash/exec_command':557 'behavior':412,1037 'benchmark':159 'beyond':102 'bias':1469 'big':1341 'blast':919 'bleed':1411 'block':1373 'boilerpl':1501 'bottom':1378 'breakdown':873 'broken':1050,1096 'build':969 'c':643 'call':93,514,558,604,786,867,875,1421 'calls/month':1247 'captur':367,405,1017,1151,1288,1597 'cardin':1116 'cat':483,535,667 'catalog':988 'categori':998 'caveat':1467 'cd':452 'chang':1287 'cheap':214 'check':325,1553 'citat':929 'cite':1121 'claim':1119 'classifi':989 'claud':46,418,432,729,1434,1461 'cli':94,354,556,566,870,1175,1208 'cli/output':933 'client':1433,1451 'client-specif':1450 'code':47,154,169,532,1070,1261,1320,1536 'codex':49,420,437,739,1436,1455 'codex-2026-04-21-019db33d.md':1145 'cold':1379 'collect':5 'command':560,1025 'common':997 'complaint':948,1307 'complet':1020 'conclud':1483 'concret':926 'confirm':587 'conflat':1322 'confus':932 'consider':1340 'context':179,448,453,799,826,1590 'contexts/sibyl-analysis-2026-05-14/synthesis.md':1200 'contradict':1293 'converg':261,307,1238 'convergence-first':306 'corpus':984 'correct':519,947,1039 'count':330,515,517,692,1541 'counterintuit':1100 'cover':255 'cross':971,1064,1109,1409 'cross-cut':970,1063,1108 'cross-project':1408 'current':342,1068,1260 'cut':972,1065,1110 'cwd':1426 'cycl':120 'd':465,477 'data':133,234,414,973,1066,1391 'date':244,249,271,449,454,464,476,688,719,877,1430 'date-bas':248,718 'day':44,458,467,479,1365 'decis':391 'defend':1091 'deserv':1350 'design':1268 'detect':551 'didn':1397 'differ':1438,1466 'dir':525,731 'dir/scripts/extract_episodes.py':676 'dir/scripts/scan.py':544 'direct':83,941 'dirnam':526 'dispatch':771 'distinguish':1267 'document':1274 'doesn':166 'drift':1174 'durabl':273,317,368,1152 'e':728,738 'e.g':1144,1454 'earli':205,1477 'easi':264 'effort':1106 'elev':329 'entities.py':1193 'entitytyp':1194 'enum':362,1173,1186,1209 'ep.3':1146 'episod':183,233,401,596,598,666,678,686,730,734,763,1349,1362,1525,1591 'error':516,874,916,987,991,1127,1204,1372,1520,1528 'etc':749,938 'event':510 'everi':1118,1264,1459 'evid':72,331,914,959,1099,1148 'exact':811 'examin':42 'exampl':1573 'examples.md':56,1570 'exclus':254 'execut':20,1078 'exit':836,1534 'extend':201 'extract':184,400,504,594 'extractor':1526,1592 'f':450,455,469,481 'failur':911,1543 'fall':410 'fall-back':409 'fals':1497 'feed':378 'feedback':1054 'file':78,282,507,623,638,691,704,812,823,845,847,1124,1130 'filter':204,206,442,636,1499,1530 'find':77,186,279,321,351,395,425,459,471,843,846,1004,1101,1153,1166,1224,1239,1309,1407,1446,1599 'findings/group_':298,1060 'fine':1487 'finish':1492 'first':173,308,879 'fix':340,958,1103,1266,1317,1546 'flag':1507,1527 'flight':1567 'focus':232,595,1589 'focused-context':1588 'follow':1009 'format':937 'frequenc':896,918 'friction':931 'full':59,257,842,983,1011,1571 'futur':1218 'gap':1171 'gave':1475 'general':153 'genuin':924 'giant':288 'give':225,764 'glanc':860 'goal':222,798 'good':807,1232 'got':1472 'gotcha':357,1189 'graph':12,383,1603 'grep':215,727,737 'ground':68,130 'group':76,263,315,320,700,712,756,856 'handl':1443 'hard':207,531 'hard-cod':530 'head':831 'help':887,925,1176,1198 'heurist':1529 'hit':1184 'hurt':36,888 'idea':951 'identifi':1276 'impact':954,1107,1246 'implic':349,1074 'import':644 'impress':335 'improv':52,950 'includ':797 'inclus':1523 'independ':1003 'inlin':816 'inspect':341 'intellig':6 'intern':1125 'inventori':398,424 'invoc':576 'ise':1136 'issu':274,956,1269,1272,1275 'job':296 'json':645 'json.loads':652 'jsonl':240,427,436,441,462,474,1585 'kb':230,626,632,708 'keep':180,1210 'kind':356,387,390,1172,1179,1203 'know':1283 'knowledg':11,1018 'l':488 'land':147 'last':456,880 'launch':1463 'learn':29,369,1161,1190 'least':1236 'let':285 'librari':97 'lifecycl':1012,1021 'like':352,809,1303 'line':561,647,653 'list':813,884,1177,1305 'live':433,438,1415 'locat':365,1262 'long':1503 'look':582,808 'loop':1023 'lowercas':1515 'm':1329 'main':293 'main.py':1196 'maintain':88 'make':260 'mani':1423 'markdown':622,855 'marker':1539 'match':562,571,579,1000 'matter':964 'may':40,1355 'mb':239,762,1347,1360 'mcp':95,568,572,871 'md':299,1061 'memori':14 'mention':1043 'messag':609,781,917,943,1042,1496 'methodolog':1085 'metric':1087 'might':1563 'minut':1140,1250 'miss':1335 'mix':889 'mkdir':446,664 'mode':912 'model':1298 'monster':1357 'most-common':995 'mtime':444 'multi':238,1432 'multi-cli':1431 'multi-mb':237 'multipl':783 'mutual':253 'n':540,672,863,868,876 'name':116,461,473,547,567,570,578,935,1254,1259,1319 'need':981,1366 'net':885,1083 'new':137 'newermt':463,475 'nois':211 'note':1113,1448 'observ':1111 'often':907,1517 'one':188,713,758,780,890,1314,1417 'open':649 'oper':1271 'opportun':1162 'origin':38 'outlier':752 'output':63,585,828,936,992,1519 'outsid':824 'over-inclus':1521 'p':447,538,665,670 'p0/p1':1165 'p0/p1/p2/p3':1097 'p1':1202 'pain':311 'parallel':219,402,522,775,1584 'partit':242,251,681,685,716,721,986,1244,1424 'pass':23 'past':814 'path':534,662,1321 'pattern':388,893,994,1205,1291,1453 'payload':710 'per':75,506,620,711,715 'per-fil':505 'per-group':74 'per-sess':619 'perform':158 'persist':13 'plan':119 'plus':73,605 'point':312,359,375 'posit':1498 'prais':949 'preced':607 'prep':979 'print':660,733 'prior':1297 'prioriti':129,1105 'proceed':591 'process':1112,1533 'produc':297,1478 'product':128,382 'profan':1518 'project':882,1215,1222,1410 'prompt':795,854,1505 'prose':289 'pull':750 'pydant':1185 'python3':542,642,674 'qualiti':589,1229 'quantifi':1245 'r':651,661 'r.get':655 'radius':920 'rang':272,723,878 'rank':894,952 'rather':1252 'raw':181,236,633 're':328,804 'reach':821,900,1399 'reaction':940,1047,1509,1511 'read':162,172,1058,1302,1369,1457 'real':70,1053,1510,1542 'realpath':527 'recal':1228,1555 'recent':25 'recommend':339,1102,1265,1316,1560 'redesign':1552 'ref':922,961 'refer':1131 'reject':355,1187 'releas':138 'rememb':386,1169,1197 'replay':199 'repo':1418 'report':67 'repres':883 'reproduc':60,194 'respons':1137 'result':614 'retri':1022 'return':287,300,840 'review':155,1191 'row':1031 'rule':171,1117 'run':61,520,788,1026 'runtim':7 'sampl':1368,1490 'saniti':324 'scale':1339 'scan':182 'scanner':496,550,1442,1586 'schema':829,1440 'scope':1212 'scripts/extract_episodes.py':616,1587 'scripts/scan.py':498,1582 'secur':156 'see':55,144,832,1568 'self':1580 'self-audit':1579 'send':776 'sentenc':891 'server':96,1126 'session':50,71,163,621,759,861,921,960,1008,1013,1016,1019,1034,1123,1143,1219,1248,1315,1342,1358,1380,1460 'sever':1255 'shape':415,553,837 'ship':139,499 'short':1040,1513 'shorter':697,1479 'sibyl':53,371,385,1155,1168,1170,1227,1554,1578,1594 'signal':101,588,1035 'singl':319,1344 'single-group':318 'skill':19,98,161,502,524,543,574,575,675,872,1465,1595 'skill-agent-activity-audit' 'skill.md':1458 'someth':112 'sourc':343,1069,1192 'source-hyperb1iss' 'span':1363 'specif':957,1122,1452 'spin':217 'spot':266 'start':124 'start/middle/end':1370 'stat':1006 'statist':508 'step':407,422,491,592,679,769,967,1055,1149 'still':1390 'stop':1052 'strateg':1367 'structur':22,830 'stuck':1036,1473 'stumbl':110 'subag':220,227,277,1002,1353 'subcommand':934 'substant':394 'summari':304,841,1079 'surfac':346,1073,1093,1547 'surpris':966,1289 'survivorship':1468 'suspect':107 'swarm':247,403,684,773 'synthes':1057 'synthesi':66,309,373,404 'synthesis.md':1076 'system':90,801,1324,1334,1485 'tabl':1104 'tag':1206 'target':430,511,546,564,581,602,656,677,865,903,946,1015,1045,1384,1414 'target-nam':545 'target-tool':601 'task':1504 'team':1282,1295,1549 'tell':1393 'templat':833,848 'text':611 'theme':268,1241 'thread':294 'three':552 'time':1028 'tool':513,569,603,613,785,866,1046,1385,1402 'tool-cal':512 'top':910,1376 'top-to-bottom':1375 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-memory' 'topic-claude' 'topic-claude-code' 'topic-cli' 'topic-cli-tool' 'topic-graphiti' 'topic-knowledge-graph' 'topic-mcp' 'topic-sibyl' 'topic-surrealdb' 'total':509,657,709,864 'transcript':27,164,209,421,634,1345,1381,1439,1480 'tree':189 'triag':212,399,489,493 'triage/all_files.txt':486,536 'triage/claude_files.txt':470,484 'triage/codex_files.txt':482,485 'triage/group_a_claude.txt':736 'triage/group_b_codex_apr_early.txt':748 'triage/scan_results.jsonl':548,650 'triage/using_files.txt':663,668 'true':791 'trust':334 'ts':881 'txt':490 'ugh':1049 'usag':132,555,641,892 'use':86,384,497,615,787,849,1014,1332,1388 'user':197,518,608,939,942,1038,1041,1495,1508 'user-messag':1494 'ux':930 'vari':416 'verbatim':851,915 'verifi':337 'via':1226 'vibe':135,1134 'vs':628,1195 'want':100,127,142 'warrant':322 'wast':1251 'wc':487 'well':909,1428 'whose':559,577 'wild':150 'win':927 'window':258,431,695,726 'without':1318 'won':818 'word':303,839,1048,1081 'work':32,105,976,1090,1279,1338,1493,1562,1572 'workflow':397,1005 'write':176,278,618,1075,1557 'wrong':1051 'xarg':537,669","prices":[{"id":"7aa837e7-d5a6-4906-8ae6-be71a7a969a5","listingId":"c48cc3a6-e83d-4f81-ab54-05ed7e39f616","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"hyperb1iss","category":"sibyl","install_from":"skills.sh"},"createdAt":"2026-05-15T07:05:23.794Z"}],"sources":[{"listingId":"c48cc3a6-e83d-4f81-ab54-05ed7e39f616","source":"github","sourceId":"hyperb1iss/sibyl/agent-activity-audit","sourceUrl":"https://github.com/hyperb1iss/sibyl/tree/main/skills/agent-activity-audit","isPrimary":false,"firstSeenAt":"2026-05-15T07:05:23.794Z","lastSeenAt":"2026-05-18T19:05:12.672Z"}],"details":{"listingId":"c48cc3a6-e83d-4f81-ab54-05ed7e39f616","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"hyperb1iss","slug":"agent-activity-audit","github":{"repo":"hyperb1iss/sibyl","stars":24,"topics":["agent-skills","ai-agents","ai-memory","claude","claude-code","cli","cli-tool","graphiti","knowledge-graph","mcp","sibyl","surrealdb","task-manager"],"license":"agpl-3.0","html_url":"https://github.com/hyperb1iss/sibyl","pushed_at":"2026-05-18T17:47:58Z","description":"Collective intelligence runtime for AI agents. Knowledge graph + persistent memory.","skill_md_sha":"a186b2d845ac806b1bbf705e91dbd947a86a398a","skill_md_path":"skills/agent-activity-audit/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/hyperb1iss/sibyl/tree/main/skills/agent-activity-audit"},"layout":"multi","source":"github","category":"sibyl","frontmatter":{"name":"agent-activity-audit","description":""},"skills_sh_url":"https://skills.sh/hyperb1iss/sibyl/agent-activity-audit"},"updatedAt":"2026-05-18T19:05:12.672Z"}}