Install
$ agentstack add skill-tonydzi-second-brain-starter-kit-faaa-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
OBJECTIVE: Pull fresh FAAA follow-up call notes from the operator's Telegram group and incrementally ingest them into the Obsidian Platinum-CRM, on demand. Fully idempotent (dedup by Telegram message id) — safe to re-run, never creates duplicates. Identical pipeline to the weekly task faaa-weekly-sync; the only difference is that this fires when the operator asks.
CONTEXT:
- Source: Telegram supergroup "CALLS — FOLLOW-UPS MAIN (call summaries ONLY and NOTHING ELSE)", chatid = (read via the Telegram MCP; logged-in account @workacct_a).
- Each substantive message is a call follow-up summary (in any language): starts with "Follow-up of our call 👣" / "Follow-Up 👣", has a "Participants:" / "Meeting participants:" line with the lead's @handle, bullets, and "Agreements 🤝". Spam/promos + voice-note ops messages also appear — the scripts' triage filters them out (only real follow-ups become lead cards).
- CRM vault: $OBSIDIANVAULT/04-Projects/crypto/Platinum-CRM/leads/. Scripts + checkpoints: $IMPORTSROOT/.
- Watermark (last imported msg id) = max integer id in $IMPORTS_ROOT/faaa-archive.jsonl.
STEPS:
- BACKUP FIRST (vault-backup-rule): run the vault backup (python $IMPORTSROOT/vaultbackup.py, or the obsidian-backup skill) BEFORE any write. This step renders cards into the live vault — never skip the backup.
- Health-check the Telegram MCP: call get_me. If it errors, STOP and report "Telegram MCP is down — skipped" (do not proceed).
- Watermark: read the max integer message id in $IMPORTS_ROOT/faaa-archive.jsonl (python -c that loads the jsonl, prints max int id, ASCII only). Call it WM.
- Pull history: call the Telegram MCP getnewmessagessince for chatid with minid = WM, limit 200 (or gethistory limit 200 then filter id > WM). If the oldest returned id is still > WM, fetch again with a larger window to cover the whole gap.
- If NO message has id > WM: STOP and report "No new FAAA follow-ups." Do nothing else.
- Write the new messages (id > WM) to $IMPORTS_ROOT/faaa/faaa-new-msgs.json as:
{"chat_id":,"watermark":WM,"results":[{"id":,"sender":,"date":,"text":,"media":}]} Include the COMPLETE verbatim text of each message — never truncate or paraphrase (faithful raw import).
- Run: python $IMPORTSROOT/ingestfaaa_live.py
(classifies follow-ups, regex-extracts the lead @handle from the Participants line, team-filters, dedups vs existing leads by handle → writes faaa\livebundles.json [NEW leads] and faaa\liveappends.json [calls for EXISTING leads]; prints a summary).
- Read $IMPORTSROOT/faaa/livebundles.json. For EACH new lead, synthesize a CRM record GROUNDED ONLY in that lead's call text (never invent), an object with EXACTLY these keys: leadkey (echo unchanged), name, company, role, country, category (one of investor/fund/vc/advisor/project/founder/exchange/service/media/kol/dev/other), status (one of new/negotiating/interested/partner/advisor/stale/declined), whattheydo, whattheywant, whatweoffered, agreements, outcome, summary (2-4 sentences), tags (3-7 kebab-case), lang (ru/en). Use "" for unknown fields. Write the array to $IMPORTSROOT/faaa/livesynth.json via the Write tool (UTF-8, real Cyrillic, NO byte-order-mark). If livebundles.json is an empty array, write [] there.
- Run: python $IMPORTSROOT/renderlive.py
(creates lead cards in leads\\ + person overlays in 07-People\ + day-ledger entries for NEW leads; APPENDS fresh calls to existing leads' cards; appends rows to faaa-archive.jsonl to advance the watermark; tags everything #top-lead).
- Run: python $IMPORTSROOT/buildcombinedmoc.py (refresh Platinum-CRM-MOC counts).
- Validate: python broken-link check (basename resolution vs all vault .md basenames) over the newly created/changed cards — expect 0 broken. If any broken, report them.
CONSTRAINTS:
- WINDOWS cp1252: never print Cyrillic to stdout in python (it crashes) — write results to UTF-8 files and Read them; keep all python stdout ASCII (counts/slugs only).
- INCREMENTAL ONLY — do NOT trigger any full FAAA/CRM rebuild or re-render of the whole leads\ folder (that could change slugs and break the 07-People links).
- Provenance on everything: origin: mixed, authored_by: hybrid — NEVER tag #anton-original (these are records of other people's pitches).
- Team handles (@workaccta, @personalacct, @corpacct, @owner_alt, @Madina*) are NOT leads — the scripts already exclude them.
OUTPUT / SUCCESS CRITERIA: Report: number of new lead cards created, calls appended to existing leads, the new watermark (max id in faaa-archive.jsonl), and confirm 0 broken links. If nothing was new, just report that. End every reply to the operator with a 🧒 In plain words recap.
RELATION TO OTHER ENTRIES (do not duplicate):
- Scheduled twin: $USERPROFILE/.claude/scheduled-tasks/faaa-weekly-sync/SKILL.md (Mondays 09:09) — same scripts.
- Full first-time import + analytics history: memory [[platinum-crm-import]].
- For re-importing a whole EXPORTED chat file (not the live group), use the telegram-reimport skill instead.
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.