Agent skill

Create Apple Notes Mockup

by gooseworks-ai in gooseworks-ai/goose-skills

Render pixel-accurate Apple Notes (iPhone, light mode) screenshot mockups from a JSON note spec.

MITAuto-check passedMedia & Creative

Install Create Apple Notes Mockup

skills CLI
$ npx skills add gooseworks-ai/goose-skills --skill create-apple-notes-mockup -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install gooseworks-ai/goose-skills create-apple-notes-mockup --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ads/packs/video-ad-formats/create-apple-notes-mockup .claude/skills/create-apple-notes-mockup && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
create-apple-notes-mockup
GitHub stars
1.2k
Used in
1 other repo
Token cost
~2.6k tokens
SKILL.md length
1,151 words
Files
21
Skills in repo
273
Repo updated
First seen
Licence
MIT

At a glance

Render pixel-accurate Apple Notes (iPhone, light mode) screenshot mockups from a JSON note spec.

  • Works in 4 steps: Receive a prompt or existing note JSON. → If only a prompt was given: compose a… → Run node render.js --note… → …
  • Media & Creative work in your project
  • SKILL.md covers Purpose, When to use, Inputs and CLI, plus 7 more sections
  • Runs JavaScript and Shell scripts from its folder; calls node, npm and npx

What it does

Create Apple Notes Mockup is an agent skill from gooseworks-ai/goose-skills. Render pixel-accurate Apple Notes (iPhone, light mode) screenshot mockups from a JSON note spec. Outputs HTML + PNG at the iPhone 16/15 Pro native 1180×2556. Supports paragraphs, images, checklists, dividers, autocorrect underline, smart quotes, and an optional iOS keyboard chrome overlay used by the parent video-ad molecule.

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 23 other files (for example `examples/frame-1-title-only.json`, `examples/long.json` and `examples/mid.json`).

It sits in Media & Creative. It works with iOS. The repository describes itself as: Library of Growth & GTM skills + data APIs for Claude Code, Codex, Cursor to run ads, social, content, lead gen, seo and data scraping. The licence is MIT.

When your agent uses it

  • Media & Creative work in your project

Example prompts

  • “/create-apple-notes-mockup”

Requirements

  • Node.js
  • A Bash shell

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Receive a prompt or existing note JSON.
  2. If only a prompt was given: compose a note.json matching the schema, save it.
  3. Run node render.js --note [--with-keyboard].
  4. Open the resulting PNG to verify the layout. If something looks wrong (wrong wrap, wrong cursor position, wrong battery color), edit the…

What it can do on your machine

