sutro-sync
Use at the start of any session and before pushing. Syncs Telegram, Google Docs, and GitHub state for the Sutro Group research workspace.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use at the start of any session and before pushing. Syncs Telegram, Google Docs, and GitHub state for the Sutro Group research workspace.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use periodically (weekly or before a release) to find stale numbers, outdated descriptions, broken links, and inconsistencies across the codebase. Run after merging multiple PRs or before preparing a meeting report.
Use before a Sutro Group meeting to compile results and prepare a presentation report.
Use when running a new experiment. Follows the two-phase protocol from LAB.md.
Use before any research task, experiment, or PR review. Loads current project state from DISCOVERIES.md, open questions, and recent Telegram discussion.
Use at the start of a weekly session. Syncs all sources and generates a catch-up summary.
Use when drafting, editing, or reviewing any prose to detect and remove AI writing patterns including overused vocabulary (delve, tapestry, landscape), formulaic structures (binary contrasts, rule of three), throat-clearing openers, business jargon, and other LLM tells
| name | sutro-sync |
| description | Use at the start of any session and before pushing. Syncs Telegram, Google Docs, and GitHub state for the Sutro Group research workspace. |
Run this at session start and before any push. Covers three sources: Telegram, Google Docs, GitHub.
bin/tg-sync
Syncs 6 forum topics to a local SQLite database (telegram.db). First run does a full backfill; subsequent runs are incremental (only new messages).
Query recent messages from priority topics to check for new questions, directions, or results:
sqlite3 telegram.db "SELECT date, sender, substr(text, 1, 150) FROM messages
WHERE topic_id IN (SELECT id FROM topics WHERE slug IN ('chat-yad', 'chat-yaroslav', 'challenge-1-sparse-parity'))
AND date > datetime('now', '-3 days')
ORDER BY date DESC LIMIT 15"
Report anything relevant to the user.
Fallback: If telegram.db doesn't exist and credentials aren't configured, read the committed JSON files in src/sparse_parity/telegram_sync/ instead (may be stale).
Prerequisites: bun install, .env with TELEGRAM_API_ID and TELEGRAM_API_HASH, tg auth login (one-time). Full setup: docs/tooling/telegram-setup.md.
python3 src/sync_google_docs.py
Pulls 15+ Google Docs to docs/google-docs/. After syncing:
docs/google-docs/sutro-group-main.md for new meeting doc linkspython3 src/sync_google_docs.py --add "URL" "name" "Description"
python3 src/sync_google_docs.py # re-run
!!! info admonition) to new docsmkdocs.yml nav under Meetings > Google Docsdocs/meetings/index.md and docs/meetings/notes.mdPrerequisites: pandoc (brew install pandoc). Docs must be "Anyone with the link" sharing.
gh pr list --repo cybertronai/SutroYaro --state open
gh issue list --repo cybertronai/SutroYaro --state open
Check for new PRs from contributors (Andy/zh4ngx, Michael, others). Review code, verify results are reproducible, check that DISCOVERIES.md is updated.
Check docs/index.md (homepage) for stale numbers and missing features:
import re
# Check experiment count matches DISCOVERIES.md
with open('DISCOVERIES.md') as f:
disc = f.read()
exp_count = len(re.findall(r'^\| exp_', disc, re.MULTILINE))
with open('docs/index.md') as f:
index = f.read()
# Flag if homepage says fewer experiments than DISCOVERIES.md has
if f'{exp_count}' not in index:
print(f'WARNING: homepage may be stale. DISCOVERIES.md has {exp_count} experiments.')
# Check challenge count
challenges = ['sparse-parity', 'sparse-sum', 'sparse-and']
for c in challenges:
if c not in index:
print(f'WARNING: homepage missing challenge: {c}')
Also check:
bin/ scripts?If anything is stale, update docs/index.md before pushing.
docs/changelog.md (bump version)python3 -m mkdocs build to verify no broken linksgit pushpython3 -m mkdocs gh-deploy --forceThis skill works with any AI coding tool that reads files:
.claude/skills/ automatically.cursorrulesdocs/tooling/sync-runbook.mdAll state lives in files (JSON, markdown, YAML). No tool-specific APIs needed.