hotel-agent. The saved manifest
is your reusable source; each new agent gets its own copy to validate against.
On this page:
- Quickstart: save a contract and use it
- Create the contract: choose rules and save
- Build an agent: the picker and guided setup
- Check the agent: validate and compile
- Advanced: external editors, storage and command help
- Troubleshooting: common symptoms and fixes
- Where to go next
Quickstart
Run these complete commands from the directory that will hold your agent:Terminal
A manifest approves choices; it does not create models, tools or prompts.
Complete the agent setup before validating or running it.
1. Create the contract
Inacme-corp, set the company name and revision under Identity.
Then open the sections your company needs to restrict.
Omitted rules add no restriction, so you do not need to fill every section.
For Models, choose a role, then Add provider. Selecting a service offers
Allow all models or Add model ID. The second opens the input directly;
repeat it for more models. Each role supports several providers.
Keep
slng as the provider for models served through SLNG. Its model IDs can
name different makers. Direct deepgram or cartesia connections are separate
provider entries. Approval still depends on the target supporting that binding.
Move through the editor
Arrow keys edit text in a form; they do not move between its controls.
After adding a value, Add stays selected: press Enter to add another.
Completed edits stay in the draft when you leave a list or section.
New provider and region entries join it once their required fields are complete.
Switching sections asks before discarding incomplete input.
Only Review and save → Save manifest writes the file.
The review names changes, validation errors and the destination.
Existing saved names are never overwritten by
create.
2. Build an agent from it
One flag attaches a contract to a new package:Terminal
unmute init hotel-agent writes the
ordinary starter package and reads no saved manifest.
The picker needs a terminal, so a coding assistant cannot create a governed
package. Create it yourself, install the Unmute skill,
then give the assistant the use case and ask it to complete those files. It
reads the copied rules, implements the agent, then validates and compiles it.
Creation copies the exact contract into hotel-agent/manifest.yaml and links it
from agent.yaml. Commit both files. Validation then works on another computer
or in CI without the saved library.
3. Check the agent
After completinghotel-agent, run the validation and compilation commands
from the quickstart. Both read hotel-agent/manifest.yaml, not the saved library.
Fix the agent when it violates a company rule; do not weaken the contract.
A successful compile does not test a conversation. Use the browser loop
for LiveKit or Pipecat. SLNG has no unmute dev; follow its
deployment workflow. Twilio has no unmute dev
either: its first real test is a phone call.
Advanced
Update the saved contract
Reopen the same contract when your company rules change:Terminal
Editing
acme-corp does not change hotel-agent/manifest.yaml or any existing
package. See updating a package contract
before replacing its copy.Choose the default for future agents
Terminal
--from-manifest picker lists this default first, and the unmute console
uses it for a new agent. The first saved manifest becomes the default
automatically; later creations offer to change it. Plain unmute init <name>
reads no saved manifest, so the default never changes what it writes.
manifest use requires a valid saved manifest and changes no existing package.
Save a written file
--file stores a manifest you already wrote, with no prompts and no terminal:
Terminal
Edit YAML in an external editor
Use this alternative when you prefer YAML or need to repair an invalid saved file:Terminal
--editor uses VISUAL, falling back to EDITOR. The editor must wait until
you close the file. This edits the complete contract, not a fragment to merge.
The same flag also works with manifest create acme-corp --editor for a new name.
Temporary drafts are validated before saving. A failed editor or invalid draft
leaves the saved file untouched and reports the draft path.
Successful replacements use the same backup protection as the terminal editor.
Storage and terminal support
Saved files live under the user config directory atunmute/manifests/<name>/manifest.yaml; unmute/default-manifest holds the default name.
Names use letters, digits, hyphens and underscores. Omitting a name from
manifest create prompts for one.
The editor needs at least 60 columns and 18 rows. Smaller terminals retain the
draft and ask you to resize. TERM=dumb uses numbered prompts with :sections
and :help instead of F2 and F1.
The editor does not offer Allow nothing for models. Existing empty model
rules must be repaired before saving. YAML and --editor still support them;
see the manifest reference for all rule meanings.
Command help
Terminal — unmute manifest --help
Terminal — unmute manifest create --help
Terminal — unmute manifest edit --help
Terminal — unmute manifest use --help
Troubleshooting
Where to go next
Build an agent
Create hotel-agent from the contract you saved.
Use a coding assistant
Let the skill complete the use case within your company rules.