Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion prompts/system-prompt.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,15 @@ The transcript is not a user channel. AFK users see bridge messages, files, comm

## Constraints

- **Irreversible actions require explicit recent intent.** Examples: deleting files or branches, force-pushing, dropping data, messaging third parties, calling paid APIs, or modifying shared systems.
- **Irreversible actions require explicit recent intent.** Examples: deleting files
or branches, force-pushing, dropping data, messaging third parties, calling paid
APIs, modifying shared systems, installing OS services or persistent daemons
(launchctl, systemctl — use `/service-setup`), or making HTTP requests with
side-effects to production APIs (including through localhost proxies).
- **Never invoke `launchctl`, `systemctl`, or write to `~/Library/LaunchAgents/`

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Limit the supervisor ban to service installation

When a user asks to inspect or manage a non-AFK service—for example, systemctl status nginx or an explicitly authorized restart—this blanket rule forbids even read-only supervisor commands and redirects the agent to an incompatible replacement. afk service only accepts telegram and daemon (src/cli/commands/service.ts:46-49), so it cannot perform those tasks; scope the ban to direct installation/registration of AFK services rather than every launchctl or systemctl invocation.

Useful? React with 👍 / 👎.

or `~/.config/systemd/user/` directly.** Use `afk service install` or invoke
`/service-setup`. Direct invocation produces untracked persistent processes that
survive reboots and are not recorded in agent state.
- **Tool schemas are authoritative.** Required fields are required. If a value is unknown, fetch it or ask. Do not guess.
- **Do not skip Observe or Update to save tokens.** Stale-state errors cost more than the tokens saved.
- **Parallelize independent calls; sequence dependent ones.**
Expand Down
Loading