Agent skill

Create Chatgpt Mockup

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

Render pixel-accurate ChatGPT mobile (iOS) screen mockups in light mode from a thread JSON.

MITAuto-check passedResearch & Science

Install Create Chatgpt Mockup

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

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

GitHub CLI
$ gh skill install gooseworks-ai/goose-skills create-chatgpt-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-chatgpt-mockup .claude/skills/create-chatgpt-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-chatgpt-mockup
GitHub stars
1.2k
Used in
1 other repo
Token cost
~3.7k tokens
SKILL.md length
1,770 words
Files
22
Skills in repo
273
Repo updated
First seen
Licence
MIT

At a glance

Render pixel-accurate ChatGPT mobile (iOS) screen mockups in light mode from a thread JSON.

  • Works in 4 steps: Receive a brief or existing thread JSON. → If only a brief is given, compose… → Run node render.js --thread . → …
  • Tasks that involve Citation management
  • SKILL.md covers Purpose, Inputs, CLI and Output, plus 8 more sections
  • Runs JavaScript scripts from its folder; calls node, npm and npx

What it does

Create Chatgpt Mockup is an agent skill from gooseworks-ai/goose-skills. Render pixel-accurate ChatGPT mobile (iOS) screen mockups in light mode from a thread JSON. Supports user text bubbles, user image attachments, assistant markdown prose, citation chips, the OpenAI spiral logo, the Apps-SDK GPT chip in the composer, and three header styles (model-tag, plain title, "Get Plus"). Fixed 9:16 viewport. Outputs HTML + PNG.

Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 25 other files (for example `examples/01-sunscreen-image.json`, `examples/02-sleep-apnea-long.json` and `examples/03-poem-iphone-mac.json`).

It sits in Research & Science, covering Citation management. It works with OpenAI and 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

  • Tasks that involve Citation management

Example prompts

  • “Get Plus”
  • “/create-chatgpt-mockup”

Requirements

  • Node.js

Workflow steps

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

  1. Receive a brief or existing thread JSON.
  2. If only a brief is given, compose thread.json matching the schema above.
  3. Run node render.js --thread .
  4. Open the PNG. If anything looks off (header alignment, bubble width, missing icon), edit the JSON or templates/chat.css and re-render.

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, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • node
    • npm
    • npx
    • bash

    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 Chatgpt Mockup loads about 3.7k tokens when it runs. Until then it costs about 93 tokens; SKILL.md has 1,770 words of instructions outside code blocks.

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

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,770 words, ~3,736 tokens.

