Assembly LineDocs

Migrating to Assembly Line 6

Move a TypeScript-authored Assembly Line agent to the Markdown-first, plugin-first 6.0 contract.

Edit

Assembly Line 6 makes the Markdown-first framework the only supported agent authoring model. It does not load the pre-6 TypeScript authoring surface or translate old agent folders at runtime. Convert the source before upgrading the framework packages.

What changed

  • agent.md is the only agent entry point. Its frontmatter declares identity, models, channels, infrastructure, plugins, automations, and subagents; its Markdown body is the permanent instruction set.
  • Executable tools, hooks, connections, channel implementations, and providers belong to Agent Plugins v1. Root executable folders are invalid.
  • Published plugins must be installed, selected by stable plugin ID, and pinned in plugins.lock. Checked-in plugins live under plugins/<name>/ and activate by presence.
  • config.production.ts contains committed non-secret production values. Credentials remain in provider stores, operator secrets, or explicit run-scoped credential leases.
  • Compiled skills and plugin assets are immutable release inputs. Runtime changes use durable learned skills or versioned workspace files instead of mutating compiled sources.
  • Child-agent handoffs and user delivery are separate operations. A child uses handoff_artifact; only the root agent can use deliver_artifact.
  • Runtime drivers stay owned by their provider packages. Install the selected provider instead of relying on the generic Node host to carry its driver.

Convert an agent

  1. Create agent.md. Move stable prompt text into its Markdown body and express identity, model, channels, infrastructure, automations, and subagents in the typed frontmatter described by the Declarative Reference.

  2. Move every custom executable capability into a local or published Agent Plugin. A local plugin needs plugins/<name>/plugin.json and, when it provides Assembly Line runtime behavior, an ai.assemblyline extension entry.

  3. Move reusable procedures and reference material into skills/<name>/SKILL.md. Skills contain instructions and resources, not arbitrary executable framework hooks.

  4. Select published plugins in agent.md, then run assembly-line add or the relevant authoring command to install them and refresh plugins.lock.

  5. Move non-secret deploy configuration to config.production.ts. Remove credentials from committed configuration and declare the provider-owned credential requirements instead.

  6. Delete obsolete root sources after their behavior has an explicit new owner: agent.ts, gateway.ts, tools/, hooks/, connections/, and channels/. There is no compatibility loader for these paths.

  7. Validate and inspect the resolved result before running it:

    assembly-line validate ./agent
    assembly-line inspect ./agent --resolved
    assembly-line build ./agent

Validation is intentionally strict. Unknown frontmatter, an unpinned published plugin, undeclared authority, invalid plugin configuration, or a legacy root executable path stops compilation instead of being ignored.

Minimal 6.0 source

---
model: openrouter/openai/gpt-5.4-mini
---

You are a concise assistant.

Add declarations only when the agent needs to differ from documented defaults. See MD-First Agents for the complete authoring model and Authoring Plugins for executable extensions.

On this page