Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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
.claude/skills/nexu-io-orbit-notion/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 18% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 135% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 294% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 154% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 196% | 0% |
Single-connector Orbit template scoped to Notion. The briefing renders as a real Notion page — same chrome, same block primitives, same typography.
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:
<script> 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.
The sections below are a reference for tokens and visual language — not a license to extend the page.
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.
example.html.This is a hard constraint: the briefing must read as a real Notion page, not as the user's brand.
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: #F1F1EFType stack:
-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Inter', Helvetica, 'Apple Color Emoji', Arial, sans-serif, 'Segoe UI Emoji', 'Segoe UI Symbol'Notion always uses generous left/right margins; center the content column at ~720px max width with the rest as --gray-light rails.
Left: Notion-style sidebar toggle («), then breadcrumb path Open Orbit › Daily Briefing › May 6. Breadcrumb separators in text-secondary. Far right: 🔍 search, ⏱ updates, ⚙ share, ⋯.
to imply Notion's workspace sidebar without rendering it in full.
#E9E5E0, optional small "Add cover" hint hidden in the corner.
then page title 早安简报 · 2026 年 5 月 6 日 (Wed) in 40px bold, then a row of property chips (gray): 🗂 Type: Daily Briefing · 👤 Owner: Eli · 📅 Created: 06:42.
"Auto-generated by Open Orbit from yesterday's Notion activity. 12 events across 8 docs and 2 databases."
📄 [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.
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.
gray bg, 16px padding, rounded 6px,left side has a 24px emoji (e.g. 🌟 or 💡). Body: "Eli, 你昨天还有 3 条评论没回 — 周三例会前看一下?"
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).
▶ See 4 more changes collapsedtoggle that, when expanded, would reveal additional rows. Render it collapsed (just the chevron + label).
🚀 在 OpenDesign 里继续处理 → linked back to the OD project.
+ ⋮⋮) can be hinted but kept subtle.•) and indentation (24px).6×4 padding, 12px medium weight.
| Don't | Do | |---|---| | Borrow chrome from another connector (Material / Linear rows / GitHub pills) | Stay 100% in Notion's block primitives — H1 / H2 / bullet / callout / toggle / database table | | Use lorem ipsum | Write real-shaped Notion copy: doc titles like Q3 OKR, Onboarding 文档, 团队周报; people like Marie / Bob / Lily; comments like "这一段需要你确认" | | Mix serif typography in body | Notion is sans only — use the system stack with emoji fallbacks | | Render avatars as squares | Always circles, 18px with letter + Notion-style soft pastel bg | | Add shadows or gradients | Flat surfaces only; differentiate blocks with #E3E2E0 1px borders or #F1F1EF block backgrounds | | Use loud accent colors outside the Notion palette | Use only the documented Notion blue / green / orange / yellow tag hues | | Replace Notion's gray callout bg with a solid color | Callouts must use #F1F1EF gray bg + 24px emoji on the left | | Use placeholder doc names like "Document 1" | Use real-shaped Notion titles in CJK or English that read like a real workspace |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 42,212 | 61,122 | +45% | 1 | 1 | 0% | 6,676 | 10,262 | +54% | 0 | 0 | — |
case-02 | fail→fail | 55,130 | 39,729 | -28% | 1 | 1 | 0% | 8,248 | 10,249 | +24% | 0 | 0 | — |
case-03 | fail→fail | 41,333 | 35,965 | -13% | 1 | 1 | 0% | 8,242 | 10,243 | +24% | 0 | 0 | — |
case-04 | fail→pass | 52,660 | 45,602 | -13% | 1 | 1 | 0% | 8,243 | 9,689 | +18% | 0 | 0 | — |
case-05 | fail→fail | 44,508 | 61,080 | +37% | 1 | 1 | 0% | 4,469 | 10,220 | +129% | 0 | 0 | — |
case-06 | fail→pass | 26,036 | 32,046 | +23% | 1 | 1 | 0% | 4,112 | 9,669 | +135% | 0 | 0 | — |
case-07 | fail→fail | 24,181 | 34,779 | +44% | 1 | 1 | 0% | 4,706 | 9,976 | +112% | 0 | 0 | — |
case-08 | fail→pass | 12,104 | 48,372 | +300% | 1 | 1 | 0% | 2,596 | 10,229 | +294% | 0 | 0 | — |
case-09 | fail→pass | 36,099 | 35,660 | -1% | 1 | 1 | 0% | 4,032 | 10,222 | +154% | 0 | 0 | — |
case-10 | fail→fail | 16,933 | 47,213 | +179% | 1 | 1 | 0% | 3,417 | 10,218 | +199% | 0 | 0 | — |
case-11 | fail→fail | 34,292 | 48,593 | +42% | 1 | 1 | 0% | 5,326 | 10,223 | +92% | 0 | 0 | — |
case-12 | fail→fail | 15,024 | 51,902 | +245% | 1 | 1 | 0% | 2,248 | 10,217 | +354% | 0 | 0 | — |
case-13 | fail→pass | 15,100 | 40,654 | +169% | 1 | 1 | 0% | 3,078 | 9,096 | +196% | 0 | 0 | — |
case-14 | fail→fail | 16,064 | 45,903 | +186% | 1 | 1 | 0% | 2,279 | 10,224 | +349% | 0 | 0 | — |
case-15 | fail→fail | 34,741 | 51,377 | +48% | 1 | 1 | 0% | 6,373 | 10,214 | +60% | 0 | 0 | — |
case-16 | fail→fail | 9,436 | 47,697 | +405% | 1 | 1 | 0% | 1,406 | 10,217 | +627% | 0 | 0 | — |
case-17 | fail→pass | 32,800 | 35,740 | +9% | 1 | 1 | 0% | 6,262 | 10,216 | +63% | 0 | 0 | — |
case-18 | fail→pass | 19,909 | 56,313 | +183% | 1 | 1 | 0% | 3,826 | 10,217 | +167% | 0 | 0 | — |
case-19 | pass→fail | 38,068 | 36,522 | -4% | 1 | 1 | 0% | 6,320 | 10,216 | +62% | 0 | 0 | — |
case-20 | pass→fail | 36,396 | 36,789 | +1% | 1 | 1 | 0% | 5,977 | 10,225 | +71% | 0 | 0 | — |
case-21 | pass→fail | 44,000 | 49,903 | +13% | 1 | 1 | 0% | 5,757 | 10,215 | +77% | 0 | 0 | — |
case-22 | pass→fail | 47,925 | 31,969 | -33% | 1 | 1 | 0% | 8,233 | 10,234 | +24% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +14 percentage points is the difference between those two pass rates over the 22 comparable cases. 4 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.