From passionfruit
Create a new bilingual blog post with proper frontmatter and both DE/EN files.
How this skill is triggered — by the user, by Claude, or both
Slash command
/passionfruit:new-postThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a bilingual (DE + EN) blog post with correct frontmatter, placeholder content, and a commit.
Create a bilingual (DE + EN) blog post with correct frontmatter, placeholder content, and a commit.
Ask these ONE AT A TIME using the AskUserQuestion tool:
translationKey: derive from the English version of the title, kebab-case, ASCII-only (e.g., "websites-with-ai"). This is shared across both locale files.webseiten-mit-ki.md)websites-with-ai.md)ai-websites)If the user gave a German title, translate it for the EN version (and vice versa). Both titles should feel natural in their language.
Tags must match the locale. Use these pairs:
| DE tag | EN tag |
|---|---|
| KI | AI |
| Webentwicklung | Web Development |
| Design | Design |
| Business | Business |
| Tutorial | Tutorial |
| Unternehmen | Company |
For custom tags, translate them appropriately.
src/content/blog/de/<de-slug>.md---
translationKey: "<translationKey>"
title: "<German title>"
description: "<German description — one sentence summarizing the post>"
publishedAt: <today's date as YYYY-MM-DD, no quotes>
author: "<author>"
tags: ["<DE tags>"]
heroImage: "../../../assets/blog/<asset-slug>.png"
featured: false
---
## <German heading>
Dieser Beitrag ist noch in Arbeit. Ersetzen Sie diesen Text durch Ihren Inhalt.
src/content/blog/en/<en-slug>.md---
translationKey: "<translationKey>"
title: "<English title>"
description: "<English description — one sentence summarizing the post>"
publishedAt: <today's date as YYYY-MM-DD, no quotes>
author: "<author>"
tags: ["<EN tags>"]
heroImage: "../../../assets/blog/<asset-slug>.png"
featured: false
---
## <English heading>
This post is still a work in progress. Replace this text with your content.
Check if OPENAI_API_KEY exists in .env. If it does, ask:
"Want me to generate a hero image for this post?"
If yes, run:
pnpm generate-image "<descriptive prompt for the topic>. Editorial photography style, modern and clean. No text, no logos." -o src/assets/blog/<asset-slug>.png --size 1536x1024
If the key is missing, tell the user:
"To generate a hero image later, add an OPENAI_API_KEY to .env and run:
pnpm generate-image \"<prompt>\" -o src/assets/blog/<asset-slug>.png --size 1536x1024"
IMPORTANT: Never commit a single-locale entry. Both DE and EN files must exist before committing.
Stage both files (and the image if generated), then commit:
git add src/content/blog/de/<de-slug>.md src/content/blog/en/<en-slug>.md
git commit -m "feat: add blog post — <translationKey>"
Tell the user:
"Blog post created! Edit the placeholder content in:
src/content/blog/de/<de-slug>.mdsrc/content/blog/en/<en-slug>.mdRun
pnpm devto preview it."
Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
npx claudepluginhub passion4it-gmbh/passionfruit --plugin passionfruit