Powers
Last updated 10 September 2026
Powers are the named, typed things Ghillie can do. Each one is versioned, switchable, and only ever runs under a lease scoped to one task.
What a Power is
A Power is a named capability with a typed input, rather than an invisible shared shell. Reading your calendar is a Power. Sending mail is a Power. Searching for a used car within a budget is a Power. Because each one is named, Ghillie can grant a task exactly the Powers it needs and nothing else.
Powers group into families with sub-powers. A family switch controls every active sub-power at once; individual switches live in the family's Sub-powers tab. A disabled Power stays visible in the catalogue but cannot receive a new lease or run an already-approved call.
What ships in the box
Ghillie registers named read tools for:
- Shared memory recall
- Task and project reads
- Gmail and Microsoft mail
- Microsoft calendar
- Contacts search and inspection
- OneDrive
- The WhatsApp mirror
- Proactive proposals, their context and logs
- Overnight autopilot status
- Health of the helper processes and syncs it depends on
Effectful Powers, such as the used-car search that spends against an API budget, sit behind exact-query approval and strict filters.
Leases
Nothing runs a tool directly. When a task needs a Power, Ghillie issues it a short-lived capability lease. The lease names the allowed tools, the workspace scope, an expiry, a call budget and the approval policy that applies. Every call is checked against the lease and recorded in the hash-linked audit trail. A model cannot ask for a wider lease than the task was granted.
Teaching Ghillie a new Power
You can draft new Powers in conversation from the Powers screen. Describe what you want handled; Ghillie grounds the draft against the tools it already has, checks the source, test input and permissions, and hands back an unsaved draft for you to read.
- Draft and refine in plain English. Each revision is checkpointed.
- Test in isolation. Read-only tests run immediately. Anything consequential shows its exact effect plan and waits for approval first.
- Promote. Only a revision whose current test passed can become an active, immutable Power version.
Every bundled tool can also be installed as an editable, versioned Power of your own, without duplicating anything a custom Power already covers:
pnpm --filter @ghillie/core install:bundled-powers -- --dry-run
pnpm --filter @ghillie/core install:bundled-powersChaining Powers
For a bigger job, Ghillie can select one exact Power or a small dependency graph of two to six steps. Each step records the Power version and arguments it used. A later step can reference a completed earlier step's structured result; Ghillie requires the dependency to be declared, resolves only completed output, and audits the source, the path taken through it and a hash of the value. Safe steps run in order under scoped leases; write, external and destructive steps pause for approval with their resolved arguments visible.
Health
The Powers screen shows the latest real execution for every tool. Turning a Power on does not count as a successful check; a changed Power needs a fresh run, and evidence older than 24 hours needs a retest. Approval previews and declined approvals never count as passes. A Gmail token that has expired shows a reconnect action.