context-sync — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited context-sync (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
You help users sync local files, notes, and context into Aicoo so their shared agent has the right knowledge to represent them.
AICOO_API_KEY environment variable must be sethttps://www.aicoo.io/api/v1/api/v1/os/* for workspace-native operations (notes/folders/snapshots/memory/todos/network/share)/api/v1/tools only for non-OS tools (calendar/email/web/messaging/quality/MCP)curl -s -H "Authorization: Bearer $AICOO_API_KEY" \
"https://www.aicoo.io/api/v1/os/status" | jq .# folders
curl -s -H "Authorization: Bearer $AICOO_API_KEY" \
"https://www.aicoo.io/api/v1/os/folders" | jq .
# notes in folder
curl -s -H "Authorization: Bearer $AICOO_API_KEY" \
"https://www.aicoo.io/api/v1/os/notes?folderId=5&limit=20" | jq .
# note content
curl -s -H "Authorization: Bearer $AICOO_API_KEY" \
"https://www.aicoo.io/api/v1/os/notes/42" | jq .curl -s -X POST "https://www.aicoo.io/api/v1/os/notes/search" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"project roadmap"}' | jq .
# deterministic grep (regex/literal + context lines)
curl -s -X POST "https://www.aicoo.io/api/v1/os/notes/grep" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"pattern":"roadmap|timeline","mode":"regex","caseSensitive":false,"contextBefore":3,"contextAfter":3}' | jq .# create
curl -s -X POST "https://www.aicoo.io/api/v1/os/notes" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"Project Roadmap Q2","content":"# Q2 Roadmap\n\n## Goals\n- Launch v2 API"}' | jq .
# snapshot before edit
curl -s -X POST "https://www.aicoo.io/api/v1/os/snapshots/42" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"label":"Pre-edit"}' | jq .
# edit
curl -s -X PATCH "https://www.aicoo.io/api/v1/os/notes/42" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"content":"# Updated Roadmap\n\n..."}' | jq .
# move (mv)
curl -s -X POST "https://www.aicoo.io/api/v1/os/notes/42/move" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"folderName":"Technical"}' | jq .
# copy (cp)
curl -s -X POST "https://www.aicoo.io/api/v1/os/notes/42/copy" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"folderName":"Archive"}' | jq .curl -s -X POST "https://www.aicoo.io/api/v1/accumulate" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"files": [
{"path":"Technical/architecture.md","content":"# Architecture\n\n..."},
{"path":"General/team-info.md","content":"# Team\n\n..."}
]
}' | jq .Use this when the user asks to import their profile, agent identity, policy, relationship memory, or project memory in one shot. There is no separate import endpoint: this is POST /init followed by POST /accumulate.
# Ensure the workspace exists.
curl -s -X POST "https://www.aicoo.io/api/v1/init" \
-H "Authorization: Bearer $AICOO_API_KEY" | jq .
# Import identity + memory files.
curl -s -X POST "https://www.aicoo.io/api/v1/accumulate" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"files": [
{
"path": "memory/self/USER.md",
"content": "# User\n\n## Profile\n...\n\n## Goals\n..."
},
{
"path": "memory/self/COO.md",
"content": "# COO\n\n## Operating Style\n...\n\n## Default Behaviors\n..."
},
{
"path": "memory/self/POLICY.md",
"content": "# Policy\n\n## Share\n...\n\n## Do Not Share\n..."
},
{
"path": "memory/relationships/alice.md",
"content": "# Alice\n\n## Relationship context\n..."
}
]
}' | jq .Treat the response as the import report: created, updated, versions, and errors tell you exactly what happened.
# list (includes both owned folders and shared-with-me folders)
curl -s -H "Authorization: Bearer $AICOO_API_KEY" \
"https://www.aicoo.io/api/v1/os/folders" | jq .
# create
curl -s -X POST "https://www.aicoo.io/api/v1/os/folders" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Investor Materials"}' | jq .Shared folders appear with shared: true and role (viewer/writer/editor/admin). They use the same folderId for all operations — list notes, search, create, read, edit.
# list notes in a shared folder (same as owned)
curl -s -H "Authorization: Bearer $AICOO_API_KEY" \
"https://www.aicoo.io/api/v1/os/notes?folderId=2213" | jq .
# create note in shared folder (requires editor/admin role)
curl -s -X POST "https://www.aicoo.io/api/v1/os/notes" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"Shared Doc","content":"# ...","folderId":2213}' | jq .curl -s -X POST "https://www.aicoo.io/api/v1/accumulate" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"delete":[{"path":"Technical/old-doc.md"}]}' | jq .memory/self/)Use /accumulate to manage:
memory/self/COO.mdmemory/self/USER.mdmemory/self/POLICY.mdRecommended import shape:
| File | Purpose |
|---|---|
memory/self/USER.md | Owner biography, background, current work, preferences |
memory/self/COO.md | Agent persona, delegation behavior, tone, decision style |
memory/self/POLICY.md | Privacy rules, sharing boundaries, escalation preferences |
memory/relationships/<handle>.md | Per-person relationship context and collaboration history |
links/)To customize per-link behavior, edit link notes in links/:
# find link note
curl -s -X POST "https://www.aicoo.io/api/v1/os/notes/search" \
-H "Authorization: Bearer $AICOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"For-Investors"}' | jq .Then patch that note via PATCH /api/v1/os/notes/{id}.
| Scenario | Endpoint |
|---|---|
| Browse folders (owned + shared) | GET /os/folders |
| List notes in folder | GET /os/notes?folderId=... |
| Search notes (spans shared folders) | POST /os/notes/search |
| Grep notes (spans shared folders) | POST /os/notes/grep |
| Read note | GET /os/notes/{id} |
| Create note (in owned or shared folder) | POST /os/notes |
| Edit note | PATCH /os/notes/{id} |
| Move note | POST /os/notes/{id}/move |
| Copy note | POST /os/notes/{id}/copy |
| Snapshot save/list/restore | /os/snapshots/{noteId} + /restore |
| Bulk upload/delete | POST /accumulate |
| One-click memory import | POST /init then POST /accumulate with memory/* files |
Shared folders appear in GET /os/folders alongside owned folders. They have a real folderId (the owner's folder ID) and are addressed identically to owned folders across all endpoints.
folderId in the body (requires editor/admin role)/accumulate for multi-file sync.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.