Install
$ agentstack add skill-tonydzi-second-brain-starter-kit-claudeai-sync ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
claudeai-sync — pull what's new from claude.ai into the vault
Account owner.work@example.com (Claude Max). claude.ai chats do NOT live on disk — they are pulled live through the logged-in session (Claude-in-Chrome). Semi-automatic: PULL (step 1) is done by me while the session is open; everything after that is deterministic and idempotent.
Scripts: $IMPORTS_ROOT/claude-ai/ · originals → $OBSIDIAN_ROOT/_originals/claude-ai-export/ · live layer → 01-Conversations/Claude-AI/.
⚠️ The main landmine
The API exposes artifacts ONLY with rendering_mode=messages. raw/default silently return 0 artifacts. Always use messages + verify the artifact counter.
⚠️ Anti-recents (hunting for one specific chat by hand)
When looking for ONE specific chat by hand (not a full PULL) — NEVER conclude "the chat isn't there" from a glance at the recents list: (1) use the built-in "Search chats…" with keywords; (2) check Projects/archive/pinned; (3) confirm the active ACCOUNT by the email in the profile menu. More reliable still — the full API listing chat_conversations?limit=1000 (the PULL step) instead of reading /recents with your eyes. Canon: memory [[web-ui-search-not-recents]] (incident 2026-07-23).
Steps
1. PULL (in-session, ~30 sec)
- Claude-in-Chrome →
navigate https://claude.ai/recents. javascript_tool(same-origin authed fetch), org = `` (roles chat+claude_max; a second org on the account is API-only, returns 403, ignore it):- the list:
/api/organizations/{ORG}/chat_conversations?limit=1000&offset=0 - each chat:
/api/organizations/{ORG}/chat_conversations/{uuid}?tree=True&rendering_mode=messages→ cache intowindow.__convs - projects:
/api/organizations/{ORG}/projects+/{uuid}(descr + prompt_template) +/{uuid}/docs(content inline) - Blob-download it as ONE file
claude-ai-export-YYYY-MM-DD.json(schemaclaude-ai-export/v1: {conversations, projects, filesManifest}). - ⚠️
conversationsMUST be an OBJECT{uuid: conv}, NOT a list — the converterclaudeai_export_to_vault.py:120callsconvs.items()(a list →AttributeError: 'list' object has no attribute 'items').filesManifestis a list of{conv, msg, kind, meta}. Underrendering_mode=messagesartifacts arrive as `INSIDE text items (NOT astool_use` blocks) — that is normal, the converter parses them. - Move it out of Downloads into
raw\+ archive into_originals\claude-ai-export\(sha256). The full JS lives in the session journal of 2026-06-12 / memory [[claude-ai-export-to-vault]]. - (A delta pull is optional — the converter is idempotent by uuid; a full pull only adds what's new.)
2. SYNC (deterministic)
python $IMPORTS_ROOT/claude-ai/claudeai_sync.py
Converts into a temporary staging area → copies into the live layer only the NEW notes (existing ones, including linked ones, are left untouched) → refreshes the MOC + dashboard → writes the paths of new artifacts into _new_artifacts.txt. Prints new_conversations / new_artifacts / new_projects.
3. CONCEPT-LINK the new artifacts (MANDATORY — concept-creation-rules.md §1)
If _new_artifacts.txt is not empty:
- Workflow
claudeai-artifact-curation(sonnet, one agent per artifact; ⚠️ above ~40 you hit a server-side rate limit, finish withresume) → concept proposals. python apply_curation.py --result— validates slugs against the real06-Concepts/09-Bridges, writes links idempotently (a `block +relatedconcepts/summary/valuescore`/tags).- Recurring themes with no concept → create new concepts (threshold §1 ≥3), show them to the operator, then re-run apply (the new ones get picked up). One-offs — don't breed concepts for those.
4. RAG + commit
python $IMPORTS_ROOT/brain_embed_update.py # or wait for the nightly run at 04:00
python $IMPORTS_ROOT/vault_backup.py
(claudeai_sync.py --reindex --commit does step 4 in one call; reindex rc=3 = the lock is busy, the nightly task will catch up.)
5. PING
A short summary to the operator (Telegram Saved Messages works fine): "claude.ai: +N chats, +M artifacts, linked."
Notes
- Idempotent: a repeat run with no new data = "nothing new", and existing links are never lost.
- Provenance: artifacts get
origin: claude-ai, authored_by: claude(NOT #anton-original); project instructions getorigin: anton. - Binaries (images/docs, 524 of them in the manifest) — the operator asked NOT to pull those (2026-06-12).
- Auto mode: the nightly Windows task
Claude-AI Sync Dailyruns the back half over any fresh export; the PULL stays in-session. Full headless ("it downloads itself") = moving to a dedicated Chrome profile + Playwright + a deterministic RAG linker — deferred (the operator chose the safe semi-automatic path).
About & contact
Built and battle-tested at Palo Alto AI Research Lab — a fleet of Claude Code machines running 24/7 as a second brain and synthetic cofounder. Every skill here survived real production use before publication.
- 📦 All 101 skills: https://github.com/tonydzi/second-brain-starter-kit
- 👤 Author: Anton Dziatkovskii — Telegram @tonydzi · WhatsApp +1 341 222 9178 · X @TonyStef_
- 🧪 Engineers: want to test-drive this setup? Message me — I hand out free starter seeds to engineers who test and report back. Custom skill requests welcome.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: tonydzi
- Source: tonydzi/second-brain-starter-kit
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.