llm4ad-task-builder
Use when a user wants to build an LLM4AD_Next task package — a runnable directory that lets the LLM4AD platform evolve an algorithm for their problem.
Skill by Optima-CityU
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/optima-cityu-llm4ad-task-builder
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, productivity, code-generation, llm-evaluation
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/llm4ad-task-builder
What's inside
- Skill name
llm4ad-task-builder- Description
- Use when a user wants to build an LLM4AD_Next task package — a runnable directory that lets the LLM4AD platform evolve an algorithm for their problem. Covers what files a task package contains, each file's contract, and how the package is run on the LLM4AD platform.
- License
- BSD-3-Clause
- Instructions
- 284 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (20)
- README.md
- SKILL.md
- api-contract.md · reference/
- README.md · reference/templates/
- config.yaml · reference/templates/lunarlander/
- instance_001.json · reference/templates/lunarlander/data/sample/
- instance_002.json · reference/templates/lunarlander/data/sample/
- debug_run.py · reference/templates/lunarlander/
- lunarlander_evaluator.py · reference/templates/lunarlander/
- choose_action.py · reference/templates/lunarlander/policy/
- requirements.txt · reference/templates/lunarlander/
- test_evaluator.py · reference/templates/lunarlander/
- config.yaml · reference/templates/tsp/
- instance_001.json · reference/templates/tsp/data/sample/
- instance_002.json · reference/templates/tsp/data/sample/
- debug_run.py · reference/templates/tsp/
- requirements.txt · reference/templates/tsp/
- test_evaluator.py · reference/templates/tsp/
- solve.py · reference/templates/tsp/tsp_algorithm/
- tsp_evaluator.py · reference/templates/tsp/
SKILL.md (first lines)
# Building an LLM4AD_Next Task Package
## What LLM4AD_Next is
LLM4AD_Next is an automated algorithm-design platform: it combines an LLM with
evolutionary optimization to discover and improve algorithms automatically. The
user describes a problem (e.g. "evolve a solver for the Traveling Salesman
Problem"), marks the code region to evolve with `# EVOLVE_START` / `# EVOLVE_END`,
and the platform repeatedly asks an LLM to propose better code inside that region,
scores each candidate with a custom evaluator, and keeps the best across
generations. Better algorithms emerge through guided search rather than manual
trial and error.
Your job with this skill: turn a user's problem into a **complete, runnable task
package**, then verify it actually runs before handing it over.
## AutoDiscovery runtime mode
When this Skill is installed together with `algorithm-discovery`, first help that
Skill resolve the source-grounded function boundary, I/O contract, objective,
constraints, evaluator data, and reproducibility requirements. Then call the
runtime's `build_algorithm_task` tool with one complete description. Do not
hand-write package files and do not leave package construction for project
management: the tool invokes this project's official builder and validation
pipeline and returns the exact runnable package to publish.
Only a package whose returned validation status is `passed` may be published.
Project management imports that same package and starts no second requirements or
build conversation. Evolution itself still starts only when the user requests it.
## What a task package is
A task package is a self-contained directory with everything the platform needs to
evolve algorithms for one problem:
| File | Purpose |
|---|---|
| `config.yaml` | Master config for the whole pipeline (evolution params, providers, evaluator, dataset). This is what gets run. |
| `<name>_evaluator.py` | A `BaseEvaluator` subclass that runs a candidate algorithm on test data and returns a score + metrics. Defines what "better" means. |
| `<algo_dir>/<algo>.py` | The algorithm, with the function to evolve wrapped in `# EVOLVE_START` / `# EVOLVE_END`. Reads input as a JSON CLI arg, prints a JSON result. |
| `requirements.txt` | Third-party dependencies (auto-generated by build engine based on task description and code analysis). |
| `debug_run.py` | Runs the full pipeline once (`LLM4AD("config.yaml").run()`) — a smoke test. |
| `test_evaluator.py` | Loads the evaluator via the dispatcher to confirm it imports and is wired correctly. |
| `data/sample/*.json` | 2-3 small test instances the evaluator scores algorithms against. |
## The contracts each file must satisfy
**Algorithm file** (`<algo_dir>/<algo>.py`):
- The algorithm directory is the one named in `version_control.local_path`; the
platform copies it into a git worktree for each candidate and edits only the code
between the markers.
- The function to evolve is wrapped exactly in `# EVOLVE_START` and `# EVOLVE_END`
comment markers (the platform only edits code between them).
- It reads its input as a single JSON string from `sys.argv[1]`, and prints a JSON
result to stdout — so the evaluator can run it as a subprocess.
- The file name must match the name the evaluator looks for (see below). In the TSP
example both sides use `solve.py`.
**Evaluator** (`<name>_evaluator.py`):
- **Before writing evaluator code**, read `reference/api-contract.md` for the complete
BaseEvaluator contract and common pitfalls.
- Subclasses `BaseEvaluator`, decorated `@BaseEvaluator.register("<name>")`, with a
no-argument `__init__(self)` (the base `__init__` takes no config).
- Implements `metrics` (list of `Metric(name, type=MetricType.MINIMIZE, weight, description)`
— note `MetricType.MINIMIZE`, not bare `MINIMIZE`), `name`, and `async def evaluate(self, cfg: EvalContext) -> EvaluationResult`.
- `cfg: EvalContext` carries `cfg.project_root` (the candidate's worktree dir),
`cfg.data_path` (the current data file), and `cfg.timeout` (seconds per instance).
- `evaluate` locates the algorithm file **by hardcoded name** under
`cfg.project_root` (e.g. `Path(cfg.project_root) / "solve.py"`), runs it as a
subprocess on `cfg.data_path`, parses its JSON output, validates it, and returns
`EvaluationResult(score, metrics, success, ...)` (negative cost for a minimization
objective). That hardcoded name **must** equal the algorithm file's actual name —
this is the most common wiring mistake.
**config.yaml** (10 sections — generated programmatically, not hand-written):
- `providers` use `${LLM_BASE_URL}` / `${LLM_API_KEY}` / `${LLM_MODEL}` env
placeholders (the platform fills them in).
- The evaluator `module` reference (`<file>.py:<ClassName>`), the `metrics` list,
the `dataset` path (`data/sample`), and the coder `prompt_template`'s EVOLVE block
must all be consistent with the other files.
**debug_run.py** / **test_evaluator.py**: standard boilerplate that runs
`config.yaml` end-to-end and loads the evaluator, respectively.
See `reference/api-contract.md` for the BaseEvaluator contract and
`reference/templates/` for two complete, copyable template packages demonstrating
different problem patterns (see `reference/templates/README.md`).
## The information to gather before building
A correct package needs these decided (ask the user; let the agent fill sensible
defaults where the user has no preference):
1. **Problem description** — what is being optimized. (Required — ask.)
2. **Function/algorithm to evolve + input/output format** — ask if the user has any
constraints; if not, the agent designs it.
3. **Evaluation metric(s)** — what to minimize/maximize. (Required — ask clearly.)
4. **Reuse existing code/evaluator?** — user provides existing code, or generate from
scratch. (Ask.)
5. **Data source** — user provides data, or generate sample instances. (Ask.)
6. **Programming language** — default Python. (Offer as a choice.)
7. **Project name** — the agent proposes one from the description; confirm with user.
## Build workflow
1. Understand the problem and the 7 items above (inspect any user-provided code/data).
2. Write the algorithm file first; verify it runs standalone and prints valid JSON.
3. Write 2-3 sample data files under `data/sample/`.
4. Write the evaluator; keep its metrics consistent with `config.yaml`.
5. Write `config.yaml`, `debug_run.py`, `test_evaluator.py`.
6. **Self-test (required):** run `test_evaluator.py` (evaluator loads — no LLM, no
network, cheap and always runnable). Then run `debug_run.py`, which executes the
full pipeline and **does call the LLM**: it needs the `LLM_BASE_URL` /
`LLM_API_KEY` / `LLM_MODEL` env vars set (the config uses these placeholders) and
consumes tokens over the network. Read every error, fix the relevant file,
re-run. Not done until both run cleanly. If no provider credentials are available,
say so — a missing-credential failure of `debug_run.py` is not a package defect.
## Automated algorithm design methods (reference — only when the user asks)From Optima-CityU/LLM4AD_Next, BSD-3-Clause.
More from Optima-CityU/LLM4AD_Next
- 0.818score
proposal-foundation-layout
Optima-CityU
Use when establishing a research proposal's project foundation, submission constraints, and presentation system before section drafting begins.
SkillAFreshness: A★ 677Claude Code +9 - 0.818score
proposal-innovation-plan
Optima-CityU
Use when distilling a proposal's innovations and defining milestones, annual plans, contingency points, and expected outcomes.
SkillAFreshness: A★ 677Claude Code +9 - 0.818score
proposal-foundation-feasibility
Optima-CityU
Use when documenting a proposal's research foundation, available conditions, team support, feasibility, and risk controls from author-supplied facts.
SkillAFreshness: A★ 677Claude Code +9 - 0.818score
document-knowledge-organizer
Optima-CityU
Organize one or more Markdown source documents into high-fidelity, editable knowledge blocks.
SkillAFreshness: A★ 677Claude Code +9 - 0.818score
proposal-final-review
Optima-CityU
Use when assembling a completed staged Typst proposal and checking its evidence, logic, citations, structure, and export readiness.
SkillAFreshness: A★ 677Claude Code +9 - 0.818score
proposal-rationale
Optima-CityU
Use when developing a proposal's research purpose, necessity, significance, application value, and practical problem framing from verified evidence.
SkillAFreshness: A★ 677Claude Code +9 - 0.818score
proposal-objectives
Optima-CityU
Use when defining a proposal's objective hierarchy, research content, work packages, and key scientific or technical problems.
SkillAFreshness: A★ 677Claude Code +9 - 0.818score
proposal-methods
Optima-CityU
Use when translating established proposal objectives into research methods, a technical route, formal definitions, and an evaluation plan.
SkillAFreshness: A★ 677Claude Code +9 - 0.818score
proposal-literature-evidence
Optima-CityU
Use when researching, organizing, and citing the evidence base for a research proposal after its project foundation is established.
SkillAFreshness: A★ 677Claude Code +9 - 0.813score
reevo
Optima-CityU
Reflective Evolution (ReEvo) method skill.
SkillAFreshness: A★ 677Claude Code +9 - 0.813score
typst-author
Optima-CityU
Generate idiomatic Typst (.typ) code, edit and troubleshoot Typst documents and projects, and answer Typst syntax/reference questions.
SkillAFreshness: A★ 677Claude Code +9 - 0.813score
nsga2
Optima-CityU
NSGA-II multi-objective evolutionary method skill.
SkillAFreshness: A★ 677Claude Code +9
Signals
- Stars
- 677
- Forks
- 44
- Open issues
- 1
- Last commit (this folder)
- Sep 24, 2026 (1 month ago)
- Last release
- Sep 29, 2026 (28 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- BSD-3-Clause
- Repository
- github.com/Optima-CityU/LLM4AD_Next
- Website
- llm4ad-next.cn
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from Optima-CityU
- 0.818score
proposal-rationale
Optima-CityU
Use when developing a proposal's research purpose, necessity, significance, application value, and practical problem framing from verified evidence.
SkillAFreshness: A★ 677Claude Code +9 - 0.818score
proposal-objectives
Optima-CityU
Use when defining a proposal's objective hierarchy, research content, work packages, and key scientific or technical problems.
SkillAFreshness: A★ 677Claude Code +9 - 0.818score
proposal-methods
Optima-CityU
Use when translating established proposal objectives into research methods, a technical route, formal definitions, and an evaluation plan.
SkillAFreshness: A★ 677Claude Code +9 - 0.818score
proposal-literature-evidence
Optima-CityU
Use when researching, organizing, and citing the evidence base for a research proposal after its project foundation is established.
SkillAFreshness: A★ 677Claude Code +9 - 0.818score
proposal-innovation-plan
Optima-CityU
Use when distilling a proposal's innovations and defining milestones, annual plans, contingency points, and expected outcomes.
SkillAFreshness: A★ 677Claude Code +9 - 0.818score
proposal-foundation-layout
Optima-CityU
Use when establishing a research proposal's project foundation, submission constraints, and presentation system before section drafting begins.
SkillAFreshness: A★ 677Claude Code +9
Cite this page
llm4ad-task-builder skill. Agent Mart. https://agentmart.dev/skills/optima-cityu-llm4ad-task-builder (last updated 2026-10-24)