Individual skill
workload
Manages the whole life of a declared run on a machine: declare, provision, reconcile, adopt, and retire it. Declarations live in workflow/workloads/<id>.yaml; state reads from the live service manager (launchd, systemd, cron), never a status field. Trigger: "workload", "declare a run", "is the job still there", "reconcile the machine", "retire the job".
skills/workload/SKILL.md
Source commit 2554bda8eeb2d55671e922c31484905fc8c67af9
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 5, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 13
- Repository last updated
- Nov 7, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- agent-memory Repository topic
- agent-orchestration Repository topic
- agentic-ai Repository topic
- ai-agents Repository topic
- claude-code Repository topic
- codex Repository topic
- coding-agent Repository topic
- context-engineering Repository topic
- copilot-cli Repository topic
- developer-tools Repository topic
- operations Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
.gitignoreasset · 34 bytesSKILL.mdcore · 8,528 bytesSKILL.mdcore · 8,528 bytesengine/__init__.pyruns · 0 bytesengine/backends/__init__.pyruns · 2,169 bytesengine/backends/base.pyruns · 24,044 bytesengine/backends/cron.pyruns · 11,917 bytesengine/backends/dispatcher.pyruns · 7,464 bytesengine/backends/inert.pyruns · 3,382 bytesengine/backends/launchd.pyruns · 22,692 bytesengine/backends/systemd.pyruns · 17,542 bytesengine/backends/wrapper.pyruns · 21,144 bytesengine/cli.pyruns · 50,580 bytesengine/config.pyruns · 5,445 bytesengine/errors.pyruns · 7,839 bytesengine/exec.pyruns · 14,074 bytesengine/hosts.pyruns · 4,569 bytesengine/inventory.pyruns · 19,703 bytesengine/lock.pyruns · 2,412 bytesengine/model.pyruns · 101,246 bytesengine/notify.pyruns · 37,197 bytesengine/probe.pyruns · 13,273 bytesengine/provision.pyruns · 36,605 bytesengine/publish.pyruns · 27,020 bytesengine/recipients.pyruns · 5,916 bytesengine/reconcile.pyruns · 84,877 bytesengine/render.pyruns · 5,791 bytesengine/report.pyruns · 12,177 bytesengine/source.pyruns · 8,328 bytesengine/stamp.pyruns · 9,178 bytesengine/view.pyruns · 178,259 bytesreferences/backends.mddoc · 10,425 bytesreferences/commands.mddoc · 33,087 bytesreferences/declare.mddoc · 18,194 bytesreferences/provision.mddoc · 12,353 bytesreferences/reconcile.mddoc · 9,161 bytesrun-tests.shruns · 212 bytesscripts/tests/mutate.pyruns · 4,786 bytesscripts/tests/run.shruns · 2,283 bytesscripts/tests/tally.awkasset · 3,196 bytestests/__init__.pyruns · 0 bytestests/conftest.pyruns · 39,090 bytestests/fixtures/README.mddoc · 3,860 bytestests/fixtures/checks/sample.yamlasset · 539 bytestests/fixtures/checks/storage.yamlasset · 328 bytestests/fixtures/corpus/calendar-export.yamlasset · 573 bytestests/fixtures/corpus/chat-channel.yamlasset · 205 bytestests/fixtures/corpus/contract-review-reminder.yamlasset · 501 bytestests/fixtures/corpus/daily-health-report.yamlasset · 874 bytestests/fixtures/corpus/public-funnel.yamlasset · 304 bytestests/fixtures/corpus/voice-channel.yamlasset · 439 bytestests/fixtures/corpus/voicememo-notify.yamlasset · 452 bytestests/fixtures/derived/adopted-prefix-daemon.yamlasset · 567 bytestests/fixtures/derived/ambiguous-check-report.yamlasset · 418 bytestests/fixtures/derived/block-style-report.yamlasset · 1,085 bytestests/fixtures/derived/checked-report.yamlasset · 465 bytestests/fixtures/derived/cron-cadence.yamlasset · 410 bytestests/fixtures/derived/cron-daemon-refused.yamlasset · 205 bytestests/fixtures/derived/early-daily-report.yamlasset · 1,133 bytestests/fixtures/derived/elevated-daemon.yamlasset · 327 bytestests/fixtures/derived/exotic-recurrence-watched.yamlasset · 1,028 bytestests/fixtures/derived/exotic-recurrence.yamlasset · 456 bytestests/fixtures/derived/foreign-timezone-report.yamlasset · 431 bytestests/fixtures/derived/linux-timer-report.yamlasset · 553 bytestests/fixtures/derived/long-running-poller.yamlasset · 880 bytestests/fixtures/derived/midnight-report.yamlasset · 443 bytestests/fixtures/derived/only-missing-asked.yamlasset · 907 bytestests/fixtures/derived/prefix-collision-a.yamlasset · 536 bytestests/fixtures/derived/prefix-collision-b.yamlasset · 315 bytestests/fixtures/derived/process-isolation-report.yamlasset · 445 bytestests/fixtures/derived/silent-by-choice.yamlasset · 1,144 bytestests/fixtures/derived/twice-daily-report.yamlasset · 1,199 bytestests/fixtures/derived/umlaut-report.yamlasset · 385 bytestests/fixtures/derived/watched-daemon.yamlasset · 762 bytestests/fixtures/golden/.gitkeepasset · 0 bytestests/fixtures/golden/cron-cadence.crontabasset · 342 bytestests/fixtures/golden/launchd-user-recurring.guard.shruns · 5,942 bytestests/fixtures/golden/launchd-user-recurring.plistasset · 1,656 bytestests/fixtures/golden/systemd-recurring.serviceasset · 464 bytestests/fixtures/hosts/host-a.yamlasset · 1,587 bytestests/fixtures/hosts/host-b.yamlasset · 370 bytestests/fixtures/hosts/host-c.yamlasset · 207 bytestests/fixtures/hosts/host-windows.yamlasset · 244 bytestests/fixtures/invalid/negative-broken-yaml.yamlasset · 221 bytestests/fixtures/invalid/negative-interval-with-clock-time.yamlasset · 369 bytestests/fixtures/invalid/negative-no-deadline-process.yamlasset · 1,082 bytestests/fixtures/invalid/negative-no-deadline.yamlasset · 366 bytestests/fixtures/invalid/negative-plaintext-address.yamlasset · 434 bytestests/fixtures/invalid/negative-retired-without-reason.yamlasset · 263 bytestests/fixtures/invalid/negative-unknown-runtime.yamlasset · 220 bytestests/fixtures/invalid/negative-unknown-top-level-key.yamlasset · 251 bytestests/fixtures/invalid/negative-wrong-schema-version.yamlasset · 213 bytestests/fixtures/invalid/wrong-filename.yamlasset · 225 bytestests/fixtures/outputs/crontab-existing.txtdoc · 421 bytestests/fixtures/outputs/launchctl-list.txtdoc · 127 bytestests/fixtures/outputs/launchctl-print-disabled.txtdoc · 91 bytestests/fixtures/outputs/launchctl-print-foreign-marker.txtdoc · 305 bytestests/fixtures/outputs/launchctl-print-no-marker.txtdoc · 183 bytestests/fixtures/outputs/launchctl-print-notfound.txtdoc · 70 bytestests/fixtures/outputs/launchctl-print-running.txtdoc · 524 bytestests/fixtures/outputs/launchctl-print-stopped.txtdoc · 355 bytestests/fixtures/outputs/probe-context.txtdoc · 32 bytestests/fixtures/outputs/stamp-calendar-export.jsonasset · 550 bytestests/fixtures/outputs/systemctl-list-timers.txtdoc · 207 bytestests/fixtures/outputs/systemctl-show-running.txtdoc · 348 bytestests/mutations.pyruns · 217,373 bytestests/test_acceptance.pyruns · 63,591 bytestests/test_backends.pyruns · 82,730 bytestests/test_cli.pyruns · 79,845 bytestests/test_exec.pyruns · 26,584 bytestests/test_launcher.pyruns · 4,403 bytestests/test_model.pyruns · 82,789 bytestests/test_notify.pyruns · 49,114 bytestests/test_provision.pyruns · 83,422 bytestests/test_publish.pyruns · 35,279 bytestests/test_recipients.pyruns · 7,043 bytestests/test_reconcile.pyruns · 176,540 bytestests/test_render.pyruns · 22,094 bytestests/test_report.pyruns · 7,518 bytestests/test_runner.pyruns · 15,330 bytestests/test_view.pyruns · 177,130 bytesworkload.shruns · 3,166 bytes
Read excerpt
# Workload
One declared run, on one machine, with an owner. The declaration in
`workflow/workloads/<id>.yaml` is the source of truth; the unit file on the
machine is an artifact and may be rebuilt from the declaration at any time.
The engine is `skills/workload/engine/` behind the shim `skills/workload/workload.sh`.
The data is the declaration plus `_schema.yaml` and `_template.yaml` next to it.
Nothing instance specific lives in the code: hosts come from `infra/remotes/`,
paths and prefixes from the `workloads:` block of `bridge-config.yaml`.
## Guard
`workloads.enabled` must not be `false` in `bridge-config.yaml`. A missing block