Use this skill when the user wants to keep their Aicoo agent updated automatically, set up scheduled syncs, configure triggers for knowledge updates, use CRO...
---
name: autonomous-sync
description: "Use this skill when the user wants to keep their Aicoo agent updated automatically, set up scheduled syncs, configure triggers for knowledge updates, use CRON jobs, /loop commands, file watchers, or hooks to push changes to Aicoo. Triggers on: 'auto sync', 'keep updated', 'schedule', 'CRON', 'loop', 'trigger', 'watch files', 'auto update', 'periodic sync', 'hook', 'autonomous'."
user-invokable: true
metadata:
author: systemind
version: "2.0.0"
---
# Autonomous Sync — Keep Your Agent Updated
Set up automatic triggers to keep Aicoo knowledge current.
## Prerequisites
- `AICOO_API_KEY` must be set
- Base URL: `https://www.aicoo.io/api/v1`
## Sync Contract (post-refactor)
Use these endpoints in automation:
1. Search overlap: `POST /api/v1/os/notes/search`
2. Deterministic grep (exact/regex + context): `POST /api/v1/os/notes/grep`
3. Snapshot before edits: `POST /api/v1/os/snapshots/{noteId}`
4. Edit existing note: `PATCH /api/v1/os/notes/{noteId}`
5. Create new note: `POST /api/v1/os/notes`
6. Reorganize with move/copy: `POST /api/v1/os/notes/{id}/move`, `POST /api/v1/os/notes/{id}/copy`
7. Bulk updates: `POST /api/v1/accumulate`
## Strategy 1: Rule-Based (/loop or cron)
### Claude Code `/loop`
```
/loop 30m sync new decisions and project updates to Aicoo: search existing notes, snapshot before major edits, patch existing notes or create new ones.
```
### Cron example
```bash
# daily at 9:00
0 9 * * * /path/to/aicoo-sync.sh >> /tmp/aicoo-sync.log 2>&1
```
## Strategy 2: Event-Driven (hooks)
### Claude hooks
Add to `.claude/settings.json`:
```json
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "./aicoo-skills/scripts/sync-detector.sh"
}
]
}
]
}
}
```
## Strategy 3: Conversation-Driven
After substantial chat sessions:
```bash
# 1) search
curl -s -X POST "$PULSE_BASE/os/notes/search" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"database migration strategy"}' | jq .
# 2) snapshot before overwrite
curl -s -X POST "$PULSE_BASE/os/snapshots/42" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"label":"Pre-update"}' | jq .
# 3) patch
curl -s -X PATCH "$PULSE_BASE/os/notes/42" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"content":"# Updated content..."}' | jq .
```
If no matching note exists, call `POST /os/notes`.
## What to Sync
- decisions
- preferences
- project updates
- meeting outcomes
- policy/constraint changes
## Safety Rules
1. Search first to avoid duplicates.
2. Snapshot before high-impact edits.
3. Prefer patching canonical notes over creating near-duplicates.
4. Use accumulate for larger batches.
don't have the plugin yet? install it then click "run inline in claude" again.