尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Daily 70s card slideshow: Bitcoin L2, Dogecoin, Monero, Litecoin on X, with sources
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Contributor: Kendren (cornishlikeadam).
[!IMPORTANT] ⭐ The one rule: every card is a real post from X. It shows who posted, when, and a link. The robot never makes up news.
What it is: a robot that makes a 70-second video every day at 6 PM (New York time). What it shows: real posts from the last 24 hours about 4 coins and their add-ons.
| ⚡ Bitcoin | 🐕 Dogecoin | 🔒 Monero | 🪙 Litecoin |
|---|---|---|---|
| Lightning, Ark, sidechains | community, layer 2s | FCMP++ and CARROT | Lightning and MWEB |
[!TIP] 🧭 New here? Press ❓ Guide at the top of the site. It shows 4 short pages: how to use it, what it does, the core, and the widget.
flowchart LR
A["⏰ 6 PM timer"] --> B["🔎 1 · Collect posts"]
B --> C["🧹 2 · Check posts"]
C --> D["🎬 3 · Make video"]
D --> E{"🧑⚖️ 4 · Human check"}
E -->|yes| F["🌐 5 · Publish"]
E -->|no| C
F --> G["✅ LIVE only if the page loads"]
| # | 🧩 Step | ⚙️ What happens | 📁 File |
|---|---|---|---|
| 01 | 🔎 Collect | The robot searches X 4 times, once per coin. It keeps the top 25 posts. | scripts/collect_x.py |
| 02 | 🧹 Check | It removes wrong-day posts, price guesses, ads, giveaways, tiny accounts and copies. It keeps up to 3 per coin. | scripts/collect_x.py |
| 03 | 🎬 Make | It makes 8–10 cards. A free voice (Piper) reads them. The video is exactly 70 seconds. | scripts/render.py, remotion/ |
| 04 | 🧑⚖️ Human check | I approved the first video. After that, the robot publishes by itself. | scripts/approve_sample.sh |
| 05 | 🌐 Publish | It builds the site, saves a GitHub backup and sends it to Vercel. It checks that the page loads. | scripts/build_site.py, scripts/lib.sh |
[!WARNING] 🛑 If any step fails, the robot stops. It publishes nothing. A broken day never becomes a wrong video.
The AI 101 notes live in vault/project-02/. Obsidian and the website read the same files.
[!NOTE] 🎨 The vault has its own Black Platinum theme for Obsidian:
docs/obsidian/l2-daily.css. Copy it to.obsidian/snippets/. Turn it on in Settings → Appearance → CSS snippets.
Project 3 turns the Project 2 post-checking step into a reusable AI workflow. The files are in vault/project-03/.
| Part | What it does | File |
|---|---|---|
| Workflow agent | Checks candidate posts against Project 2 rules and hands the final choice back to a person. | workflow-agent.md |
| Vault agent | Gives the AI helper its job, safety rules, and writing style. | AGENTS.md |
| Skill | A repeatable recipe for checking posts, including tricky words like “Lightning.” | SKILL.md |
The vault/CLAUDE.md and vault/.claude/skills/ files help Claude Code find the helper and skill when you open the vault/ folder. The Project 2 copy of the workflow agent is kept at post-verifier.md, beside the original Project 2 steps.
Open this repository’s vault/ folder in Claude Code, then ask:
Use the
crypto-l2-post-reviewskill to check these practice posts using the Project 2 rules. Do not invent missing details. Show me what needs checking, then let me decide what to use.
The audit note has easy practice-test ideas. Test answers and personal decisions are left for the student to record in the Project 3 logs; they are not filled in for them.
Every AI 101 workflow has the same 5 parts. This project uses that generic shape. The unique parts are on the right.
| # | 🧩 Generic part (AI 101) | 💎 What is unique here |
|---|---|---|
| 01 | ⏰ Trigger | 6 PM New York time. The Mac's launchd timer starts scripts/daily.sh. |
| 02 | 📥 Context | 4 coin searches and a list of "remove it" rules. The date check is rule 1. |
| 03 | ⚙️ Task | Pick 3 posts per coin. Make 8–10 cards. Fit the voice into 70 seconds. |
| 04 | 📦 Output | A video, a site, course pages, a feed and a phone-widget file. |
| 05 | 🧑⚖️ Human check | I approved the first video. I check every archive day. |
📖 Full breakdown, feature by feature: vault/project-02/how-it-was-built.md
| 💎 Detail | 🎯 Where you see it |
|---|---|
💵 Banknote art: guilloche rosettes, microprint, serial numbers (NO. CL2-20261005-08), big denomination numbers | step tiles, cards, footer, video |
| 🌈 Holographic foil | card edges, the video frame, the 3D knot, the ribbon |
| 🏷️ "QUOTED" labels and stripe tape (industrial streetwear details) | section headers, dividers |
| ✒️ Calligraphy (Yellowtail) + bold capitals (Big Shoulders) | every title |
| 👀 Atkinson Hyperlegible (made to be easy to read) | all body text |
A small card for your iPhone Home Screen. It shows the Bitcoin price, the fee and today's top 3 posts.
scriptable.js.[!NOTE] 🤖 Android: point any JSON widget app at
widget.json.
[!TIP] 🎥 A 90-second explainer: 3Blue1Brown-style 3D math animation + Japanese-American manga style. The full prompt and the 8-shot plan are in
vault/project-02/explainer-video.md.
scripts/make_explainer.py makes the voice (Piper), the music and the timing.remotion/explainer/ (3D knot, the Guide, 8 shots).../OpenMontage/.venv/bin/python scripts/make_explainer.pycrypto-l2-daily/
├── 📜 scripts/
│ ├── daily.sh ⏰ the 6 PM run (steps 1 → 5)
│ ├── collect_x.py 🔎 step 1 + 🧹 step 2
│ ├── render.py 🎬 step 3 (calls OpenMontage)
│ ├── build_site.py 🏗️ step 5: builds every page
│ ├── site_theme.py 🎨 the Black Platinum look, 3D hero, live numbers, guide
│ ├── course_pages.py 📚 turns the vault into the course hub
│ ├── lib.sh 🚀 publish: GitHub + Vercel + "is it live?"
│ ├── approve_sample.sh 🧑⚖️ step 4: the human approval
│ ├── backfill.sh 🗂️ add an old day to the archive
│ ├── set_x_cookies.sh 🍪 save the X login codes (hidden)
│ └── set_voice.sh 🎙️ save the voice settings (hidden)
├── 🎞️ remotion/ the video card design
├── 🧠 vault/
│ ├── project-02/ the AI 101 workflow and notes
│ └── project-03/ workflow agent, vault agent, and skill
│ └── vault-agent/ rules, voice, and skill source
├── 🌐 site/ the built website
├── 🧾 data/ the checked posts for each day
├── ⚙️ config/ approval switch + archive notes
└── 📘 docs/ banner, screenshots, Obsidian theme
config/pipeline.json has the switch human_approval_default.
true: the run stops before it publishes. Do this: run scripts/approve_sample.sh YYYY-MM-DD. It records the approval, sets the switch to false, and publishes.false: every daily run publishes by itself.[!NOTE] 🍎 The robot runs from launchd, the Mac's own scheduler:
config/com.not2l8.l2daily.plist.
scripts/daily.sh every day at 6 PM.caffeinate)./bin/bash scripts/check_publish.sh[!NOTE] 🎬 OpenMontage (AGPLv3) lives in
../OpenMontage. This repo calls it. It does not copy it. 🎞️remotion/is original code. It needs only theremotionnpm packages from OpenMontage's composer.
The numbered vault instructions now use purpose, input, procedure, check and failure-action sections.
See vault/project-02/documentation-standard.md for the ASD-STE100-inspired writing status.
See vault/project-02/crypto-layer-2-reference.md for the crypto classification boundaries.
The named submission is generated in submission/project-02/; human intent and class feedback remain pending.
The first launchd-triggered run has not yet occurred. Existing successful runs are recorded in logs/daily.log.
The GitHub Pages archive is not enabled. Current videos use Vercel; the older-video fallback needs repair before retention exceeds 14 editions.