Template Constructor
End-to-end skill for building, validating, and deploying Machina agent-templates and connectors.
References
Procedural guides for each lifecycle stage:
Reference Description
init.md Scaffold new template project from scratch
create.md Generate individual YAML components
validate.md Check YAML files against correct patterns
install.md Import templates via MCP (local or Git)
analyze.md Analyze template structure and dependencies
trace.md Trace agent execution chain with variable propagation
secrets.md Configure vault secrets for connectors
api.md MCP operations for all entities (CRUD, execute, search)
Schemas
Authoritative field definitions for every Machina entity:
Schema Entity
agent.md Agent definition
connector.md Connector (PyScript + REST API)
document.md Document task type
mapping.md Data transformation mapping
prompt.md Prompt definition + JSON Schema
setup.md _install.yml
- _index.yml
skill.md SDK skill registration
workflow.md Workflow + task types
Intent Routing
When the user triggers this skill, load the appropriate reference:
User Says Reference
"init template", "scaffold template", "new template project" init.md
"create agent", "create workflow", "scaffold YAML" create.md
"validate", "check YAML", "verify template" validate.md
"install", "import", "deploy template" install.md
"analyze", "what's in this template", "overview" analyze.md
"trace", "execution chain", "variable flow", "debug agent" trace.md
"secrets", "credentials", "configure API key" secrets.md
"API", "MCP operations", "search agents", "execute workflow" api.md
For YAML field specifics, read the relevant schema from schemas/ .
Workflow
Name: template-constructor-check-setup
Validates that the doc-structure document exists and returns its content.
Input Default Description
document_name
doc-structure
Document to check
Output Description
doc-structure
Document content
check-status
Workflow execution status
Key Constraints
-
Connector .py files: No helper functions outside command functions. Each function must be self-contained.
-
Expression syntax: Always use $.get('field') — never ${field} or $field
-
Prompt files: Use prompts: array (not prompt: ) with instruction: (not messages: )
-
Connector YAML: Use filetype: (not type: ) and filename: (not script: )
-
Install order: connectors → documents → prompts → mappings → workflows → agents → skills