ConectLens Agent Skills Ruleset
ConectLens adapts Agent Skills conventions into LenserFight terminology without replacing the existing automation layer.
Current State
- File-first automation already exists through markdown objects and
lf validate. - Native ConectLens primary files are now discovered by filename:
SKILL.md,SKILL.md,SKILL.md,SKILL.md, andTEAM.MD. - Compatibility files remain valid:
SKILL.MD,AGENT.MD,AGENT_TEAM.md,WORKFLOW.MD, andPRIVATE_BATTLE.md. - Parameter placeholders use
[[name]]; stored database templates may use[[:uuid]]. - Lens parameter declarations mirror
lenses.version_parameters: each declaration needslabelandtool_id. - Local battle runtime state is private runtime data and is written outside the project by default.
Terminology
| Agent Skills term | ConectLens term | Native file |
|---|---|---|
| Skill | LENS | SKILL.md |
| Agent | LENSER | SKILL.md |
| Workflow | COLENS | SKILL.md |
| Orchestration / comparison | BATTLE | SKILL.md |
| Skill team | Team | TEAM.MD |
| references | references | references/ |
| scripts | scripts | scripts/ |
| assets | assets | assets/ |
| evals | evals | evals/ |
SKILL.MD can be used as a compatibility wrapper, but SKILL.md is the native source of truth.
Package Layout
Use folder-based units:
.lenserfight/
lenses/example-lens/SKILL.md
lensers/example-lenser/SKILL.md
colenses/example-colens/SKILL.md
battles/example-battle/SKILL.md
teams/example-team/TEAM.MDOptional supporting material belongs next to the primary file:
references/ long reference material
scripts/ non-interactive reusable scripts
assets/ templates and static files
evals/ fixtures, rubrics, and behavior checksFrontmatter references to these files must be relative to the package root and stay inside the expected folder. For example, a script reference must point to scripts/....
LENS Rules
A basic SKILL.md can stay simple:
---
name: repo-architect
description: Use when repository structure must be discovered before planning changes.
---
# Mission
Inspect the codebase before proposing abstractions.Parameterized lenses must declare every [[parameter_name]] placeholder:
parameters:
- label: parameter_name
tool_id: 11111111-1111-4111-8111-111111111111tool_id is a UUID because it mirrors lenses.version_parameters.tool_id, which references lenses.tools(id).
BATTLE Rules
SKILL.md is an orchestration document, not a generic skill file. It may reference LENS, COLENS, LENSER, teams, models, humans, evals, scoring, comparison settings, and runtime execution details.
A valid battle should declare participants or orchestration references:
participants:
- type: lens
ref: ../lenses/a/SKILL.md
- type: lenser
ref: ../lensers/reviewer/SKILL.mdStorage Rules
Commit project-safe packages under .lenserfight/, such as reusable SKILL.md files and their public references/, scripts/, assets/, and evals/.
Keep private runtime data outside the project:
- local battle state
- tokens and auth state
- provider keys and BYOK material
- execution traces containing private prompts or outputs
- private logs
The CLI writes new local battle state to user runtime storage. Existing .lenserfight/local-battles/*.json files are read for compatibility and migrated on access when possible.
Migration Notes
- Move reusable local prompt packages into folder units with native primary files.
- Rename
agents/tolensers/,workflows/tocolenses/,AGENT.MDtoSKILL.md, andWORKFLOW.MDtoSKILL.md. - Compatibility aliases remain readable, but canonical files win mixed-state conflicts and new files must use
lensers/,colenses/,SKILL.md, andSKILL.md. - Use
lf migrate-terminologyfor a dry-run plan orlf migrate-terminology --applyto rename safely. The bash helperscripts/migrate-lenserfight-terminology.shsupports the same migration for project, nested, and user-global.lenserfightdirectories. - Keep legacy
SKILL.MD,SKILL.md,SKILL.md, andPRIVATE_BATTLE.mdfiles only while consumers are migrating. - Do not add secrets to markdown frontmatter, YAML templates, scripts, or examples.
- Add
parametersonly when the body uses[[...]]placeholders. - Move project-root local battle JSON files out of Git history and into user runtime storage.
Validation
Use the CLI validator:
lf validate .lenserfightValidation checks primary-file discovery, frontmatter parsing, parameter declarations, unit-root reference paths, script paths, eval paths, and BATTLE participant shape.