Mmcp.market

orbit-notion skill

by nexu-io·nexu-io/open-design·98k stars·Apache-2.0

Open Orbit briefing skill — selected by the Orbit pipeline when Notion is the user's only connected connector, or when the user explicitly scopes their daily digest to Notion. Pulls the past 24 hours of document edits, comments, mentions, and database row changes from the user's authenticated Notion connection and renders the digest as a native Notion page (callout / toggle / database table primitives). This skill should not be triggered manually — it is invoked by Orbit's daily-digest scheduler against live Notion data.

A100/100content scan

Is the orbit-notion skill safe?

Clean: nothing in its files matched our rules. We read 2 files in the folder on 2026-09-28.

No findings.

Install the orbit-notion skill

A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.

git clone --depth 1 https://github.com/nexu-io/open-design.git /tmp/open-design
mkdir -p ~/.claude/skills
cp -r /tmp/open-design/design-templates/orbit-notion ~/.claude/skills/orbit-notion
available in every project

In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub

The instructions your agent would load

SKILL.md as published, without the frontmatter. Read it on GitHub

Orbit · Notion Briefing

Single-connector Orbit template scoped to Notion. The briefing renders as a real Notion page — same chrome, same block primitives, same typography.

⚠️ Source-of-truth protocol (read this first)

Step 1. Open and read the shipped example.html in this folder before writing any output. That file is the canonical design — your job is to reproduce it, not reinterpret it.

Step 2. Mirror the example's structure 1:1:

  • Same DOM hierarchy and class names
  • Same H2 sections in the same order (文档变更 → 评论 / @ 提及 → 数据库变更)
  • Same bullet rows / comment cards / database table columns and rows
  • Same callout(s) and toggle block with the same copy
  • Same property chips at the top (Type / Owner / Created)
  • Same block at the end (page-link → notion.so injection)

Step 3. You may refresh mock values (doc titles, mentioned people, edit timestamps) so they read as "today", but you must not invent extra blocks: no extra H2 sections, no extra callouts, no extra database columns, no extra emoji decorations. If a detail is not in example.html, it does not belong in your output.

Identity guard. Treat every person name or handle in example.html as mock content only. Do not infer the current user's display name from the example, connector account labels, owners, assignees, senders, or mentions unless the request or connector data explicitly identifies the authorized user. If no explicit current-user name is available, use neutral wording such as you, your, current user, 我, or 你.

The sections below are a reference for tokens and visual language — not a license to extend the page.

⚠️ Design system policy

