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;
- weight/posture inventory: 2–4 sentences about weight on chair/floor, jaw, shoulders, neck, balance, or how the body is carried; use it especially after posts about looking through windows, screens, light, or listening, so the next post does not stay in the same gaze/sound frame;
- threshold/time report: 2–4 sentences about a boundary in time — before sleep, after a long pause, between ticks, at the edge of morning/evening — without listing body parts or giving a minute-long checklist; use it after a weight/posture post so the next text does not become another body inventory;
- one-card postcard: 1–2 short paragraphs where the whole post is a compact scene or question plus one secondary card line, with no separate practice paragraph, when recent posts all used the same scene → practice → card structure;
- single-threshold question: one concrete question about a boundary in time/action, without a list of body parts or multiple examples; after using it once, the next post should not solve freshness with another
где ближайший переход...question-list; - single-image line: one visual sentence or one scene detail, then one card-anchor sentence, with no diagnostic question-list; use it after two posts have already used enumerating questions (
замечен ли...,где ближайший...) so the next post has a different visible rhythm; - caption-first micro-note: start with one declarative caption-like line about a visible detail or moment, then stop or add one secondary sentence; no reader question in the first paragraph. Use it after a threshold/question-list post such as meditations/47_tg;
- center/mass/whole-room note: 2–4 sentences from the middle of the room, weight, volume, weather, or shared air — no
край,порог,ребро,граница,обод, and no cup/table-edge touch. Use it after a boundary/contact post such as meditations/49_tg. If the current post already used room/air/volume (комната,воздух,объём,плечи), the next post should not repeat the same whole-room solution; rotate to weather, sound, report-only, sleep/time, or one concrete non-room body relation; - outside/weather dispatch: 2–3 sentences from outside the room frame — weather, street sound, sky pressure, rain/wind, temperature outside, or distant ambient noise. Use it after a whole-room/air post such as meditations/50_tg so the next text does not become another
комната/воздух/объём/плечиvariation. After one outside/weather dispatch (street/wind/noise/weather), do not repeat the same exterior sound/weather frame immediately; rotate to sleep/time, report-only, or one concrete posture/weight detail without room-volume and without boundary/contact vocabulary; - sleep/time non-timer report: 2–3 sentences about waking, sleep residue, waiting, a long pause, clock time, or the day not yet starting, without
на минуту/несколько секунд/одна секундаas the bridge into practice; use it after an outside/weather dispatch such as meditations/51_tg so the next post does not become a second street/wind/noise scene. If the previous outside/weather post already leaned onфон,слой,дальний,за стеной, the sleep/time post should avoid those background words and speak from sleep residue, clock time, heaviness of waking, or report-only silence instead; - device-afterglow exit: if the previous post used phone/screen/unlock/touch/light-on imagery (as in meditations/52_tg), the next post must leave the device/control frame entirely: no экран/телефон/касание/разблокировка/свет может подождать, no boundary words like
край/рамка, and no micro-duration (одна секунда). Choose sleep residue in the body, weather without street-noise repetition, posture/weight, or a report-only silence; - eyes-closed/body-first note: after a device/screen post such as meditations/52_tg, a safe next format is 2–3 sentences from closed eyes, sleep residue, jaw/neck/weight, or breathless bodily orientation before any object appears; do not mention phone/screen/light/edge/frame and do not turn it into another one-second pause. If this format was already used with direct body commands (
разомкни,дай,проверь), the next post should not become a second body-instruction list; choose report-only, third-person observation, weather/sleep/time without timer, or one non-imperative scene; - third-person aftermath note: after a post that used second-person body commands (
проверь,разомкни,дай,почувствуй), write 2–3 sentences as an aftermath/report in third person or impersonal voice: what settled, softened, remained, or did not need fixing. No direct imperatives, no body-part checklist, and no timed practice bridge. After this format has been used once, do not solve the next freshness problem by writing a second aftermath/report-only post; rotate to a non-command scene, weather/sleep/time, one object, or a single useful question without body checklist. - single useful question after report-only: after a
third-person aftermath notesuch as meditations/54_tg, the next Telegram post may be exactly one practical question plus one card-anchor sentence. The question must not contain a list of examples, a hidden command (проверь/сделай/почувствуй), a body-part checklist, or a timer; it should open a different angle instead of continuing the report. After this question-only format has been used once (for example meditations/55_tg), the next post should not be anotherКакой/Что можно...practical question; rotate to one concrete non-question scene, weather/sleep/time without timer, object-only still life, or a short report with one fresh sensory detail. If the question-only post used a chain of negations (не ответить, не разобрать, не превратить...), the next post should not repeat aне X, не Y, не Zrefusal list; use one positive visible scene or action instead. - positive ordinary action scene: after a question/refusal post such as meditations/55_tg, write 2–3 sentences around one affirmative ordinary motion (putting a cup down, opening a curtain, tying a cord, stepping onto the floor, rinsing a spoon), without
не X, не Y, without anotherчто можно оставить...question, and without turning the action into a checklist. - after one positive ordinary action scene, do not make the next post another curtain/light/simple-action demonstration. Rotate to a different register: weather/sound, object-only still life, sleep/time report, or texture/temperature without command, so the affirmative move does not become the next formula.
- texture/temperature still note: after an affirmative action + light post such as meditations/56_tg, write 2–3 non-imperative sentences about fabric, air, floor, metal, water, warmth/coolness, grain or pressure, with no second curtain/window/light action and no instruction to the reader. The texture should be observed, not turned into a checklist.
- after one texture/temperature still note such as meditations/57_tg, do not make the next post another cool floor/surface/fabric observation. Rotate to weather/sound, sleep/time, posture/weight, or a sparse report so
surface + coolnessdoes not become the next formula. - paragraph-rhythm reset: if the last 3 Telegram posts all have the same visible rhythm (two short body paragraphs after media, with the card anchor folded into the second paragraph), the next post should change shape before changing content: one single postcard paragraph, three tiny lines, or a title-like first line plus one report sentence. Do not let
scene → explanatory second paragraph → card sentencebecome the new liturgy. - 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. If two recent posts used enumerating question-lists (замечен ли...,где ближайший..., several examples separated by commas), the next post must not use another diagnostic list-question; choosesingle-image line, report-only, still-life, or one plain statement instead.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. If the last 3 posts already used the card-anchor verbдержит(“Картинка/Скриншот/Карта держит…”), the next post must not repeat that verb; use another relation (“оставляет”, “подсвечивает”, “служит меткой”, “просто рядом”) or omit the card sentence. If recent card-anchor lines repeatedly useрядом(“картинка рядом”, “изображение рядом”), the next post should not solve the anchor by another “рядом” phrase; either use a different relation or let the media embed stand without explanation. Ifслужит меткойappeared in the latest card-anchor line, do not repeat that exact relation in the next Telegram post; pick a new verb or omit the explanatory card sentence. If the last 3 card-anchor lines all explain the media asодна мысль/одна метка/одна фраза, the next post should not add another “one-thought” explanation; either let the image+video stand without a card sentence or use a non-explanatory title-like line. 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. If the previous post used a caption-first visual/light detail (as in meditations/48_tg with dust, beam, side light, seeing), the next post must not make another visual-light caption; choose sound, distance, counter-practice, report-only without object, or one concrete non-visual body relation. If the recent posts already leaned on edge/threshold vocabulary (край,ребро,граница,порог), do not make the next Telegram post another boundary metaphor; choose center/mass/whole-room, sound, weather, or report-only 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. If several recent posts use the same tiny-duration language (
несколько секунд,одна секунда,на минуту) as the bridge into practice, the next post should avoid duration-as-formula and instead use a concrete condition, scene, or no explicit practice timer.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.