[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ENPMG6EY630TY4CHCSW674":3,"skill-same:01M6ENPMG6EY630TY4CHCSW674":81},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":26,"publishedAt":46,"linkOnly":47,"markdownContent":48,"markdownBody":49,"frontMatter":50,"refName":60,"commitSha":61,"skillDirectory":5,"forksCount":62,"repositoryHtmlUrl":63,"repositoryHomepageUrl":6,"ownerHtmlUrl":64,"ownerBlogUrl":65,"ownerDescription":6,"updatedAt":66,"install":67,"resources":80},"01M6ENPMG6EY630TY4CHCSW674","betterprompt",null,"Discover, install, and run reusable AI prompt skills from the BetterPrompt registry via the CLI (betterprompt \u002F bp). Use when a user needs to find a prompt skill, generate AI output (text, images, video), or manage their skill library. Covers installation, auth, skill discovery, generation, and output review for OpenClaw and Claude Code agents.","BetterPromptme\u002Fskills","BetterPromptme","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F235008483?v=4","01M6ENJCN1DPKXDTMKH0MSRQ9W","BetterPrompt","01M6ENJCSB6XDYSX89T8AM9S93",5,"MIT","https:\u002F\u002Fgithub.com\u002FBetterPromptme\u002Fskills\u002Fblob\u002Fmain\u002Fbetterprompt\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[5,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],"skill library","discover","AI Prompt","me","images","skill discovery","install","node","text","openclaw","Video","library","registry","code","run","generate","auth","cli","review","2026-11-10 10:12:30",false,"---\nname: betterprompt\ndescription: Discover, install, and run reusable AI prompt skills from the BetterPrompt registry via the CLI (betterprompt \u002F bp). Use when a user needs to find a prompt skill, generate AI output (text, images, video), or manage their skill library. Covers installation, auth, skill discovery, generation, and output review for OpenClaw and Claude Code agents.\nmetadata: \n  openclaw:\n    homepage: https:\u002F\u002Fbetterprompt.me\u002Fskills\n    emoji: ?\n    install:\n      - id: node\n        kind: node\n        package: betterprompt\n        bins: [betterprompt, bp]\n        label: Install BetterPrompt CLI (node)\n---\n\n# BetterPrompt Skill\n\nThis skill uses the [BetterPrompt CLI](https:\u002F\u002Fgithub.com\u002FBetterPromptme\u002Fbetterprompt) (open-source by [BetterPrompt.me](https:\u002F\u002Fbetterprompt.me)) to:\n\n- Generate AI output (text, images, video)\n- Install and manage BetterPrompt skills\n- Search and discover BetterPrompt skills\n\nSupports OpenClaw and popular agents.\n\n## CLI Installation\n\n```sh\nnpm install -g betterprompt@latest\n# or\nbun install -g betterprompt@latest\n# or\nyarn global add betterprompt@latest\n# or\npnpm add -g betterprompt@latest\n```\n\n## Authentication\n\nAuthenticate via browser:\n\n```sh\nbetterprompt login\n```\n\n## Skill Discovery\n\n```sh\nbetterprompt skill search \"\u003Cquery>\"\nbetterprompt skill info \u003Cskill-slug>\n```\n\n## Output Generation\n\nA skill is essentially a prompt with instructions. Run the following command to generate output:\n\n```sh\nbetterprompt generate \u003Cskill-slug> [input flags] [--model \u003Cmodel>] [--options \u003Cjson>] [--json]\n```\n\nInput methods (use the one that matches the skill's input contract):\n\n```sh\n# Key-value pairs (repeatable)\nbetterprompt generate \u003Cskill-slug> --input key=value --input key2=value2\n\n# Image via URL\nbetterprompt generate \u003Cskill-slug> --image-input-url \u003Curl>\n\n# Image via local file (auto-compressed)\nbetterprompt generate \u003Cskill-slug> --image-input-path \u003Cpath>\n\n# JSON payload (all inputs as a single JSON object)\nbetterprompt generate \u003Cskill-slug> --input-payload '{\"key\": \"value\"}'\n\n# Stdin pipe\necho \"input text\" | betterprompt generate \u003Cskill-slug> --stdin\n```\n\nFlags:\n\n```sh\n--model \u003Cmodel>       override the default model for this skill\n--options \u003Cjson>      pass provider-specific model options as JSON\n--json                output structured JSON (includes run-id, status, outputs)\n```\n\nThe `--json` response includes a `runId` field used to retrieve outputs later.\n\n## Output Review\n\nRetrieve outputs for a specific run:\n\n```sh\nbetterprompt outputs \u003Crun-id>\n```\n\nList past outputs:\n\n```sh\nbetterprompt outputs list\n```\n\nOutput types:\n\n| Type  | Value   |\n| ----- | ------- |\n| TEXT  | \"text\"  |\n| IMAGE | \"image\" |\n| ERROR | \"error\" |\n| VIDEO | \"video\" |\n\n## Skill Management\n\nInstall, uninstall, list, and update prompt skills:\n\n```sh\nbetterprompt skill install \u003Cskill-slug> --agent \u003Cname>\nbetterprompt skill uninstall \u003Cskill-slug> --agent \u003Cname>\nbetterprompt skill list\nbetterprompt skill update \u003Cskill-slug>\n```\n\n## Global Flags\n\nThese flags work on most commands:\n\n```sh\n--project       scope to the current project (vs global)\n--global        scope to global install\n--dir \u003Cpath>    use an explicit working directory\n--json          structured JSON output (machine-readable)\n--quiet         reduce non-essential output\n-h, --help      show help for any command\n-V, --version   show CLI version\n```\n\n## Resources\n\nFetch available models and their supported options (e.g., aspect ratio, resolution, reasoning effort):\n\n```sh\nbetterprompt resources --models-only\n```\n\n## Agent Instructions\n\n### Skill Installation\n\nThe `--agent` flag specifies which agent to install\u002Funinstall a prompt skill into. Use your own agent name if you know it (e.g., `--agent openclaw` for OpenClaw, `--agent claude` for Claude). If you don't know which agent you are, ask the human.\n\n- Install supports multiple agents: `--agent claude --agent cursor`\n- Uninstall accepts one agent or `--agent \"*\"` to remove from all\n\nSupported agents: `agents`, `openclaw`, `cursor`, `claude`, `windsurf`, `antigravity`.\n\n### Execution Pipeline\n\nRun these steps in order. Early steps can be skipped if the user's goal is already satisfied (e.g., discovery only stops after Search).\n\nAlways use `--json` flag on every command for machine-readable output.\n\n1. **Search** — `betterprompt skill search \"\u003Cquery>\" --json`\n2. **Inspect** — `betterprompt skill info \u003Cslug> --json`\n3. **Fetch resources** — `betterprompt resources --models-only --json`\n4. **Validate** from `skillmd`\n5. **Present execution choices**:\n\n- required inputs in the skill.md\n- default model\n- default model's options\n- other supported models\n\n6. **Execute** — `betterprompt generate \u003Cskill-slug> [input flags] --json`\n7. **Poll if needed** — `betterprompt outputs \u003Crun-id> --sync --json`\n\nAfter a successful generation, always ask the human if they want to install the skill for future use (see [Skill Installation](#skill-installation)). Do not skip this step.\n\nIf any step fails due to transient error, retry once. If a step is blocked (missing input, API failure, user pause), return the best available result from completed steps without waiting for the full pipeline.\n\n### Skill Selection Rubric\n\nWhen multiple skills match, prefer higher score on:\n\n1. Intent match to user request\n2. Input contract clarity in skillmd\n3. Output predictability\u002Frepeatability\n4. Fewer ambiguous runtime options\n\nIf tied, pick the skill with clearer skillmd run instructions.\n\n### Failure and Timeout Handling\n\n- Show key error directly; provide one corrective action\n- Retry once if safe and likely to succeed\n- If timeout returns a `runId`, report it and offer `betterprompt outputs \u003Crun-id> --sync` as follow-up\n- If blocked by CLI version, upgrade CLI then rerun full pipeline\n\n### OpenClaw Instructions\n\n#### Post-Install Session Reset\n\nAfter installing a skill with `betterprompt skill install`, suggest the human reset their session so the newly installed skill is loaded by OpenClaw.\n\n#### Channel Display Rules\n\nAll content returned to users must render natively in their channel platform. Never send raw URLs, raw JSON, or unformatted dumps. The rules below apply to every content type the agent presents: search results, skill details, generation outputs, and resources.\n\n##### Platform-Specific Image Rendering\n\nNever send an image URL as plain text — always use the platform's native image mechanism so the image displays inline in the chat. The URL must be publicly accessible over HTTPS.\n\n| Platform            | Method                              | Key Details                                                                          |\n| ------------------- | ----------------------------------- | ------------------------------------------------------------------------------------ |\n| **Discord**         | Embed with `image.url`              | Bare URLs may not unfurl reliably; always use embeds                                 |\n| **Slack**           | Block Kit `image` block             | `image_url` + `alt_text` (required); URL unfurling depends on workspace settings     |\n| **Telegram**        | `sendPhoto` Bot API method          | `sendMessage` with a URL does not render images; URL in `photo` param                |\n| **Microsoft Teams** | Adaptive Card `Image` element       | `\"type\": \"Image\", \"url\": \"…\"`; bare URLs render as links, not images; HTTPS required |\n| **WhatsApp**        | Messages API with `\"type\": \"image\"` | `image.link`; PNG\u002FJPG only, max 5 MB, valid SSL + Content-Type headers required      |\n\n- If the URL is behind auth or ephemeral, download the image first and upload it as a direct attachment\n- If multiple image URLs are returned, send each as a separate image message\n\n##### Platform-Specific Text & Rich Content\n\n| Platform            | Formatting                                                | Lists \u002F Tables                                                                      | Code Blocks                                |\n| ------------------- | --------------------------------------------------------- | ----------------------------------------------------------------------------------- | ------------------------------------------ |\n| **Discord**         | Markdown (bold, italic, headers, links)                   | Numbered\u002Fbulleted lists; no native tables — use code block alignment                | ` ```lang ` fenced blocks                  |\n| **Slack**           | mrkdwn (`*bold*`, `_italic_`, `\u003Curl\\|text>`)              | Bulleted with `•`; numbered manually; no native tables — use Section blocks or code | ` ``` ` blocks (no language hint)          |\n| **Telegram**        | MarkdownV2 or HTML (`\u003Cb>`, `\u003Ci>`, `\u003Ca>`, `\u003Ccode>`)        | Manual numbered\u002Fbulleted; no native tables — use `\u003Cpre>` aligned columns            | `\u003Cpre>` or ` ``` `                         |\n| **Microsoft Teams** | Subset of HTML + Adaptive Cards                           | Adaptive Card `FactSet` for key-value; `TextBlock` with markdown for lists          | `\u003Cpre>\u003Ccode>` or Adaptive Card `CodeBlock` |\n| **WhatsApp**        | Limited: `*bold*`, `_italic_`, `~strike~`, ` ```mono``` ` | Manual numbered\u002Fbulleted only; no rich formatting for tables                        | ` ``` ` blocks (no language hint)          |\n\n##### Search Results (item list)\n\nPresent each skill as **one message** — do not split a single skill across multiple messages:\n\n- Number items (`1.`, `2.`, …) with `\u003Ctitle>` + `\u003Cshort description>` in the same message\n- If sample output is an image URL → render inline using platform image method (see table above) with numbered caption\n- If sample output is text → quote block (`> \u003Csample text>` or platform equivalent)\n- If no sample output → include \"No sample output available.\" in the item message\n\n##### Skill Details (info) \u002F Execution Choices\n\nWhen presenting skill info from `betterprompt skill info`:\n\n- **Title + description** as a header or bold line\n- **Required inputs**\n  - List of text inputs: name, description, is required. E.g:\n\n    ```markdown\n    Inputs:\n\n    - story_theme (required): The story theme\n    - character_role (required): The character role\n    ```\n\n  - List of image inputs: name, description, is required. E.g:\n\n    ```markdown\n    ** Exactly 1 ** image(s)\n\n    - image 1 (required): The character reference image\n    ```\n\n- **Default model and their available options** E.g:\n\n  ```markdown\n  - Default model: gemini-3.1-flash-image-preview (default)\n  - Available options: aspectRatio: 1:1 (default) \u002F 16:9 \u002F 9:16, resolution: 1024x1024 \u002F 2048x2048\n  ```\n\n- **Other supported models** as a model list. E.g: gpt-image-1, dall-e-3, ...\n\n- **Sample output** rendered inline (image or quoted text per platform rules)\n- Keep it to one message; use the platform's rich formatting (embeds, cards, blocks) to structure sections visually\n\n##### Generation Output\n\nAfter a successful run, return exactly:\n\n1. **Exact result** — same content BetterPrompt returned, formatted for readability only\n2. **One next step** — exactly one actionable suggestion\n\nFidelity rules:\n\n- Text: light formatting only (line breaks, short intro); preserve all content verbatim\n- Images: render inline per platform image rules above\n- Never invent, summarize away, or alter output content\n- Do not include skill IDs, prompt version IDs, raw JSON, or internal logs unless explicitly asked\n\n##### Resources\n\nWhen presenting results from `betterprompt resources --models-only`:\n\n- **Models list**: formatted as a numbered list or compact table showing model name and provider\n- **Resource details**: key-value pairs using the platform's native structured format (Discord embed fields, Slack `section` blocks, Teams `FactSet`, Telegram bold key + value)\n- Keep it scannable — one message, no walls of text","# BetterPrompt Skill\n\nThis skill uses the [BetterPrompt CLI](https:\u002F\u002Fgithub.com\u002FBetterPromptme\u002Fbetterprompt) (open-source by [BetterPrompt.me](https:\u002F\u002Fbetterprompt.me)) to:\n\n- Generate AI output (text, images, video)\n- Install and manage BetterPrompt skills\n- Search and discover BetterPrompt skills\n\nSupports OpenClaw and popular agents.\n\n## CLI Installation\n\n```sh\nnpm install -g betterprompt@latest\n# or\nbun install -g betterprompt@latest\n# or\nyarn global add betterprompt@latest\n# or\npnpm add -g betterprompt@latest\n```\n\n## Authentication\n\nAuthenticate via browser:\n\n```sh\nbetterprompt login\n```\n\n## Skill Discovery\n\n```sh\nbetterprompt skill search \"\u003Cquery>\"\nbetterprompt skill info \u003Cskill-slug>\n```\n\n## Output Generation\n\nA skill is essentially a prompt with instructions. Run the following command to generate output:\n\n```sh\nbetterprompt generate \u003Cskill-slug> [input flags] [--model \u003Cmodel>] [--options \u003Cjson>] [--json]\n```\n\nInput methods (use the one that matches the skill's input contract):\n\n```sh\n# Key-value pairs (repeatable)\nbetterprompt generate \u003Cskill-slug> --input key=value --input key2=value2\n\n# Image via URL\nbetterprompt generate \u003Cskill-slug> --image-input-url \u003Curl>\n\n# Image via local file (auto-compressed)\nbetterprompt generate \u003Cskill-slug> --image-input-path \u003Cpath>\n\n# JSON payload (all inputs as a single JSON object)\nbetterprompt generate \u003Cskill-slug> --input-payload '{\"key\": \"value\"}'\n\n# Stdin pipe\necho \"input text\" | betterprompt generate \u003Cskill-slug> --stdin\n```\n\nFlags:\n\n```sh\n--model \u003Cmodel>       override the default model for this skill\n--options \u003Cjson>      pass provider-specific model options as JSON\n--json                output structured JSON (includes run-id, status, outputs)\n```\n\nThe `--json` response includes a `runId` field used to retrieve outputs later.\n\n## Output Review\n\nRetrieve outputs for a specific run:\n\n```sh\nbetterprompt outputs \u003Crun-id>\n```\n\nList past outputs:\n\n```sh\nbetterprompt outputs list\n```\n\nOutput types:\n\n| Type  | Value   |\n| ----- | ------- |\n| TEXT  | \"text\"  |\n| IMAGE | \"image\" |\n| ERROR | \"error\" |\n| VIDEO | \"video\" |\n\n## Skill Management\n\nInstall, uninstall, list, and update prompt skills:\n\n```sh\nbetterprompt skill install \u003Cskill-slug> --agent \u003Cname>\nbetterprompt skill uninstall \u003Cskill-slug> --agent \u003Cname>\nbetterprompt skill list\nbetterprompt skill update \u003Cskill-slug>\n```\n\n## Global Flags\n\nThese flags work on most commands:\n\n```sh\n--project       scope to the current project (vs global)\n--global        scope to global install\n--dir \u003Cpath>    use an explicit working directory\n--json          structured JSON output (machine-readable)\n--quiet         reduce non-essential output\n-h, --help      show help for any command\n-V, --version   show CLI version\n```\n\n## Resources\n\nFetch available models and their supported options (e.g., aspect ratio, resolution, reasoning effort):\n\n```sh\nbetterprompt resources --models-only\n```\n\n## Agent Instructions\n\n### Skill Installation\n\nThe `--agent` flag specifies which agent to install\u002Funinstall a prompt skill into. Use your own agent name if you know it (e.g., `--agent openclaw` for OpenClaw, `--agent claude` for Claude). If you don't know which agent you are, ask the human.\n\n- Install supports multiple agents: `--agent claude --agent cursor`\n- Uninstall accepts one agent or `--agent \"*\"` to remove from all\n\nSupported agents: `agents`, `openclaw`, `cursor`, `claude`, `windsurf`, `antigravity`.\n\n### Execution Pipeline\n\nRun these steps in order. Early steps can be skipped if the user's goal is already satisfied (e.g., discovery only stops after Search).\n\nAlways use `--json` flag on every command for machine-readable output.\n\n1. **Search** — `betterprompt skill search \"\u003Cquery>\" --json`\n2. **Inspect** — `betterprompt skill info \u003Cslug> --json`\n3. **Fetch resources** — `betterprompt resources --models-only --json`\n4. **Validate** from `skillmd`\n5. **Present execution choices**:\n\n- required inputs in the skill.md\n- default model\n- default model's options\n- other supported models\n\n6. **Execute** — `betterprompt generate \u003Cskill-slug> [input flags] --json`\n7. **Poll if needed** — `betterprompt outputs \u003Crun-id> --sync --json`\n\nAfter a successful generation, always ask the human if they want to install the skill for future use (see [Skill Installation](#skill-installation)). Do not skip this step.\n\nIf any step fails due to transient error, retry once. If a step is blocked (missing input, API failure, user pause), return the best available result from completed steps without waiting for the full pipeline.\n\n### Skill Selection Rubric\n\nWhen multiple skills match, prefer higher score on:\n\n1. Intent match to user request\n2. Input contract clarity in skillmd\n3. Output predictability\u002Frepeatability\n4. Fewer ambiguous runtime options\n\nIf tied, pick the skill with clearer skillmd run instructions.\n\n### Failure and Timeout Handling\n\n- Show key error directly; provide one corrective action\n- Retry once if safe and likely to succeed\n- If timeout returns a `runId`, report it and offer `betterprompt outputs \u003Crun-id> --sync` as follow-up\n- If blocked by CLI version, upgrade CLI then rerun full pipeline\n\n### OpenClaw Instructions\n\n#### Post-Install Session Reset\n\nAfter installing a skill with `betterprompt skill install`, suggest the human reset their session so the newly installed skill is loaded by OpenClaw.\n\n#### Channel Display Rules\n\nAll content returned to users must render natively in their channel platform. Never send raw URLs, raw JSON, or unformatted dumps. The rules below apply to every content type the agent presents: search results, skill details, generation outputs, and resources.\n\n##### Platform-Specific Image Rendering\n\nNever send an image URL as plain text — always use the platform's native image mechanism so the image displays inline in the chat. The URL must be publicly accessible over HTTPS.\n\n| Platform            | Method                              | Key Details                                                                          |\n| ------------------- | ----------------------------------- | ------------------------------------------------------------------------------------ |\n| **Discord**         | Embed with `image.url`              | Bare URLs may not unfurl reliably; always use embeds                                 |\n| **Slack**           | Block Kit `image` block             | `image_url` + `alt_text` (required); URL unfurling depends on workspace settings     |\n| **Telegram**        | `sendPhoto` Bot API method          | `sendMessage` with a URL does not render images; URL in `photo` param                |\n| **Microsoft Teams** | Adaptive Card `Image` element       | `\"type\": \"Image\", \"url\": \"…\"`; bare URLs render as links, not images; HTTPS required |\n| **WhatsApp**        | Messages API with `\"type\": \"image\"` | `image.link`; PNG\u002FJPG only, max 5 MB, valid SSL + Content-Type headers required      |\n\n- If the URL is behind auth or ephemeral, download the image first and upload it as a direct attachment\n- If multiple image URLs are returned, send each as a separate image message\n\n##### Platform-Specific Text & Rich Content\n\n| Platform            | Formatting                                                | Lists \u002F Tables                                                                      | Code Blocks                                |\n| ------------------- | --------------------------------------------------------- | ----------------------------------------------------------------------------------- | ------------------------------------------ |\n| **Discord**         | Markdown (bold, italic, headers, links)                   | Numbered\u002Fbulleted lists; no native tables — use code block alignment                | ` ```lang ` fenced blocks                  |\n| **Slack**           | mrkdwn (`*bold*`, `_italic_`, `\u003Curl\\|text>`)              | Bulleted with `•`; numbered manually; no native tables — use Section blocks or code | ` ``` ` blocks (no language hint)          |\n| **Telegram**        | MarkdownV2 or HTML (`\u003Cb>`, `\u003Ci>`, `\u003Ca>`, `\u003Ccode>`)        | Manual numbered\u002Fbulleted; no native tables — use `\u003Cpre>` aligned columns            | `\u003Cpre>` or ` ``` `                         |\n| **Microsoft Teams** | Subset of HTML + Adaptive Cards                           | Adaptive Card `FactSet` for key-value; `TextBlock` with markdown for lists          | `\u003Cpre>\u003Ccode>` or Adaptive Card `CodeBlock` |\n| **WhatsApp**        | Limited: `*bold*`, `_italic_`, `~strike~`, ` ```mono``` ` | Manual numbered\u002Fbulleted only; no rich formatting for tables                        | ` ``` ` blocks (no language hint)          |\n\n##### Search Results (item list)\n\nPresent each skill as **one message** — do not split a single skill across multiple messages:\n\n- Number items (`1.`, `2.`, …) with `\u003Ctitle>` + `\u003Cshort description>` in the same message\n- If sample output is an image URL → render inline using platform image method (see table above) with numbered caption\n- If sample output is text → quote block (`> \u003Csample text>` or platform equivalent)\n- If no sample output → include \"No sample output available.\" in the item message\n\n##### Skill Details (info) \u002F Execution Choices\n\nWhen presenting skill info from `betterprompt skill info`:\n\n- **Title + description** as a header or bold line\n- **Required inputs**\n  - List of text inputs: name, description, is required. E.g:\n\n    ```markdown\n    Inputs:\n\n    - story_theme (required): The story theme\n    - character_role (required): The character role\n    ```\n\n  - List of image inputs: name, description, is required. E.g:\n\n    ```markdown\n    ** Exactly 1 ** image(s)\n\n    - image 1 (required): The character reference image\n    ```\n\n- **Default model and their available options** E.g:\n\n  ```markdown\n  - Default model: gemini-3.1-flash-image-preview (default)\n  - Available options: aspectRatio: 1:1 (default) \u002F 16:9 \u002F 9:16, resolution: 1024x1024 \u002F 2048x2048\n  ```\n\n- **Other supported models** as a model list. E.g: gpt-image-1, dall-e-3, ...\n\n- **Sample output** rendered inline (image or quoted text per platform rules)\n- Keep it to one message; use the platform's rich formatting (embeds, cards, blocks) to structure sections visually\n\n##### Generation Output\n\nAfter a successful run, return exactly:\n\n1. **Exact result** — same content BetterPrompt returned, formatted for readability only\n2. **One next step** — exactly one actionable suggestion\n\nFidelity rules:\n\n- Text: light formatting only (line breaks, short intro); preserve all content verbatim\n- Images: render inline per platform image rules above\n- Never invent, summarize away, or alter output content\n- Do not include skill IDs, prompt version IDs, raw JSON, or internal logs unless explicitly asked\n\n##### Resources\n\nWhen presenting results from `betterprompt resources --models-only`:\n\n- **Models list**: formatted as a numbered list or compact table showing model name and provider\n- **Resource details**: key-value pairs using the platform's native structured format (Discord embed fields, Slack `section` blocks, Teams `FactSet`, Telegram bold key + value)\n- Keep it scannable — one message, no walls of text",{"name":5,"metadata":51,"description":7},{"openclaw":52},{"emoji":53,"install":54,"homepage":59},"?",[55],{"id":34,"bins":56,"kind":34,"label":58,"package":5},[5,57],"bp","Install BetterPrompt CLI (node)","https:\u002F\u002Fbetterprompt.me\u002Fskills","main","146729cedbfab879f43ff34bceca519a580aebee",0,"https:\u002F\u002Fgithub.com\u002FBetterPromptme\u002Fskills","https:\u002F\u002Fgithub.com\u002FBetterPromptme","https:\u002F\u002Fbetterprompt.me\u002F","2026-07-30 20:02:41",{"source":8,"skillName":5,"commands":68,"prompt":78,"zipAvailable":79},[69,72,75],{"tool":70,"command":71},"npx","npx skills add BetterPromptme\u002Fskills --skill betterprompt",{"tool":73,"command":74},"bunx","bunx skills add BetterPromptme\u002Fskills --skill betterprompt",{"tool":76,"command":77},"pnpm","pnpm dlx skills add BetterPromptme\u002Fskills --skill betterprompt","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FBetterPromptme\u002Fskills\u002Fblob\u002Fmain\u002Fbetterprompt\u002FSKILL.md",true,[],[82,93,115,133,140,158],{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":46},"01M6ESSAXMK67520R3W5VRR31N","{{{name=null}=null}=null}","{{{description=null}=null}=null}","https:\u002F\u002Fgithub.com\u002FBetterPromptme\u002Fskills\u002Fblob\u002Fmain\u002Ftemplate\u002FSKILL.md",[],[84,89,5,33,34,90,91,92,44],"name","https","linux","github",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":46},"01M6ESS6FZNCKP8TDTMXD5D8AC","zootopia-three-panel-portrait","This prompt instructs an image generator\u002Feditor to create a cozy, realistic three-panel vertical photobooth strip using the person’s original face and identity unchanged, placing them in a consistent warm indoor setting with a cream curtain backdrop and a beige cable-knit sweater. Across the three frames, it directs specific poses and expressions while adding a large plush character-ears hat and Zootopia plush toys (Nick Wilde and Judy Hopps) in designated positions, with expression rules adapted to the subject’s perceived gender presentation. The intended result is a clean, natural-texture photobooth collage that looks like real photos, strictly avoiding any stylization, beautification, identity changes, wardrobe changes, or extra elements beyond what’s specified.","https:\u002F\u002Fgithub.com\u002FBetterPromptme\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzootopia-three-panel-portrait\u002FSKILL.md",[],[100,101,102,103,92,44,104,105,106,5,91,107,108,109,110,111,112,90,113,114],"three","portrait","panel","zootopia three panel portrait","image","image generator","with","expression","elements","across","clean","prompt","Rules","create","editor",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":121,"publishedAt":46},"01M6ESS24KV8DM655H9NY1QFBN","zootopia-premiere-selfie-generator","This prompt instructs the AI to generate a high-angle, wide-angle selfie-style portrait set inside a crowded cinema during a Zootopia 2 premiere, featuring the uploaded person’s face preserved exactly while they stand between fully 3D, movie-quality Judy Hopps and Nick Wilde, with a giant theater screen displaying the Zootopia 2 poster, vivid cinematic lighting from the screen, and an energetic fan-event atmosphere rendered in ultra-realistic high resolution.","https:\u002F\u002Fgithub.com\u002FBetterPromptme\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzootopia-premiere-selfie-generator\u002FSKILL.md",[],[122,123,124,90,106,111,125,126,5,127,101,128,129,130,131,42,91,92,44,132],"zootopia premiere selfie generator","lighting","quality","event","poster","atmosphere","style","resolution","screen","SET","3D",{"skillNo":134,"name":135,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":138,"publishedAt":46},"01M6ESS0ACFXPN910RH45TC5DP","zootopia-polaroid-judy-and-nick","https:\u002F\u002Fgithub.com\u002FBetterPromptme\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzootopia-polaroid-judy-and-nick\u002FSKILL.md",[],[139],"zootopia polaroid judy and nick",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":46},"01M6ESRWAPR296A6K72902SZYW","zootopia-plush-store-portrait","This prompt instructs an AI to generate a realistic, close-up upper-body photo of a real human child (girl or boy) in a brightly lit, cozy plush-toy store, with the person’s identity and core traits preserved. It requires choosing one of two themed setups—either Nick Wilde or Judy Hopps—where the child wears a large character plush hat, holds the matching plush, and stands before densely stocked shelves of both characters’ plush toys. The result is a vibrant, warm retail scene with a specific cute pose (finger to cheek), gentle expression, natural skin tones, and detailed fabric textures, while strictly avoiding identity changes, animation styles, character distortion, extra people, or surreal effects.","https:\u002F\u002Fgithub.com\u002FBetterPromptme\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzootopia-plush-store-portrait\u002FSKILL.md",[],[101,147,148,92,44,91,149,106,5,150,151,107,152,153,154,155,111,156,42,157],"store","zootopia plush store portrait","people","traits","styles","lit","human","either","up","Animation","core",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":164,"publishedAt":46},"01M6ESRR4MYQNRN8KZNJGQZ9A1","zootopia-mascot-selfie-magic","This prompt instructs an image model to generate an ultra-realistic, high-angle smartphone-style selfie featuring the exact likeness of the woman from a provided reference photo, centered in frame and smiling (with black braces visible), while posing outdoors against a simple concrete wall beside life-size 3D mascot-costume versions of Judy Hopps (left) and Nick Wilde (right). It specifies strict constraints for facial fidelity, outfit, accessories, character appearance, lighting, composition, camera characteristics, and negative traits to avoid, resulting in a bright, natural-looking, high-resolution selfie scene with crisp, believable textures and a cheerful mood.","https:\u002F\u002Fgithub.com\u002FBetterPromptme\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzootopia-mascot-selfie-magic\u002FSKILL.md",[],[165,166,106,5,150,167,128,168,129,123,111,169,132,170,90,42,91,92,44,104],"zootopia mascot selfie magic","simple","crisp","black","model","Composition"]