setup-lenny
Skill1 starsChanged 2 months agoMITView on GitHub
Configure Lenny safely inside an existing Codex repository. Use when the user says “set up Lenny,” “initialize Lenny,” “configure Lenny for this repo,” or immediately after installation. Detect facts before asking questions, preserve existing instructions and finish with Lenny Doctor.
In this repository20 other files it gives its agents.
- AGENTS.mdAGENTS.md
- bayesianSkill
- claudes-gambleSkill
- codebase-designSkill
- councilSkill
- elon-first-principlesSkill
- find-skillsSkill
- first-principlesSkill
- fleet-conductorSkill
- garciaSkill
- gbrain-captureSkill
- grill-meSkill
- karpathySkill
- kissingerSkill
- meta-conductorSkill
- outcome-lockSkill
- pre-kSkill
- release-managerSkill
- rumsfeldSkill
- ship-conductorSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. About 0 are common, 9 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
Read the repository’s AGENTS.md and any nested instruction files first.
- Very specific: line 15
Never overwrite user-authored instructions.
- Distinctive: line 18
Never infer that a command works because its name is conventional.
- Distinctive: line 20
Never inspect, print or copy secret values.
- Distinctive: line 22
Ask no more than three short questions, and ask only when repository evidence cannot answer them.
- Distinctive: line 37
Read the generated profile and verify:
- Very specific: line 50
Update .lenny/profile.md with verified facts.
- Distinctive: line 62
Run the deterministic diagnostic:
- Distinctive: line 68
After the profile has been reviewed, explicit deep Doctor runs its configured test/build commands and any configured lint/typecheck command.
- Distinctive: line 81
Ask what recurring decision the user wants help making.
- Very specific: line 83
Use the generic council skill to select the smallest set of non-overlapping lenses.
- Very specific: line 86
Write a custom council from .lenny/core/skills/setup-lenny/references/custom-council-template.md to .lenny/councils/<name>.md and register …
- Very specific: line 89
Write a custom skill from .lenny/core/skills/setup-lenny/references/custom-skill-template.md to .lenny/skills/<name>/SKILL.md.
- Very specific: line 93
Add a short routing line to the Lenny-managed AGENTS.md block only when the user explicitly wants automatic triggering.
- Distinctive: line 96
Run Doctor and report which files are public core versus project-owned.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Set Up Lenny
Set up the project Lenny will actually conduct. The interface is a conversation, but every claim in the resulting profile must come from inspected repository state or an explicit user answer.
Hard rails
- Read the repository’s
AGENTS.mdand any nested instruction files first. - Never overwrite user-authored instructions. Lenny owns only its marked block
in
AGENTS.md, its versioned.lenny/coredirectory and a newly created.lenny/profile.md. - Never infer that a command works because its name is conventional. Run it or mark it unverified.
- Never inspect, print or copy secret values. Presence may be reported without value disclosure.
- Ask no more than three short questions, and ask only when repository evidence cannot answer them.
Setup workflow
From the repository root, run:
node .lenny/core/bin/lenny.mjs setupThis detects only high-confidence project facts and creates
.lenny/profile.md. It preserves an existing profile unless the user explicitly requests regeneration.Read the generated profile and verify:
- stack and package manager;
- exact test, build, lint and typecheck commands;
- the real live-QA workflow;
- merge policy and protected branch;
- project-specific security, data and outward-action rails.
- Resolve unknowns from the repository first. Inspect package manifests, workflow files and existing developer documentation. Ask the user only for facts that remain unknowable, normally the live-QA journey, unusual merge policy or a material domain rail.
- Update
.lenny/profile.mdwith verified facts. Do not invent commands or describe an unrun command as passing. Confirm the default council is present:
- contract / correctness;
- failure / security;
- simplicity / maintainability.
The canonical definition is
.lenny/core/skills/council/references/software-implementation-council.md.Run the deterministic diagnostic:
node .lenny/core/bin/lenny.mjs doctor --deep trueAfter the profile has been reviewed, explicit deep Doctor runs its configured test/build commands and any configured lint/typecheck command. Unresolved test, build or live-QA fields fail closed; use an explicit
Not applicable — <reason>only when that gate truly does not exist for this repository. Fix failed checks. Warnings must be disclosed but do not block when the host capability genuinely cannot be observed from the CLI.
When the user says “set up my skills” or requests a council
Personalization is a project overlay, never an edit to .lenny/core.
- Inventory
.lenny/skills/,.lenny/councils/and the project profile. - Ask what recurring decision the user wants help making. Do not begin with famous people or personas.
- Use the generic
councilskill to select the smallest set of non-overlapping lenses. Default to three seats. Every seat needs a question, evidence, blocker trigger and replacement condition. - Write a custom council from
.lenny/core/skills/setup-lenny/references/custom-council-template.mdto.lenny/councils/<name>.mdand register its invocation in the profile. - Write a custom skill from
.lenny/core/skills/setup-lenny/references/custom-skill-template.mdto.lenny/skills/<name>/SKILL.md. Keep instructions portable and do not add a runtime unless the requested capability logically requires one. - Add a short routing line to the Lenny-managed
AGENTS.mdblock only when the user explicitly wants automatic triggering. Otherwise invocation remains explicit. - Run Doctor and report which files are public core versus project-owned.
Updates and uninstall preserve .lenny/skills/ and .lenny/councils/.
Finish
Report:
- detected stack and verified commands;
- council and risk policy;
- unresolved facts, if any;
- the exact doctor result;
- the next instruction: “Conduct this plan.”
Setup is complete only when Doctor exits 0. A profile with invented or unverified commands is not complete.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

