Best for
- Use when asked to teach, learn, or optimize a mod behavior; create, draft, validate, improve, or explain envs for `/mods learn --env`; or design evaluation scenarios, memory fixtures, requiredResultMarkers, requiredTrac…
letta-ai/letta-code/src/skills/builtin/generating-mod-envs/SKILL.md
Generates and reviews mod learning env JSON files for Letta Code local mods. Use when asked to teach, learn, or optimize a mod behavior; create, draft, validate, improve, or explain envs for `/mods learn --env`; or design evaluation scenarios, memory fixtures, requiredResultMarkers, requiredTraceMarkers, negative controls, and candidate diversity hints.
Decision brief
Use this skill to create JSON envs consumed by /mods learn --env= or bun scripts/mod-learning/learn-mod.ts --env . An env describes the mod behavior to learn and the scenario-suite eval used to score candidates.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/letta-ai/letta-code --skill "src/skills/builtin/generating-mod-envs"Inspect the Agent Skill "generating-mod-envs" from https://github.com/letta-ai/letta-code/blob/455b13bfa127aae80bdca90aeaf793e1dfea9a7b/src/skills/builtin/generating-mod-envs/SKILL.md at commit 455b13bfa127aae80bdca90aeaf793e1dfea9a7b. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
1. Define the behavior and eval before writing JSON. - What should the mod do? Tool, turn event, tool event, provider, command, status, etc. - What would a placebo/no-op mod fail? - What unique sentinel strings make success unambiguous? 2. Choose a path: - Repo example: docs/exa…
Required top-level fields:
Design the eval first. A useful env distinguishes success from a no-op mod.
Review the “Minimal scenario-suite example” section in the pinned source before continuing.
Permission review
The documentation asks the agent to run terminal commands or scripts.
bun src/skills/builtin/generating-mod-envs/scripts/validate-mod-env.ts path/to/env.jsonThe documentation asks the agent to run terminal commands or scripts.
If this skill is installed outside the source tree, run the same script from this skill directory: `scripts/validate-mod-env.ts`.Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 86/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 2,962 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Use this skill to create JSON envs consumed by /mods learn --env=<path> or bun scripts/mod-learning/learn-mod.ts --env <path>. An env describes the mod behavior to learn and the scenario-suite eval used to score candidates.
docs/examples/mods/learning/<slug>.env.jsonassets/mod-learning-env.template.json if useful. No comments or trailing commas.evaluation.scenarios with at least:
bun src/skills/builtin/generating-mod-envs/scripts/validate-mod-env.ts path/to/env.json
If this skill is installed outside the source tree, run the same script from this skill directory: scripts/validate-mod-env.ts.
/mods learn --env=path/to/env.json --model=auto --backend=api --out=/tmp/<slug>-learn
The raw scripts/mod-learning/learn-mod.ts dev script detaches by default. Add --foreground only when a blocking pass/fail exit code is needed.
Use single-line --flag=value commands for TUI instructions.
Required top-level fields:
name: human display name.slug: stable kebab-case run/candidate slug.objective: one-paragraph target for the generation agent.requirements: concrete pass/fail behavior constraints.evaluation: either a single prompt eval or a scenario suite.Common optional fields:
targetModName: display metadata for the intended mod filename. The harness still chooses the candidate filename from slug unless --candidate-file-name is passed.candidateDiversityHints: strategies assigned across multi-candidate runs.modApiHints: concise API reminders that prevent bad generated code.examples: small input/expected demos for the generation prompt.Evaluation fields:
evaluation.outputFormat: use stream-json when checking trace markers.evaluation.timeoutMs, evaluation.maxTurns: per-scenario defaults.evaluation.memoryFiles: files seeded under eval $MEMORY_DIR.evaluation.scenarios[]: scenario-specific overrides and fixtures.evaluation.prompt unless that prompt must run for every scenario. Assertion-only scenarios should have assertions and no prompt; only scenarios that require model behavior should define scenario.prompt.requiredResultMarkers: literal strings required in the final answer.requiredTraceMarkers: literal strings required in raw stdout/stderr.forbiddenResultMarkers: final-answer strings that fail the run.forbiddenTraceMarkers: raw trace strings that fail the run.MY-MOD-CANARY-OK, not common phrases.memoryFiles rather than depending on real user memory or repo files.forbiddenTraceMarkers, usually:
[mods] failed to load[extensions] failed to loadloaded 0 mod(s)loaded 0 extension(s)requiresApproval: false, parallelSafe: true, and a strict no-argument schema when applicable."message_type":"tool_return_message".modApiHints only when needed.{
"name": "Hello tool mod learner demo",
"slug": "hello-tool",
"objective": "Learn a trusted local mod that registers a read-only hello_mod_ping tool returning a fixed sentinel.",
"requirements": [
"Register a tool named hello_mod_ping.",
"The tool must accept no parameters, require no approval, be parallelSafe, and return the exact string HELLO-MOD-OK."
],
"candidateDiversityHints": [
"Use the smallest possible tool-only implementation.",
"Add explicit defensive checks around the tool schema."
],
"modApiHints": [
"Use export function activate(letta) or a default export.",
"Use letta.tools.register({ name, description, parameters, requiresApproval, parallelSafe, run }).",
"A no-argument tool schema is { \"type\": \"object\", \"properties\": {}, \"additionalProperties\": false }."
],
"evaluation": {
"outputFormat": "stream-json",
"timeoutMs": 900000,
"maxTurns": 6,
"forbiddenTraceMarkers": ["[mods] failed to load", "loaded 0 mod(s)"],
"scenarios": [
{
"name": "happy-path",
"prompt": "Call the hello_mod_ping tool, then answer with the exact text HELLO-MOD-OK.",
"requiredResultMarkers": ["HELLO-MOD-OK"],
"requiredTraceMarkers": ["hello_mod_ping", "\"message_type\":\"tool_return_message\""]
},
{
"name": "negative-control",
"prompt": "Answer without calling tools: what is 2 + 2?",
"requiredResultMarkers": ["4"],
"forbiddenTraceMarkers": ["hello_mod_ping"]
}
]
}
}
Alternatives
HKUDS/Vibe-Trading
Create, modify, and optimize quantitative trading strategies, then backtest and evaluate them.
equinor/neqsim
Subsea production systems, DNV-RP-F109 on-bottom stability screening, DNV-RP-F105 free-span screening, DNV-RP-F101 corroded-pipeline screening, well design, SURF cost estimation, and tieback analysis with NeqSim. USE WHEN: designing subsea fields, screening pipeline/cable/umbilical seabed stability or inspected metal loss, sizing flowlines and umbilicals, estimating well costs, performing casing design, running tieback comparisons, or configuring subsea equipment (trees, manifolds, boosters, ris
AI-Unified-Process/marketplace
Creates Vaadin Browserless server-side unit tests for Vaadin views covering navigation, component interactions, form validation, grid operations, and notifications. Use when the user asks to "write Browserless tests", "write Vaadin UI unit tests", "unit test a Vaadin view without a browser", "create view tests with the official Vaadin testing framework", or mentions Browserless testing, SpringBrowserlessTest, browserless-test-junit6, UI Unit Testing, or server-side Vaadin testing.
freenet/freenet-agent-skills
Build and maintain decentralized applications on Freenet using river as a template. Guides through designing contracts (shared state), delegates (private state), and UI, and through upgrading a live dApp safely. Use when user wants to create a new Freenet dApp, design contract state, implement delegates, build a Freenet-connected UI, OR upgrade an existing dApp — bump freenet-stdlib, ship a new contract/delegate version (v2), fix a bug that re-keys the WASM, or migrate state across a contract/de