audio-mix-maker
Mix music/audio onto an existing video via ffmpeg. Modes: replace, overlay, duck (sidechain compressor lowers music under speech). Volume + fade controls. Pure…
Check if a newer Mikefluff/skills release exists; show CHANGELOG diff; on user confirmation, run install.sh --update. Idempotent and read-only until user approves. Use when the user says 'check for skill updates', 'update skills', '/skills-update', or sees the status-line update
$ npx -y skills add Mikefluff/skills --skill skills-update --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/skills-updateContext preview
The summary Claude sees to decide when to auto-load this skill.
Check if a newer Mikefluff/skills release exists; show CHANGELOG diff; on user confirmation, run install.sh --update. Idempotent and read-only until user approves. Use when the user says 'check for skill updates', 'update skills', '/skills-update', or sees the status-line update
name: skills-update description: "Check if a newer Mikefluff/skills release exists; show CHANGELOG diff; on user confirmation, run install.sh --update. Idempotent and read-only until user approves. Use when the user says 'check for skill updates', 'update skills', '/skills-update', or sees the status-line update banner." license: MIT allowed-tools: - Read - Bash - WebFetch
<objective> User-invocable skill for keeping the `Mikefluff/skills` collection up to date.
When invoked, the skill: 1. Reads the locally-installed version from `~/.claude/skills/.skills-collection.json` (written by `install.sh`). 2. Fetches the latest tag from the GitHub repo. 3. Compares the two semver strings. 4. If a newer version exists, fetches the `CHANGELOG.md` section for the new version and shows it to the user. 5. Asks for explicit confirmation via `AskUserQuestion`. 6. On approval, runs `install.sh --update` (via Bash) to pull the new tarball and overwrite installed skills.
If the local version is already current — print one line ("up to date — v<X>") and exit.
The skill never updates without explicit user confirmation. </objective>
You are the update agent for `Mikefluff/skills`. You only check + report + (on approval) run the installer. You do not edit files, do not modify settings, do not touch other skill folders directly.
PREFIX="${HOME}/.claude/skills"
MARKER="$PREFIX/.skills-collection.json"
if [ ! -f "$MARKER" ]; then
echo "No install marker at $MARKER — skills may have been installed manually or not at all."
echo "Run install.sh from the repo to bootstrap the marker."
exit 0
fi
local_version=$(jq -r '.version' "$MARKER" 2>/dev/null || grep -oE '"version": *"[^"]+"' "$MARKER" | sed -E 's/.*"version": *"([^"]+)".*/\1/')
echo "local: v$local_version"Use WebFetch on `https://api.github.com/repos/Mikefluff/skills/releases/latest`. Extract `tag_name`. Strip the leading `v`.
If no releases exist, report "No published releases yet — nothing to update against." and exit.
Compare local and remote semver as `MAJOR.MINOR.PATCH` integer triples. If local ≥ remote, print `up to date — v<local>` and exit.
Fetch `https://raw.githubusercontent.com/Mikefluff/skills/main/CHANGELOG.md` (also via WebFetch). Extract the section(s) between `## [<remote>]` (inclusive) and `## [<local>]` (exclusive). This is the diff of notable changes the user has not yet installed.
Print:
update available: v<local> → v<remote> Changes since v<local>: <extracted changelog section>
Use `AskUserQuestion` to ask:
question: "Install v<remote> now?" header: "Update" options: - "Yes, update now (Recommended)" — runs install.sh --update - "Show install command, I'll run it" — prints the curl command, no execution - "Skip for now" — exits without doing anything
Run:
curl -fsSL https://raw.githubusercontent.com/Mikefluff/skills/main/install.sh | bash -s -- --update
After completion, re-read the install marker and confirm the version is now `v<remote>`. Report a one-line success message.
The install marker `~/.claude/skills/.skills-collection.json` is written by `install.sh` and contains:
{
"collection": "Mikefluff/skills",
"version": "0.1.0",
"installed_at": "2026-05-20T14:04:02Z",
"skills": ["writer", "viral-text", "prose-edit", "essay-write", "style-check"]
}If this file is missing, the user installed skills manually (or never did the curl-pipe install). In that case, don't try to update — just tell them how to bootstrap:
Marker not found. To install from scratch: curl -fsSL https://raw.githubusercontent.com/Mikefluff/skills/main/install.sh | bash
| File | When to load | |---|---| | [references/semver-compare.md](references/semver-compare.md) | If unsure how to compare semver triples |
44 skills for Claude Code that make content — and refuse to let it read like a machine made it. Prose editing that strips the tells. Prompt engineering for 40+ image, video and music models, with optional one-command execution against the real APIs.
Repo: Mikefluff/skills
Mix music/audio onto an existing video via ffmpeg. Modes: replace, overlay, duck (sidechain compressor lowers music under speech). Volume + fade controls. Pure…
Turn a user photo into N profile-pic / headshot / avatar variants in a consistent style. Identity-preserve focused, defaults to nano-banana-pro. Multi-aspect…
Banner-ad / display-creative generator with standard-size presets: Google Display (leaderboard, medium rectangle, mobile, skyscraper), LinkedIn, OG image,…
Background removal utility — image in, transparent PNG out. Wraps Replicate-hosted models (851-labs/background-remover default; alternatives via…
Read-only story-bible auditor for fiction series with a documented canon. Cross-references character / artifact / location mentions in chapters against the…
Turn a topic or research brief into an N-slide Instagram / LinkedIn / TikTok carousel with consistent visual style and ready-to-post captions. Modes: --topic /…