Code Review Checklist
shareAI-lab/learn-claude-code
Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.
Trains an anomalib model on a dataset via the Python API or CLI, including training on a custom folder-structured dataset with the Folder datamodule.
$ npx skills add open-edge-platform/anomalib --skill anomalib-training -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install open-edge-platform/anomalib anomalib-training --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/open-edge-platform/anomalib.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/anomalib-training .claude/skills/anomalib-training && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "anomalib-training" agent skill from https://github.com/open-edge-platform/anomalib/tree/main/.agents/skills/anomalib-training into .claude/skills/anomalib-training/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "anomalib-training", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/open-edge-platform/anomalib/tree/main/.agents/skills/anomalib-trainingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add open-edge-platform/anomalib --skill anomalib-training -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install open-edge-platform/anomalib anomalib-training --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-edge-platform/anomalib.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/anomalib-training .agents/skills/anomalib-training && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "anomalib-training" agent skill from https://github.com/open-edge-platform/anomalib/tree/main/.agents/skills/anomalib-training into .agents/skills/anomalib-training/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "anomalib-training", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add open-edge-platform/anomalib --skill anomalib-training -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install open-edge-platform/anomalib anomalib-training --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-edge-platform/anomalib.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/anomalib-training .cursor/skills/anomalib-training && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "anomalib-training" agent skill from https://github.com/open-edge-platform/anomalib/tree/main/.agents/skills/anomalib-training into .cursor/skills/anomalib-training/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "anomalib-training", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/open-edge-platform/anomalib.git --path .agents/skills/anomalib-training--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add open-edge-platform/anomalib --skill anomalib-training -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install open-edge-platform/anomalib anomalib-training --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-edge-platform/anomalib.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/anomalib-training .gemini/skills/anomalib-training && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "anomalib-training" agent skill from https://github.com/open-edge-platform/anomalib/tree/main/.agents/skills/anomalib-training into .gemini/skills/anomalib-training/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "anomalib-training", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install open-edge-platform/anomalib anomalib-trainingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add open-edge-platform/anomalib --skill anomalib-training -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/open-edge-platform/anomalib.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/anomalib-training .github/skills/anomalib-training && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "anomalib-training" agent skill from https://github.com/open-edge-platform/anomalib/tree/main/.agents/skills/anomalib-training into .github/skills/anomalib-training/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "anomalib-training", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add open-edge-platform/anomalib --skill anomalib-training -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install open-edge-platform/anomalib anomalib-training --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-edge-platform/anomalib.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/anomalib-training .opencode/skills/anomalib-training && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "anomalib-training" agent skill from https://github.com/open-edge-platform/anomalib/tree/main/.agents/skills/anomalib-training into .opencode/skills/anomalib-training/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "anomalib-training", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
anomalib-trainingTrains an anomalib model on a dataset via the Python API or CLI, including training on a custom folder-structured dataset with the Folder datamodule.
Anomalib Training is an agent skill from open-edge-platform/anomalib. Trains an anomalib model on a dataset via the Python API or CLI, including training on a custom folder-structured dataset with the Folder datamodule. Use when writing or debugging an anomalib training script/command, choosing Engine/Trainer arguments, or wiring a model + datamodule together. Do not use for adding a new model or datamodule from scratch (see anomalib-adding-a-model / anomalib-adding-a-datamodule), or for the tiled-ensemble or benchmarking pipelines (see anomalib-tiled-ensemble /…
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `evals/evals.json`).
It sits in Development. It works with Python. The repository describes itself as: An anomaly detection library comprising state-of-the-art algorithms and features such as experiment management, hyper-parameter optimization, and edge inference. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit dc087d5. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python and bash).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Anomalib Training loads about 1.4k tokens when it runs. Until then it costs about 135 tokens; SKILL.md has 360 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from open-edge-platform/anomalib at commit dc087d5, republished under its Apache-2.0 licence (© open-edge-platform). 360 words, ~1,427 tokens.
.claude/skills/anomalib-training/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Training in anomalib always goes through anomalib.engine.Engine, which wraps a Lightning Trainer.
from anomalib.data import MVTecAD
from anomalib.models import Patchcore
from anomalib.engine import Engine
datamodule = MVTecAD(root="./datasets/MVTecAD", category="bottle", train_batch_size=32)
model = Patchcore()
engine = Engine() # any Lightning Trainer kwarg can go here
engine.fit(model=model, datamodule=datamodule)
results = engine.test(model=model, datamodule=datamodule)Engine(**kwargs) forwards unknown kwargs straight to the underlying Lightning Trainer
(accelerator, devices, strategy, max_epochs, logger, callbacks, enable_checkpointing,
val_check_interval, barebones, ...) — there is no separate "Trainer config object" to build.
Key Engine methods: fit(model, datamodule=...), train(...) (fit + test in one call),
test(model=None, datamodule=...), predict(model=None, datamodule=..., dataset=..., data_path=...).
If model/datamodule are omitted from test/predict, the engine reuses the ones passed to fit.
Use Folder whenever your data is laid out as root/normal_dir/*, root/abnormal_dir/*, and
optionally root/mask_dir/* (segmentation masks) — no new dataset code needed:
from anomalib.data import Folder
from anomalib.models import Padim
from anomalib.engine import Engine
datamodule = Folder(
name="custom", # required — used as the datamodule's display name
root="./datasets/custom",
normal_dir="good", # required
abnormal_dir="defect", # optional: enables anomalous test/eval samples
mask_dir="mask", # optional: enables pixel-level (segmentation) evaluation
train_batch_size=32,
eval_batch_size=32,
num_workers=8,
)
model = Padim()
engine = Engine()
engine.fit(model=model, datamodule=datamodule)If you only have normal training images and unlabeled/normal-only test images, omit abnormal_dir
and mask_dir — Folder will still produce a valid train/test split via test_split_ratio (fraction
of normal training images held out for testing). Use normal_test_dir if you have a separate directory
of normal images specifically for the test set.
# Standard dataset, defaults
anomalib train --model Patchcore --data anomalib.data.MVTecAD
# Override a datamodule field
anomalib train --model Patchcore --data anomalib.data.MVTecAD --data.category transistor
# Override a trainer field (use a gradient-trained model like Stfpm where max_epochs is meaningful)
anomalib train --model anomalib.models.Stfpm --data anomalib.data.MVTecAD --trainer.max_epochs 3
# Custom Folder dataset from the CLI
anomalib train --model Padim --data anomalib.data.Folder \
--data.name custom --data.root ./datasets/custom \
--data.normal_dir good --data.abnormal_dir defect
# From a config file (jsonargparse; combine with any of the above overrides)
anomalib train --config path/to/config.yamlCLI wiring lives in src/anomalib/cli/cli.py (AnomalibCLI); model/data classes are exposed as
jsonargparse subclass arguments, so --model/--data accept either a short name (Padim) or a full
class path (anomalib.models.Padim, anomalib.data.Folder).
Pass standard Lightning kwargs to Engine(...): accelerator="gpu"|"cpu"|"xpu", devices=1. For
Intel XPU specifically, use SingleXPUStrategy/XPUAccelerator from anomalib.engine:
from anomalib.engine import Engine, SingleXPUStrategy, XPUAccelerator
engine = Engine(strategy=SingleXPUStrategy(), accelerator=XPUAccelerator())engine.fit(...); Engine/Trainer handles the single "epoch" needed to build their memory bank.
You don't need special-case code for this. Note that these models override max_epochs via their
trainer_arguments property (e.g. max_epochs=1), so any max_epochs you pass to Engine will be
overwritten for such models.Folder's mask_dir is what switches evaluation from image-level (classification) to pixel-level
(segmentation) metrics — only pass it if you actually have per-pixel ground-truth masks.Engine's default_root_dir ("results" by
default), nested by model/datamodule/category — check there first when debugging a run.Engine(...) receives Trainer overrides as plain kwargs, not a hand-built Trainer object.normal_dir and, if applicable, abnormal_dir/mask_dir
matching the actual on-disk layout.anomalib.data.<Class> / anomalib.models.<Class> paths that are actually
exported (see anomalib-adding-a-model / anomalib-adding-a-datamodule for how exports work).© open-edge-platform, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in .agents/skills/anomalib-training of open-edge-platform/anomalib.
Open the folder on GitHubat commit dc087d5
Anomalib Training next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Anomalib Training this skillopen-edge-platform/anomalib | 6.2k | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Code Review ChecklistshareAI-lab/learn-claude-code | 78k | 5 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Minimizing Ty Ecosystem Changesastral-sh/ruff | 50k | — | ~4.6k | Automated safety check: Pass | MIT | |
| Merge Dependabot PRsonyx-dot-app/onyx | 32k | 1 repos | ~2.2k | Automated safety check: Pass | MIT | |
| Summarise Ecosystem Resultsastral-sh/ruff | 50k | — | ~2.2k | Automated safety check: Pass | MIT | |
| Senior Architect Toolkitmaslennikov-ig/claude-code-orchestrator-kit | 260 | 8 repos | ~1.2k | Automated safety check: Notes | Custom licence |
shareAI-lab/learn-claude-code
Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.
astral-sh/ruff
A skill your agent uses when a user says "minimize this ty ecosystem change", "reproduce this ecosystem result", "investigate a primer difference", "investigate a mypyprimer difference"…
onyx-dot-app/onyx
Triages and lands a batch of open Dependabot PRs in the Onyx repo, where main is gated exclusively by GitHub's merge queue: approves and enqueues green PRs, closes superseded duplicates, fixes…
astral-sh/ruff
A skill your agent uses when a user says "summarise ecosystem results", "summarize this ty ecosystem report", "what changed in this ecosystem run?", or asks to summarise or summarize ty ecosystem…
maslennikov-ig/claude-code-orchestrator-kit
Comprehensive software architecture skill for designing scalable, maintainable systems using ReactJS, NextJS, NodeJS, Express, React Native, Swift, Kotlin…
kedro-org/kedro
Run Kedro's local lint / format / type-check / tests on changed files (uses the project's pre-commit hooks, ruff, mypy, pytest, lint-imports, detect-secrets, Make targets — in the right venv), or…
open-edge-platform/anomalib
Adds a new anomaly-detection model to anomalib under src/anomalib/models/.
open-edge-platform/anomalib
Runs the anomalib benchmarking pipeline to train/evaluate a grid of model + dataset (+ category) combinations and collect metrics into a results CSV.
open-edge-platform/anomalib
Runs and configures the anomalib tiled-ensemble pipeline, which trains/evaluates one model per image tile and merges results (with optional seam smoothing) for high-resolution anomaly detection.
open-edge-platform/anomalib
Export, validate, and publish model sample-result images into docs/source/images and reference them from README/docs pages.
open-edge-platform/anomalib
A skill your agent uses when writing or updating Anomalib Studio UI component or hook tests that need the shared render/renderHook helpers, React Router paths or parameters, React Query, theme…
open-edge-platform/anomalib
Adds a new dataset/datamodule to anomalib under src/anomalib/data/.
Works with
Categories
Trains an anomalib model on a dataset via the Python API or CLI, including training on a custom folder-structured dataset with the Folder datamodule. Anomalib Training is an agent skill from open-edge-platform/anomalib. Trains an anomalib model on a dataset via the Python API or CLI, including training on a custom folder-structured dataset with the Folder datamodule.
Anomalib Training fits situations like: debugging an anomalib training script/command; choosing Engine/Trainer arguments; wiring a model + datamodule together; adding a new model.
Run `npx skills add open-edge-platform/anomalib --skill anomalib-training -a claude-code`. Or copy the skill folder (.agents/skills/anomalib-training in open-edge-platform/anomalib) into .claude/skills/anomalib-training in your project. Claude Code loads it when a task matches its description.
Run `npx skills add open-edge-platform/anomalib --skill anomalib-training -a codex`. Or copy the skill folder (.agents/skills/anomalib-training in open-edge-platform/anomalib) into .agents/skills/anomalib-training in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add open-edge-platform/anomalib --skill anomalib-training -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/anomalib-training, .gemini/skills/anomalib-training, .github/skills/anomalib-training and .opencode/skills/anomalib-training in your project.
SKILL.md names no scripts, command-line tools or credentials: Anomalib Training is instructions for the agent only. Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Anomalib Training is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Anomalib Training: Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars), Minimizing Ty Ecosystem Changes (astral-sh/ruff, 50k stars), Merge Dependabot PRs (onyx-dot-app/onyx, 32k stars) and Summarise Ecosystem Results (astral-sh/ruff, 50k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
open-edge-platform (a GitHub organization) maintains it in open-edge-platform/anomalib, which has 6,230 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 8, 2026.
Source: open-edge-platform/anomalib on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.