--- name: ipl-prompt-publication description: Build, test, document and publish one new reusable prompt template (image or video, any mode) for the public Image Prompt Library through the connected MCP. This is the site's core workflow. --- # Image Prompt Library — Build and publish a prompt Publishing prompts is what this site is for. Each published prompt is a **reusable teaching template**: a canonical English prompt anyone can copy, the real result of applying that prompt, customizable parts with examples, and Spanish education that explains why it works and how to adapt it. Publishing is a construction process, not a database entry. The deliverable is never an editing service for the requester, a UI mockup, or a prompt card image. Read all four references before writing content: `references/creative-prompt.md`, `references/visual-qa.md`, `references/page-content-seo.md`, and `references/mcp-execution.md`. Use the live MCP tool schemas. ## Choose the template type | Type / mode | The reader supplies | Media to publish | |---|---|---| | image · `text2image` | only the prompt | 1–4 gallery results | | image · `img2image` | their own photo plus the prompt | input photo (`role: input`) + 1–4 gallery results | | video · `text2video` | only the prompt | video (`role: video`) + poster frame (`role: poster`) | | video · `img2video` | their own image plus the prompt | input image + video + poster frame | ## Mandatory rule: no media, no publication The result is always generated by applying the exact prompt being published, with the host's native image or video generation tool. If the host has no native tool for that media type, tell the owner, list the alternatives you can actually use, and ask permission before using one. If the media cannot be generated in this session (no tool, no permission, the tool failed, the file cannot be passed to the MCP), save the prompt as a **draft** with everything else complete and tell the owner: they will generate the media with that same prompt and publish it. Never publish without real media and never fill the gap with other images. ## One-template transaction 1. **Intake.** Infer what the reader wants to achieve, the reproducible outcome, type, mode, aspect ratio and identity constraints. An instruction to create and publish authorizes the complete transaction subject to QA; a date means schedule, not publish now. Ask for a source asset only when the task is about the owner's own asset. 2. **Preflight.** `library_overview`, then `list_prompts(status="all", query=)` and `get_prompt` on matches to avoid duplicates. For an existing draft, continue it with `update_prompt` without destroying prior media. Choose one or more existing reader-facing categories (the first is the primary), free access by default, a difficulty, and 2–5 customizable parts. 3. **Lock the canonical prompt.** One complete English instruction a reader can reuse (subject, hierarchy, camera, space, lighting, motion for video, exclusions). Each customizable default must occur literally in the prompt and each example must read grammatically in its place. Never alter the prompt after generating to make a failed result look correct. 4. **Prepare a fictional input where applicable.** For img2* without a user-supplied image, create exactly ONE neutral fictional input with the native tool and a **separate source-asset prompt**, inspect it, and keep its real file. Never regenerate a user-provided source. 5. **Generate once per result.** Apply the canonical prompt with the native tool. Each execution produces one identifiable output file, never a collage, prompt card, website mockup or set of candidates. Up to 4 results may be published, for example the same prompt run in different tools; each is a real execution of the same prompt. 6. **QA.** Inspect each actual result against the locked prompt following `references/visual-qa.md`. For img2* compare input and output explicitly. A hard mismatch, missing input or inaccessible output stops publication. Do not retry or switch tools without the owner's permission. 7. **Write the record.** `create_prompt` or `update_prompt` with the Spanish title, summary, `mode_help`, education, alt texts and SEO; the exact English prompt; `prompt_es` (a faithful Spanish translation that helps the reader understand it; it is shown, never copied); the true `model`; validated `fields`; `difficulty`; 3–6 tags; `categories`. 8. **Upload media.** `add_image` with the real file (`file` in ChatGPT): `input` first, then `gallery` (image) or `video` + `poster` (video). On every file set `generator` to the tool that actually generated that file, because the page shows it as "Generada con…". Add a short `label` when results differ ("Estilo acuarela", "Hecho con otra herramienta"). Never upload search results, substitutes or screenshots of the prompt. 9. **Re-read and finalize.** `get_prompt` must confirm the exact prompt, distinct media roles and IDs, metadata, categories and `missing_to_publish=[]`. With authorization and QA passed, call `publish_prompt` once (with `publish_at` to schedule) and confirm the status in the result. Report IDs, public and admin links, generators, media roles and limitations. Database publication does not prove page rendering or search indexing. ## Showing the result In clients with the in-chat view, the `get_prompt` and `publish_prompt` results render the prompt card; do not repeat its content as text. Report only decisions, problems and links. ## Rules Communicate with the owner in their language; prompts and field values in English; public text in Spanish. Do not delete content, replace existing media or republish an existing item without a targeted request. Successful database validation is not visual QA. Changing an existing prompt, its gallery or its customizable parts is outside this workflow.