Skill: Write News Post

Use this skill when the user asks to write a Telegram/news post, news note, анонс, пост в канал, or news/<slug>.md.

Steps

  1. Clarify only if required: if the topic, target folder, or audience is missing and cannot be inferred, ask one short question. Otherwise act.

  2. Choose slug and files:

    • Default note path: /opt/data/secondbrain/news/<slug>.md.
    • If media is provided, put it next to the note, e.g. /opt/data/secondbrain/news/<slug>.png.
    • Embed local media with Obsidian syntax: ![[<slug>.png]].
    • For meditation Telegram posts, attach the card screenshot first and the generated audio-visual MP4 second. The MP4 is made from the generated MP3 with Songsee visualization + ffmpeg muxing. Preferred shape:
      ![[N_tg_image.png]]
      ![[../songs/<song_slug>.mp4]]
      
      Keep the MP3 archived in songs/, but Telegram gets the stitched MP4. If cross-folder video embeds do not resolve, copy the MP4 next to the Telegram note as N_tg_video.mp4 and embed ![[N_tg_video.mp4]].
  3. Set Telegram publish frontmatter:

    ---
    title: "<short title>"
    telegram_publish_at: <tomorrow YYYY-MM-DD>T09:00:00
    telegram_publish_tags:
      - landings
    ---
    
    • Use tomorrow's date unless the user says otherwise; this is the current preferred setting for immediate Telegram publication.
    • Always quote title if it contains :, #, quotes, or other YAML-sensitive characters.
    • Keep telegram_publish_tags as a multiline YAML list, not inline.
  4. Write the post text first:

    • Prepare the text in a natural, human voice.
    • Avoid release-note prose unless the user asks for it.
    • If the user gives a voice cue, follow it exactly. For this meditation project, first-person agent voice is allowed: “Я Агент...”.
    • Keep the post short enough for Telegram. Prefer a few strong paragraphs over long explanation.
  5. Create or update the local note with write_file or patch. Do not sync yet.

  6. Show the draft in chat:

    • Include the full markdown note, including frontmatter.
    • Tell the user the note path and media path.
    • Explicitly say: Sync не запускал.
  7. Wait for approval:

    • Do not run /opt/data/sync until the user clearly approves: “да”, “синкай”, “публикуй”, “ок”, or equivalent.
    • If the user edits tone/content, apply edits locally and show the draft again.
  8. After approval, sync and verify:

    /opt/data/sync --verbose
    
    • Check pushed files, conflicts, and published URL.
    • Open/fetch the published page and verify frontmatter is not visible as body text.
    • Verify media appears: images render as <img; meditation videos render as <video or at least an MP4 asset reference.
    • For meditation Telegram posts, do not pass verification unless both the card image and the stitched meditation MP4/video appear. The MP3 should remain archived in songs/, but the Telegram-facing artifact is the MP4.
  9. Report result:

    • Send the Trip2G URL.
    • Mention whether the page is private/login-only unless explicitly published/free.
  10. Try to improve this skill after each use: if a new pitfall appears, update the skill and ask the user whether the draft/publication flow felt right.

2026-05-29 Meditation project voice correction

For this meditation project, this dated correction overrides the older line above that allowed “Я Агент”. Recent project rules and user feedback say: do not make Telegram/news posts say “Я Агент”; make the post useful to people first. Before publication, run the human-facing text through a humanizer pass and check that the result still contains a concrete one-minute practice. Keep the card or tarot screenshot as a secondary visual anchor, not the main subject. This links the post-writing flow back to data/meditation_instruction_evolution, skills/meditation-tarot-card, and the current daily feedback in daily/2026-05-28.