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…
Turn a raw commercial offer (client + line items + total) into an HTML proposal whose style copies a brand website. LLM-authored from a brand screenshot; --quick offline fallback. Output: proposal.html with clickable links + exact prices, prints to PDF. Use when: 'make a
$ npx -y skills add Mikefluff/skills --skill proposal-maker --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/proposal-makerContext preview
The summary Claude sees to decide when to auto-load this skill.
Turn a raw commercial offer (client + line items + total) into an HTML proposal whose style copies a brand website. LLM-authored from a brand screenshot; --quick offline fallback. Output: proposal.html with clickable links + exact prices, prints to PDF. Use when: 'make a
name: proposal-maker description: "Turn a raw commercial offer (client + line items + total) into an HTML proposal whose style copies a brand website. LLM-authored from a brand screenshot; --quick offline fallback. Output: proposal.html with clickable links + exact prices, prints to PDF. Use when: 'make a proposal', 'commercial offer', 'КП', 'коммерческое предложение'." license: MIT allowed-tools: - Read - Write - Edit - Bash - Grep - Glob
<objective> End-to-end commercial-proposal generator. Input: a free-form offer (client block + itemised order with prices + total, usually pasted from Telegram/WhatsApp) and a brand site to copy the look from. Output: a single self-contained `proposal.html` that genuinely **looks like that brand** and prints to a clean PDF.
The default is **LLM-authored, screenshot-driven**. A deterministic template can't capture "dark, bold, dramatic brand with a green accent and uppercase display type" — it reads colours by frequency and gets the mood wrong. So instead: a Python step assembles a **brand kit**, and you (the orchestrator) *look at the brand* and *write the markup*.
Execute-layer modules under `common/runners/`: 1. `proposal/parse.py` — offer text → structured `skills.proposal.plan.v1` (items, prices, recomputed subtotal, mismatch + outlier flags). 2. `proposal/brand.py` — scrape brand tokens (accent / fonts / logo / name) + enrich each item with its real catalogue photo + description (`og:` tags). 3. `proposal/kit.py` — screenshot the brand site (headless Chrome), download the logo, write `BRIEF.md` bundling tokens + the item table + authoring rules. 4. `proposal/render.py` — the `--quick` deterministic themed template + HTML→PDF helper.
Why a document and NOT an image deck: a proposal carries **exact prices** and **clickable product links**. AI image generation garbles both. You write real HTML text.
This skill does NOT: generate slides/images (use `carousel-builder`/`flyer-maker`); invent prices or discounts; silently rewrite a suspicious number (it flags, you ask); log into a CRM or send anything; compute tax/VAT. </objective>
Build the brand kit → **look at the brand screenshot** → surface data-quality warnings to the user → **author a bespoke `proposal.html` that mirrors the brand** → verify it by screenshotting your own output → deliver. Fall back to `--quick` only when there's no LLM loop or no network.
1. **Capture the offer.** Save the user's pasted offer verbatim to a temp file (or pipe via stdin). Don't reformat — the parser handles emoji headers, RU/EN keys, `Name (url) qty — price CUR` lines, and `Total:`.
2. **Build the brand kit:**
python3 proposal-maker/scripts/run.py --offer /tmp/offer.txt # brand site auto-detected from the offer footer; or pass --brand-url <site>
This writes to `./generated/proposal/<slug>/`: `site.png` (the brand screenshot), `logo.*`, `brand.json`, `offer.json` (enriched with per-item photo URLs), and `BRIEF.md`.
3. **Look at the brand.** `Read` `site.png` — actually view it. Note: dark vs light mood, type weight/case, where/how the logo sits, accent colour usage, imagery feel. Then read `BRIEF.md` for the tokens + the full item table (names, qty, prices, links, photo URLs).
4. **Surface warnings.** If the run printed `⚠ stated total ≠ computed` or `⚠ '<item>' is N% of the total — possible typo`, **tell the user and ask** before using that number. (The seed Double D offer has `Логистика 5 000 000` — 97% of the total — almost certainly `5 000`.) Never auto-fix; confirm, then correct the offer text and re-run if needed.
5. **Author `proposal.html`** into the kit folder. House rules:
personality (the brand font from `BRIEF.md` via its Google Fonts link), the accent as the one hot colour, the logo placed like the site places it.
as-is; on a light header tint to white via `filter:brightness(0) invert(1)` or set it on a dark/accent plate. **Always show the brand name beside it** so identity survives.
fields the client checks first — above smaller secondary pills (guests, phone).
client's domain (e.g. Звук и свет / Доп оборудование / Артисты / Декорации / Сервис), each with a **large, scannable header** (big type + accent marker), item count, and **per-category subtotal**. Never one long pile.
items (controllers, stands, staff, logistics) → compact 2-column rows (small thumb + name + price). Don't render everything large — it reads as sprawling.
fine). Items the kit could not photograph from a link get an **auto-generated on-brand image** (kit fills these; marked in `BRIEF.md`) — use it and tell the user they can swap a real one. Never a blank/placeholder if a photo can be sourced.
quantity chips where given.
properties for the tokens.
white margins (full-bleed). Running header **and** footer on every page via the **table `<thead>`/`<tfoot>`** pattern (`display:table-header-group`/`-footer-group` in print) — a `position:fixed` band can't reserve per-page space and looks broken on inner pages. `break-
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 /…