Deep dive into WORKFLOW.md anatomy, YAML frontmatter, and Liquid templating
The WORKFLOW.md file is Symphony’s core configuration artifact. It combines YAML frontmatter for runtime settings with a Liquid-templated Markdown body that becomes the agent’s instruction prompt.
If the Markdown body is empty or only whitespace, Symphony uses this default (from lib/symphony_elixir/config.ex:12-24):
You are working on a Linear issue.Identifier: {{ issue.identifier }}Title: {{ issue.title }}Body:{% if issue.description %}{{ issue.description }}{% else %}No description provided.{% endif %}
{% if attempt %}## Continuation (Attempt #{{ attempt }})This workspace has prior state. Resume from current progress.Do not restart from scratch.{% else %}## Initial RunFresh workspace. Begin with investigation.{% endif %}
{% if issue.state == "Rework" %}Reviewer requested changes. Address all feedback before re-submitting.{% elsif issue.state == "Merging" %}Run the land skill. Do not call gh pr merge directly.{% endif %}
{% if issue.blocked_by %}## BlockersThis issue is blocked by:{% for blocker in issue.blocked_by %}- {{ blocker.identifier }}: {{ blocker.state }}{% endfor %}Do not proceed until blockers are resolved.{% endif %}
{% if issue.labels contains "bug" %}This is a bug fix. Start by reproducing the issue.{% elsif issue.labels contains "feature" %}This is a new feature. Begin with design validation.{% endif %}