Skip to content
Back to skills

Evo Kit

ASecurity

"Build, inspect, and safely use PARL EvoKit, the optional C++

  • 247 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 8, 2026
toolspythongoc++shellbashapibackend

Works with

  • api

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill evo-kit --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Evo Kit?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Evo Kit
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-evo-kit/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-evo-kit)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: evo-kit
description: "Build, inspect, and safely use PARL EvoKit, the optional C++
  evolution-strategy toolkit with Torch or PaddleLite prediction backends."
disable-model-invocation: true
metadata:
  disco-role: operating
license: Apache 2.0
---

# PARL EvoKit

Use this sub-skill when a task involves PARL's optional C++ EvoKit toolkit: `ESAgent` sampling/update loops, `SamplingInfo` records, C++ build prerequisites, Torch/libtorch versus PaddleLite backend selection, or safe interpretation of EvoKit build helpers.

Do not use this sub-skill for ordinary Python PARL `Model` / `Algorithm` / `Agent` code, xparl cluster orchestration, or selecting a full Python RL recipe. For high-level RL recipe structure, consult the sibling `algorithm-recipes` skill conceptually; EvoKit-specific work here is C++ ES toolkit work.

## Operating workflow

1. **Confirm EvoKit is actually needed.** EvoKit is a C++ evolution-strategy toolkit for parameter perturbation, evaluation, and parameter updates. If the task only asks for a Python PARL algorithm, stay with the Python PARL skills instead.
2. **Choose one prediction backend.** Use Torch when the model is a C++ `torch::nn::Module` and a local `libtorch/` tree is available. Use PaddleLite when the model is an exported Paddle inference model and a local `inference_lite_lib/` tree is available. Do not enable both backends in one EvoKit build.
3. **Check local prerequisites before building.** Run the bundled checker from a repository checkout or a copied EvoKit tree:

   ```bash
   python scripts/check_evokit_prereqs.py --project-root <evokit-root> --backend torch
   ```

   Replace `torch` with `paddle` when using PaddleLite, or use `auto` to accept either backend directory.
4. **Model the ESAgent loop explicitly.** The original agent owns the current parameters, sampling method, and optimizer. Clone sampling agents, call `add_noise` only on clones, evaluate each noisy clone, keep each `SamplingInfo` paired with its reward, then call `update` on the original agent. The update reconstructs perturbations from `SamplingInfo` keys and applies the optimizer to the original parameters.
5. **Handle online/offline runs as data contracts.** Online sampling should persist `SamplingInfo` plus reward records in the same order used for offline update. Offline update should reload the current model/solver state, parse the records, call `update`, and save the next model/solver state.
6. **Avoid unsafe build shortcuts by default.** Treat upstream shell helpers as examples only: they may remove build directories, install into the source tree, unzip bundled data, download libtorch, and run demos. Prefer an explicit local prerequisite check and a controlled manual CMake build in a disposable checkout or dedicated build directory.
7. **Escalate by symptom.** Use `references/build-and-api.md` for API/build planning and `references/troubleshooting.md` for protobuf, backend library, CMake, gflags/glog/OpenMP, and ESAgent misuse errors.

## Verification status

This sub-skill is source-evidence backed. The bundled checker was written to inspect local prerequisites without downloads or builds. EvoKit itself was not fully compiled during skill construction because the optional C++ backend libraries are environment-specific.

## Reference map

- `references/build-and-api.md` — distilled EvoKit C++ API concepts, config schema, Torch/PaddleLite choices, and safe build outline.
- `references/troubleshooting.md` — fixes and safety notes for protobuf/protoc, backend libraries, gflags/glog/OpenMP, build helper side effects, CMake cleanup, and ESAgent loop mistakes.
- `scripts/check_evokit_prereqs.py` — deterministic local prerequisite checker; it prints missing items and never downloads, builds, deletes, or writes project files.

Files in this skill

  • SKILL.md3.7 KB
  • references/build-and-api.md7.6 KB
  • references/troubleshooting.md6.3 KB
  • scripts/check_evokit_prereqs.py6.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.