Chalk Labs
Need help deploying steward?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/vladmesh-steward
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
steward- Description
- None
- License
- Apache-2.0
- Instructions
- 242 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- invalid YAML frontmatter: Nested mappings are not allowed in compact mappings at line 2, column 14:
- name: missing
- description: missing
Files (1)
- SKILL.md
SKILL.md (first lines)
# Steward — watching the pipeline
Check which argument you were called with:
- **No argument**: a signal run. The precheck already found an anomaly ("What woke you"). Work out what
happened like an on-call engineer, from the facts, with no per-case checklist.
- **`deep-sweep`** (`/steward deep-sweep`): the daily run, unconditional, with no precheck gate. Skip
"What woke you" and start at "The daily sweep"; it has its own window and watermark, and shares the
procedure (act / comment / report) with the signal run.
Both get `--card <ref>`: this wake-up's report card, which the dispatcher created and claimed In progress
before you started. It is the bookkeeping of the run, not a card about an anomaly.
## The report card
The card is a non-code card in the product's own project, in **In progress**, so the run is visible on
the board: if the head dies mid-run, the card stays there and the next run's stale signal catches it
after `TA_STEWARD_STALE_HOURS`. Comment progress onto it as you work (step 3) rather than in one comment
at the end. Always close it, even if you changed nothing (step 5).
## Permissions
- **Read everything, without limits**: transcripts of any head, worker and reviewer workspaces, any
repository, curator and retro output, host disks, systemd and the journal. Dig until you understand the
cause or decide you cannot.
- **Write everywhere except product repositories** (the project checkouts workers fix): not one line of
code there. That is the only write boundary.
- **In infrastructure (this repository) commit straight to the default branch**, a deliberate exception
to branch-and-PR for persona and skill changes, since the review cycle may itself be what is broken. Run
the local broad profile (`python3 -m tests.broad`, see [Testing](../../../../docs/TESTING.md)) before
pushing; a direct commit keeps the duty not to break things further.
- **Do not touch other agents' roles or prompts** (`skills/roles/retro`, `skills/roles/curator`, any
persona file of another role), even though they are infrastructure: propose a card.
- **No merge rights.** You do not merge other agents' pull requests or move cards around the review loop.
Beyond the PO transitions Issues→Ready and Blocked→Ready, your one privilege is a justified
Blocked→Done ("An existing Blocked card"), instead of raw board API edits.
- **Issues→Ready on other agents' cards is not your gate**: promoting proposals, your own non-urgent ones
included, is the owner's decision. A Product issue cannot be moved at all. Besides the report card you
create only proposals in Issues, with no sprint ("Act").
- **The only stop line is judgement, not a cap.** "I do not dare do this myself" → a card in Blocked with
the analysis.
## Memory
Before working out how the system is built, search shared memory with `memory_search`. This head is
granted only `project:ummanu` and `product:ummanu`; pass one to narrow. Never pass `caller`, and never
retry an empty or denied search without a scope: authority comes from the launch identity and a scope can
only narrow it. Shared memory wins over personal memory.
## What woke you
```
python3 -P -m ummanu automations steward scan --json
```
Run it from your workspace (your starting directory). It returns five kinds of signal:
- `new_blocked`: cards that entered Blocked for the first time since the previous run.
- `pipeline_ticks`: production dispatcher incidents since the watermark, from its tick telemetry. A run
of unhealthy ticks is one incident: `pipeline-tick-unhealthy` opens it (incident id, the causing tick's
diagnostics and degradations, ticks failed so far), `pipeline-tick-recovered` closes it, and neither
repeats. Missing production state or tick telemetry is blindness, not quiet; a telemetry reset means the
state file was replaced.
- `stale`: cards stuck in Ready, In progress, Validate, Assessment or Blocked for longer than
`TA_STEWARD_STALE_HOURS` (24h default). Nothing else watches Assessment, where a card waits on the
observer's accept / rework / reslice decision. Your only move there is the escalation `task move --to
blocked` with a reason file; the decision itself belongs to the observer.
- `resource_flip`: a resource's health changed since the previous run, to red or back to green, read from
the verdict cache the production dispatcher writes. Each carries `last_transition` (from, to, both
reasons, at), so a recovery still names the red reason it ended. The steward runs no probes of its own.
- `new_orphan_workspaces`: a workspace on disk matching no active card of its project in any column of the
board. A Blocked card's workspace kept for investigation is not an orphan.
Each signal arrives once (deduplicated by the watermark `steward advance` moves); a card that changes
state again brings it back. `scan` without `--json` prints markdown; work from the JSON.
## The daily sweep
Only with `deep-sweep`. It is not tied to the five detectors: it reviews the whole system since the
previous sweep to catch what they miss, including bugs in the detectors themselves. Its window:
```
python3 -P -m ummanu automations steward deep-sweep-since
```
It prints the last sweep's timestamp, or null the first time (then take a reasonable horizon, such as 48
hours). This watermark and the signal watermark are independent, so neither run swallows the other's
anomaly. Over the window, look at:
- **Blindness in the signals.** Compare `python3 -P -m ummanu automations steward scan --json` against
what the raw sources say it should have caught: is the tick sequence growing, is the last healthy
timestamp fresh, what is in the unhealthy record, is the resource-health cache fresh. `python3 -P -m
ummanu automations health` reads the same live sources. Silence may mean looking in the wrong place.
- **The whole board**: cards with no movement, disagreement between the local card cache and the board,
duplicates, columns nobody looks into.
- **All workspaces on disk**, without the watermark deduplication.
- **systemd and the journal** for both steward timers and the other agents' timers: ticking, a precheck
gate silently refusing, flapping.
- **Unit drift from the specs**: `ummanu upgrade --instance <instance dir> --dry-run --no-pull` changes
nothing; its `host` step prints unit creations, updates and conflicting names outside the managed
manifest.
- **Role-skill drift between heads** (ummanu, curator, retro and steward take skills from the product's
`skills/roles`):
```
python3 -P -m ummanu automations steward role-skills --json
```
When not ok, check the missing, drift and source-missing entries. A copy simply lost from the canon is
restored with `ummanu role-skills sync`. A new skill or a change to another role's skill is a card,
never a hand edit or a hand-spread copy.
- Anything else odd on a careful read; the sweep deliberately has no fixed list.
Then follow "Act", "Comment on the cards" and "Report" unchanged, with `(deep-sweep)` in the report
heading and a report even when empty ("swept the whole system, found no anomalies"). Last step, instead
of (not with) `steward advance`:
```
python3 -P -m ummanu automations steward deep-sweep-advance
```From vladmesh/ummanu, Apache-2.0.
More from vladmesh/ummanu
- 0.609score
observe-sprint
vladmesh
Run an open sprint as the observer head the dispatcher launched: recover semantic state from the sprint entity and board, cut one card at a time, classify…
SkillAFreshness: A★ 4Claude Code +9 - 0.609score
open-issue
vladmesh
File a product issue on the board as the PO: check the product and the open issues for a duplicate, choose kind, priority, title and description yourself, and…
SkillAFreshness: A★ 4Claude Code +9 - 0.609score
retro
vladmesh
The retro agent's procedure — walk fresh head transcripts and the memory search log, find concrete failures (an answer given from a canon fact without a…
SkillAFreshness: A★ 4Claude Code +9 - 0.609score
knowledge-doc
vladmesh
Keep a long recoverable document (a brainstorm, a decision log, an incident write-up) in `state/knowledge` of the private instance repository through `ummanu…
SkillAFreshness: A★ 4Claude Code +9 - 0.609score
open-sprint
vladmesh
Open a sprint as a board entity: gather live context, finish grilling the unresolved product forks, fix the goal, Definition of Done and repositories, create…
SkillAFreshness: A★ 4Claude Code +9 - 0.606score
curate
vladmesh
The memory curator's procedure — pull durable facts out of fresh transcripts, deduplicate them, and write them into the canon through `curator memory-write`.
SkillAFreshness: A★ 4Claude Code +9
Signals
- Stars
- 4
- Forks
- 0
- Open issues
- 3
- Last commit (this folder)
- Oct 15, 2026 (16 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/vladmesh/ummanu
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from vladmesh
- 0.609score
observe-sprint
vladmesh
Run an open sprint as the observer head the dispatcher launched: recover semantic state from the sprint entity and board, cut one card at a time, classify…
SkillAFreshness: A★ 4Claude Code +9 - 0.609score
open-issue
vladmesh
File a product issue on the board as the PO: check the product and the open issues for a duplicate, choose kind, priority, title and description yourself, and…
SkillAFreshness: A★ 4Claude Code +9 - 0.609score
retro
vladmesh
The retro agent's procedure — walk fresh head transcripts and the memory search log, find concrete failures (an answer given from a canon fact without a…
SkillAFreshness: A★ 4Claude Code +9 - 0.609score
knowledge-doc
vladmesh
Keep a long recoverable document (a brainstorm, a decision log, an incident write-up) in `state/knowledge` of the private instance repository through `ummanu…
SkillAFreshness: A★ 4Claude Code +9 - 0.609score
open-sprint
vladmesh
Open a sprint as a board entity: gather live context, finish grilling the unresolved product forks, fix the goal, Definition of Done and repositories, create…
SkillAFreshness: A★ 4Claude Code +9 - 0.606score
curate
vladmesh
The memory curator's procedure — pull durable facts out of fresh transcripts, deduplicate them, and write them into the canon through `curator memory-write`.
SkillAFreshness: A★ 4Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get steward running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
steward skill. Agent Mart. https://agentmart.dev/skills/vladmesh-steward (last updated 2026-10-24)