Open Orbit briefing skill — selected by the Orbit pipeline when Linear is the user's only connected connector, or when the user explicitly scopes their daily digest to Linear. Pulls the past 24 hours of issue movement, status changes, assignments, and cycle progress from the user's authenticated Linear connection and renders the digest in Linear's native Inbox + cycle-progress visual language. This skill should not be triggered manually — it is invoked by Orbit's daily-digest scheduler against live Linear data.
52
58%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./design-templates/orbit-linear/SKILL.mdSingle-connector Orbit template scoped to Linear.
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 (toggle / theme / keyboard /
Linear link injection)Step 3. You may refresh mock values (issue identifiers, titles,
labels, ages, assignees) so they read as "today", but you must
not add extra rail entries, extra groups, extra fields in the
preview pane, or any chrome ornaments not already in example.html.
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, me, or my.
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 (Linear's signature compact UI). 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 Linear page, not as the user's brand.
page bg: #f4f5f6
surface: #ffffff
ink: #1b1c1f
ink-2: #37393e
ink-3 (muted): #6c6f78
ink-4: #9ea1a9
border: rgba(0,0,0,0.06)
border-card: rgba(0,0,0,0.08)
border-strong: rgba(0,0,0,0.12)
hover row: rgba(0,0,0,0.025)
active row: rgba(0,0,0,0.05)
accent: #5e6ad2
accent-bg: rgba(94,106,210,0.06)
attention accent: #c77d1a /* "needs attention" group */
attention bg: rgba(212,148,14,0.06)
shadow-card: 0 1px 2px rgba(0,0,0,0.04), 0 0 0 1px rgba(0,0,0,0.05)Status dot palette (must use exactly these):
backlog: #9ea1a9 /* gray, hollow ring */
todo: #d4940e /* yellow, dashed ring */
progress: #2b80c5 /* blue, partial ring */
review: #8759c7 /* purple, partial ring */
done: #1a8d3a /* green, filled */
canceled: #6c6f78 /* gray with strike */Priority icon = 4 small vertical bars, height ascending.
Filled bars indicate level: 0 None → 4 Urgent.
Urgent uses #d4513a; High uses #c77d1a; Medium/Low use #505259.
Type stack:
'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Display', system-ui, sans-serif'Berkeley Mono', ui-monospace, 'SF Mono', 'JetBrains Mono', Menlo, monospaceTop toolbar — single row, 44px tall, no shadow, hairline border-bottom.
Left: breadcrumb Orbit › Daily Digest › May 6 (13px, …›… separators
in ink-4). Then a thin divider, then ▼ My issues view switcher.
Right: 🔍 search, + new, ▦ display options, avatar.
Cycle progress strip — slot to the right of the breadcrumb area,
one line: Cycle 12 · 60% complete · 3 days left. Render as 11px caps
with a tiny inline progress bar (60px wide, 4px tall, accent fill).
Three-column main:
Inbox · My issues · Active · Backlog · All issues,
then a divider, then 📋 Triage · 🚫 Canceled · ✅ Completed.
Active row: accent-bg background, accent ink.
Bottom: a tiny Open Orbit · auto-generated 06:42 muted line.attention accent 11px caps;
group block has attention bg very subtle background.
Rows include: assigned + stale issues, high/urgent priority.[priority bars] [identifier ENG-148] [status dot] [title……………] [labels] [cycle chip] [assignee avatar]
Row height ~36px. Hover = hover row color.ENG-148) are mono, 12px, ink-3.Cycle 12 with hairline border.| Don't | Do |
|---|---|
Add shadows beyond the listed shadow-card token | Use only 0 1px 2px rgba(0,0,0,0.04), 0 0 0 1px rgba(0,0,0,0.05) for cards |
| Use bright colors outside the status palette | Use only the documented status hues (Backlog gray / Todo yellow / Progress blue / Review purple / Done green) and the #5e6ad2 accent |
| Use sans-serif typography that isn't Inter | Use 'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Display', system-ui, sans-serif |
| Use airy row heights | Keep rows under 40px (target ~36px) — Linear is signature-dense |
| Use lorem ipsum | Write real-shaped Linear copy: identifiers like ENG-148, DES-22, INF-9; cycle names like Cycle 12; titles like "Auth middleware refactor" |
| Render avatars as squares | Always circles, 18–24px |
| Ship the dark theme | Render the light theme — #f4f5f6 page, #ffffff cards |
Use placeholder team prefixes like T-1 | Use real-shaped team prefixes: ENG / DES / INF / OPS |
f2760fd
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.