Documentation › Contributor guides
Use /steward slash commands
Steward responds to slash commands posted as PR or issue comments. They're the contributor-side ergonomics for asking Steward to do something on demand rather than waiting for an automatic trigger. This guide covers the full set, with the contributor-relevant ones in depth and the maintainer-side ones referenced for completeness.
How slash commands work
Drop a command as a comment on a PR or issue:
/steward <command> [arguments]
Rules:
- Commands fire on comment creation only. Editing a comment with the command text doesn't re-trigger.
- A command must be on the first line of your comment.
- The space between
/stewardand the verb is required. - Comment can contain other text below the command line — Steward parses only the first slash-prefixed line.
- Unknown commands get a polite "unknown command" reply with the full list.
Steward records every command invocation as an audit event (see Audit log + compliance) so the slash-command trail is reviewable later.
Commands every contributor uses
/steward check-reputation
Posts your reputation across every domain of the current repo, decayed to now:
Reputation vector for @alice (decayed to now)
| Domain | Decayed reputation |
| :----- | -----------------: |
| api | 12.40 |
| docs | 6.10 |
| ui | 0.80 |
- No arguments. Operates on the comment author's identity.
- Anyone can run it. A drive-by contributor with zero reputation gets an all-zero table; an established contributor sees their accumulated scores.
- Cross-repo accumulation applies — see Reputation as a contributor. The numbers reflect your activity across every Steward repo with the same domain names, not just this one.
When to use it: before opening a PR if you want to see whether
your reputation in the touched domain is above the
approval_threshold. Sometimes the answer is "no, you'll
need a reviewer" — better to know before you open the PR.
/steward sandbox-me
Asks Steward to assign you a sandbox-labeled open issue:
@alice — assigned `sandbox` issue #142 to you. Closing it
as merged increases your reputation in that domain.
- No arguments. Picks one issue from the repo's configured sandbox labels.
- If no sandbox issues are open, you'll get a polite "check back when the maintainers seed the backlog" reply.
- Works regardless of your current reputation. Even contributors with established reputation can use it (though see "when this isn't right" in Sandbox issues).
When to use it: you want to build reputation in a domain you don't yet have authority in, and the repo has a curated sandbox-issue backlog.
/steward evaluate
Re-runs the per-PR evaluation on the current PR:
- Only works on PR comments, not issue comments. On an issue, you'll get "this command only works on PRs."
- Posts a verdict comment like the auto-trigger does (Read the verdict on your PR).
- The PR must have at least one file mapping to a
governance domain. If your changes are entirely outside
the governance.pxf domains'
path_globs, you'll get "Steward cannot evaluate this PR: no governance domain matches any changed path."
When to use it:
- The original automatic evaluation arrived as
failedand the upstream cause is resolved. - The repo is on the Community tier where automatic per-PR
evaluation is opt-in —
/steward evaluateworks on every tier. - You've made significant changes since the last verdict and want a fresh score without pushing a no-op commit.
Commands for high-reputation contributors
/steward slash <pr-number> <issue-number>
Applies a retroactive slashing penalty to a merged PR linked to a critical bug:
/steward slash 142 187
This says "PR #142 (which is merged) caused issue #187 (the critical bug). Reduce the original PR author's reputation in the touched domain."
Eligibility rules:
- The repo's
governance.pxfmust haveslashing.enabled = true. If it doesn't, you'll get "slashing is disabled in governance.pxf." - PR #142 must be already merged. Slashing an open PR doesn't make sense.
- Your reputation in PR #142's domain must be at or above
the
approval_thresholdfor that domain. Only contributors who could have approved the PR can slash it. - A PR/issue pair can only be slashed once — repeated invocations confirm "PR #N has already been slashed for issue #M; the penalty stands."
The penalty amount grows with days_undetected (longer
between merge and slash = larger penalty, capped at
base_points × max_multiplier).
On success:
Slashing applied. PR #142 (auth domain) was undetected for
47.3 days; 6-point penalty applied to the original author's
reputation in auth.
Slashing is a load-bearing trust signal — use it when a merged PR genuinely caused a critical bug, not as a punitive hammer in unrelated disputes. Audit trails the action with your handle + reputation for accountability.
Other commands
These exist but are less contributor-relevant. Brief mentions for completeness:
| Command | Use case | Restriction |
|---|---|---|
/steward release [tag] [prev-tag] |
Drafts release notes via GitHub's API. Posts as a comment. | Anyone can run; no governance side effects. |
/steward analyze-alternatives |
Surfaces highest-Jaccard import-pair similarities on the PR's Go files (the behavioral-signature analyzer). Audit-only — never blocks merges. | PR comment only. |
/steward constitution |
Bootstraps the initial governance.pxf for a fresh repo with placeholder thresholds. |
Repo owner / installer only. |
For the full mechanical detail on any of these, the source
of truth is internal/judge/app/slash.go.
Common gotchas
- Typing
/steward Evaluate(capital E) — verbs are case-sensitive. Use lowercase. - Putting the command on the second line. Steward only parses the first slash-prefixed line. If you precede the command with anything else, the command isn't seen.
- Editing a comment to add the command later. Doesn't trigger. Post a fresh comment instead.
- Running
/steward evaluateon an issue, not a PR. You'll get a polite error. - Spelling the command as
/steward sandbox(no-me). Unknown command. The verb issandbox-me. - Including the
/stewardliterally inside backticks or code blocks. The webhook parses raw comment body text, so backticks around/steward sandbox-mestill trigger the command if it's on the first line. Use<code>HTML tags or quote the comment if you really want to mention a command without invoking it.
Quoting a command in your text
If you want to mention a slash command in a comment without invoking it (e.g., explaining to another contributor), make sure it's NOT on the first line:
Hey @bob — try one of these:
/steward sandbox-me
/steward check-reputation
Steward parses the first line ("Hey @bob"), sees no slash-prefix, and does nothing. The subsequent lines are text, not commands.
Or wrap in a code fence:
```
/steward sandbox-me
```
The triple-backtick block isn't parsed as a command line.
What's next
- Contributing to a Steward repo — the broader contributor concept.
- Reputation as a contributor —
the reputation system
check-reputationqueries. - Sandbox issues — the
sandbox-issue system
sandbox-meinteracts with. - Read the verdict on your PR —
the per-PR evaluation
evaluatere-runs.
Steward