Download SKILL.mdSave it as .claude/skills/create-chatgpt-mockup/SKILL.md (or your agent's skills folder). This skill also uses 21 other files; get the full folder from GitHub.
name
create-chatgpt-mockup
description
Render pixel-accurate ChatGPT mobile (iOS) screen mockups in light mode from a thread JSON. Supports user text bubbles, user image attachments, assistant markdown prose, citation chips, the OpenAI spiral logo, the Apps-SDK GPT chip in the composer, and three header styles (model-tag, plain title, "Get Plus"). Fixed 9:16 viewport. Outputs HTML + PNG.
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-chatgpt-mockup

Purpose

Generate single-frame ChatGPT mobile screens that read as real iOS captures — accurate header chrome, user/assistant message styling, composer pill, status bar, and the OpenAI spiral mark. Designed for use inside ad creatives, social posts, video storyboards, and product mockups.

If you need an animated, video-recorded chat reveal (bubbles popping over time, SFX, music bed, end card), use the molecule skills/molecules/create-chatgpt-video-ad. This atom only produces a single still frame.

Inputs

Compose a thread.json matching the schema below, then pass it to render.js.

Thread JSON schema
json
{
  "statusBar": {
    "time": "9:41",
    "dnd": false
  },
  "header": {
    "style": "model-tag",
    "title": "ChatGPT",
    "model": "5.1",
    "rightIcons": ["personPlus", "dottedCircle"]
  },
  "messages": [
    { "type": "user-image", "src": "assets/photo.jpg", "aspect": "square" },
    { "type": "user-text",  "text": "Make this face sunscreen better" },
    {
      "type": "assistant",
      "title": "Optional H1 with spiral logo",
      "feedback": true,
      "text": "Markdown-ish prose. **bold**, *italic*, ## H2, * bullet, 1. ordered, [[cite:Source +1]], [[icon:💡]] inline-icon."
    }
  ],
  "composer": {
    "placeholder": "Ask anything",
    "text": "Typed text to show with caret",
    "cursor": true,
    "streaming": false,
    "chip": { "name": "SeatGeek" }
  }
}
Field reference

statusBar

  • time — string shown top-left (e.g. "9:41", "08:18").
  • dnd — when true, renders a small moon glyph next to the time (matches iOS Focus-on indicator).

header.style — one of:

  • "model-tag" — ≡ ChatGPT 5.1 ▾ ●● — used when a specific model is active.
  • "title-only" — ≡ ChatGPT › ●● — the plain in-chat header.
  • "plain-title" — ≡ Get Plus ✦ ●● — for the upsell/empty-state title.

header.rightIcons — array of icon keys, rendered left-to-right on the right side. Available: "personPlus", "dottedCircle", "edit", "more". Default is ["personPlus", "dottedCircle"] for model-tag, ["edit"] for title-only.

messages[] — one of:

  • { "type": "user-image", "src": <path>, "aspect": "square"? } — relative src paths resolve against the thread.json directory.
  • { "type": "user-text", "text": <string> } — right-aligned soft-gray bubble.
  • { "type": "assistant", "text": <markdown>, "title"?: <string>, "feedback"?: <bool> } — left-aligned plain prose. If title is set, an OpenAI spiral logo + bold title is rendered above the body. feedback: false hides the thumbs-up/down chips.

Assistant text markdown — supported syntax:

  • **bold**, *italic*
  • # H1, ## H2, ### H3
  • * item / - item bullet lists
  • 1. item ordered lists
  • --- horizontal rule
  • [[cite:Some Source +1]] — pill citation chip
  • [[icon:💡]] — inline emoji prefix (kept un-escaped)
  • Single \n → soft line break (<br>); double \n\n → new paragraph

composer

  • placeholder — shown when text is empty (default "Ask anything").
  • text — typed-in text. When present, the send button activates (black bg).
  • cursor — whether to render the blinking caret after text (default true).
  • streaming — when true, replaces the send arrow with a stop square (matches "response generating" state).
  • chip — optional GPT chip in the composer. chip.name is the GPT name. Sets placeholder to "Ask ChatGPT" if you don't override it.

CLI

bash
node render.js --thread examples/01-sunscreen-image.json
node render.js --thread my-thread.json --output ./exports --name nightly
Flags
FlagEffect
--thread <path>(required) JSON file matching the schema above
--output <dir>parent dir for the dated output folder; default ./chatgpt-mockup-exports/
--name <slug>override the output folder slug

Output

<output>/<YYYY-MM-DD>-<slug>/
  index.html       # standalone HTML (CSS inlined)
  screenshot.png   # 2250 × 4002 PNG (DPR 3, 9:16)
  thread.json      # copy of the input for reproducibility

Workflow

  1. Receive a brief or existing thread JSON.
  2. If only a brief is given, compose thread.json matching the schema above.
  3. Run node render.js --thread <path>.
  4. Open the PNG. If anything looks off (header alignment, bubble width, missing icon), edit the JSON or templates/chat.css and re-render.

Setup (one-time)

bash
cd create-chatgpt-mockup
npm install
npx playwright install chromium

Quality checks

  • Renders in light mode only (white background, dark text). Dark-mode rendering is out of scope for v1.
  • Status bar time and right cluster (signal / wifi / battery) sit at the very top, no clipping under the iOS status-bar safe area.
  • Header chrome icons (hamburger / personPlus / dottedCircle / edit / more) all visually weigh the same as a real ChatGPT iOS screenshot at the same display size — eyeball, don't pixel-match. Sub-reading-weight icons read as broken even when their pixel dimensions "match the spec."
  • Header model tag (5.1, 5.2) sits inline with ChatGPT and its chevron — no wrapping.
  • User bubble is right-aligned, soft-gray (#F4F4F4), border-radius: 28px, max-width 78% of stage.
  • User image attachments use the same 28px corner radius and sit right-aligned above the text bubble.
  • Assistant body is plain prose (no bubble), left-aligned, full-width within the gutter.
  • Composer corner radius is 999px (full pill), 1px border #E5E5E5, send button is 44 × 44 round.
  • When composer.text is set: send button is solid black with a white up-arrow. Caret sits right after the last character of typed text.
  • When composer.streaming: true: send button shows a black square stop icon.
  • When a citation marker [[cite:Foo +1]] is in the assistant text, it renders as a pill chip inline at the end of the sentence.

Failure modes

SymptomCauseFix
Thread file not foundWrong path or running from a different cwdUse absolute paths or run from the skill directory
Image attachment shows broken-image glyphsrc is relative but the renderer couldn't resolve itrender.js resolves relative src against the thread.json's directory — make sure the asset exists at that path
Send button stays light gray after typingcomposer.text is empty string "" instead of unsetEither omit text entirely or set it to a real string
Caret renders as a stray | separated from the textCaret span is being treated as a flex childThe CSS rule for .composer .input uses inline content flow — do not switch it to display: flex
Streamed list-item words render with no spaces ("Howconversationswork").word { display: inline-block } collapses inter-span text-node whitespace inside <div> parents (works fine inside <p>)Use display: inline for .word — modern browsers honor filter: blur() + opacity transitions on inline elements too
Bullets visible while list-item text is still hidden during streamingCSS list-style markers are browser-painted; the word-stream wrapper only sees text nodesThe atom auto-converts <ul><li>X</li></ul> to <div class="md-list"><div class="md-li">• X</div></div> when stream: true — keep that pass; don't regress it. Any new markdown that emits browser-painted glyphs (::marker, quotes, counter-content) needs the same text-conversion treatment.
Markdown --- doesn't render an <hr>The --- line isn't on a line by itself, or the surrounding text didn't end its paragraphSurround --- with blank lines on both sides
Stanzas of a poem joined into single paragraphsLines separated by single \n get joined as a single paragraph but with <br> between them — this is the intended behavior. If you want stanza breaks, use \n\n between stanzas.
Header right cluster overlaps the model tag on long titlesTitle text is too wide for the centered slotShorten header.title, drop the model tag, or switch header.style to "title-only"

Files

FilePurpose
render.jsCLI entry — parses flags, generates HTML, takes screenshot, writes outputs
generate.jsThread JSON → standalone HTML page (markdown-ish parser inside)
screenshot.jsHTML → PNG via Playwright (chromium headless) at fixed 750×1334 / DPR 3
templates/chat.cssAll visual styling
templates/icons.jsInline SVG icons (hamburger, chevrons, spiral logo, mic, plus, send arrow, stop square, signal/wifi/battery, thumbs up/down)
examples/*.json6 reference threads exercising every variant
examples/assets/Placeholder image assets used by image examples
tests/run-all.shRender every example into tests/output/ for visual review
Show full SKILL.md (698 more words)Show less

Known limitations

  • Light mode only. Dark mode would require a separate theme block and is out of scope for v1.
  • No carousel / horizontal-scroll cards. The Apps-SDK SeatGeek reference shows a horizontal card carousel inside the assistant response; not modeled here.
  • No live keyboard rendering. The composer is the bottom pill only — no on-screen keyboard chrome, suggestion bar, or QWERTY grid. (If you need the keyboard, scale the screen down 50% and overlay a separate keyboard image.)
  • Markdown is intentionally minimal — no tables, no fenced code blocks with syntax highlighting, no nested lists. Add to generate.js#renderMarkdown if a brief requires more.
  • Emoji rendering depends on system fonts. Chromium on macOS ships Apple Color Emoji; on Linux ships Noto Color Emoji.

Quality Checks

Run bash tests/run-all.sh and open the PNGs in tests/output/, then confirm:

  • Every example renders without error. All six examples/*.json produce an index.html + screenshot.png + thread.json triplet; render.js exits 0.
  • Dimensions are stable. Each screenshot.png is 2250 × 4872 (the .stage is 750 × 1624 and screenshot.js captures at deviceScaleFactor: 3). A wrong size means the stage box or DPR changed.
  • Light mode, white background. Background is white, text near-black. This atom does not render dark mode.
  • Status bar. Time sits top-left; the signal / wifi / battery cluster sits top-right, unclipped. When statusBar.dnd: true (see 02-sleep-apnea-long.json, 05-seatgeek-gpt-chip.json) a moon glyph renders next to the time.
  • Header style matches the JSON. model-tag shows ChatGPT 5.1 ▾ (01-sunscreen-image.json, 06-short-howto.json); title-only shows the plain title + right chevron (02, 03, 05); plain-title shows the upsell title with no chevron (04-empty-typing.json). The center cluster never wraps and the right icons never overlap it.
  • User turns. User text is a right-aligned soft-gray bubble (#F4F4F4, 28px radius). A user-image (see 01-sunscreen-image.json) renders the attachment right-aligned, same 28px corners, above the text bubble.
  • Assistant turns. Assistant prose is left-aligned plain text with no bubble. Markdown renders: bold/italic, ## headings, bullet and ordered lists (06-short-howto.json), --- horizontal rules and the [[cite:…]] pill chip (02-sleep-apnea-long.json), an [[icon:💡]] inline prefix, and title as bold heading text (03-poem-iphone-mac.json, 05-seatgeek-gpt-chip.json). feedback: false hides the thumbs chips.
  • Empty state. When messages is empty (04-empty-typing.json) the centered OpenAI spiral hero renders instead of a conversation.
  • Composer. Default is the full-pill (999px) bar with +, input, mic, and a round 44×44 send button. With composer.text set (04-empty-typing.json) the send button is solid black and a caret follows the typed text. With streaming: true (02, 03) the send button shows the black stop square. With composer.chip (05-seatgeek-gpt-chip.json) the Apps-SDK GPT chip renders inside the composer above the input row.

Failure Modes

SymptomLikely causeWhat to do
Thread file not found: … then exit 1--thread path is wrong or the cwd is not the skill dirPass an absolute path or cd into the skill directory first (render.js resolves the path against cwd)
Error: playwright not installednpm install never ran in the skill dirRun npm install, then npx playwright install chromium (see Setup)
Run hangs ~15s then page.goto … timeoutscreenshot.js is waiting on networkidle for an asset that never loads (e.g. a remote/http image src)Use a local relative src that resolves under the thread.json dir, or an inline SVG asset like examples/assets/sunscreen-sky.svg
Image attachment shows the broken-image glyphuser-image.src is relative but the file is missing on diskrender.js rewrites a relative src to file://<threadDir>/<src>; make sure the asset actually exists there
Send button stays gray after setting textcomposer.text is "" (empty string) rather than a real valueSet composer.text to a non-empty string, or omit it to keep the placeholder state
PNG comes out the wrong size.stage width/height in templates/chat.css or DEVICE_SCALE/VIEWPORT in screenshot.js was changedKeep .stage at 750 × 1624 and deviceScaleFactor at 3 so output stays 2250 × 4872
Header right icons overlap the model tag on a long titleheader.title is too wide for the centered slotShorten the title, drop the model tag, or switch header.style to "title-only"
[[cite:…]] or [[icon:…]] prints literally instead of renderingThe marker is mistyped (missing double brackets / colon)Match the exact [[cite:Source +1]] / [[icon:💡]] form parsed by formatInline in generate.js
Markdown --- shows as text, not an <hr>The --- line is not on its own line between blank linesPut a blank line above and below the ---, as in 02-sleep-apnea-long.json

© 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 21 other files in skills/ads/packs/video-ad-formats/create-chatgpt-mockup of gooseworks-ai/goose-skills.

  • SKILL.md
  • build-review.html
  • examples/01-sunscreen-image.json
  • examples/02-sleep-apnea-long.json
  • examples/03-poem-iphone-mac.json
  • examples/04-empty-typing.json
  • examples/05-seatgeek-gpt-chip.json
  • examples/06-short-howto.json
  • examples/assets/sunscreen-sky.svg
  • generate.js
  • package.json
  • render.js
  • screenshot.js
  • skill.meta.json
  • templates/chat.css
  • templates/icons.js
  • tests/expected-output.md
  • … and 5 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 7, 2026.

Compare with similar skills

Create Chatgpt 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 Chatgpt Mockup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Create Chatgpt Mockup this skillgooseworks-ai/goose-skills1.2k1 repos~3.7kAutomated safety check: PassMIT
Annotate Paper54yyyu/zotero-mcp5.3k—~1.5kAutomated safety check: PassMIT
Autonomous Researchfedericodeponte/opendraft507—~8.2kAutomated safety check: PassApache-2.0
Academic Integrity Rewritelin1111-1/academic-integrity-rewrite102—~1.1kAutomated safety check: PassMIT
Survey Generatorrohitg00/pro-workflow2.9k—~1.6kAutomated safety check: PassNone
CLI Anything ZoteroPiaoyangGuohai1/cli-anything-zotero138—~2.6kAutomated safety check: PassApache-2.0

Similar skills

  • Annotate Paper

    54yyyu/zotero-mcp

    Read the open paper and write study annotations into its PDF with zotero-cli - a context box on the title, a four-part summary on the abstract, role-coded abstract highlights, one box per figure…

    5.3k GitHub stars~1.5k tokensUpdated 3 days ago
    Research & ScienceAuto-check passed
  • Autonomous Research

    federicodeponte/opendraft

    An 18-agent pipeline that turns one topic line into a drafted research paper, literature review, or thesis chapter.

    507 GitHub stars~8.2k tokensUpdated 9 days ago
    Research & ScienceAuto-check passed
  • Academic Integrity Rewrite

    lin1111-1/academic-integrity-rewrite

    Revise Chinese or English academic writing for lower unnecessary textual overlap while preserving meaning, evidence, numbers, equations, terminology, and citations.

    102 GitHub stars~1.1k tokensUpdated 1 mo ago
    Research & ScienceAuto-check passed
  • Survey Generator

    rohitg00/pro-workflow

    Compile a structured literature survey on any AI/ML topic. An agent skill from rohitg00/pro-workflow.

    2.9k GitHub stars~1.6k tokensUpdated 12 days ago
    Research & ScienceAuto-check passed
  • CLI Anything Zotero

    PiaoyangGuohai1/cli-anything-zotero

    Full-featured CLI for Zotero reference management. An agent skill from PiaoyangGuohai1/cli-anything-zotero.

    138 GitHub stars~2.6k tokensUpdated 2 mo ago
    Research & ScienceAuto-check passed
  • Paper Reading Zh

    MrGeDiao/paper-reading-zh

    中文论文深读、总结/TL;DR、工程拆解、按论文实现/复现、比较与证据审计。用户给出论文 PDF、链接、标题、摘要、正文或图表,或明确要读论文时使用。只有论文锚点且无附言时澄清阅读目标;只有阅读意图时问哪篇。已有论文时,“看看这篇”直接深读。不用于仅翻译、解释单个术语、生成 BibTeX、找或下载论文。

    103 GitHub stars~1.3k tokensUpdated 8 days ago
    Research & ScienceAuto-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 Chatgpt Mockup

What does Create Chatgpt Mockup do?

Render pixel-accurate ChatGPT mobile (iOS) screen mockups in light mode from a thread JSON. Create Chatgpt Mockup is an agent skill from gooseworks-ai/goose-skills. Render pixel-accurate ChatGPT mobile (iOS) screen mockups in light mode from a thread JSON.

When should I use Create Chatgpt Mockup?

Create Chatgpt Mockup fits situations like: tasks that involve Citation management.

How do I install Create Chatgpt Mockup in Claude Code?

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

How do I install Create Chatgpt Mockup in Codex?

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

Can I use Create Chatgpt 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-chatgpt-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-chatgpt-mockup, .gemini/skills/create-chatgpt-mockup, .github/skills/create-chatgpt-mockup and .opencode/skills/create-chatgpt-mockup in your project.

What does Create Chatgpt Mockup need to run?

Going by SKILL.md and its folder, Create Chatgpt Mockup needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node, npm, npx and bash). Our summary lists: Node.js.

Does Create Chatgpt 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 Chatgpt 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 Chatgpt Mockup use?

Create Chatgpt 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 Chatgpt Mockup use?

About 3.7k tokens (SKILL.md is roughly 15k 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 Chatgpt Mockup?

Skills that share tags, products or a category with Create Chatgpt Mockup: Annotate Paper (54yyyu/zotero-mcp, 5.3k stars), Autonomous Research (federicodeponte/opendraft, 507 stars), Academic Integrity Rewrite (lin1111-1/academic-integrity-rewrite, 102 stars) and Survey Generator (rohitg00/pro-workflow, 2.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Create Chatgpt 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.