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
| Format | Purpose | Required fields | Validation |
|---|---|---|---|
LENS.MD | Native ConectLens lens/task unit | name, description; parameterized files also need parameters[].label + tool_id | frontmatter + parameter + disclosure checks |
LENSER.MD | Native ConectLens agent/LENSER definition | name, description | frontmatter + disclosure checks |
COLENS.MD | Native ConectLens workflow/COLENS | name, description | frontmatter + disclosure checks |
BATTLE.MD | Native orchestration/comparison document | name, description, participants or orchestration references | frontmatter + battle reference checks |
TEAM.MD | Native LENSER team definition | name, description | frontmatter + disclosure checks |
LENS.md | Legacy portable lens/task unit | id, name, prompt body, input/output schema | frontmatter + section checks |
LENSER.MD | Legacy compatibility alias for a portable agent definition | metadata, instructions, permissions | frontmatter + section checks |
AGENT_TEAM.md | Portable team definition | members, purpose, collaboration rules | frontmatter + section checks |
TOOL.md | Portable tool contract | input/output schema, auth, risk | frontmatter + section checks |
COLENS.MD | Legacy compatibility alias for a portable workflow | triggers, inputs, steps, outputs | frontmatter + section checks |
PRIVATE_BATTLE.md | Portable comparison spec | participants, evaluation, report | frontmatter + section checks |
SKILL.md | Portable reusable capability | purpose, when to use, workflow | frontmatter + section checks |
MEMORY_POLICY.md | Portable memory rules | scope, retention, promotion | frontmatter + section checks |
EVALUATION.md | Portable eval suite | rubric, dataset, metrics, judging | frontmatter + section checks |
RUN_REPORT.md | Portable execution report | summary, inputs, results | frontmatter + 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.mdImport/export behavior
- local mode treats markdown files as canonical
lenserfight importindexes validated files into a local registrylenserfight export <kind> <id>re-emits an imported objectlenserfight export <kind> --templatewrites a canonical starter template- legacy
agentandworkflowtemplate requests write canonicalLENSER.MDandCOLENS.MDunless--legacyis 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/, andevals/ - private runtime state belongs in user runtime storage, not project-root
.lenserfight/