a2ui
Make a reply easier to read and act on with rich blocks inside ordinary Markdown โ a choice the user picks from, a form thatโฆ
Run a SkillAdam experiment on the Project's selected Benchmarks: train once in a continuing Agent Session, freeze the learned Skill, then evaluate it repeatedly on held-out tasks.
Claude Code
$ npx -y skills add Prism-Shadow/penguin-harness --skill skilladam-rsi-toolkit --agent claude-code
Codex
$ npx skills add Prism-Shadow/penguin-harness --skill skilladam-rsi-toolkit -a codex -y
Cursor
$ npx skills add Prism-Shadow/penguin-harness --skill skilladam-rsi-toolkit -a cursor -y
Gemini CLI
$ npx skills add Prism-Shadow/penguin-harness --skill skilladam-rsi-toolkit -a gemini-cli -y
GitHub Copilot
$ npx skills add Prism-Shadow/penguin-harness --skill skilladam-rsi-toolkit -a github-copilot -y
OpenCode
$ npx skills add Prism-Shadow/penguin-harness --skill skilladam-rsi-toolkit -a opencode -y
Windsurf
$ npx skills add Prism-Shadow/penguin-harness --skill skilladam-rsi-toolkit -a windsurf -y
name: skilladam-rsi-toolkit description: "Run a SkillAdam experiment on the Project's selected Benchmarks: train once in a continuing Agent Session, freeze the learned Skill, then evaluate it repeatedly on held-out tasks." version: 2026.10.29.4
You are the experiment's main Penguin. Read the selected Benchmarks, prepare the runtime, arrange training and testing, and collect the results. Continue until the requested experiment is complete.
The **Target Agent** is the Penguin that learns or solves tasks inside the benchmark environment. For each selected benchmark or independent training unit, train once in one continuing Session and one container. The learner controls its task attempts and Skill updates there. Repeated tests use the same frozen Agent State, with fresh environments and conversations for every task attempt.
[SkillAdam: Stable and Efficient Skill Evolution for Agents](https://arxiv.org/abs/2609.08944v1), ยง4 and Algorithm 1, optimizes a Markdown Skill while keeping the model and tools fixed. The [author implementation](https://github.com/ruc-datalab/SkillAdam/tree/b6c9640f7a9e0d5e3a500c25bc4e6369eeca78f1) is the implementation reference.
First, the learner attempts training tasks without a learned Skill. It uses those trajectories and evaluator feedback to write an initial Skill. Each subsequent iteration runs the current Skill, proposes an edit, and evaluates the candidate on the same training cases. The benchmark's acceptance rule decides whether to retain the edit.
Two persistent states distinguish SkillAdam:
Both states are updated after evaluating a candidate, including rejected candidates. The output is the last accepted Skill. Held-out test feedback never updates it. [The learning instructions](references/training.md) give the equations and iteration order; install them for the training Target.
Find the selected Benchmarks in the current Project, using the Environment's App Data Dir. Read their manifests and Case statements, then follow the linked runtime instructions. Built-in packages contain descriptions and run instructions; fetch task sources and environments when those instructions require them. A request naming the installed Benchmarks is sufficient: the user need not supply a repository link.
Match each selected benchmark's Train and Test packages from their documentation. Package Cases may represent either a single question or an entire continuous training task. Use the documented native paths rather than deriving paths from package names or old task-group numbers. For repository-backed tasks, use the full 40-character lowercase commit declared by the Case statement, and keep that checkout throughout the experiment. [Benchmark setup](references/benchmark.md) covers this handoff.
Resolve the remaining settings from the request and benchmark instructions:
Use the complete training set for initialization and paired batches by default. Record a sampling seed only when sampling is used. If no proposal count was supplied, choose and record a finite count within the declared training budget before launch; keep it fixed during learning. Ask only for essential inputs that cannot be resolved from the request, Project or Benchmark.
Fix an experiment/report version before launching. Prefer the user's specified versions; otherwise select and record the resolved versions of the runtime, benchmark, model and toolkit. Keep that configuration fixed through training and testing, and identify each measured Skill and Agent State by its frozen version.
Use all Train and Test questions unless the request selects a subset. Each independent benchmark or training unit learns its own Skill once from the common base State. Freeze that result and reuse it for all test repetitions. Keep the runtime fixed across comparisons and each benchmark's learned state separate.
The configurable toolkit defaults are `beta2=0.9`, `base_budget=4`, `min_budget=1`, `variance_cap=0.1`; the budget counts unified-diff hunks. The default acceptance rule is strict improvement of mean normalized reward, without a per-case regression threshold. Use that gate when it matches the benchmark's declared rule; otherwise apply that rule and calculate volatility and the next budget independently of that decision. The dataset, test repetition count and proposal iteration count are experiment settings, not properties of SkillAdam.
1. **Prepare.** Follow [initialization](references/initialization.md): record the resolved plan, make a common base State, and prepare one training State per benchmark or independent training unit. Reuse the runtime described by the Benchmark or the source build requested for the experiment. 2. **Train once.** Launch the benchmark's continuous training entry point. Give its Target the learner instructions and training brief through the supported State handoff. Complete all requested proposal iterations inside that Session and container; a candidate update does not create another Harbor trial. 3. **Collect and freeze.** Collect the last accepted Skill, answers, measured scores, decisions and optimizer history. Freeze the complete Skill folder, including supporting files. If no candidate was accepted, the initial
Make a reply easier to read and act on with rich blocks inside ordinary Markdown โ a choice the user picks from, a form thatโฆ
Run ACE (Agentic Context Engineering, Zhang et al. 2025) on an agent the sequential offline way - a Reflector reads each trainingโฆ
Run a PenguinHarness organization as its CEO โ turn the mission into a ticket tree, hire HR and finance first, partition theโฆ
The protocol every employee of a PenguinHarness organization follows โ read the handbook first, act on [org_trigger] work runs,โฆ
Run finance for a PenguinHarness organization โ set and adjust monthly budgets along the reporting line, audit spend daily withโฆ
Run HR for a PenguinHarness organization โ guarantee every employee has an enabled calendar event, hire and offboard employeesโฆ
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, orโฆ
Ask which skill or flow fits your situation. A router over the skills in this repo.