fs-notebook-tabs
Helps your agent defend a machine learning keyboard project. It explains the problem, method, and evaluation. Useful for academic defenses.
What it does
This plugin creates presentations with an old notebook aesthetic. It transforms your ideas into cream paper pages with colorful side tabs, resembling a physical binder.
When to use it
- ✓To present an academic project with style.
- ✓When creating a visually unique portfolio.
- ✓To add a retro touch to any presentation.
Example of what to ask your AI
“Create a presentation with an old notebook theme about the history of artificial intelligence.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
It uses a fixed design with elements like paper, binder holes, and colorful tabs. Content is inserted, and the appearance is automatically applied, maintaining a consistent style.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add nexu-io/open-design --skill fs-notebook-tabsOr download just the file:
curl -L https://raw.githubusercontent.com/nexu-io/open-design/main/plugins/_official/examples/fs-notebook-tabs/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Notebook Tabs (索引笔记本)
A theme-locked deck plugin derived from the MIT-licensed zarazhangrui/frontend-slides "Notebook Tabs" style preset (STYLE_PRESETS.md section 5). The whole deck reads as one physical, editorially typeset notebook: every slide is a cream paper page floating on a dark desk, with a colorful tab index on the right fore-edge and binder holes on the left.
Start from example.html in this plugin folder. It is the proven seed: keep its stage CSS, the paper/holes/tabs device, the :root token block, and the entire SlidePresentation controller script verbatim — replace only the slide content. Do not redesign, do not introduce any color or font outside this spec.
Fixed 16:9 stage (locked scaling system)
- Every deck is authored on a fixed 1920×1080 canvas:
.deck-viewport(fills the window) wraps.deck-stage(1920×1080,transform-origin: 0 0). - JavaScript scales the whole stage uniformly:
factor = min(innerWidth/1920, innerHeight/1080), thentranslate(x, y) scale(factor)to center with letterbox/pillarbox; re-run onresize. This is the viewport-base.css system — the full file is already inlined in the seed. - Never reflow slide content per device. No responsive breakpoints inside slides. All measurements are fixed px at the 1920×1080 design size (the upstream preset's
clamp()tab sizing is superseded by stage scaling — use fixed px). - Slide switching toggles
.active/.visible(visibility/opacity/pointer-events) — neverdisplay: none. - Keyboard (
←/→/↑/↓/Space/PageUp/PageDown/Home/End), debounced wheel (~650ms), touch swipe (≥40px), and#/<index>hash routing with deep-link restore. The page counter lives in.deck-controls, fixed-positioned outside the scaled stage.
Design tokens (locked — reproduce exactly, never substitute)
:root {
/* Colors */
--bg-outer: #2d2d2d; /* dark desk behind the notebook */
--bg-page: #f8f6f1; /* cream paper */
--text-primary: #1a1a1a;
--text-secondary: #6b6358;
--rule: #d8d2c4; /* hairline rules on paper */
--tab-1: #98d4bb; /* Mint */
--tab-2: #c7b8ea; /* Lavender */
--tab-3: #f4b8c5; /* Pink */
--tab-4: #a8d8ea; /* Sky */
--tab-5: #ffe6a7; /* Cream */
--stage-bg: var(--bg-outer);
--slide-bg: var(--bg-outer);
/* Typography */
--font-display: 'Bodoni Moda', 'Didot', serif; /* 400/700 + italic */
--font-body: 'DM Sans', 'Helvetica Neue', sans-serif; /* 400/500/700 */
--title-size: 150px;
--h2-size: 84px;
--subtitle-size: 30px;
--body-size: 26px;
--label-size: 17px;
/* Paper geometry inside the 1920×1080 stage */
--paper-top: 56px;
--paper-bottom: 56px;
--paper-left: 120px;
--paper-right: 150px; /* leaves room for the protruding tabs */
--paper-pad-x: 110px;
--paper-pad-y: 78px;
/* Motion */
--ease-page: cubic-bezier(0.16, 1, 0.3, 1); /* the one signature easing */
--duration-normal: 0.7s;
}
Fonts load via one Google Fonts @import (Bodoni Moda ital,wght 0,400/0,700/1,400 + DM Sans 400/500/700). Forbidden: any other font, Inter/Roboto/Arial/system display fonts, any color outside the tokens above, gradients as decoration, indigo #6366f1, dark-glassmorphism panels.
Signature devices (every slide carries all of them)
- Paper card
.paper— absolutely positioned by the--paper-*insets,border-radius: 8px, layered shadow (0 2px 4px+0 18px 50pxdark drops + a 1px inner white highlight), faint 44px-pitch ruled-line grain via a layeredlinear-gradient,z-index: 1. - Binder holes
.holes— a left-margin flex column of 10 punched circles (26px,background: var(--bg-outer), inset dark shadow + 1px white bottom highlight), inside the paper atleft: 38px. - Margin rule
.margin-rule— a 1px vertical line atleft: 92pxinvar(--tab-3)at 0.55 opacity, echoing a real notebook's red margin line.
…
FAQ
Can I change the tab colors?
The colors are defined by the design and should be used as specified to maintain the notebook look.
Does the layout adapt to different screen sizes?
The design is fixed at a specific size and is scaled to fit the screen, without responsive adaptation within the slides.
How do I add my content?
You replace the example content while keeping the structure and styles defined in the base file.
Details
Original description by the author
A computer-science capstone: an on-device ML keyboard that predicts next words privately — problem, method, evaluation, and defense answers. Built as a decision-grade coursework defense deck for professor, defense committee.
repo: nexu-io/open-design
Popularity
- GitHub stars
- 101k
- Ranking position
- #553
- License
- Apache-2.0
- Updated
- 10/16/2026
Comments
- …
More skills from this repository
sample-plugin
Makes your agent create a metadata file for tests. It helps ensure code works correctly in different situations.
nexu-io/open-design
aster-atelier
Helps your agent create an artistic website with a classic look. It uses elegant imagery, blue skies, and serif fonts for a cinematic feel.
nexu-io/open-design
audio-jingle
Makes your agent generate audio like jingles and sound effects. It can create music and voices, saving the result as an audio file.
nexu-io/open-design
blog-post
Helps your agent write long articles or blog posts. It includes space for images, quotes, and author information.
nexu-io/open-design
Similar skills
architecture-decision-records
Has your agent record important project structure decisions. It helps to understand the reasoning behind choices and maintain a clear history of changes.
affaan-m/ECC
code-tour
Lets your agent create step-by-step code walkthroughs with exact file and line anchors. It's useful for project introductions, code explanations, or change reviews. Helps understand how a system works.
affaan-m/ECC
codebase-onboarding
Helps your agent analyze unfamiliar code and create an onboarding guide. It includes an architecture map, entry points, and conventions. Ideal for starting on a new project.
affaan-m/ECC