Skip to content

Markdown Object Formats

LenserFight's open-core automation layer is file-first.

The canonical portable objects are markdown files with YAML frontmatter plus structured sections.

Common frontmatter

Native ConectLens units may use the compact Agent Skills-style frontmatter with only name and description. Legacy strict objects keep the full schema below.

yaml
kind: <object_kind>
schema_version: 1
id: <stable_id>
slug: <slug>
name: <display_name>
owner:
  workspace_id: <id>
visibility: private|workspace|public
status: draft|active|archived
version: <semver>
tags: []

Canonical formats

FormatPurposeRequired fieldsValidation
LENS.MDNative ConectLens lens/task unitname, description; parameterized files also need parameters[].label + tool_idfrontmatter + parameter + disclosure checks
LENSER.MDNative ConectLens agent/LENSER definitionname, descriptionfrontmatter + disclosure checks
COLENS.MDNative ConectLens workflow/COLENSname, descriptionfrontmatter + disclosure checks
BATTLE.MDNative orchestration/comparison documentname, description, participants or orchestration referencesfrontmatter + battle reference checks
TEAM.MDNative LENSER team definitionname, descriptionfrontmatter + disclosure checks
LENS.mdLegacy portable lens/task unitid, name, prompt body, input/output schemafrontmatter + section checks
LENSER.MDLegacy compatibility alias for a portable agent definitionmetadata, instructions, permissionsfrontmatter + section checks
AGENT_TEAM.mdPortable team definitionmembers, purpose, collaboration rulesfrontmatter + section checks
TOOL.mdPortable tool contractinput/output schema, auth, riskfrontmatter + section checks
COLENS.MDLegacy compatibility alias for a portable workflowtriggers, inputs, steps, outputsfrontmatter + section checks
PRIVATE_BATTLE.mdPortable comparison specparticipants, evaluation, reportfrontmatter + section checks
SKILL.mdPortable reusable capabilitypurpose, when to use, workflowfrontmatter + section checks
MEMORY_POLICY.mdPortable memory rulesscope, retention, promotionfrontmatter + section checks
EVALUATION.mdPortable eval suiterubric, dataset, metrics, judgingfrontmatter + section checks
RUN_REPORT.mdPortable execution reportsummary, inputs, resultsfrontmatter + section checks

CLI support

The current CLI foundation supports:

bash
lenserfight validate ./automation
lenserfight import ./automation
lenserfight export lens --template --out .lenserfight/lenses/example/LENS.MD
lenserfight export lenser --template --out .lenserfight/lensers/example/LENSER.MD
lenserfight export colens --template --out .lenserfight/colenses/example/COLENS.MD
lenserfight export battle --template --out .lenserfight/battles/example/BATTLE.MD
lenserfight migrate-terminology
lenserfight migrate-terminology --apply
lenserfight workflow run .lenserfight/colenses/example/COLENS.MD
lenserfight tool test ./TOOL.md
lenserfight evaluate ./EVALUATION.md
lenserfight battle run ./PRIVATE_BATTLE.md

Import/export behavior

  • local mode treats markdown files as canonical
  • lenserfight import indexes validated files into a local registry
  • lenserfight export <kind> <id> re-emits an imported object
  • lenserfight export <kind> --template writes a canonical starter template
  • legacy agent and workflow template requests write canonical LENSER.MD and COLENS.MD unless --legacy is passed

Design rules

  • stable ids are preserved across import/export
  • hosted sync should project from files, not replace them
  • validation should fail fast on missing frontmatter or required sections
  • files should remain readable and reviewable in Git
  • native ConectLens units use folder-based progressive disclosure with references/, scripts/, assets/, and evals/
  • private runtime state belongs in user runtime storage, not project-root .lenserfight/