Autonomous Sync

Automation

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'.

Install

openclaw skills install autonomous-sync

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

# 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:

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "./aicoo-skills/scripts/sync-detector.sh"
          }
        ]
      }
    ]
  }
}

Strategy 3: Conversation-Driven

After substantial chat sessions:

# 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.