AgentConfig.Instruction accepts an agents.SystemPromptProvider. For a static instruction, use hastekit.NewPrompt("...").
A prompt created without resolvers is used exactly as written. Templates, skill descriptions, handoff guidance, sub-agent descriptions, and connector status are not appended automatically.
Enable the standard resolvers
Importgithub.com/hastekit/agent-sdk-go/pkg/agents/prompts and configure:
Input.RunContext, for example map[string]any{"name": "Sam"}. The template resolver operates on the run context. Treat instructions and their template structure as application configuration; do not splice untrusted text into a system instruction as executable template syntax.
The standard chain runs in this order:
ResolveSkills: advertise the configured skills and how to read them.ResolveHandoffs: describe available handoffs.ResolveDeferredTools: explain tools available through discovery.ResolveConnectors: report MCP connector availability.ResolveSubAgents: describe the available delegation targets.ResolveTemplate: substitute run-context values in the assembled prompt.
prompts.WithResolver appends to the chain. You can select individual resolvers or add one after the defaults. Omitting a resolver is appropriate only when your prompt already supplies the corresponding guidance.
Load a prompt from your own source
Implement the loader interface and pass it toNewPromptWithLoader:
func(string, *agents.Dependencies) (string, error) and process the loaded string in order.
For a complete replacement, implement agents.SystemPromptProvider.GetPrompt(ctx, deps). The SDK does not automatically apply SimplePrompt resolvers to your custom provider.