HumanLayer Skills: instruction preservation and reviewable control loops
Deploying a HumanLayer control loop: replace placeholders before enabling CI
Separate installing a skill from implementing a loop, review template assumptions and use GitHub’s actual workflow_dispatch prerequisites.
What you will learn
- The skill and the generated system are separate installations
- Validate locally before introducing a schedule
- Use the documented manual-trigger prerequisite
Before you start
- Repository instructions and basic GitHub Actions concepts
- Understanding of review scope and persistent agent context
Design a bounded, inspectable workflow and distinguish template assumptions from tested behavior.
Key takeaways
- Installing a skill does not implement its control-loop components.
- The workflow skeleton contains assumptions and TODOs.
- Manual dispatch depends on the default-branch configuration and access.
The skill and the generated system are separate installations
The README gives a skills-installation command, but obtaining instructions does not create sensor and controller implementations. design-control-loop asks for a written design, locally runnable components, an actuator skill, memory and a recurring workflow. Each component must be tailored to the repository’s actual tooling and permissions.
The inspected workflow skeleton assumes a Bun/Node setup and contains task slugs, branch prefixes, prompt placeholders and TODO sensor/controller commands. It also embeds example agent choices. These are template inputs, not recommendations that those versions or models are current or appropriate for every repository.
Validate locally before introducing a schedule
Make the measurement and selection commands run independently on disposable input. Inspect what the actuator may change, which validation commands must pass and how its final response becomes a PR body. The skeleton’s existence does not prove that referenced scripts, memory paths or output files have been created.
Check the actual default branch instead of retaining the template’s origin/main assumption. Decide token permissions, secret exposure, action versions and dependency installation deliberately. Keep automatic operation disabled until one bounded trial has produced a reviewed result; this article did not deploy the template or store credentials.
Use the documented manual-trigger prerequisite
The skill suggests a first push-triggered run as a dry-run technique and describes prior execution as a prerequisite. GitHub’s official manual-run page instead requires workflow_dispatch configuration in a workflow on the default branch, with write access to run it. Do not repeat “must have run once” as the general rule.
A temporary push trigger can itself create external work and consume credentials, so it should not be added just to bypass uncertainty about dispatch. Follow the supported setup and review a manual run before choosing cadence. Local installation, CI validation, a reviewed PR and recurring enablement remain distinct milestones.
Decision guide
| Criterion | Option A | Option B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
Implementation steps
- 1
Write the agreed design and allowed modification scope.
- 2
Implement and test sensor and controller locally.
- 3
Replace every template path and runtime assumption.
- 4
Validate a bounded manual workflow before scheduling.
Copy-ready example
{
"deploymentPlan": true,
"sensorImplemented": false,
"controllerImplemented": false,
"templatePlaceholdersRemaining": true,
"manualRunReviewed": false,
"scheduleEnabled": false
}Frequently asked questions
Can I copy the template and immediately rely on it?
No. Its placeholders and TODO components must be implemented and validated.
Must a workflow always have run once before manual dispatch?
That is not the general prerequisite stated by GitHub; consult its default-branch and workflow_dispatch requirements.
Sources
- HumanLayer Skills / README.mdSource checked 2026-09-14
- HumanLayer Skills / plugins/design-control-loop/skills/design-control-loop/SKILL.mdSource checked 2026-09-14
- HumanLayer Skills / plugins/design-control-loop/skills/design-control-loop/references/workflow-template.ymlSource checked 2026-09-14
- GitHub — Manually running a workflow (checked 2026-09-14)Source checked 2026-09-14