agentleFS
lennytoolslennytools/lenny/skills/setup-lenny/SKILL.md

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.

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
  1. Distinctive:

    Read the repository’s AGENTS.md and any nested instruction files first.

    line 14
  2. Very specific:

    Never overwrite user-authored instructions.

    line 15
  3. Distinctive:

    Never infer that a command works because its name is conventional.

    line 18
  4. Distinctive:

    Never inspect, print or copy secret values.

    line 20
  5. Distinctive:

    Ask no more than three short questions, and ask only when repository evidence cannot answer them.

    line 22
  6. Distinctive:

    Read the generated profile and verify:

    line 37
  7. Very specific:

    Update .lenny/profile.md with verified facts.

    line 50
  8. Distinctive:

    Run the deterministic diagnostic:

    line 62
  9. Distinctive:

    After the profile has been reviewed, explicit deep Doctor runs its configured test/build commands and any configured lint/typecheck command.

    line 68
  10. Distinctive:

    Ask what recurring decision the user wants help making.

    line 81
  11. Very specific:

    Use the generic council skill to select the smallest set of non-overlapping lenses.

    line 83
  12. Very specific:

    Write a custom council from .lenny/core/skills/setup-lenny/references/custom-council-template.md to .lenny/councils/<name>.md and register …

    line 86
  13. Very specific:

    Write a custom skill from .lenny/core/skills/setup-lenny/references/custom-skill-template.md to .lenny/skills/<name>/SKILL.md.

    line 89
  14. Very specific:

    Add a short routing line to the Lenny-managed AGENTS.md block only when the user explicitly wants automatic triggering.

    line 93
  15. Distinctive:

    Run Doctor and report which files are public core versus project-owned.

    line 96

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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.md and any nested instruction files first.
  • Never overwrite user-authored instructions. Lenny owns only its marked block in AGENTS.md, its versioned .lenny/core directory 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

  1. From the repository root, run:

    node .lenny/core/bin/lenny.mjs setup

    This detects only high-confidence project facts and creates .lenny/profile.md. It preserves an existing profile unless the user explicitly requests regeneration.

  2. 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.
  3. 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.
  4. Update .lenny/profile.md with verified facts. Do not invent commands or describe an unrun command as passing.
  5. 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.

  6. Run the deterministic diagnostic:

    node .lenny/core/bin/lenny.mjs doctor --deep true

    After 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.

  1. Inventory .lenny/skills/, .lenny/councils/ and the project profile.
  2. Ask what recurring decision the user wants help making. Do not begin with famous people or personas.
  3. Use the generic council skill to select the smallest set of non-overlapping lenses. Default to three seats. Every seat needs a question, evidence, blocker trigger and replacement condition.
  4. Write a custom council from .lenny/core/skills/setup-lenny/references/custom-council-template.md to .lenny/councils/<name>.md and register its invocation in the profile.
  5. Write a custom skill from .lenny/core/skills/setup-lenny/references/custom-skill-template.md to .lenny/skills/<name>/SKILL.md. Keep instructions portable and do not add a runtime unless the requested capability logically requires one.
  6. Add a short routing line to the Lenny-managed AGENTS.md block only when the user explicitly wants automatic triggering. Otherwise invocation remains explicit.
  7. 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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.