Image Ad Clone
krusemediallc/arcads-claude-code
A skill your agent uses when the user wants to reverse-engineer an existing image ad into a reusable prompt template.
Lays out a minimal, iteration-first approach to writing system prompts for LLM agents, with model-specific notes for Claude, GPT, Gemini, and Codex.
$ npx skills add cashew-labs/libretto --skill prompting -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install cashew-labs/libretto prompting --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/cashew-labs/libretto.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/prompting .claude/skills/prompting && rm -rf skills-srcUse ~/.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/
Install the "prompting" agent skill from https://github.com/cashew-labs/libretto/tree/main/.agents/skills/prompting into .claude/skills/prompting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prompting", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/cashew-labs/libretto/tree/main/.agents/skills/promptingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add cashew-labs/libretto --skill prompting -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install cashew-labs/libretto prompting --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cashew-labs/libretto.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/prompting .agents/skills/prompting && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "prompting" agent skill from https://github.com/cashew-labs/libretto/tree/main/.agents/skills/prompting into .agents/skills/prompting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prompting", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add cashew-labs/libretto --skill prompting -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install cashew-labs/libretto prompting --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cashew-labs/libretto.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/prompting .cursor/skills/prompting && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "prompting" agent skill from https://github.com/cashew-labs/libretto/tree/main/.agents/skills/prompting into .cursor/skills/prompting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prompting", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/cashew-labs/libretto.git --path .agents/skills/prompting--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add cashew-labs/libretto --skill prompting -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install cashew-labs/libretto prompting --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cashew-labs/libretto.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/prompting .gemini/skills/prompting && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "prompting" agent skill from https://github.com/cashew-labs/libretto/tree/main/.agents/skills/prompting into .gemini/skills/prompting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prompting", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install cashew-labs/libretto promptingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add cashew-labs/libretto --skill prompting -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/cashew-labs/libretto.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/prompting .github/skills/prompting && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "prompting" agent skill from https://github.com/cashew-labs/libretto/tree/main/.agents/skills/prompting into .github/skills/prompting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prompting", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add cashew-labs/libretto --skill prompting -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install cashew-labs/libretto prompting --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cashew-labs/libretto.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/prompting .opencode/skills/prompting && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "prompting" agent skill from https://github.com/cashew-labs/libretto/tree/main/.agents/skills/prompting into .opencode/skills/prompting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prompting", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
promptingLays out a minimal, iteration-first approach to writing system prompts for LLM agents, with model-specific notes for Claude, GPT, Gemini, and Codex.
This skill treats a system prompt as setting direction and constraints rather than explaining reasoning, and pushes starting minimal, observing real failures, and adding only targeted fixes, each one justified by a specific problem it solves. It bans explaining existing capabilities, listing obvious practices, or repeating information.
It prescribes a markdown structure with one behavior or constraint per section, example pairs wrapped in tagged user and assistant blocks, and bracketed placeholders for tool actions instead of real invocations. Separate reference files cover model-specific patterns, from countering sycophancy and XML structure for Claude to contradiction sensitivity and verbosity control for GPT, conciseness and context placement for Gemini, and autonomy patterns for Codex.
Read from SKILL.md and the folder at commit 41ab782. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
System Prompt Writing Guide loads about 570 tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 44 tokens; SKILL.md has 226 words of instructions outside code blocks.
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.
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.
The full file from cashew-labs/libretto at commit 41ab782, republished under its MIT licence (© cashew-labs). 226 words, ~570 tokens.
.claude/skills/prompting/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.LLMs are intelligent by default. System prompts set direction and impose constraints, not explain reasoning.
Start minimal. Observe failures. Add targeted fixes. Every instruction must justify its token cost by solving a real problem.
Do not explain existing capabilities, list obvious practices, add preventive instructions, or repeat information.
Use markdown sections and paragraphs. Each section describes one behavior or constraint.
State what to do or avoid. Explain why if non-obvious. Show correct behavior with examples.
Headings up to level 3. Plain paragraphs. No bold, italics, or emojis. Code blocks for commands. Lists only for distinct enumerable items.
Wrap examples in <example> tags with user/assistant prefixes. One pair per tag.
<example>
user: What's the capital of France?
assistant: Paris
</example>Use brackets for tool actions instead of showing invocations:
<example>
user: Find all TODO comments
assistant: [searches codebase]
Found 3 TODOs: ...
</example>Behaviors the model gets wrong by default. Domain constraints. Output format requirements. Safety boundaries. Tool integrations.
Reasoning instructions. Problem-solving approaches. Common sense behaviors. Ethical guidelines. Capability descriptions.
Start minimal. Test with real inputs. Identify failures. Add targeted fixes. Remove unnecessary instructions.
Track which instructions prevent which failures. If you cannot identify the specific problem an instruction solves, remove it.
Consult references/ for model-specific patterns:
© cashew-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (references) in .agents/skills/prompting of cashew-labs/libretto.
Open the folder on GitHubat commit 41ab782
System Prompt Writing Guide 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| System Prompt Writing Guide this skillcashew-labs/libretto | 904 | — | ~570 | Automated safety check: Pass | MIT | |
| Image Ad Clonekrusemediallc/arcads-claude-code | 1.6k | — | ~2.4k | Automated safety check: Notes | MIT | |
| AI Image Prompts SkillLeoYeAI/openclaw-master-skills | 2.2k | — | ~4.3k | Automated safety check: Pass | MIT | |
| Codebase Managementgiancarloerra/SocratiCode | 3.3k | 1 repos | ~1.8k | Automated safety check: Pass | AGPL-3.0 | |
| Codex Fable5baskduf/FableCodex | 437 | — | ~1.6k | Automated safety check: Pass | AGPL-3.0 | |
| Bananahubbananahub-ai/bananahub-skill | 118 | — | ~7.1k | Automated safety check: Pass | MIT |
krusemediallc/arcads-claude-code
A skill your agent uses when the user wants to reverse-engineer an existing image ad into a reusable prompt template.
LeoYeAI/openclaw-master-skills
Recommend curated prompts from a 10,000+ real-world image generation prompt library.
giancarloerra/SocratiCode
Set up, index, and manage SocratiCode codebase indexing. An agent skill from giancarloerra/SocratiCode.
baskduf/FableCodex
Apply a Claude Fable 5 inspired operating style inside Codex.
bananahub-ai/bananahub-skill
Agent-native image workflow and optional prompt optimizer for /bananahub and generic agent image generation requests.
davila7/claude-code-templates
Expert in building products that wrap AI APIs (OpenAI, Anthropic, etc.) into focused tools people will pay for.
cashew-labs/libretto
Works through the review comments on a pull request one by one: fetches the threads, makes the fixes, runs type-check, build and lint, pushes, and resolves the threads.
cashew-labs/libretto
Design rules for command-line tools: subcommand-scoped help, actionable success output, debuggable failures, stable output, meaningful exit codes and a --json mode.
cashew-labs/libretto
Drives desktop Electron apps already installed on your machine, such as Slack, Discord or VS Code, by relaunching them with a debugging port and using the Libretto CLI.
cashew-labs/libretto
Resolves Git merge, rebase and cherry-pick conflicts by reading the PRs behind each side, keeping both intents and asking you when they truly clash.
cashew-labs/libretto
Researches the codebase and relevant docs, asks clarifying questions, then writes a spec sheet in specs/ for a significant feature or complex fix.
cashew-labs/libretto
Turns the current session's code changes into a Markdown walkthrough shown in a native Glimpse window, with highlighted code, rendered diffs and review feedback.
Works with
Categories
Lays out a minimal, iteration-first approach to writing system prompts for LLM agents, with model-specific notes for Claude, GPT, Gemini, and Codex. This skill treats a system prompt as setting direction and constraints rather than explaining reasoning, and pushes starting minimal, observing real failures, and adding only targeted fixes, each one justified by a specific problem it solves. It bans explaining existing capabilities, listing obvious practices, or repeating information.
System Prompt Writing Guide fits situations like: writing a new system prompt for an LLM-powered application; debugging why an agent keeps making the same mistake; trimming an overgrown system prompt down to what actually matters.
Run `npx skills add cashew-labs/libretto --skill prompting -a claude-code`. Or copy the skill folder (.agents/skills/prompting in cashew-labs/libretto) into .claude/skills/prompting in your project. Claude Code loads it when a task matches its description.
Run `npx skills add cashew-labs/libretto --skill prompting -a codex`. Or copy the skill folder (.agents/skills/prompting in cashew-labs/libretto) into .agents/skills/prompting in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add cashew-labs/libretto --skill prompting -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/prompting, .gemini/skills/prompting, .github/skills/prompting and .opencode/skills/prompting in your project.
SKILL.md names no scripts, command-line tools or credentials: System Prompt Writing Guide is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
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.
System Prompt Writing Guide is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 570 tokens (SKILL.md is roughly 2.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 10k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with System Prompt Writing Guide: Image Ad Clone (krusemediallc/arcads-claude-code, 1.6k stars), AI Image Prompts Skill (LeoYeAI/openclaw-master-skills, 2.2k stars), Codebase Management (giancarloerra/SocratiCode, 3.3k stars) and Codex Fable5 (baskduf/FableCodex, 437 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
cashew-labs (a GitHub organization) maintains it in cashew-labs/libretto, which has 904 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on August 21, 2026.
Source: cashew-labs/libretto on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.