_global:decisions-answer
Record a human answer to an open platform decision (OS-001, OS-002…) in _global's decisions.md — approve, reject, or note a conditional reply that arrived by Google Chat.
Manifest
_global/tasks.yaml- Address
_global:decisions-answer— alsoglobal:decisions-answer- Runner
- claude-code
- Policy
- autonomous writes only inside its own workspace, no outward action
- Workspace
- countries/_global/
- Schedule
- on demand only
- Model
- sonnet
- Budget
- 20 turns · 10 minutes
- Triggerable
- yes — free text can reach it
- Notifies
- every run — 🟢 on success, 🔴 on failure
- Description (manifest)
- Record a human answer to an open platform decision (OS-001, OS-002…) in _global's decisions.md — approve, reject, or note a conditional reply that arrived by Google Chat.
Cost per run
oldest left · ceiling $15.00| When | What it reported | Turns | Took | Cost | |
|---|---|---|---|---|---|
| 01/09/2026 15:47 | Recorded OS-003 as resolved in `decisions.md` — the orphaned-workflow-rows migration is confirmed deployed and Sentry shows the fix worked, no further action authorized o… | 14 | 1m | $0.62 | ok |
| 01/09/2026 15:35 | Recorded OS-001 as resolved: approved migration to `durable-workflow/workflow`, moved under Resolved with the answer quoted verbatim. Nothing here can do the migration it… | 13 | 1m | $0.62 | ok |
| 28/08/2026 18:35 | No action taken: this run's trigger (fired via CLI by `concurrency-test`) carried no actual reply text, and `decisions.md` already has zero open entries — both OS-001 and… | 10 | 59s | $0.46 | ok |
| 28/08/2026 15:38 | Recorded OS-002 as resolved: the reply declines any infra pool change and redirects to checking whether caching can cut the SQL query volume hitting the replica. Next up,… | 15 | 1m | $0.72 | ok |
| 28/08/2026 14:32 | Recorded: **OS-001 resolved**, approving migration from the abandoned `laravel-workflow` to `durable-workflow/workflow` (moved to the new `## Resolved` section in `decisi… | 12 | 1m | $0.55 | ok |
The skill it runs
countries/_global/skills/decisions-answer/SKILL.md · 54 linesRead the skill
Record a decision answer — _global
Someone answered a question Country OS asked. Your whole job is to write down what they said, accurately, and stop.
This workspace is not a country: its register holds platform-wide questions and defects in the shared application repos, so an answer here can affect every site at once. That raises the cost of paraphrasing, not the amount of interpreting you are allowed to do.
The trigger text is a human reply, in whatever words they used — OS-001 yes,
no, not this quarter, OS-002 raised the pool to 200, watching it. Read it, do
not parse it. It arrives free-form on purpose: the people answering are not all
developers, and the cost of a rigid syntax is that they stop answering at all.
Steps
- Read
decisions.md. Identify which entry the reply concerns.- An explicit id (
OS-001) settles it. Ids are<CC>-nnn, andOS-is this register's prefix — aTN-/DE-id is a country's entry, not yours. Say which workspace it belongs to and change nothing. - Otherwise match on subject. If exactly one open entry plausibly fits, use it. If two could, do not guess — reply asking which one, and change nothing.
- An explicit id (
- Decide what the answer actually was:
- Clear yes →
resolved - Clear no →
rejected - A yes with conditions, or a "later" → keep
open, and record the condition verbatim. A conditional yes is not an approval, and recording it as one is the worst failure available to you.
- Clear yes →
- Edit the entry:
- Set
Status, and add aResolveddate when it is resolved or rejected. - Append a
**Answer (YYYY-MM-DD, <who>)** :line quoting what they said, in their words. Paraphrase loses the conditions. - Move resolved and rejected entries under
## Resolved, keeping the id.
- Set
- Never invent a resolution, and never close an entry nobody answered. If the trigger text is not an answer to anything in the register, say so and stop.
- If the answer authorises work, say which task becomes runnable — but do not run
it. Someone approving a plan has not approved this run of it.
- Check that a task actually exists for it before implying one does. Several
answers here authorise work no
_globaltask may perform: hard rule 1 limits this workspace to minimal maintenance, and hard rule 4 forbids touching dependency manifests at all — so "yes, migrate off the abandoned package" is a job for a human team, and saying so plainly is the useful answer. An authorisation nobody can act on is worth recording and worth being honest about.
- Check that a task actually exists for it before implying one does. Several
answers here authorise work no
Your final message goes back to the person as a Chat reply. Two lines: what you recorded, and what happens next — including "nothing here can do this" when that is the truth. They wrote one sentence; do not send back six.