Skip to content

Customization ​

Keep installed skills unchanged. Use TOML overrides for persona, menus, templates, activation steps, and review lenses. Ask e11-customize to create or audit the override you need.

Skill override layers ​

OrderFileOwner
1<skill-directory>/customize.tomlToolkit defaults. Generated in your editor directory.
2.foundry/custom/<skill>.tomlTeam settings. Commit this file.
3.foundry/custom/<skill>.user.tomlPersonal settings. Keep this file ignored.

Later scalars replace earlier values. Plain arrays append. Tables with an id or code replace matching entries and append new entries. Overrides do not delete entries. Use a supported empty value or false field to disable behavior.

Add a team instruction ​

Save this example as .foundry/custom/e11-agent-dev.toml.

text
[agent]
persistent_facts = ["Use the project test commands before presenting a delivery."]
sh
node .foundry/scripts/resolve-customization.mjs --skill .claude/skills/e11-agent-dev --key agent

Review the merged result before committing. Edit only fields present in the shipped customization surface.

Central configuration ​

Central settings resolve in this order: .foundry/config.toml, .foundry/config.user.toml, .foundry/custom/config.toml, then .foundry/custom/config.user.toml. Init generates the first two. Put team changes in the third and personal changes in the fourth.

sh
node .foundry/scripts/resolve-config.mjs --project-root . --key core --key modules.foundry

Central settings hold language, project paths, and the agent roster. For a project outside the E11 platform, set e11_platform = false under [modules.foundry] in your team override. Individual platform gates also have per-skill settings.

The optional visual add-on reads two keys under [modules.foundry]:

KeyValuesEffect
visualauto (the default when absent), on, offauto runs when a spec declares Screen states. on runs for every spec unless E11_VISUAL=off, the spec's visual: off, or the app config's enabled: false opts out. off skips it everywhere. An unattended run never sets an app up or installs anything.
visual_appan app folder, relative to the project rootWhich visual.config.json to use when the project has more than one.
toml
[modules.foundry]
visual = "auto"
visual_app = "apps/web"

Visual evidence in your flows ​

Dev Flow, Dev Auto, code review, Spec Flow and the epic handover can call the visual add-on themselves: capture before and after images of a change, have them reviewed cold, and put them in the done report. The hooks ship off. A project that never turns them on makes no e11 visual call.

Each hooked skill carries visual_hook = false. e11 toolkit render and e11 toolkit activate fold the effective value from these sources, highest first:

SourceWhereScope
envE11_VISUAL_HOOKS=on or off in the environmentThis shell
uservisual_hook in .foundry/custom/<skill>.user.toml, then visual_hooks under [modules.foundry] in .foundry/custom/config.user.toml or .foundry/config.user.tomlYou, in this project
teamvisual_hook in .foundry/custom/<skill>.toml, then visual_hooks in .foundry/custom/config.toml or .foundry/config.tomlEveryone in this project
flow-hooks"visual": true in ~/.e11-foundry/flow-hooks.jsonYou, in every project on this machine

Inside one scope the skill's own key beats the central key. A team that wants the hooks off for everyone sets visual_hooks = false in .foundry/custom/config.toml, which beats a person's Foundry Home file.

To turn the hooks on for yourself everywhere, write the Foundry Home file once (FOUNDRY_HOME moves the folder):

json
{ "schemaVersion": 1, "visual": true }

e11 doctor then ends the Visual add-on line with flow hooks default on (flow-hooks.json); per-skill overrides may differ, and with flow hooks default off when nothing turned them on. A file that is not this shape reads as unset. Delete it, or set E11_VISUAL_HOOKS=off, to return every flow to no visual calls.

Every hook call passes --unattended: a flow never asks, installs or sets an app up for the add-on, and a skip, failure or deferral is one Not run: visual (<reason>) line, never a stop. The run folder is {implementation_artifacts}/visual/<slug>/, the same for every flow.

When the hooks are on through your own switch (flow-hooks or env), Dev Flow and Dev Auto leave the run folder out of their commit, add it to the checkout's local .git/info/exclude so the tree stays clean, and say (evidence left uncommitted: personal hook). When a project or skill file turned them on, the team opted in, and the folder's tracked files ride the commit.

Add a review lens ​

Review ships seven lenses in e11-review/customize.toml. Add a [[workflow.lenses]] entry with its id, applicable artifact type, condition, and method file. Reuse an existing id to replace a lens. Inspect the shipped surface for supported path and ordering fields.

Review lens settings

Proprietary to Engineering11 LLC.