Anomalib Benchmarking
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.
Render a single-panel PAI figure of score versus parameter count from sweep CSVs, PAI run folders, or hand-supplied numbers.
$ npx skills add PerforatedAI/PerforatedAI --skill perforatedai-plot -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install PerforatedAI/PerforatedAI perforatedai-plot --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/PerforatedAI/PerforatedAI.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/perforatedai-plot .claude/skills/perforatedai-plot && 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 "perforatedai-plot" agent skill from https://github.com/PerforatedAI/PerforatedAI/tree/main/skills/perforatedai-plot into .claude/skills/perforatedai-plot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "perforatedai-plot", 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/PerforatedAI/PerforatedAI/tree/main/skills/perforatedai-plotType 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 PerforatedAI/PerforatedAI --skill perforatedai-plot -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install PerforatedAI/PerforatedAI perforatedai-plot --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PerforatedAI/PerforatedAI.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/perforatedai-plot .agents/skills/perforatedai-plot && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "perforatedai-plot" agent skill from https://github.com/PerforatedAI/PerforatedAI/tree/main/skills/perforatedai-plot into .agents/skills/perforatedai-plot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "perforatedai-plot", 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 PerforatedAI/PerforatedAI --skill perforatedai-plot -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install PerforatedAI/PerforatedAI perforatedai-plot --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PerforatedAI/PerforatedAI.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/perforatedai-plot .cursor/skills/perforatedai-plot && 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 "perforatedai-plot" agent skill from https://github.com/PerforatedAI/PerforatedAI/tree/main/skills/perforatedai-plot into .cursor/skills/perforatedai-plot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "perforatedai-plot", 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/PerforatedAI/PerforatedAI.git --path skills/perforatedai-plot--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 PerforatedAI/PerforatedAI --skill perforatedai-plot -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install PerforatedAI/PerforatedAI perforatedai-plot --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PerforatedAI/PerforatedAI.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/perforatedai-plot .gemini/skills/perforatedai-plot && 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 "perforatedai-plot" agent skill from https://github.com/PerforatedAI/PerforatedAI/tree/main/skills/perforatedai-plot into .gemini/skills/perforatedai-plot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "perforatedai-plot", 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 PerforatedAI/PerforatedAI perforatedai-plotInstalls 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 PerforatedAI/PerforatedAI --skill perforatedai-plot -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/PerforatedAI/PerforatedAI.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/perforatedai-plot .github/skills/perforatedai-plot && 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 "perforatedai-plot" agent skill from https://github.com/PerforatedAI/PerforatedAI/tree/main/skills/perforatedai-plot into .github/skills/perforatedai-plot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "perforatedai-plot", 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 PerforatedAI/PerforatedAI --skill perforatedai-plot -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install PerforatedAI/PerforatedAI perforatedai-plot --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PerforatedAI/PerforatedAI.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/perforatedai-plot .opencode/skills/perforatedai-plot && 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 "perforatedai-plot" agent skill from https://github.com/PerforatedAI/PerforatedAI/tree/main/skills/perforatedai-plot into .opencode/skills/perforatedai-plot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "perforatedai-plot", 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.
perforatedai-plotRender a single-panel PAI figure of score versus parameter count from sweep CSVs, PAI run folders, or hand-supplied numbers.
Perforatedai Plot is an agent skill from PerforatedAI/PerforatedAI. Render a single-panel PAI figure of score versus parameter count from sweep CSVs, PAI run folders, or hand-supplied numbers. Trigger: 'make the PAI graph', 'plot params vs score', 'plot my dendrite results'. Builds a JSON spec, then renders it with dataprocessing/plotstreams.py. Figures only, no analysis. For recommendations use perforatedai-analyze.
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in AI & LLM Engineering, covering CSV and tabular files and Deep learning. The repository describes itself as: Add Dendrites to your PyTorch Project. The licence is Apache-2.0.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 9d317e6. 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.
Shell commands in SKILL.md call:
python3From 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.
Perforatedai Plot loads about 1.6k tokens when it runs. Until then it costs about 93 tokens; SKILL.md has 756 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 PerforatedAI/PerforatedAI at commit 9d317e6, republished under its Apache-2.0 licence (© PerforatedAI). 756 words, ~1,611 tokens.
.claude/skills/perforatedai-plot/SKILL.md (or your agent's skills folder).This skill produces one publication-style figure: parameter count on the
x axis, a score on the y axis, one line or scatter stream per model or
configuration. It reads a JSON spec of literal numbers and renders it with
data_processing/plot_streams.py. The spec is the frozen record of the
figure, so every number in the PNG can be traced back.
When to use this skill:
Not for: interpreting results or recommending settings. That is the
perforatedai-analyze skill.
All scripts live in data_processing/ of the PerforatedAI repository.
Run them from that directory or by absolute path.
| Script | Purpose |
|---|---|
plot_streams.py | Render a spec to a PNG |
spec_from_csv.py | Build a spec from a sweep CSV or from PAI run folders |
pai_style.py | Shared colors and axes style, imported by the others |
example_spec.json | A working spec showing every optional field |
Plotting is read-only work and runs on the local machine.
Ask the user one question at a time. Offer a recommended default with each question and wait for the answer before the next one.
Ask which of the three sources the figure comes from:
get_wandb_results.py --mode by-dendrite-separate. One stream per
model, one point per dendrite count.<save_name>_best_arch_scores.csv
from UPA.perforate_model(save_name=...). Each stream is a list of
folders, one point per folder by default.Ask for the PNG stem, for example yolo26_cityscapes. Then ask where the
PNG and spec copy should go. Recommend the directory that will hold the
spec. Pass the answer to plot_streams.py as an absolute --out-dir.
Optional. Always ask.
Ask for the label. It is required. Ask for the value format only when the
metric is not a four decimal quantity, the default is .4f. The x axis
defaults to "Parameters (millions)" with raw counts in the spec divided by
1e6 at plot time. Ask for a custom x label only if the user mentions a
different x quantity.
Sweep CSV. Ask which stat collapses the runs in each column, recommend
max. Then build:
python3 data_processing/spec_from_csv.py \
--csv path/to/sweep_by_dendrite_separate.csv \
--out NAME --spec-path DIR/NAME.json \
--title "..." --y-label "..." --stat maxStream names come from model_info.csv beside the CSV when it exists,
otherwise model_0, model_1. Ask the user whether to rename them.
Run folders. Ask which folders go in each stream and what each stream
is called. Ask whether a stream takes the best point per folder or every
dendrite count from a single folder (--all-dendrites). Then build:
python3 data_processing/spec_from_csv.py \
--stream Vanilla:runs/nano_plain,runs/small_plain \
--stream PAI:runs/nano_pai,runs/small_pai \
--out NAME --spec-path DIR/NAME.json --title "..." --y-label "..."--metric names the column of best_arch_scores.csv, default
Max Valid Scores. --best min selects the lowest row for losses.
Numbers. Write the spec by hand following example_spec.json. When
pulling from W&B, default to the best epoch by the run's primary metric,
confirm that rule with the user, and take parameter counts from
<save_name>_best_arch_scores.csv or <save_name>param_counts.csv, not
from W&B's fused parameter field. Record run ids, files, and the pull
date in each stream's source field.
Ask whether there is a vanilla or zero dendrite point that belongs to no
stream. If so it becomes the spec's anchor, drawn hollow, and line
streams start from it. Streams take colors in order from
pai_style.stream_palette: teal, gray, dark blue, orange, then evenly
spaced hues. Ask only if the user wants a stream pinned to a color, set
with the stream's color field.
python3 data_processing/plot_streams.py DIR/NAME.json --out-dir DIROpen the PNG with Read and show the user. Ask whether any labels collide.
If so, add per point offset values [dx, dy, ha, va] in points and
re-render. The builder turns annotations off when a stream has more than
eight points, flip annotate back on if the user wants them.
{
"out": "yolo26_cityscapes",
"title": "Cityscapes Perforated YOLO26",
"x_axis": {"label": "Steps"},
"y_axis": {"label": "mAP50-95", "format": ".4f", "lim": [0.25, 0.28]},
"annotate": true,
"anchor": {"x": 2506920, "y": 0.26187, "name": "Vanilla",
"source": "..."},
"streams": [
{"name": "PAI", "style": "line", "from_anchor": true,
"color": "#00FAC9",
"points": [[2571528, 0.26447],
{"x": 2636136, "y": 0.27322, "label": "2d",
"offset": [10, -8, "left", "top"]}],
"source": "run id, file, date"},
{"name": "L2_Full", "style": "scatter", "dash_to_anchor": true,
"points": [[2585520, 0.26641]]}
]
}Omit x_axis for the default parameters axis. title, lim, format,
annotate, anchor, color, from_anchor, dash_to_anchor, label
and offset are optional. A point is [x, y] or an object with x, y,
and optional label and offset.
Every figure the repository produces shares data_processing/pai_style.py:
dotted grid on both axes, no top or right spine, framed legend, 200 dpi
with a tight bounding box. Do not set colors, grids, or dpi inline in a
new plotting script, import pai_style instead.
© PerforatedAI, 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
Just SKILL.md in skills/perforatedai-plot of PerforatedAI/PerforatedAI.
Open the folder on GitHubat commit 9d317e6
Perforatedai Plot 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 |
|---|---|---|---|---|---|---|
| Perforatedai Plot this skillPerforatedAI/PerforatedAI | 237 | — | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| Anomalib Benchmarkingopen-edge-platform/anomalib | 6.2k | — | ~1k | Automated safety check: Pass | Apache-2.0 | |
| Yolo Trainingfcakyon/claude-codex-settings | 1.2k | 1 repos | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Codemie Analyticscodemie-ai/codemie-code | 294 | — | ~7.5k | Automated safety check: Pass | Apache-2.0 | |
| Render HTMLwanshuiyin/ARIS-in-AI-Offer | 574 | — | ~4.9k | Automated safety check: Notes | MIT | |
| Skill Sync CheckerPINA-org/PINA | 797 | — | ~1.5k | Automated safety check: Pass | MIT |
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.
fcakyon/claude-codex-settings
This skill should be used when user asks to "improve my mAP", "why is my model overfitting", "my training is diverging", "read my results.csv", "interpret my training curves", "my AP50 is good but…
codemie-ai/codemie-code
CodeMie Analytics expert — use this skill whenever the user asks about CodeMie usage data, AI adoption metrics, user leaderboards, CLI insights, spending, LiteLLM costs, token usage, or wants to…
wanshuiyin/ARIS-in-AI-Offer
Render an ARIS Markdown / JSON artifact (IDEAREPORT, AUTOREVIEW, KILLARGUMENT, PAPERPLAN, research-wiki state, etc.) into a single-file HTML view designed for human reading.
PINA-org/PINA
Audits SKILL.md files in this repo's skills directory for references to functions, classes, or modules (mentioned by name in prose, e.g.
maziyarpanahi/openmed
Run clinical and biomedical named-entity recognition on medical text with OpenMed's analyzetext.
PerforatedAI/PerforatedAI
Solutions for non-trivial PerforatedAI integration scenarios.
PerforatedAI/PerforatedAI
HuggingFace Transformers integration for PerforatedAI. An agent skill from PerforatedAI/PerforatedAI.
PerforatedAI/PerforatedAI
Expert in PerforatedAI library for adding artificial dendrites to PyTorch neural networks.
PerforatedAI/PerforatedAI
Analyze PerforatedAI training results and provide optimization recommendations.
PerforatedAI/PerforatedAI
WandB-specific PerforatedAI integration guardrail skill. An agent skill from PerforatedAI/PerforatedAI.
PerforatedAI/PerforatedAI
Multi-GPU setup for PerforatedAI with DataParallel or DistributedDataParallel (DDP).
Categories
Render a single-panel PAI figure of score versus parameter count from sweep CSVs, PAI run folders, or hand-supplied numbers. Perforatedai Plot is an agent skill from PerforatedAI/PerforatedAI. Render a single-panel PAI figure of score versus parameter count from sweep CSVs, PAI run folders, or hand-supplied numbers.
Perforatedai Plot fits situations like: tasks that involve CSV and tabular files; tasks that involve Deep learning.
Run `npx skills add PerforatedAI/PerforatedAI --skill perforatedai-plot -a claude-code`. Or copy the skill folder (skills/perforatedai-plot in PerforatedAI/PerforatedAI) into .claude/skills/perforatedai-plot in your project. Claude Code loads it when a task matches its description.
Run `npx skills add PerforatedAI/PerforatedAI --skill perforatedai-plot -a codex`. Or copy the skill folder (skills/perforatedai-plot in PerforatedAI/PerforatedAI) into .agents/skills/perforatedai-plot 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 PerforatedAI/PerforatedAI --skill perforatedai-plot -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/perforatedai-plot, .gemini/skills/perforatedai-plot, .github/skills/perforatedai-plot and .opencode/skills/perforatedai-plot in your project.
Going by SKILL.md and its folder, Perforatedai Plot needs the command-line tools its instructions call (python3). 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.
Perforatedai Plot is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.4k 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 Perforatedai Plot: Anomalib Benchmarking (open-edge-platform/anomalib, 6.2k stars), Yolo Training (fcakyon/claude-codex-settings, 1.2k stars), Codemie Analytics (codemie-ai/codemie-code, 294 stars) and Render HTML (wanshuiyin/ARIS-in-AI-Offer, 574 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
PerforatedAI (a GitHub organization) maintains it in PerforatedAI/PerforatedAI, which has 237 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 7, 2026.
Source: PerforatedAI/PerforatedAI on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.