Read from SKILL.md and the folder at commit c650c6d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (JavaScript and Shell, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • node
    • npm
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm and npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Create Apple Notes Mockup loads about 2.6k tokens when it runs. Until then it costs about 88 tokens; SKILL.md has 1,151 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~88
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from gooseworks-ai/goose-skills at commit c650c6d, republished under its MIT licence (© gooseworks-ai). 1,151 words, ~2,621 tokens.

Download SKILL.mdSave it as .claude/skills/create-apple-notes-mockup/SKILL.md (or your agent's skills folder). This skill also uses 20 other files; get the full folder from GitHub.
name
create-apple-notes-mockup
description
Render pixel-accurate Apple Notes (iPhone, light mode) screenshot mockups from a JSON note spec. Outputs HTML + PNG at the iPhone 16/15 Pro native 1180×2556. Supports paragraphs, images, checklists, dividers, autocorrect underline, smart quotes, and an optional iOS keyboard chrome overlay used by the parent video-ad molecule.
status
superseded
superseded_by
phone-chat@1.1.4

Superseded: the video kit now does this with the phone-chat part, version 1.1.4, in the parts folder of this repository. Every phone-chat style is a style file that draws the same screen frame by frame from the plan's scenes, with the original sounds, in the kit's browser. This atom stays, unchanged in behaviour, for skills outside the kit until they move; its scripts still run.

create-apple-notes-mockup

Generate Apple Notes screens that look like real iPhone screenshots — correct status bar, floating toolbar pill, bold title, body text with paragraph spacing, yellow text cursor, autocorrect underline, optional embedded images and checklists, and an optional iOS keyboard.

Purpose

Turn a JSON note spec into a pixel-accurate Apple Notes (iPhone, light mode) screenshot — HTML + PNG at the native 1180×2556 (DPR 2). It is the deterministic, no-LLM renderer that the create-apple-notes-video-ad molecule drives frame-by-frame to fake a typing animation, and a standalone tool for one-off "noted to self" beats in ads, social posts, and storyboards. The orchestrating agent owns the copy; this atom owns the fidelity (status bar, smart punctuation, cursor, autocorrect underline, toolbar, keyboard chrome).

When to use

  • Need a fake Apple Notes screenshot for an ad, social post, video scene, or product mockup.
  • Need a sequence of Apple Notes frames (title-only → adding paragraphs → cursor moves) to drive a typing-animation video — used by create-apple-notes-video-ad.
  • Need a static "noted to self" beat in a storyboard.

If you're rendering an iMessage thread, use skills/atoms/messaging/create-imessage-mockup instead.

Inputs

The skill is deterministic — it does not embed an LLM. The orchestrating agent composes a note JSON matching the schema below, then invokes the renderer.

Note JSON schema
json
{
  "title": "Hello",
  "body": [
    { "type": "paragraph", "text": "This is a screen recording of me typing on apple notes app." },
    { "type": "paragraph", "text": "Let's see how this feels." }
  ],
  "cursor": "end",
  "autocorrect_underline": ["this", "how"],
  "status_bar": {
    "time": "9:41",
    "battery_pct": 87,
    "battery_low": false,
    "show_focus_glyph": false
  },
  "show_keyboard": false,
  "keyboard_state": {
    "suggestions": ["see", "go", "do"],
    "shift": "lower",
    "letters_row1": "qwertyuiop",
    "letters_row2": "asdfghjkl",
    "letters_row3": "zxcvbnm"
  },
  "with_iphone_frame": false
}
  • title — string. Bold display headline, single line.
  • body[] — block list. Supported block types:
    • paragraph — { "text": "..." }. Smart punctuation is auto-applied (' → ', " → ", ... → …, -- → –, --- → —).
    • image — { "src": "<path|url>", "caption": "optional" }. Relative paths are resolved against the spec file's directory and inlined as data URIs. examples/with-image.json uses a placeholder src; point it at an image of your own before rendering.
    • checklist — { "items": [{ "text": "...", "checked": true|false }] }. Checked items get yellow filled circles with strikethrough; unchecked get gray-outlined circles.
    • divider — horizontal rule.
  • cursor — "title" | "end" | null. "title" places the yellow caret at the end of the title; "end" places it at the end of the last paragraph; null hides it.
  • autocorrect_underline[] — exact-case word list. Each occurrence gets the Apple Notes mid-typing yellow underline (<span class="spell">).
  • status_bar — time, battery_pct (0–100), battery_low (color battery red), show_focus_glyph (DND/car icon next to time). The Dynamic Island is not rendered.
  • show_keyboard — true overlays the iOS QWERTY + formatting toolbar.
  • keyboard_state — only consulted when show_keyboard is true. shift = "lower" | "upper".
  • with_iphone_frame — adds a thin dark bezel inset (for hero compositions).

CLI

bash
node render.js --note examples/mid.json
node render.js --note examples/long.json --output ./my-exports/ --name todays-note
node render.js --note my-note.json --with-keyboard
node render.js --note my-note.json --viewport 1080x1920   # 9:16 ad delivery size
Flags
FlagEffect
--note <path>(required) JSON file matching the schema above
--with-keyboardforce-enables show_keyboard (overrides spec)
--with-iphone-frameforce-enables hardware bezel
--no-frameforce-disables hardware bezel
--output <dir>parent dir for the dated output folder; default ./apple-notes-mockup-exports/
--name <slug>override the output folder slug
--out-html <path> / --out-png <path>write directly to explicit paths (skip dated folder)
--viewport WxHoverride the render viewport (default 1180x2556)
--dpr Ndevice-pixel ratio (default 2)

Output

<output>/<YYYY-MM-DD>-<slug>/
  index.html       # full standalone HTML (images inlined as data URIs)
  screenshot.png   # rendered PNG at the chosen viewport × DPR
  spec.json        # copy of the input for reproducibility

Default <output> is ./apple-notes-mockup-exports/ in the cwd.

Workflow

  1. Receive a prompt or existing note JSON.
  2. If only a prompt was given: compose a note.json matching the schema, save it.
  3. Run node render.js --note <path> [--with-keyboard].
  4. Open the resulting PNG to verify the layout. If something looks wrong (wrong wrap, wrong cursor position, wrong battery color), edit the JSON and re-render.

Setup (one-time)

bash
cd create-apple-notes-mockup
npm install
npx playwright install chromium

A symlink to create-imessage-mockup/node_modules ships with the repo, so on a fresh clone npm install is only needed if you want this skill to be self-contained.

Files

FilePurpose
render.jsCLI entry — parses flags, resolves image paths, generates HTML, takes screenshot
generate.jsNote JSON → standalone HTML page (smart-punctuation + autocorrect underline applied here)
screenshot.jsHTML → PNG via Playwright (chromium headless) at 1180×2556, DPR 2
templates/note.cssAll visual styling (status bar, toolbar, body, checklist, image, keyboard)
templates/icons.jsInline SVG icons (back chevron, undo, share, more, done check, signal, wifi, battery, format toolbar icons, keyboard glyphs)
examples/*.json6 reference notes covering every variation (title-only, mid-typing, long multi-paragraph, with checklist, with image, frame-1 lowercase-keyboard)
tests/run-all.shRender every example into tests/output/ for visual review
apple-notes-skill-build.htmlSide-by-side review board comparing reference video frames to generated PNGs
Show full SKILL.md (452 more words)Show less

Quality Checks

Before declaring a note shippable:

  • Title renders as bold display headline, not regular weight.
  • Body text uses Apple's smart punctuation — ' is curly, " is curly, … is a single character.
  • Yellow cursor (#FFCC00) sits flush at the end of the target text, ~5px wide.
  • Body paragraphs are separated by one empty visual line (no manual <br>).
  • Autocorrect underlines are short yellow lines flush under the flagged token, with case-sensitive matching.
  • Status bar: time left, signal/wifi/battery right. Battery is red iff battery_low: true. No Dynamic Island.
  • Scroll mask: status bar and toolbar have opaque white backgrounds so body content scrolled by the molecule's driver doesn't bleed through. Verify by translating .note by -300px in DevTools and confirming the title is fully masked by the toolbar — not visible behind/through it.
  • Toolbar: floating back-chevron pill (left), white capsule with undo/share/more, yellow Done circle (right). All cast soft shadows.
  • Keyboard (when enabled): QWERTY layout matches shift casing, suggestion strip shows 3 words, formatting toolbar pill above keys, mic + globe at bottom.
  • Image blocks render with rounded corners (~18px) and respect the body left padding.
  • Checklist: filled yellow circles + strikethrough on checked items; gray outline circles otherwise.

Failure Modes

SymptomCauseFix
Body text wraps a word too early or too lateFont width differs from reference (Chromium picked up a non-SF fallback)Adjust font-size on .note-body in steps of 2px, or widen .note by reducing left/right padding
Title looks thin / not bold enoughHost doesn't have SF Pro Display; system falls back to a lighter faceSet font-weight: 900 (already the default) and check `fc-list
"Hello's", "Let's" render with straight quoteSmart-punctuation pre-processor disabledVerify smartQuotes() is called in generate.js before escapeHtml
Image doesn't render (blank space)Remote URL blocked or relative path didn't resolveUse a local file path; render.js inlines local images as base64
Autocorrect underline also matches "This" when only "this" was intendedRegex was case-insensitiveThe regex is case-sensitive by default. Pass exact-case strings in autocorrect_underline
Empty paragraph collapses (no cursor space)<p class="note-paragraph"></p> with no content has zero heightThe CSS sets margin: 0 0 84px 0 so an empty paragraph still occupies one paragraph gap; ensure you didn't strip the trailing margin
Yellow Done circle looks orangeCSS color driftPure Apple yellow is #FFCC00. Cursor + Done share the value; do not change to #FFC107 (Material amber)
Keyboard suggestion Hello's renders with straight apostropheSmart quotes not applied to suggestionsConfirmed applied via smartQuotes(s) in generate.js

Reference

The visual spec was extracted from apple-notes-typing.MP4 (a 36-second iPhone screen recording of typing into Apple Notes in light mode). See apple-notes-skill-build.html in this folder for the side-by-side proof — each example is shown alongside the reference frame it targets.

© gooseworks-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 20 other files in skills/ads/packs/video-ad-formats/create-apple-notes-mockup of gooseworks-ai/goose-skills.

  • SKILL.md
  • apple-notes-skill-build.html
  • examples/frame-1-title-only.json
  • examples/long.json
  • examples/mid.json
  • examples/short.json
  • examples/with-checklist.json
  • examples/with-image.json
  • generate.js
  • package.json
  • render.js
  • screenshot.js
  • skill.meta.json
  • templates/icons.js
  • templates/note.css
  • tests/expected-output.md
  • tests/human-test.md
  • tests/run-all.sh
  • … and 3 more

Open the folder on GitHubat commit c650c6d

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in gooseworks-ai/goose-skills, which our catalogue first saw on October 9, 2026.

Compare with similar skills

Create Apple Notes Mockup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Create Apple Notes Mockup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Create Apple Notes Mockup this skillgooseworks-ai/goose-skills1.2k1 repos~2.6kAutomated safety check: PassMIT
Chatgpt Image Adkrusemediallc/arcads-claude-code1.6k—~2.7kAutomated safety check: NotesMIT
Life Recorder Setupbrowser-use/life-recorder323—~599Automated safety check: PassMIT
Metadata Optimizationappeeky/aso-skills2.2k—~1.5kAutomated safety check: PassMIT
Speech Recognitiondpearson2699/swift-ios-skills1.2k—~3.7kAutomated safety check: PassCustom licence
Shotshypersocialinc/shots240—~2kAutomated safety check: PassNone

Similar skills

  • Chatgpt Image Ad

    krusemediallc/arcads-claude-code

    Generate one or more standalone Meta image-ad creatives via ChatGPT Image 2 (gpt-image-2) through the Arcads external API.

    1.6k GitHub stars~2.7k tokensUpdated 18 days ago
    Media & CreativeAuto-check: notes
  • Life Recorder Setup

    browser-use/life-recorder

    Build, install, pair, and operate the Life Recorder iPhone-to-Mac local transcription system.

    323 GitHub stars~599 tokensUpdated 29 days ago
    Media & CreativeAuto-check passed
  • Metadata Optimization

    appeeky/aso-skills

    When the user wants to optimize App Store metadata — title, subtitle, keyword field, or description.

    2.2k GitHub stars~1.5k tokensUpdated 4 days ago
    Media & CreativeAuto-check passed
  • Speech Recognition

    dpearson2699/swift-ios-skills

    Transcribe speech to text using Apple's Speech framework. An agent skill from dpearson2699/swift-ios-skills.

    1.2k GitHub stars~3.7k tokensUpdated 2 mo ago
    Media & CreativeAuto-check passed
  • Shots

    hypersocialinc/shots

    Generate, revise, translate, and manage App Store / Google Play marketing screenshots.

    240 GitHub stars~2k tokensUpdated 5 mo ago
    Media & CreativeAuto-check passed
  • Hyperframes CLI

    OpenMinis/MinisSkills

    HyperFrames CLI and Minis rendering. An agent skill from OpenMinis/MinisSkills.

    446 GitHub stars~3.5k tokensUpdated 2 days ago
    Media & CreativeAuto-check passed

More from gooseworks-ai/goose-skills

All 273 skills in this repo
  • Reddit Post Finder

    gooseworks-ai/goose-skills

    Scrape and search Reddit posts using Apify. An agent skill from gooseworks-ai/goose-skills.

    1.2k GitHub starsUsed in 1 repo~1.2k tokens
    Auto-check passed
  • Create Image Fal

    gooseworks-ai/goose-skills

    Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), ROUTED THROUGH THE fal-proxy so it bills the Ads agent.

    1.2k GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Render Hook Replacement

    gooseworks-ai/goose-skills

    Replace an existing video's opening with a supplied clip or free kinetic text hook while retaining and verifying every original body frame, audio, captions and ending.

    1.2k GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed
  • Blog Feed Monitor

    gooseworks-ai/goose-skills

    Scrape blog posts via RSS feeds (free, no API key) with Apify fallback for JS-heavy sites.

    1.2k GitHub starsUsed in 1 repo~578 tokens
    Auto-check passed
  • Competitor Post Engagers

    gooseworks-ai/goose-skills

    Find leads by scraping engagers from a competitor's top LinkedIn posts.

    1.2k GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check: notes
  • Render Chatgpt Chat

    gooseworks-ai/goose-skills

    Assemble a ChatGPT chat-reveal video ad from a thread + timeline JSON — one continuous Playwright recording of a ChatGPT mobile chat (user types with the iOS keyboard up → taps send → keyboard…

    1.2k GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Create Apple Notes Mockup

What does Create Apple Notes Mockup do?

Render pixel-accurate Apple Notes (iPhone, light mode) screenshot mockups from a JSON note spec. Create Apple Notes Mockup is an agent skill from gooseworks-ai/goose-skills. Render pixel-accurate Apple Notes (iPhone, light mode) screenshot mockups from a JSON note spec.

When should I use Create Apple Notes Mockup?

Create Apple Notes Mockup fits situations like: media & Creative work in your project.

How do I install Create Apple Notes Mockup in Claude Code?

Run `npx skills add gooseworks-ai/goose-skills --skill create-apple-notes-mockup -a claude-code`. Or copy the skill folder (skills/ads/packs/video-ad-formats/create-apple-notes-mockup in gooseworks-ai/goose-skills) into .claude/skills/create-apple-notes-mockup in your project. Claude Code loads it when a task matches its description.

How do I install Create Apple Notes Mockup in Codex?

Run `npx skills add gooseworks-ai/goose-skills --skill create-apple-notes-mockup -a codex`. Or copy the skill folder (skills/ads/packs/video-ad-formats/create-apple-notes-mockup in gooseworks-ai/goose-skills) into .agents/skills/create-apple-notes-mockup in your project. Codex loads it when a task matches its description.

Can I use Create Apple Notes Mockup in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gooseworks-ai/goose-skills --skill create-apple-notes-mockup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/create-apple-notes-mockup, .gemini/skills/create-apple-notes-mockup, .github/skills/create-apple-notes-mockup and .opencode/skills/create-apple-notes-mockup in your project.

What does Create Apple Notes Mockup need to run?

Going by SKILL.md and its folder, Create Apple Notes Mockup needs JavaScript and a shell for the scripts in its folder and the command-line tools its instructions call (node, npm and npx). Our summary lists: Node.js; A Bash shell.

Does Create Apple Notes Mockup access the network?

SKILL.md contains no URLs. Its commands use npm and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Create Apple Notes Mockup safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Create Apple Notes Mockup use?

Create Apple Notes Mockup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Create Apple Notes Mockup use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Create Apple Notes Mockup?

Skills that share tags, products or a category with Create Apple Notes Mockup: Chatgpt Image Ad (krusemediallc/arcads-claude-code, 1.6k stars), Life Recorder Setup (browser-use/life-recorder, 323 stars), Metadata Optimization (appeeky/aso-skills, 2.2k stars) and Speech Recognition (dpearson2699/swift-ios-skills, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Create Apple Notes Mockup?

gooseworks-ai (a GitHub organization) maintains it in gooseworks-ai/goose-skills, which has 1,240 GitHub stars. The repository holds 273 skills in this directory. The repository was last updated on October 8, 2026.

Source: gooseworks-ai/goose-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.