Define “done” and permissions before tools
Goal: write a clear finish line and a short allow-list before any agent touches files or apps.
Best for: beginners who want to try agents without scary accidents (wrong email sent, files moved).
An agent without a finish line will keep “helping.” An agent without permission limits may do too much. Before you connect tools, write two tiny lists: Done and Allowed.
Done = how you will know the job is finished (checklist). Allowed = what the agent may read or change. Everything else is “ask me first.”
Why beginners skip this
Letting an agent “just start” without Done or an allow-list feels agile until it writes or sends somewhere you never meant. Finish line first; permissions second; irreversible behind a human gate.
Habit this week (Asia/Shanghai): before one live agent run, paste Done checklist + allow-list; refuse the run if either is blank—date the pass/fail.
Step 1 — Write a Done checklist (3–6 lines)
Finish lines beat vague goals like “organize my files.” Name the output, where it lives, and what you will spot-check.
Goal: Turn my vague wish into a Done checklist.
Wish: [paste]
Format:
1) One-sentence goal
2) Done checklist (3–6 boxes)
3) What I will spot-check myself
4) Stop conditions (when the agent must pause)
Boundaries: Beginner-friendly words. No tool use yet—planning only.
Example
Filled prompt
Wish: Clean up my project notes so I can find last week's decisions.
Format: one-sentence goal · Done checklist · spot-check · stop conditions. Planning only.
What good output looks like
- Done boxes are observable (e.g. one summary doc in Notes/Q4)
- Stop conditions include uncertain which file or would delete
- Spot-check is something a human can do in 2 minutes
- Pass/fail dated (Asia/Shanghai) sits next to the artifact
Step 2 — Write an Allowed list (read vs write)
Separate Read (look only) from Write (change something). For beginners: start Read-only for folders; Write only for a sandbox folder you created.
From this Done checklist, propose Allowed permissions.
Done: [paste]
Format:
- Read: ...
- Write: ...
- Ask me first: ...
- Never: ...
Prefer safest defaults for a beginner.
Example
Filled prompt
Live task this week (not a toy): apply this guide's Goal — write a clear finish line and a short allow-list before any agent touches files or apps.
Fill with your real artifact names/files. Constraints: no invented facts; label Unknowns; stop before send/delete/pay.
Return the working prompt + one pass/fail check I can mark in a minute.
What good output looks like
- Write limited to one new file or one folder
- Delete is Never or Ask me first
- Read scope is narrow (one folder), not whole disk
Step 3 — Paste both into the agent’s instructions
In ChatGPT / Claude / your agent UI: put Done + Allowed at the top of instructions or the first message. Say: “Do not expand scope without asking.”
Combine into agent instructions (≤200 words):
Done: [paste]
Allowed: [paste]
Add: Ask before any write outside Allowed. Stop if unsure.
Example
Filled prompt
Job: weekly customer-apology drafts from Zendesk export.
Write Done (4 boxes), allow-list ≤5 tools, never-do (3), human gate before send.
Context: we may draft in Gmail; we must never auto-send or invent refund amounts.
Return a one-page card only—no agent run yet.
What good output looks like
- Instructions fit on one screen
- Explicit stop / ask rules
- No vague be-helpful line that overrides limits
Save this card
Card: Done checklist · allow-list · irreversible behind human gate. Missing either → refuse the run.
1. What I shipped: ___ 2. What I refused: ___ 3. What I will never-do again: ___ (date: Asia/Shanghai)
- [ ] Tools/writes paused
- [ ] Refuse-line dated
- [ ] Artifact path saved
- [ ] Next link chosen (or stop)
Before you start
Write Done (checkboxes) and the human gate on paper before any run for “write a clear finish line and a short.” Allow-list tools; leave send/delete off. Guide: agents-define-done-and-permissions. If you only have a blank practice box, stop and fetch the real job first.
- Goal in one line: ___
- Allowed tools: ___
- Forbidden: ___
- Human approve needed for: ___
How to use this week
This week: before any agent run that can write or send, paste a Done checklist and an allow-list. Refuse the run if either is missing. Log one dated pass/fail for “define Done + permissions”
Close the week by quoting aloud the refuse line you actually used once. If you cannot, rerun Practice now and date the pass/fail (Asia/Shanghai).
Mid-week cost check: if this habit disappeared tomorrow, what breakages would you notice in 24 hours? Write one line (Asia/Shanghai).
Red flag
Blank allow-list or “write anywhere”; Done that only says “looks good”; run starts before both lists are pasted—refuse.
Pitfalls
| Pitfall | Fix |
|---|---|
| “Make it better” with no Done list | Force observable checkboxes |
| Write access to entire Drive/Desktop | Sandbox folder first |
| Permissions buried in chat history | Pin them in instructions |
Example
Filled prompt
Job: write a clear finish line and a short allow-list b
Prior fail: [what missed the check]
Repair: keep the same Done; add one constraint + one concrete example from my notes.
Boundaries: draft only; label Unknowns [?]; no silent send.
Return: fixed output + the one-minute pass/fail I will mark.
What good output looks like
- Names the prior fail without inventing a new job
- Adds one constraint tied to “write a clear finish line and a short allow-list b”
- Still draft-only / Unknowns labeled
- Pass/fail: you mark green on the same checklist (agents-define-done-and-permissions #4)
Practice now
Live card: fill Done (4) · allow ≤5 · never-do (3) · gate for a job on your calendar this week—photo or path on Save (Asia/Shanghai).
Today: pick one recurring job. Write: Done (4 boxes) · allow-list (≤5 tools) · never-do (3 lines) · human gate before leave-the-system. Refuse to start the agent until the card exists.
Today card (copy) — agents-define-done-and-permissions: 1. Artifact I will produce: ___ 2. Pass/fail check: ___ 3. Refuse-line if tempted to skip verify/send: ___ (date: Asia/Shanghai) 4. One never-do from this guide: ___
- [ ] Artifact path written
- [ ] Refuse example would say "yes"
- [ ] Dated Asia/Shanghai
One sentence takeaway
Done checklist and allow-list before tools; irreversible behind a human gate. This week: one dated pass/fail on a live run (Asia/Shanghai).
Next
Plan → act → check · Human-in-the-loop checkpoints · Failure modes and retries · Tools and approvals · Least-privilege checklist
Pair with today: open the first Next link (agents-plan-act-check-loop) only after you dated a refuse-line for this guide (Asia/Shanghai).
先定义「完成」和权限,再给工具
目标: 在智能体碰文件或应用之前,写清终点线和短小白名单。
适合: 想试智能体、又怕发错邮件、挪错文件的初学者。
没有终点线的智能体会一直「帮忙」。没有权限边界的智能体可能做过头。接工具前,先写两张小清单:完成标准(Done)和允许事项(Allowed)。
完成标准 = 怎样算做完(可勾选)。允许事项 = 它可以读什么、改什么。其余一律「先问我」。
为什么新手跳过
不写 Done、不写允许列表就让 agent「先跑起来」,看起来敏捷,直到它写进或发到你没打算的地方。先写完成线,再写权限;不可逆动作必须人审。
本周习惯(Asia/Shanghai):真实开跑前贴上 Done 清单与允许列表;缺一项就拒绝开跑,并把过/不过写上日期。
步骤 1——写完成清单(3–6 条)
「整理文件」太空洞。写清产出是什么、放在哪、你抽查什么。
目标:把模糊愿望变成完成清单。
愿望:[粘贴]
格式:一句话目标 · 完成清单(3–6 格)· 抽查 · 停止条件
边界:白话。只做计划。
实例
填好的提示词
岗位:根据 Zendesk 导出写每周客户道歉草稿。
写 Done(4 格)、允许列表≤5 工具、永不做(3)、发送前的人审关。
背景:可在 Gmail 起草;不要自动发送,也别编退款金额。
先别跑 agent,只交一页卡。
像样的输出大概长这样
- 完成项可观察
- 停止条件含不确定文件或涉及删除
- 抽查两分钟内能做完
- 贴合这个填例——不是空泛打气
- 相关则拒绝编造事实或静默发送
步骤 2——写允许清单(读 vs 写)
把「只读」和「可写」分开。初学者建议:文件夹先只读;写入只放到你新建的沙箱文件夹。
根据完成清单给出允许权限。
完成标准:[粘贴]
格式:可读 / 可写 / 先问我 / 绝不。安全默认。
实例
填好的提示词
场景:真实工作(打开活材料)。
岗位:把会议笔记变成决定清单。
Done 四格须可勾选。允许:读笔记文件、写草稿。禁止:发邮件、改日历。
人审关:转发前我点头。返回卡片。
约束:不编造事实;发送/删除前停下;未知处标「未知」。
像样的输出大概长这样
- 写入限于一个新文件或文件夹
- 删除属绝不或先问我
- 可读范围窄
- 贴合这个填例——不是空泛打气
- 相关则拒绝编造事实或静默发送
步骤 3——把两份清单贴进智能体说明
把完成标准与允许事项放在说明顶部。写明:「未经询问不要扩大范围。」
合并成智能体说明(≤200 字)。超出允许的写入先问。不确定就停。
实例
填好的提示词
为一件会离开系统的工作写 Done+权限卡。
一定要有:Done 四格、允许列表≤5 个工具、永不做 3 行、离开系统前的人审关。
没有这张卡片就禁止启动 agent。只返回一页卡。
像样的输出大概长这样
- 说明一屏能看完
- 停止/询问规则明确
- 没有冲掉边界的空话
- 贴合这个填例——不是空泛打气
- 相关则拒绝编造事实或静默发送
保存这张卡
卡片:Done 清单 · 允许列表 · 不可逆须人审。缺任一项 → 拒绝开跑。
开始前
打开你真正会用的账号/项目。准备好与「先定义「完成」和权限,再给工具」相关的真实材料(不要空白练习框)。
默认姿态:在人确认发送/写入之前只出草稿。授予新工具前,先写一条带日期的拒做句(Asia/Shanghai)。
- 一句话目标:___
- 允许的工具:___
- 禁止:___
- 需要人批准:___
本周怎么用
本周先写 3–6 条完成清单,再写允许清单(只读 vs 可写)。两份贴进说明后再跑;缺一就拒绝开跑。过/不过注明日期(Asia/Shanghai)。
周中代价检查:若明天丢掉这个习惯,24 小时内会坏在哪?写一行(Asia/Shanghai)。
红旗
允许清单空白或写着「全盘可写」。Done 只有「看起来对」——重写到可检查。卡上写不清就不继续——先补检查项再跑。
常见坑
| 坑 | 改法 |
|---|---|
| 「弄好一点」却没有完成清单 | 强迫写成可勾选条目 |
| 整个网盘/桌面都可写 | 先建沙箱文件夹 |
| 权限埋在聊天记录里 | 钉在说明里 |
实例
填好的提示词
任务:write a clear finish line and a short allow-list b
上次失败:[哪条检查未过]
修复:保持同一 Done;加一条约束 + 一条你笔记里的具体例子。
边界:仅草稿;未知标 [?];禁止悄悄发送。
返回:修好的输出 + 我将打勾的一分钟过/不过。
像样的输出大概长这样
- 点名上次失败,不另起炉灶
- 约束贴着「先定义「完成」和权限,再给工具」
- 仍是草稿 / 未知已标注
- 过/不过:同一张检查表能打绿(agents-define-done-and-permissions #4)
现在就练一次
实卡:为本周日历上的任务填完成(4)·允许≤5·绝不做(3)·闸——路径或照片进 Save(Asia/Shanghai)。
今天为一次真实任务写 Done + 允许清单并贴进说明。过/不过与永不做注明日期(Asia/Shanghai)。
今日卡片(可复制)— agents-define-done-and-permissions: 1. 我要产出的成品:___ 2. 通过/失败标准:___ 3. 若想跳过核验/发送的拒做句:___(日期:Asia/Shanghai) 4. 本篇一条永不做:___
- [ ] 成品路径已写
- [ ] 拒做例句会说「可以」
- [ ] 已标注 Asia/Shanghai 日期
一句话带走
先写 Done 与允许列表;不可逆须人审。本周对一次真实开跑留下带日期的过/不过。
下一步
计划 → 行动 → 检查 · 人在回路检查点 · 失败模式与重试 · 工具与审批 · 最小权限清单
今日搭配:先为本篇写上拒做句日期(Asia/Shanghai),再打开下一步里的第一篇(agents-plan-act-check-loop)。
← Back to home · Learn · Tools · Compare · Start