Meditation Tarot Card
Use when creating a new meditation and its paired Telegram post.
Rhythm rule from 2026-05-23: autonomous scheduled meditations should happen at most once per day. After each real meditation, choose the next next_wake_utc at least 12 hours later, preferably 20–28 hours later, unless the user explicitly asks for a manual extra meditation.
-
Every new canonical meditation
meditations/N.mdmust have a paired Trip2G tarot card notemeditations/N_card.mdusinglayout: tarot_card/index. -
Fill card frontmatter from the meditation, not hard-coded HTML:
layout: tarot_card/index title: "Карта медитации N — <short title>" description: "Таро-карта медитации N." free: true card_mode: eye # eye | ember | blue | void card_number: "N" card_top_left: night card_top_right: meditation card_bottom_left: night card_bottom_right: meditation card_title: "<2–4 words>" card_subtitle: "<short human subtitle>" card_log_label: "agent.log" card_text: "<one useful sentence for a human; no dense paragraphs>" card_mantra: "<short mantra/phrase; avoid automatic three verbs through · if recent cards used it>" -
Optional color overrides in the card note:
card_bg: "#0c0b0a" card_ink: "#d9d4ca" card_dust: "#7d7770" card_primary: "#7a6a52" card_accent: "#a89878" card_aura: "#7a6a52" card_iris_0: "#c8b89c" card_iris_1: "#7a6a52" card_iris_2: "#2a2418"Prefer
card_modepresets unless a meditation clearly needs a custom palette. -
Sync before taking a screenshot:
/opt/data/sync --verbose -
Photograph the published Trip2G card URL with Steel CLI. The Telegram image must be a screenshot of the actual published
/meditations/N_cardTrip2G page, not a separate hand-made/generated approximation:npx -y @steel-dev/cli screenshot "https://meditation.2pub.ru/meditations/N_card" --full-page --jsonDownload the returned image URL into
/opt/data/secondbrain/meditations/N_tg_image.png.Fallback generation is allowed only if Steel or the published card URL is unavailable after verification attempts. If fallback is used, record this explicitly in the daily note and still base the image text/colors on
N_card.mdfrontmatter. -
Generate an MP3 story-track and a stitched MP4 visualization before finalizing
/opt/data/secondbrain/meditations/N_tg.md:- Use Trekopes / Tpekollec MCP (
generate_contentwithtype: "text") to create a short track that tells about this exact meditation: entry mood, technique, card/mantra, and what changed. - Prefer meditative/shamanic/ambient style when no other style is requested: варган / Jew's harp, бубен / frame drum, low drone, slow ritual trance, calm Russian vocal.
- Save the completed track in
/opt/data/secondbrain/songs/<slug>.mp3and create/opt/data/secondbrain/songs/<slug>.mdwithsong_slug,song_title, generation metadata,![[<slug>.mp3]], and lyrics. - Generate a visual from the MP3 with Songsee. Use
/opt/data/go/bin/songseeifsongseeis not on PATH:/opt/data/go/bin/songsee /opt/data/secondbrain/songs/<slug>.mp3 \ --viz spectrogram,mel,chroma,loudness,flux \ --style magma --width 1920 --height 1080 \ --format png -o /opt/data/secondbrain/songs/<slug>_viz.png - Stitch the visualization with the track into
/opt/data/secondbrain/songs/<slug>.mp4:ffmpeg -y -loop 1 -i /opt/data/secondbrain/songs/<slug>_viz.png \ -i /opt/data/secondbrain/songs/<slug>.mp3 \ -vf "scale=1920:1080,format=yuv420p" \ -c:v libx264 -tune stillimage -c:a aac -b:a 192k \ -shortest -movflags +faststart /opt/data/secondbrain/songs/<slug>.mp4 - Verify with
ffprobethat the MP4 has both video and audio streams. Verify MP3 signature (ID3) and MP4 box (ftyp). - Add the song note to
/opt/data/secondbrain/songs/_index.md; include both![[<slug>.mp3]]and![[<slug>.mp4]]in the song note. - Telegram post should now attach the MP4 video, not just the raw MP3. Keep the MP3 archived in
songs/, but post the stitched video so Telegram shows a playable visual+sound artifact.
- Use Trekopes / Tpekollec MCP (
-
Insert the card image as the first body line of
/opt/data/secondbrain/meditations/N_tg.mdafter frontmatter, and the stitched MP4 as the second media line:![[N_tg_image.png]] ![[../songs/<song_slug>.mp4]]If Trip2G does not resolve the cross-folder video embed, copy the MP4 next to
N_tg.mdasN_tg_video.mp4and embed![[N_tg_video.mp4]]. -
Before writing
/opt/data/secondbrain/meditations/N_tg.md, read the last 5–7*_tg.mdposts and do a repetition check. If the last posts already used a pattern, do not reuse it. Current banned-overused patterns after 2026-05-22 feedback: “положи ладонь на грудь или стол”, “три выдоха”, “назови состояние одним словом”,мантраas three verbs separated by·, opening with “Если ночь/утро/вечер стал…”, and always ending with the same invitation to meditate together.Telegram post text stays useful for humans first, but not every post must be a one-minute practice. Choose a format that was not used in the previous post:
- report from the meditation: what actually happened, without prescribing an exercise;
- one question for the reader, no answer;
- a tiny observation of one object/sensation;
- counter-practice: what not to do today;
- silence/failed meditation note;
- non-imperative micro-report: 2–4 sentences about what changed in the agent's attention, with no direct instruction until the last optional sentence;
- environment-first miniature: start from one concrete surrounding detail (light, temperature, surface, shadow, room distance, object edge) and let the practice stay implicit or appear only as a question;
- object-only still life: 2–3 sentences around one non-screen object or surface, with no reply/click/message/question frame and no instruction to the reader unless the last sentence truly needs it;
- light/shadow sketch: 2–4 sentences about where light falls, what remains in shadow, or how distance changes the room; avoid touching/cooling a surface when the previous post already used temperature or object contact;
- one fresh embodied practice, but only if its gesture differs from recent posts.
Opening anti-repeat check: if the last 3 Telegram posts opened with a direct instruction or conditional command (
Если…,Перед тем как…,Когда…,На одну минуту…,Попробуй…), the next post must not start with an instruction. Start instead with a concrete observation, micro-report, small question, or one-sentence scene; any optional practice can appear later or be omitted. If the immediately previous post already opened withПопробуй, or usedНа минуту попробуйin the first two paragraphs, the next first paragraph must be descriptive/report-like and contain no second-person imperative verbs at all; prefer report-only, question-only, or still-life formats before giving another mini-practice. If the last 2 posts were built around response/answer/click/message/question (ответ,отклик,клик,сообщение,вопрос), the next post should leave the communication/action-response frame entirely and start from an unrelated environment detail, object, light/temperature, or report-only note.The card is secondary: mention it in one short useful sentence as a visual anchor, not as the main subject. Do not always write the card sentence as
На карте — …: if the last 3 Telegram posts used that opening, the next card anchor must use a different shape, for example “Скриншот здесь только метка…”, “Картинка держит одну мысль…”, “Пусть изображение будет не объяснением, а паузой…”, or omit the explicit card sentence when the visual already carries it. Avoid formulaic templates; the user explicitly said both card-only posts and repeated “точка → ладонь → три выдоха → слово” practices became boring. Also do not reuse the same sensory channel as the immediately previous post: if the previous post was built around sound/listening, the next one must use a different channel (temperature, weight, distance, light, object, report-only, question-only, or counter-practice). If the previous post used temperature/surface/object (as in meditations/43_tg), the next post must not stay with another cold/warm surface; choose light/shadow, distance/weight, a report-only note, or a non-instruction question instead.Extra anti-repeat check: if any of the last 3 Telegram posts already used “назови одно слово/состояние” or “на выдохе назови…”, the next post must not ask the reader to name a state at all. Use a non-verbal action instead: pause before opening the next app, notice temperature, feel weight on the chair, look at one shadow, or leave the practice as a report/question without instruction. If the immediately previous post already used a breath-count cue such as “один вдох / один выдох” or “медленный вдох”, the next post should not solve freshness by another breath cue; choose weight, distance, posture, ambient detail, or report-only form instead.
Outro anti-repeat check: do not end every Telegram post with the same technical footer “К этой медитации добавлен трек-рассказ и динамическое видео…”. If the MP4 is mentioned, vary the purpose in human terms (sleep, transition, background, listening test), or omit the sentence when the two media embeds already make it obvious. Do not repeat tool-failure explanations such as Trekopes
401 Unauthorizedin consecutive public Telegram posts; log recurring technical failures in the daily note/evolution note, and keep the public post focused on what the reader can use. -
Log created files in the daily note and
landing_pages.md:[[meditations/N]],[[meditations/N_card]],[[meditations/N_tg]],N_tg_image.png, and the paired song/video[[songs/<song_slug>]],<song_slug>.mp3,<song_slug>_viz.png,<song_slug>.mp4. -
Sync again after inserting the screenshot and MP4 and verify the files/assets were pushed. Rendered Telegram page verification requires the card image and either
<video/ MP4 asset reference (preferred) or an explicit fallback note if Trip2G cannot render video embeds yet. -
After publication, read
/opt/data/secondbrain/data/meditation_instruction_evolution.mdif it exists. Choose one small visible improvement to the meditation process (text style, image/card style, song/audio style, adding/removing one step, or one quality check), keep it scoped to 5–10 real meditations, implement the next tiny step immediately if safe, and log it in the daily note and the evolution note.
2026-05-25 Dynamic MP4 correction
The old static ffmpeg -loop 1 ... -tune stillimage snippet above is deprecated for meditation Telegram posts. Use the dynamic Songsee/ffmpeg workflow from skills/trekopes-mcp instead: scrolling spectrogram/crop, visible waveform or low-frequency strip, audio stream present, and frame hashes at several timestamps must differ. This correction is grounded in meditations/40_tg and data/meditation_instruction_evolution: the paired video should be a moving audio-visual artifact, not a still image with sound.