
client-revisions
This skill should be used when the user asks to "stop scope creep", "limit revision rounds", "write SOW revision language", "the client keeps asking for changes", "how do I say this is out of scope", "translate vague feedback", "client said make it pop", or "write a change-order email". It provides revision-cap contract language, a consolidated-feedback request, a vague-feedback translator, and a polite out-of-scope email.
- Installs
- 603
- Last 24h
- +14
- Trending rank
- #7271
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/iart-ai/freelance-motion-skills --skill client-revisions- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads client-revisions automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Client Revisions
Control revision rounds and scope creep on motion projects: define what a revision is, cap rounds in the SOW, collect feedback the right way, translate vague notes into actionable changes, and decline out-of-scope work politely as a change order.
When to use
Use when feedback is mounting, when a client keeps adding "small tweaks," when the SOW needs revision language, when a vague note ("make it pop") needs decoding before touching the file, or when a request has clearly crossed into new work and needs a change-order reply.
Decision tree — classify every note before touching the file
The whole skill is one judgment applied per note: is this a revision, a new request, or just vague? Run each note through this before opening the project.
A note arrives.
├─ Is it vague ("make it pop", "feels off")?
│ └─ YES → translate to a decidable choice + ask for a timestamp.
│ Do NOT act yet. Re-classify once it's concrete.
└─ Is it concrete?
├─ Does it change something ALREADY approved in brief/board?
│ (timing, palette colour, approved-copy edit, a fix)
│ └─ YES → REVISION. Counts against the round cap. Do it.
└─ Is it anything NOT in the approved brief/board?
(new scene, +runtime, new concept, new ratio, new asset,
reversing an approved decision, "let's also try…")
└─ YES → NEW REQUEST. Send the change-order email. Quote it.
Do NOT silently absorb it.
Is feedback scattered across people/messages?
└─ YES → STOP. Send the consolidated-feedback request first; one
document, all stakeholders, conflicts resolved by the client.
Decision rule: when unsure whether a note is a revision or new request, ask "was this decided and approved already?" If yes → revision. If it adds, replaces, or reverses → new request.
The core distinction: revision vs new request
This single line prevents most disputes — put it in the SOW and the feedback request:
- A revision = a change to something that was already in the approved brief/board (adjusting timing, colour from the palette, swapping an approved word, fixing a glitch).
- A new request = anything not in the approved brief/board (a new scene, added second of runtime, a different concept, a new aspect ratio, a logo not previously supplied, "let's also try…").
Revisions are included up to the cap. New requests are change orders, quoted and scheduled separately. State this before round 1, not after the dispute.
SOW revision-cap language
Drop this into the contract/quote:
REVISIONS
This project includes [2] rounds of revisions. A "round" is one
consolidated set of feedback, collected from all stakeholders and
delivered in a single document, then addressed in full.
Included (a revision): changes to elements already approved in the
brief and storyboard — timing, pacing, colours from the agreed
palette, approved copy edits, and fixes.
Not included (a new request / change order): new scenes, added
runtime, new concepts or directions, additional formats or aspect
ratios, new assets not previously supplied, or feedback that
reverses a previously approved decision.
New requests are quoted as a change order before work proceeds and
may affect the timeline. Additional revision rounds beyond those
included are billed at [day rate]. Feedback split across multiple
messages may be treated as separate rounds.
Workflow when feedback arrives
- Stop. Do not open the project file yet.
- Consolidate. If feedback is scattered or per-person, send the consolidated-feedback request (below). One document, all stakeholders, deduped and de-conflicted.
- Classify each note as revision or new request using the distinction above.
- Translate vague notes into targeted questions before executing (see translator).
- For new requests, send the change-order email — do not silently absorb them.
- Log the round. Record which round this is so the cap is visible to both sides.
Consolidated-feedback request template
Subject: Feedback on [project] — Round [N]
Hi [name],
Ready for your notes on V[n]. To turn these around fast and cleanly,
could you send everything in one go:
• Gather feedback from everyone who needs to weigh in and merge it
into a single list (if two notes conflict, tell me which wins).
• Use timestamps where you can — "at 0:08 the logo feels slow."
• Tell me the problem, not the fix — "the intro drags" is more useful
than "make it faster," because it lets me solve it properly.
• Flag any must-have vs nice-to-have.
Send it all together and I'll address the full set in this round.
Notes that arrive after, or in separate messages, may roll into the
next round. Thanks!
Vague-feedback translator
Never act on a vague note. Convert it to targeted questions first:
| Client says | Ask back |
|---|---|
| "Make it pop" | "More saturated colour, faster pacing, bigger scale moves, or stronger sound? Point to a second that already pops." |
| "It feels off" | "Off in pacing, colour, type, or message? Which 2 seconds feel most wrong?" |
| "Make it more premium" | "Slower easing, more space, restrained palette, or refined type — which one?" |
| "Can it be more dynamic?" | "More camera movement, faster cuts, or more elements in motion?" |
| "I don't love it" | "What specifically — and what would 'loving it' look like? A reference helps." |
| "Make it bigger / stronger" | "Larger scale, bolder type, higher contrast, or more screen time?" |
| "Something's missing" | "A scene, a message, a brand element, or energy? Where in the timeline?" |
| "Can we punch it up?" | "Pacing, colour, or sound? Show me a moment that already has the energy you want." |
Rule: turn every feeling into a choice between concrete, decidable options, and ask for a timestamp.
Out-of-scope / change-order email template
Subject: [project] — quick note on the new request
Hi [name],
Happy to help with [the new request] — flagging that it sits outside
the approved brief/storyboard, so it's a change rather than a revision
under our current scope.
Here's what it takes:
• Work: [what's involved]
• Cost: [amount / day estimate]
• Timeline impact: [+X days / new delivery date]
If you'd like to go ahead, reply "approved" and I'll add it and update
the schedule. If you'd rather keep to the original scope and budget,
no problem — we'll proceed as planned and can revisit this later.
Either way works for me; just let me know which you prefer.
Tone notes: collaborative, never accusatory. Offer the choice (proceed or park), give a number, and state the timeline impact. The goal is to make the trade-off visible, not to say "no."
Worked examples
GOOD — vague note decoded, then executed cleanly:
Client: "The intro feels off." → You: "Off in pacing, colour, or message — and which 2 seconds feel worst?" → Client: "The first 3 seconds drag before the logo." → You re-time the entrance (a revision, within scope), log it as Round 1. One question turned a feeling into a precise, in-scope fix.
ANTI-PATTERN — silently absorbing scope:
Client: "Love it! Can we also do a square version and add a quick outro scene?" → You quietly build both, eat 2 extra days, and the project runs late and unprofitable.
Why it fails: a new aspect ratio and a new scene are both new requests, not revisions — but absorbing them without a change order trains the client that scope is free, sets a precedent, and erases your margin. The fix: reply with the change-order email, give a number and a timeline impact, and let the client choose. Saying "happy to — here's what it takes" is not saying no.
Common mistakes
| Symptom | Why it happens | Fix |
|---|---|---|
| Endless rounds, never "final" | No cap defined, or cap not cited | State the cap in the SOW before round 1; cite it at round N+1 |
| Conflicting notes, redo loops | Acted on per-person feedback | Require one consolidated doc; client resolves conflicts |
| Margin gone on "tiny tweaks" | New requests absorbed as revisions | Classify every note; new work → change order with a price |
| Acted on "make it pop," still wrong | Executed a vague note literally | Translate to a decidable choice + timestamp before touching the file |
| Reworking an approved scene | Approval gate not locked | Lock each stage in writing; reopening a locked stage = new request |
| Feedback dribbles in for days | No single submission deadline | One round = one document; later notes roll to the next round |
| Client feels nickel-and-dimed | Change orders framed as "no" | Frame as a visible trade-off (proceed or park), never as refusal |
Deliverable spec — what good revision handling produces
The outputs are emails and contract language, not files. Good handling means:
- The SOW defines a "round," caps rounds, and distinguishes revision vs new request before work starts.
- Each feedback round is one consolidated document, logged by round number.
- Vague notes are converted to decidable questions with timestamps before execution.
- New requests get a change-order email with work, cost, and timeline impact — never silent absorption.
- Tone stays collaborative: every email offers a choice and states the trade-off.
Before you finish — checklist
- SOW states the round count, the "round" definition, and revision-vs-new-request.
- Feedback is consolidated (one doc, all stakeholders, conflicts resolved).
- Every note classified: revision / new request / vague-needs-translation.
- Vague notes translated to bounded choices + a requested timestamp.
- New requests sent as change orders with cost + timeline impact.
- The current round number is logged and visible to both sides.
- Approval gates locked in writing; reopening flagged as new work.
- Every client email offers a choice and avoids accusatory tone.
Quick reference
| Situation | Move |
|---|---|
| Feedback dribbling in per-person | Send consolidated-feedback request; restart the round |
| "Make it pop" | Translate to concrete options + ask for a timestamp |
| Client requests a 4th round | Cite SOW cap; quote extra round at day rate |
| "Just one tiny new scene" | Change-order email; it's new work |
| Reversing an approved decision | New request, not a revision |
| New aspect ratio added late | Change order — separate format = separate deliverable |
| Two stakeholders conflict | Require client to pick the winning note before work |
Reference files
references/sow-clauses.md— full SOW revision section, approval-gate language, and "round" definition variants.references/email-templates.md— consolidated-feedback, change-order, extra-round, and stalled-approval email templates.references/feedback-translator.md— expanded vague-to-targeted feedback lookup and the "problem not fix" coaching note for clients.
FAQ
What does the client-revisions skill do?
This skill should be used when the user asks to "stop scope creep", "limit revision rounds", "write SOW revision language", "the client keeps asking for changes", "how do I say this is out of scope", "translate vague feedback", "client said make it pop", or "write a change-order email". It provides revision-cap contract language, a consolidated-feedback request, a vague-feedback translator, and a polite out-of-scope email.
How do I install client-revisions?
Run npx skills add https://github.com/iart-ai/freelance-motion-skills --skill client-revisions in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/client-revisions/ (personal) or .claude/skills/client-revisions/ (project).
Which AI agents can use client-revisions?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is client-revisions safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains client-revisions?
It is published by iart-ai in iart-ai/freelance-motion-skills. It has 603 recorded installs.
More from iart-ai/freelance-motion-skills
video-delivery-specs
iart-ai/freelance-motion-skills
This skill should be used when the user asks "what are the specs for Instagram Reels / TikTok / YouTube / broadcast", "export settings for social", "what aspect ratio and bitrate", "how do I repurpose 16:9 to 9:16", "safe area / title-safe for vertical", "pre-delivery checklist", or "collect files for handover". It outputs per-platform spec sheets, a cutdown matrix, captioning/accessibility notes, and a QC + collect-files checklist.
brand-motion-guidelines
iart-ai/freelance-motion-skills
This skill should be used when the user asks to "write motion guidelines", "create a brand motion system", "define easing and timing tokens", "document our animation principles", "build a motion language like Slack/IBM/Klarna", "set up entrance/exit/transition rules", or "add a reduced-motion / accessibility section". It outputs a fill-in-ready brand motion guidelines document.
creative-brief
iart-ai/freelance-motion-skills
This skill should be used when the user asks to "write a creative brief", "build a motion brief", "the client doesn't know what they want", "turn this vague client request into a brief", "what questions should I ask the client", or "make a brief I can get sign-off on". It turns a fuzzy client ask into a structured, sign-off-ready motion design brief and the exact clarifying questions to send back.
motion-pricing
iart-ai/freelance-motion-skills
This skill should be used when the user asks to "quote a motion project", "estimate this animation job", "how much should I charge for this video", "what's my day rate", "build a quote", "price a 30-second explainer", or "is this estimate fair". It explains motion-design pricing models, the day-rate math, the cost drivers, and outputs a line-itemed quote with a worked example.
Popular productivity & automation skills
agent-browser
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.
lark-doc
open.feishu.cn
飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由;/page/ 是妙搭应用,非飞书云文档。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。
lark-base
open.feishu.cn
飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。
lark-drive
open.feishu.cn
飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。
lark-shared
open.feishu.cn
Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling notice JSON.
lark-im
open.feishu.cn
飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。