From morning-ai
Generates concise Markdown text digest and 9:16 PNG image from scored AI news data for sharing on messaging platforms like WeChat, Telegram, Slack.
npx claudepluginhub octo-patch/morningai --plugin morning-aiThis skill uses the workspace's default tool permissions.
Transform the daily AI news report data into a concise, copy-paste-friendly **message digest** optimized for sharing on messaging platforms. Produces two output files:
Generates PNG infographics for MorningAI daily AI news reports: always a 9:16 cover of top updates, conditional per-type portraits (model, product, benchmark, funding, KOL), and vertical combined image for Markdown embed.
Searches for today's AI news across multiple categories, checks official changelogs, and creates/updates a briefing in Notion with deduplication against previously covered stories.
Run the daily content pipeline to fetch signals, analyze relevance, draft output, edit for voice fidelity, and deliver the brief
Share bugs, ideas, or general feedback.
Transform the daily AI news report data into a concise, copy-paste-friendly message digest optimized for sharing on messaging platforms. Produces two output files:
message_{DATE}.md) — bold titles, one-line summaries, source linksmessage_{DATE}.png) — 9:16 portrait infographic with compact card layoutThe message digest shares the same data pipeline as the full report — all items go through the standard collect → score → deduplicate → cross-source link → verification pipeline. The only difference is the final output format: the full report produces a detailed multi-section Markdown document, while the message digest condenses the same verified data into a compact, share-friendly format.
Factual integrity applies to all items: Every item in the digest — regardless of score — must have a traceable, authoritative source (source_url). Items with score 7+ additionally require cross-source verification (verified == true, 2+ independent sources). Never include an item whose factual claims cannot be linked to a concrete primary source.
message_{DATE}.md| Property | Value |
|---|---|
| Format | Markdown (renders as plain text in most messaging apps) |
| Encoding | UTF-8 |
| Sections | Header → Items (with source links) → Footer |
message_{DATE}.png| Property | Value |
|---|---|
| Format | PNG |
| Aspect Ratio | 9:16 portrait (optimized for mobile chat) |
| Layout | Single-column vertical card stack |
| Content | Same items as text digest, compact visual format |
| Variable | Type | Default | Description |
|---|---|---|---|
MESSAGE_ENABLED | bool | false | Master switch for message digest generation |
MESSAGE_MIN_SCORE | float | 5 | Minimum importance score to include an item |
MESSAGE_MAX_ITEMS | int | 10 | Maximum number of items in the digest |
MESSAGE_LANG | string | (from --lang) | Language override for the digest |
MESSAGE_IMAGE_STYLE | string | (from IMAGE_STYLE) | Visual style override for the digest image |
MESSAGE_LINKS | string | inline | Link placement: inline (after each item) or bottom (reference list at end) |
MESSAGE_CATEGORY_BALANCE | bool | true | Distribute slots across content types to prevent single-type domination |
data_{DATE}.json from the working directory (this data has already been scored, deduplicated, and cross-source verified by the collection pipeline)importance >= MESSAGE_MIN_SCOREsource_url. This is a hard requirement — no item may appear in the digest without an accompanying source link.
source_url in the data → use it directlysource_url but has verify_sources or cross_refs → use the best available URL from those fieldshttps://huggingface.co/{model_id} for HF models, https://github.com/{owner}/{repo} for GitHub projects)verified == true (2+ independent sources)MESSAGE_CATEGORY_BALANCE is true, default):
a. Group qualifying items by content_type
b. Apply per-type slot caps: product max 4, model max 3, benchmark max 2, financing max 2
c. From each type, select the highest-scoring items up to the type's cap
d. If a type has fewer qualifying items than its cap, its unused slots become available as overflow
e. Fill remaining slots (up to MESSAGE_MAX_ITEMS total) with the next highest-scoring items from any type, regardless of whether that type has already hit its cap
f. If MESSAGE_CATEGORY_BALANCE is false, skip this step and use pure top-N by scoreMESSAGE_MAX_ITEMSMESSAGE_LANG, translate summaries. Entity names (proper nouns) stay unchanged.| Language | Header Text | Item Count Format |
|---|---|---|
zh | MorningAI {DATE} | 共 {N} 条重要更新 |
en | MorningAI {DATE} | {N} notable updates today |
ja | MorningAI {DATE} | 本日の注目 {N} 件 |
| Score Range | Emoji | Meaning |
|---|---|---|
| 9-10 | 🔥 | Major / breakthrough |
| 7-8 | ⭐ | Important |
| 5-6 | 🔷 | Notable |
Each item follows this structure:
{emoji} **{Entity} {Event description}**
{One to two sentence summary: what it IS/DOES + why it matters.}
🔗 {source_url}
Rules:
🔗 {source_url} line — this is non-negotiable. An item without a source link is a formatting error. If the data lacks a source_url, construct one from known URL patterns (HuggingFace model page, GitHub repo, official blog) or search for an authoritative link. If no URL can be found, drop the item rather than publishing it without a link.For GitHub Trending items or items with notable engagement metrics:
🔥 **GitHub Trending: {repo-name}**
{What it does + why it's trending.} ⭐ {star_count}(+{delta})
🔗 {source_url}
Note: even for trending items, lead with what the project does, then append the star count as supporting context — not the other way around.
MESSAGE_LINKS=inline (default):
Each item ends with a source link line:
🔥 **Anthropic Releases Claude 4.5 Sonnet**
New mid-tier model with +18% SWE-Bench, 200K context, 40% faster output.
🔗 https://anthropic.com/news/claude-4-5-sonnet
MESSAGE_LINKS=bottom (alternative — groups links at the end):
Links grouped as a numbered reference list at the bottom, items do NOT include inline links:
---
[1] {Entity Event} - {URL}
[2] {Entity Event} - {URL}
---
Powered by MorningAI | Full report: report_{DATE}.md
Generate message_{DATE}.png only if image generation is available (i.e., IMAGE_GEN_PROVIDER is configured and not none). If unavailable, skip image generation and produce text only.
| Property | Value |
|---|---|
| Aspect Ratio | 9:16 portrait |
| Layout | Single-column vertical card stack |
| Cards | One card per item, compact format |
| Card Content | Emoji marker + bold title + one-line summary |
| Style | From MESSAGE_IMAGE_STYLE or IMAGE_STYLE config |
9:16 portrait infographic, {HEADER_TEXT} {YYYY-MM-DD}, ALL text content in {LANG}.
Purpose: Compact message digest for mobile sharing on messaging apps.
Total news items: {N}
News cards (display EXACTLY {N} cards, compact vertical layout):
Card 1: {emoji} {Entity name} {Event description}
- {One-line summary with key metrics}
Card 2: {emoji} {Entity name} {Event description}
- {One-line summary with key metrics}
(... list all {N} items ...)
CRITICAL RULES:
- ALL text on this image MUST be in {LANG}
- Entity names are proper nouns (OpenAI, DeepSeek, Cursor) — keep as-is, do NOT translate
- Each card has: emoji marker + bold title + one-line summary (NOT multi-line bullets)
- Use 🔥 for top items, ⭐ for important items, 🔷 for regular items
- Compact single-column vertical stack — one card below another
- Title font: 18pt bold, summary font: 13pt regular
- Cards separated by thin divider or subtle spacing (12px)
- Card width fills 90% of image width
- Do NOT display score numbers, badges, or importance markers
- Do NOT invent items not listed
- Maximize content area — minimize decorative elements
- Header: "{HEADER_TEXT} {YYYY-MM-DD}" at top
- Footer: small gray text "Powered by MorningAI" at bottom
- Optimized for screenshot sharing in messaging apps
{STYLE_BLOCK}
Message digest layout adaptation:
- Single-column vertical stack (NOT grid layout)
- Each card: title line + summary line only (compact, no multi-line bullets)
- Tight vertical spacing between cards
- Clean, uncluttered, high information density
- Mobile-optimized: large enough text to read on phone screens
Variable substitution:
{HEADER_TEXT}: See Language-Specific Headers table above{LANG}: "Chinese" for zh, "English" for en, "Japanese" for ja{STYLE_BLOCK}: Injected from existing style presets (see skills/gen-infographic/scripts/styles.py)Use the same methods as Step 4 (gen-infographic):
Option A — Native tool (if supported): Generate using built-in image generation capability with the prompt above.
Option B — Python script:
cd {SKILL_DIR} && python3 skills/gen-infographic/scripts/gen_infographic.py --prompt "{prompt}" -o {CWD}/message_{YYYY-MM-DD}.png
MESSAGE_ENABLED=true — skip if not enableddata_{DATE}.json from the working directorytemplates/digest.md)MESSAGE_MIN_SCORE, apply category balance (if enabled), sort desc, limit to MESSAGE_MAX_ITEMS{CWD}/message_{DATE}.md{CWD}/message_{DATE}.pngMorningAI 2026-04-14
8 notable updates today
🔥 **Anthropic Releases Claude 4.5 Sonnet**
New mid-tier model with +18% SWE-Bench, 200K context, 40% faster output. Available via API and claude.ai.
🔗 https://x.com/AnthropicAI/status/example
⭐ **Google Gemini 2.5 Flash Enters Public Preview**
Flash-tier model with native multimodal reasoning, 1M context. Free tier on AI Studio.
🔗 https://x.com/GoogleDeepMind/status/example
⭐ **Cursor Background Agents Now Generally Available**
Autonomous background agents for multi-file refactoring, test generation, and PR creation. Max 10 concurrent on Pro.
🔗 https://cursor.com/changelog/background-agents-ga
⭐ **DeepSeek Open-Sources V3-0407 Model**
Updated V3 with 671B MoE architecture, MIT license. Weights available on HuggingFace.
🔗 https://github.com/deepseek-ai/DeepSeek-V3
⭐ **OpenAI Open-Sources Codex CLI**
Terminal-based coding agent with suggest, auto-edit, and full-auto modes. MIT license.
🔗 https://github.com/openai/codex
⭐ **LMSYS Chatbot Arena April Rankings Update**
Claude 4.5 Sonnet enters #2 overall (ELO 1287). Gemini 2.5 Pro holds #1 in coding.
🔗 https://lmarena.ai
⭐ **GitHub Copilot Coding Agent Public Preview**
Autonomous agent handles issues and creates PRs in secure cloud sandbox. Free for Pro+ and Enterprise.
🔗 https://github.blog/changelog/copilot-coding-agent
⭐ **Windsurf Raises $200M Series C at $3B Valuation**
Largest round in AI coding tools space. Plans to hire 200 engineers and expand enterprise features.
🔗 https://techcrunch.com/2026/04/07/windsurf-raises-200m
---
Powered by MorningAI | Full report: report_2026-04-14.md
data_{DATE}.json directly — it does NOT depend on the report being generated firstMESSAGE_LINKS=bottom, the reference numbers are implicit (ordered by item appearance) — do NOT add [1] markers in the item body, and do NOT include 🔗 lines after each item