brainstorming
Structured design dialogue that validates ideas before implementation begins.
review-changelog
Review and complete new changelog entries after automated PR creation. Use when there's a new changelog PR with entries that have placeholder URLs or empty fields that need review. Triggers on phrases like "review changelog", "complete changelog entries", "fix changelog PR", or when user mentions...
Full skill instructions
This skill helps complete new changelog entries after our automated release workflow creates a PR. The automation generates entries with placeholder values that need human review and completion.
changelog_schema/README.md for field documentationpublic-flavor-logos S3 bucket in whats_new/ folderid - unique sequential numberslug - URL-friendly identifiertitle - headlinedescription - detailed descriptionpublished_at - ISO 8601 datetime with Z suffixfeature_image_url - screenshot/image URL (S3 bucket)video_url - YouTube embed URLlearn_more_url - blog post or additional info URLdocs_url - ZenML documentation URLpublished - boolean (default: true, can usually leave out)highlight_until - datetime to stop highlightingshould_highlight - boolean, makes announcement pop up for usersaudience - "oss", "pro", or "all" (default: "all")labels - array of: "feature", "improvement", "bugfix", "deprecation"Run these commands to find the current branch and new entries:
git branch --show-current
git diff main -- changelog.json
Parse the diff to identify entries that were added (look for lines starting with +). New entries typically have:
feature_image_url and video_urlFor each new entry, use the AskUserQuestion tool to gather information. IMPORTANT: Always check recent entries (last ~5) in changelog.json for overlapping content before proceeding.
Before asking about details, first ask whether this entry should be included at all:
When asking this question, provide context by:
If the user chooses to remove or merge, skip all remaining questions for this entry and handle the deletion/merge accordingly.
If the user chooses to include the entry but mentions it needs updating (e.g., wrong focus, inaccurate description, or should be based on a specific PR), ask:
When updating based on a PR:
gh pr view <number> --repo <repo> --json title,bodyVerify the labels are correct. Options:
feature - New functionalityimprovement - Enhancement to existing functionalitybugfix - Bug fixdeprecation - Deprecated featuresAsk if there's a feature image/screenshot. Options:
Images are hosted at: https://public-flavor-logos.s3.eu-central-1.amazonaws.com/whats_new/
Ask if there's a video demonstration. If yes, get the YouTube embed URL.
https://www.youtube-nocookie.com/embed/VIDEO_IDAsk if there's a blog post or article. If yes, get the URL.
Ask if there's relevant documentation. If yes, get the URL.
Ask if this announcement should be highlighted (pops up for users).
Use the Edit tool to update each entry:
audience if different from defaultlabelsshould_highlight if trueImportant: Remove optional fields with empty/placeholder values rather than leaving them. A cleaner entry looks like:
{
"id": 10,
"slug": "enhanced-pipeline-scheduling",
"title": "Enhanced Pipeline Scheduling",
"description": "You can now pause and resume schedules...",
"published_at": "2026-01-14T09:20:00Z",
"published": true,
"audience": "all",
"labels": ["improvement"],
"docs_url": "https://docs.zenml.io/concepts/schedules"
}
After updating all entries, tell the user:
Next Steps:
- Copy the updated
changelog.jsoncontent- Go to https://zenml-announcements-preview.vercel.app/
- Paste the JSON to preview how your entries will appear
- If everything looks good, commit and push the changes
For entry "Enhanced Stack Management with Update Functionality":
Questions to ask (can batch related questions):
0. Should we include this entry?
Context: "Enhanced Stack Management with Update Functionality" - Allows updating stacks from the UI.
Recent entries that might overlap:
- ID 10: "Enhanced Pipeline Scheduling and Stack Management" - Already mentions stack update page
Options:
- Yes, include this (Recommended if it adds significant new detail)
- No, duplicate of recent entry (content already in ID 10)
- No, not significant enough
- Merge with another entry in this PR
[If user chooses "Yes, include this", continue with remaining questions...]
1. Audience: Is this feature available to...
- OSS users only
- Pro users only
- All users (Recommended)
2. Labels: The current labels are ["feature"]. Is this correct?
- Yes, keep as feature
- Change to improvement
- Change to bugfix
- Other (specify)
3. Do you have a feature image URL for this entry?
- No image
- Yes (will prompt for URL)
4. Do you have a video URL?
- No video
- Yes (will prompt for URL)
5. Do you have a blog post URL (learn more)?
- No blog post
- Yes (will prompt for URL)
6. Do you have a docs URL?
- No documentation link
- Yes (will prompt for URL)
7. Should this entry be highlighted (pop up for users)?
- No (default)
- Yes, highlight this
When a user has a local image file that needs to be used as a feature image:
Ask the user for the full path to their local image file (PNG, JPG, etc.).
Use the avif-image-compressor skill to convert and compress the image:
~/.claude/skills/avif-image-compressor/scripts/convert_to_avif.sh "/path/to/image.png" --quality 30 --output "/tmp/output-name.avif"
Note: The AVIF compressor skill is available in the private
zenml-io/skillsrepository. Team members who don't have it installed can clone it from there.
Upload both the AVIF and the original PNG to the public-flavor-logos S3 bucket:
# Upload the AVIF version (used by the dashboard widget)
aws s3 cp /tmp/output-name.avif s3://public-flavor-logos/whats_new/output-name.avif --profile default
# Upload the PNG version (needed for email newsletters - many email clients don't support AVIF)
aws s3 cp /path/to/original-image.png s3://public-flavor-logos/whats_new/output-name.png --profile default
default AWS profile firstzenml profileThe final URLs will be:
https://public-flavor-logos.s3.eu-central-1.amazonaws.com/whats_new/output-name.avif (dashboard)
https://public-flavor-logos.s3.eu-central-1.amazonaws.com/whats_new/output-name.png (email)
Use the AVIF URL for the feature_image_url field in the changelog entry. The PNG version will be used when building email newsletters.
Use descriptive, kebab-case names for images:
enhanced-logs.avifpipeline-scheduling-ui.avifscreenshot1.avifimage.avifpublished: true field can usually be left in or removed (defaults to true)Structured design dialogue that validates ideas before implementation begins.
Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.
Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.
Introduction to the obra skills system with mandatory skill invocation rules and best practices.
Execute a written implementation plan with critical review and task checkpoints.
Delegate independent tasks to specialized agents working concurrently with isolated context.
Isolated git worktrees with smart directory selection and safety verification.
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
Plan searchable and shareable content that drives traffic, builds authority, and generates leads.
README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.
Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.
Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.
The world's fastest calendar for remote work
Capture, organize, and utilize your knowledge effortlessly.
Instant Summaries of Audio & Video Interviews with AnySummary
Transform PDFs into engaging mind maps.
Chat with any PDF instantly
Create an optimal daily plan using your voice
A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.
AskYourPDF Pricing Plans: Tailored to Your Needs