"Build and debug Acme core dm_env loops, specs, wrappers, logging,
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill core-workflows --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Core Workflows?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-core-workflows)More formats (shields.io, HTML) on the badges page.
---
name: core-workflows
description: "Build and debug Acme core dm_env loops, specs, wrappers, logging,
counting, observers, and simple custom Actor/Learner components."
disable-model-invocation: true
metadata:
disco-role: operating
license: Apache 2.0
---
# Acme Core Workflows
Use this sub-skill when an agent needs to assemble or debug the framework-level Acme loop before choosing a JAX, TensorFlow/Sonnet, or distributed backend.
## Read First
- Start with [Core API contracts](references/core-api.md) for exact signatures, method ordering, and import surfaces.
- Use [Core workflows](references/workflows.md) for adapting Gym-like environments, building a minimal `Actor`, wiring `EnvironmentLoop`, wrappers, loggers, counters, and observers.
- Use [Core troubleshooting](references/troubleshooting.md) when loop bounds, specs, dtypes, wrapper behavior, logger timing, or optional backend imports fail.
- Run [check_core_imports.py](scripts/check_core_imports.py) to inspect the local Acme installation without requiring JAX/TF/Reverb/Launchpad execution.
## Scope
This sub-skill covers:
- `acme.core.Actor`, `Learner`, `VariableSource`, `Saveable`, and `Worker` component contracts.
- `acme.specs` aliases and `make_environment_spec(environment)` for `dm_env` environments.
- `acme.EnvironmentLoop` and `acme.environment_loop.EnvironmentLoop` single-environment interaction.
- Core wrappers from `acme.wrappers`, especially `GymWrapper`, `SinglePrecisionWrapper`, `CanonicalSpecWrapper`, `EnvironmentWrapper`, and `wrap_all`.
- `acme.utils.counting.Counter`, `acme.utils.loggers`, `acme.utils.observers`, and signal-safe loop termination basics.
Route elsewhere:
- Replay adders, Reverb tables, datasets, and iterator pipelines belong in `replay-and-data`.
- JAX networks, builders, experiments, and agent-specific JAX behavior belong in `jax-agents`.
- TensorFlow/Sonnet agents and Launchpad-backed TF examples belong in `tf-agents`.
## Quick Routing
- If the user has a custom environment, first make it implement `dm_env.Environment` or wrap it with `acme.wrappers.GymWrapper`, then verify `observation_spec()`, `action_spec()`, `reward_spec()`, and `discount_spec()`.
- If the user has a loop failure, check `EnvironmentLoop.run()` bounds, action/spec dtype compatibility, and whether optional imports are failing before the loop starts.
- If the user needs metrics, prefer `Counter`, a `Logger` implementation, and `EnvLoopObserver` instances instead of modifying `EnvironmentLoop` internals.
- If the user asks for a complete learning agent, keep this sub-skill focused on the `Actor`/`Learner` interface and route backend-specific network or replay decisions to the backend/data sub-skills.

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!