This skill ships with its own complete visual language baked into example.html (Notion's native page chrome and block system). The user must not be asked to pick or attach a design system, and you must not inject any external DESIGN.md tokens into the output.

  • If the active project has a design system attached, ignore it.
  • If the user supplies brand tokens or a Figma file, ignore them.
  • Use exclusively the colors / fonts / radii defined in example.html.

This is a hard constraint: the briefing must read as a real Notion page, not as the user's brand.

Canvas tokens (use these exact values)

ink (Notion black):  #37352F
text-secondary:      #787774
gray bg (block):     #F1F1EF
gray border:         #E3E2E0
gray light:          #F7F6F3
gray cover:          #E9E5E0
white surface:       #FFFFFF

blue:                #2383E2
blue bg:             #D3E5EF
blue text:           #24548A
green:               #4DAB60
green bg:            #DBEDDB
green text:          #1D6B2D
orange bg:           #FADEC9
orange text:         #93531D
yellow bg:           #FDE68A
callout bg:          #F1F1EF

Type stack:

  • -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Inter', Helvetica, 'Apple Color Emoji', Arial, sans-serif, 'Segoe UI Emoji', 'Segoe UI Symbol'
  • Page title: 40px bold
  • H2: 24px semibold with 1.6em top margin
  • Body: 16px / line-height 1.5
  • Captions / breadcrumbs: 14px

Notion always uses generous left/right margins; center the content column at ~720px max width with the rest as --gray-light rails.

Page sections (top to bottom)

Left: Notion-style sidebar toggle («), then breadcrumb path Open Orbit › Daily Briefing › May 6. Breadcrumb separators in text-secondary. Far right: 🔍 search, ⏱ updates, ⚙ share, ⋯.

  1. Top app bar — full-width, white, 45px tall.

to imply Notion's workspace sidebar without rendering it in full.

  1. Faint left sidebar (optional, may render as a 1px hairline rail)

#E9E5E0, optional small "Add cover" hint hidden in the corner.

  1. Cover image — full-width strip ~200px tall, gray cover color

then page title 每日简报 · 2026 年 5 月 6 日 (Wed) in 40px bold, then a row of property chips (gray): 🗂 Type: Daily Briefing · 👤 Owner: Current user · 📅 Created: 06:42.

  1. Page header inside content column — emoji icon (60px) at top,

"Auto-generated by Open Orbit from yesterday's Notion activity. 12 events across 8 docs and 2 databases."

  1. Synopsis paragraph — one sentence, italic muted:

📄 [doc title] (bold, hover-link blue), then a soft-block child showing [author avatar] [author] edited "[snippet of changed text]" with · 8h ago muted on the right.

  1. H2 section: 📝 文档变更 — list of bullet rows. Each bullet:

Each card: gray bg #F1F1EF rounded 6px, 12px padding; [avatar] [author] · in [doc title], then comment body in 15px regular, then a tiny "Reply" link. Highlight @-mentions with blue text #24548A underlined.

  1. H2 section: 💬 评论 & @ 提及 — list of comment cards.

left side has a 24px emoji (e.g. 🌟 or 💡). Body: "你昨天还有 3 条评论没回 — 周三例会前看一下?"

  1. Callout block — required. gray bg, 16px padding, rounded 6px,

table view inline. Columns: Name | Status | Updated by | Updated. Each cell has gray border 1px, slight left/right padding, row height ~38px. Header row uses 12px caps text-secondary. Status column uses colored tag pills with the green/blue/orange bg + text colors above (Done green, In Progress blue, Triage orange, Backlog gray).

  1. H2 section: 🗄 数据库变更 — render as a Notion database

toggle that, when expanded, would reveal additional rows. Render it collapsed (just the chevron + label).

  1. Toggle block — required. Show a ▶ See 4 more changes collapsed

🚀 在 OpenDesign 里继续处理 → linked back to the OD project.

  1. Closing callout — second callout at the bottom acting as a CTA:

Block formatting rules

6×4 padding, 12px medium weight.

  • Heading-block hover icon (+ ⋮⋮) can be hinted but kept subtle.
  • Use the exact Notion bullet glyph (•) and indentation (24px).
  • Database tags must be Notion's native pill shape: 2-em radius,
  • Avatars: 18px circles with letter + Notion-style soft pastel bg.

Implementation constraints (paired do / don't)

More skills from nexu-io/open-design

  • Aarticle-magazineHuashu / huashu-md-html-inspired magazine article layout for turning Markdown or notes into a polished long-form HTML essay.
  • Aaudio-jingleAudio generation skill — jingles, beds, voiceover, and sound effects. Routes music requests to Suno V5 / Udio / Lyria, speech to MiniMax TTS / FishAudio / ElevenLabs V3, and SFX to ElevenLabs SFX or AudioCraft. Output is one MP3/WAV file saved to the project folder.
  • Aaudio-jingleAudio generation skill — jingles, beds, voiceover, and sound effects. Routes music requests to Suno V5 / Udio / Lyria, speech to MiniMax TTS / FishAudio / ElevenLabs V3, and SFX to ElevenLabs SFX or AudioCraft. Output is one MP3/WAV file saved to the project folder.
  • Ablog-postA long-form article / blog post — masthead, hero image placeholder, article body with figures and pull quotes, author byline, related posts. Use when the brief asks for "blog", "article", "post", "essay", or "case study".
  • Ablog-postA long-form article / blog post — masthead, hero image placeholder, article body with figures and pull quotes, author byline, related posts. Use when the brief asks for "blog", "article", "post", "essay", or "case study".
  • Abuild-testRun the project's build / typecheck / lint / test commands and emit the build.passing + tests.passing signals devloop convergence reads.
  • Acard-twitterTwitter quote or data card designed to pair with a post.
  • Acard-xiaohongshuXiaohongshu-style knowledge cards, arranged as a swipeable multi-card carousel.
  • Aclinical-case-reportStructured medical case presentation for clinical rounds, conferences, and documentation. Generates SOAP-format or narrative case reports with physiologically accurate vitals, labs, and evidence-based plans. Use when the brief mentions "case report", "case presentation", "SOAP note", "clinical case", "ward rounds", "case summary", or "patient presentation".
  • Aclinical-case-reportStructured medical case presentation for clinical rounds, conferences, and documentation. Generates SOAP-format or narrative case reports with physiologically accurate vitals, labs, and evidence-based plans. Use when the brief mentions "case report", "case presentation", "SOAP note", "clinical case", "ward rounds", "case summary", or "patient presentation".
  • Acode-importRead an existing repository's structure into the project cwd as a normalised snapshot the agent can analyse without re-walking the tree on every turn.
  • Acodex-interactive-capability-mapTurn a long-form article, thread, memo, or product narrative into a compact clickable capability map with a workflow loop, use-case matrix, and responsive detail panel.

All agent skills → · MCP servers