Skip to content
theirish81 edited this page Sep 3, 2026 · 4 revisions

Plans

A plan is a large task that overarches over multiple goals. A plan must contain:

  • Sessions definitions: in short, the configuration of each goal
  • Schema: the structure of the output. This can be omitted for testing purposes, but not having it at all sort of defeats the purpose

And can also contain:

  • System prompt: the AI system prompt
  • Components: Reusable fragments that can be used in the plan
  • Transformers: special tools you can use to transform the input or the output of the integrations (MCP, tools...)
  • Vars: global variables to be used in the plan
  • PreCalls: manually configured function calls that will be triggered before the plan starts. See PreCalls

YAML

The structure is pretty easy:

systemPrompt: ""
components:
  schemas: {}
  prompts: {}
transformers: []
vars: {}
sessions: {}
schema: {} # schema

FML

You can design plans adopting the FML (Frags Modeling Language) extension. It's a more compact, easier to read approach to develop Frags plans and we highly recommend it over YAML.

Go

type SessionManager struct {
    Transformers *Transformers  `json:"transformers" yaml:"transformers"`
    SystemPrompt *string        `yaml:"systemPrompt" json:"system_prompt"`
    Components   Components     `yaml:"components" json:"components"`
    Sessions     Sessions       `yaml:"sessions" json:"sessions"`
    Schema       *Schema        `yaml:"schema" json:"schema"`
    Vars         map[string]any `yaml:"vars" json:"vars"`
}

Clone this wiki locally