You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Every shipped plugin — what it mounts, what it contributes, and every setting it declares.
group
Reference
order
2
Plugin reference
Everything on this page is read out of the plugins themselves: each one is
registered against a registry that only takes notes, and its declared config
schema is read from the built package. Nothing here is a list somebody
maintains.
Every shipped plugin
Plugin
What it is
Mounts
Contributes
@amykit/plugin-agent-relay
One agent made of several: swaps harness on a quota, escalates model on a failure.
agent
@amykit/plugin-claude
The claude CLI as the agent, with git on the side.
agent:claude harness:claude
@amykit/plugin-codex
The codex CLI as the agent, over its JSONL event stream.
agent:codex harness:codex
@amykit/plugin-command
Any command line tool, reached by a name the config allows.
commands
@amykit/plugin-command-gate
A gate that runs the target repository's own commands.
gate
@amykit/plugin-file-notes
Friction as a directory of notes: written by hand, by a hook, or by a tick that failed.
notes
@amykit/plugin-file-queue
A queue kept as one file per item, claimed by rename.
queue
@amykit/plugin-file-store
Work records kept as one file per item.
store
@amykit/plugin-file-tasks
Tasks as a directory of files: written by amy btw, by an editor, or by a hook.
tasks
@amykit/plugin-github
GitHub as the code host, through the gh CLI.
code-host
@amykit/plugin-hermes-agent
Hermes as the agent, over its one-shot mode and usage report.
agent:hermes harness:hermes
@amykit/plugin-linear
Linear as the tracker, over its GraphQL API.
tracker
notify-channel:tracker
@amykit/plugin-notify-fanout
Sends one announcement down every configured channel, and keeps going when one is down.
notifier
@amykit/plugin-notify-hermes
Announcements over Hermes, which already owns the messaging credentials.
notify-channel:hermes
@amykit/plugin-notify-inbox
Announcements as a file on disk plus a desktop notification.
notify-channel:inbox
@amykit/plugin-plan-check
The quality bar for a drafted plan: the repository's own check, run in its checkout.
plan-check
@amykit/plugin-serial-engine
Advances one work item by one move per tick.
the engine
Settings, plugin by plugin
Every field below is validated at boot. A key that is not one a plugin declared
is a refusal naming the plugin and the key — see
Plugins and the registry.
@amykit/plugin-agent-relay
One agent made of several: swaps harness on a quota, escalates model on a failure.
what the agents may spend, per window: perFiveHours and perWeek, each with tokens and/or costUsd, plus stopAt, the fraction of a ceiling at which new work stops being started
ladder
string[]
no
[]
the contributed agents to try, in order, such as [claude:sonnet, claude:opus, codex:gpt-5]. Empty means every contributed agent, in the order the plugins were mounted
ladderByStep
record
no
{}
a ladder for one step, overriding the one above, keyed by the workflow's action name: {"triage": ["claude:haiku"], "implement": ["claude:opus"]}. Reading a ticket and writing the change are not the same job, and one list for both means paying the expensive model to do the cheap step
skillRoots
string[]
no
[]
where installed skills are looked for. Empty means ~/.claude/skills, which is where the harness looks
skills
record
no
{}
which skills answer for a step, in the order they are tried, keyed by the workflow's action name: {"triage": ["/logion"]}. A skill named here must be installed, or the mount is refused
@amykit/plugin-claude
The claude CLI as the agent, with git on the side.
the commands a workflow may run, by name. The name is what a workflow asks for; the value is the command line it stands for, and this is the only place one is written
cwd
string
no
""
where a command runs when it does not say, defaulting to the state directory
timeoutMs
number
no
300000
how long one command may run before it is given up on
@amykit/plugin-command-gate
A gate that runs the target repository's own commands.
the repository used for a team that is not in repoByTeam
endpoint
string
no
https://api.linear.app/graphql
the GraphQL endpoint to talk to. Linear's own by default, and the one thing that has to move for a stand-in tracker to take its place in an end-to-end run
repoByTeam
record
no
{}
which repository a team's tickets land in, by team key
workingStatusName
string
yes
the exact status name a ticket must be in to be picked up
@amykit/plugin-notify-fanout
Sends one announcement down every configured channel, and keeps going when one is down.
Source
plugins/notify-fanout
Mounts
notifier
Contributes
nothing
Needs in the environment
nothing
Depends on
@amykit/core
This plugin declares no settings, so the config must not give it any.
@amykit/plugin-notify-hermes
Announcements over Hermes, which already owns the messaging credentials.