Documentation / guides
Skill Catalog and Runtime Context
Advertise allowed skill metadata to a model without inserting every skill body into every request.
The catalog answers “what can I load?” without paying the context cost of every instruction body. SkillDescriber returns only the validated name and description.
Render the catalog
<available_skills>
- weather-briefing: Turn weather observations into a practical recommendation.
- severe-weather: Escalate hazardous conditions using verified observations.
</available_skills>
Build this list from the same per-agent allow-set used by the loader. Do not advertise names the Loop cannot load. Keep the body behind the Skill tool.
Inject per-turn context
Harness accepts a RuntimeContextProvider for volatile, per-turn blocks:
type RuntimeContextProvider interface {
Blocks(context.Context) []content.Block
}
definition, err := loop.Define(
loop.WithRuntimeContext(skillCatalogProvider),
loop.WithPolicyRevision("skills-catalog-v1"),
)
The provider has no error return, so catalog construction should be bounded and fail soft. Its behavior participates in the Loop policy revision. See Runtime Context for lifecycle and fingerprint rules.