Agent skill
app-mockup
Create deterministic browser, tablet, laptop, and phone mockups from real screenshots via the local TypeScript renderer in this plugin. Use for marketing visuals, store screenshots, and framed UI previews without ML image generation.
Install this agent skill to your Project
npx add-skill https://github.com/tercumantanumut/selene/tree/main/selene-plugins/app-mockup-kit/skills/app-mockup
SKILL.md
App Mockup
Use this skill when a user wants an existing screenshot wrapped in a browser or device frame.
Do use it for
- browser-framed web app screenshots
- phone, tablet, or laptop mockups for real app screens
- deterministic export workflows from terminal commands
- marketing or documentation visuals generated from existing UI screenshots
Do not use it for
- imaginary UI generation from text only
- lifestyle scenes or product photography
- diffusion/ML image editing
- claiming photoreal exports when only vector framing is requested
Renderer contract
Run the local renderer in this plugin:
npm --prefix selene-plugins/app-mockup-kit run render -- \
--input <path-or-image-url> \
--output <output.svg> \
--preset <preset>
Supported presets
browser-chromebrowser-safariiphone-14-propixel-6-proipad-promacbook-prowindowplain
Workflow
-
Identify the screenshot source.
- If the user gives a file path, use it directly.
- If the user gives a webpage URL, capture a screenshot first with browser tooling, then render the mockup.
- If the user gives an image URL that already points to a screenshot, pass it directly to the renderer.
-
Infer the right preset.
- web app or dashboard ->
browser-chromeunless Safari styling is explicitly requested - iOS mobile app ->
iphone-14-pro - Android mobile app ->
pixel-6-pro - tablet layout ->
ipad-pro - laptop hero shot ->
macbook-pro
- web app or dashboard ->
-
Render with explicit options.
- Prefer SVG output unless the user explicitly requires a raster export pipeline.
- Use descriptive output names.
- Add title, subtitle, URL label, background, padding, and shadow only when they improve the requested result.
-
Verify the artifact.
- Confirm the output file exists.
- Report the output path, preset, and notable options used.
Example commands
npm --prefix selene-plugins/app-mockup-kit run render -- \
--input ./tmp/pricing-page.png \
--output ./out/pricing-browser-mockup.svg \
--preset browser-chrome \
--url selene.so/pricing \
--background gradient:#0f172a,#2563eb \
--padding 80 \
--shadow lifted
npm --prefix selene-plugins/app-mockup-kit run render -- \
--input ./tmp/mobile-home.png \
--output ./out/mobile-hero.svg \
--preset iphone-14-pro \
--title "Inbox, rethought" \
--subtitle "Zero-noise triage for support teams"
Notes for agents
- This plugin is standalone and should work in any host that understands Claude-style plugin folders or reusable skills.
- Screenshot capture is separate from mockup rendering.
- The included reference notes explain how this package borrows the deterministic framing idea from Screenshot.rocks while exposing a terminal-first interface for agents.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
chatgpt-apps
Build, scaffold, refactor, and troubleshoot ChatGPT Apps SDK applications that combine an MCP server and widget UI. Use when Codex needs to design tools, register UI resources, wire the MCP Apps bridge or ChatGPT compatibility APIs, apply Apps SDK metadata or CSP or domain settings, or produce a docs-aligned project scaffold. Prefer a docs-first workflow by invoking the openai-docs skill or OpenAI developer docs MCP tools before generating code.
screenshot
Use when the user explicitly asks for a desktop or system screenshot (full screen, specific app or window, or a pixel region), or when tool-specific capture capabilities are unavailable and an OS-level capture is needed.
security-ownership-map
Analyze git repositories to build a security ownership topology (people-to-file), compute bus factor and sensitive-code ownership, and export CSV/JSON for graph databases and visualization. Trigger only when the user explicitly wants a security-oriented ownership or bus-factor analysis grounded in git history (for example: orphaned sensitive code, security maintainers, CODEOWNERS reality checks for risk, sensitive hotspots, or ownership clusters). Do not trigger for general maintainer lists or non-security ownership questions.
gh-fix-ci
Use when a user asks to debug or fix failing GitHub PR checks that run in GitHub Actions; use `gh` to inspect checks and logs, summarize failure context, draft a fix plan, and implement only after explicit approval. Treat external providers (for example Buildkite) as out of scope and report only the details URL.
speech
Use when the user asks for text-to-speech narration or voiceover, accessibility reads, audio prompts, or batch speech generation via the OpenAI Audio API; run the bundled CLI (`${SELENE_SKILL_ROOT}/scripts/text_to_speech.py`) with built-in voices and require `OPENAI_API_KEY` for live calls. Custom voice creation is out of scope.
doc
Use when the task involves reading, creating, or editing `.docx` documents, especially when formatting or layout fidelity matters; prefer `python-docx` plus the bundled `${SELENE_SKILL_ROOT}/scripts/render_docx.py` for visual checks.
Didn't find tool you were looking for?