AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Faaa Sync

skill-tonydzi-second-brain-starter-kit-faaa-sync · by tonydzi

>

No reviews yet
0 installs
17 views
0.0% view→install

Install

$ agentstack add skill-tonydzi-second-brain-starter-kit-faaa-sync

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

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

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-tonydzi-second-brain-starter-kit-faaa-sync)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
19d ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

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 →
Are you the author of Faaa Sync? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

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:

  1. 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.
  2. Health-check the Telegram MCP: call get_me. If it errors, STOP and report "Telegram MCP is down — skipped" (do not proceed).
  3. 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.
  4. 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.
  5. If NO message has id > WM: STOP and report "No new FAAA follow-ups." Do nothing else.
  6. 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).

  1. 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).

  1. 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.
  2. 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).

  1. Run: python $IMPORTSROOT/buildcombinedmoc.py (refresh Platinum-CRM-MOC counts).
  2. 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.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.