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.
Analyze PerforatedAI training results and provide optimization recommendations.
$ npx skills add PerforatedAI/PerforatedAI --skill perforatedai-analyze -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install PerforatedAI/PerforatedAI perforatedai-analyze --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-analyze .claude/skills/perforatedai-analyze && 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-analyze" agent skill from https://github.com/PerforatedAI/PerforatedAI/tree/main/skills/perforatedai-analyze into .claude/skills/perforatedai-analyze/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "perforatedai-analyze", 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-analyzeType 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-analyze -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install PerforatedAI/PerforatedAI perforatedai-analyze --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-analyze .agents/skills/perforatedai-analyze && 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-analyze" agent skill from https://github.com/PerforatedAI/PerforatedAI/tree/main/skills/perforatedai-analyze into .agents/skills/perforatedai-analyze/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "perforatedai-analyze", 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-analyze -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install PerforatedAI/PerforatedAI perforatedai-analyze --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-analyze .cursor/skills/perforatedai-analyze && 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-analyze" agent skill from https://github.com/PerforatedAI/PerforatedAI/tree/main/skills/perforatedai-analyze into .cursor/skills/perforatedai-analyze/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "perforatedai-analyze", 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-analyze--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-analyze -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install PerforatedAI/PerforatedAI perforatedai-analyze --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-analyze .gemini/skills/perforatedai-analyze && 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-analyze" agent skill from https://github.com/PerforatedAI/PerforatedAI/tree/main/skills/perforatedai-analyze into .gemini/skills/perforatedai-analyze/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "perforatedai-analyze", 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-analyzeInstalls 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-analyze -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-analyze .github/skills/perforatedai-analyze && 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-analyze" agent skill from https://github.com/PerforatedAI/PerforatedAI/tree/main/skills/perforatedai-analyze into .github/skills/perforatedai-analyze/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "perforatedai-analyze", 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-analyze -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-analyze --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-analyze .opencode/skills/perforatedai-analyze && 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-analyze" agent skill from https://github.com/PerforatedAI/PerforatedAI/tree/main/skills/perforatedai-analyze into .opencode/skills/perforatedai-analyze/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "perforatedai-analyze", 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-analyzeAnalyze PerforatedAI training results and provide optimization recommendations.
Perforatedai Analyze is an agent skill from PerforatedAI/PerforatedAI. Analyze PerforatedAI training results and provide optimization recommendations. Trigger: 'Analyze my perforated results' (after training completes). Reviews CSV outputs, identifies performance patterns, recommends configuration improvements. For initial setup or debugging, use the perforatedai skill instead.
Its SKILL.md is about 5.1k 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 Deep learning and CSV and tabular files. The repository describes itself as: Add Dendrites to your PyTorch Project. The licence is Apache-2.0.
12 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python).
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.
Perforatedai Analyze loads about 5.1k tokens when it runs. Until then it costs about 83 tokens; SKILL.md has 2,302 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). 2,302 words, ~5,101 tokens.
.claude/skills/perforatedai-analyze/SKILL.md (or your agent's skills folder).This skill analyzes completed PerforatedAI training runs and provides optimization recommendations based on the training outputs.
When to use this skill:
For other PerforatedAI tasks:
When the user says "Analyze my perforated results", perform a comprehensive analysis of their PAI training outputs.
Find the save_name from their training script by searching for the UPA.perforate_model() call. The save_name parameter shows where results are stored.
Only ask "What was your save_name?" if:
The results are stored in: {save_name}/{save_name}_*.csv
Look for these files:
{save_name}/{save_name}_scores.csv - Validation scores over epochs{save_name}/{save_name}_best_arch_scores.csv - Best architecture performance at each dendrite count{save_name}/{save_name}_switch_epochs.csv - Epochs when dendrites were added{save_name}/{save_name}_learning_rate.csv - Learning rate schedule{save_name}/{save_name}Best_PBScores.csv - Perforated Backpropagation scores (if enabled){save_name}/*noImprove_lr* files - Check if these exist (indicates no dendrites were added){save_name}/{save_name}_train_scores.csv - Training scores if tracked (for overfitting detection)Read all available CSV files and analyze:
From {save_name}_scores.csv:
From {save_name}_switch_epochs.csv:
Check for noImprove_lr files:
noImprove_lr files exist in the save folder: This means dendrites were NEVER added during trainingFrom {save_name}_train_scores.csv (if exists):
From {save_name}_best_arch_scores.csv:
max_dendrites to that valuemax_dendrites=3From {save_name}_learning_rate.csv:
From {save_name}Best_PBScores.csv (if exists):
append_module_ids_to_track() to skip themProvide a comprehensive summary including:
Training Summary:
Performance Analysis:
Dendrite Impact:
Generalization Analysis (if training scores available):
Comparison to Baseline:
Module-Level Analysis (if PB scores available):
Tell them: "Training visualizations have been automatically generated at {save_name}/{save_name}.png. This shows:
Based on the analysis results:
If training went well (dendrites improved performance):
Say: "Your dendritic training was successful! Here's what I found worked well and recommendations for optimization."
Then direct them to the Optimization Recommendations section below.
If training had issues (dendrites didn't help or training was unstable):
Say: "I see some issues in your training results. Let's troubleshoot:"
If NO dendrites were added (noImprove_lr files exist or switch_epochs.csv is empty):
while True:) with PAI's training_complete flag controlling when to exittraining_complete returns True after add_validation_score()set_n_epochs_to_switch() allows enough time (e.g., 20-30 epochs per phase)set_n_epochs_for_switch_history() - needs sufficient history to detect plateau (e.g., 10 epochs)for epoch in range(50): instead of while True:, training may have ended before PAI finishedepoch = -1
while True:
epoch += 1
# training code
model, restructured, training_complete = GPA.pai_tracker.add_validation_score(val_score, model)
if training_complete:
breakGPA.pc.set_max_dendrites(N) to limit how many dendrites are added (e.g., set_max_dendrites(3) stops after 3 dendrites)FIXED_SWITCH_MODE for more consistent/predictable training time:GPA.pc.set_when_to_switch_mode("FIXED_SWITCH_MODE")
GPA.pc.set_n_epochs_to_switch(20) # Adds dendrite every 20 epochsIf dendrites didn't improve performance:
[0]If training was unstable:
When dendritic training has successfully improved performance, provide targeted recommendations based on the analysis:
Based on best_arch_scores.csv analysis:
If diminishing returns detected:
GPA.pc.set_max_dendrites(3) to focus resources on high-impact dendritesIf all dendrites contributed equally:
Based on score progression from scores.csv and switch_epochs.csv:
If dendrites were added too frequently:
[0.02, 0.01, 0.001, 0] instead of [0.01, 0.001, 0.0001, 0]If dendrites were added BEFORE scores actually plateaued:
set_n_epochs_to_switch() to give more time before adding dendrites[0.001] to [0.005] or [0.01])set_n_epochs_for_switch_history() to require longer plateau (e.g., from 10 to 15 epochs)If dendrites were rarely added but helpful:
[0] to always try adding dendrites when performance plateausBased on Best_PBScores.csv (if available):
What PBScores mean:
If certain modules show low correlation scores (< 0.3):
.layer1 and .conv1 show correlation < 0.2:GPA.pc.append_module_ids_to_track([".layer1", ".conv1"]) # Skip theseIf all modules show high correlation (> 0.02):
Based on learning_rate.csv and correlation with scores.csv:
If learning rate dropped too quickly:
schedArgs = {'mode': 'max', 'patience': 10} instead of 5schedArgs = {'step_size': 10, 'gamma': 0.5} instead of step_size=5schedArgs = {'gamma': 0.95} instead of 0.9If learning rate stayed high too long:
Based on training stability from scores.csv:
If scores showed spikes/instability after dendrite additions:
candidate_weight_initialization_multiplierGPA.pc.set_candidate_weight_initialization_multiplier(0.01) instead of 0.1If scores were very smooth:
Based on total epochs and convergence:
If training completed but scores still improving:
set_n_epochs_to_switch() to train longer in each phaseIf training converged early:
If dendrites significantly improved performance:
Consider converting additional layers:
["Linear"], try adding ["Conv2d", "Linear"]append_module_ids_to_track()Consider increasing max_dendrites:
Based on comparison between training and validation/test scores:
If training scores are significantly better than validation/test scores (overfitting):
Recommended regularization techniques:
# Example: Add dropout before Linear layers
model.dropout = nn.Dropout(0.3) # Start with 0.3-0.5optimizer = torch.optim.Adam(model.parameters(), lr=0.001, weight_decay=1e-4) # Try 1e-4 to 1e-3# For cross-entropy loss
criterion = nn.CrossEntropyLoss(label_smoothing=0.1) # Try 0.05-0.2# Example: After conv/linear layers
nn.BatchNorm2d(channels) # For Conv2d
nn.BatchNorm1d(features) # For Lineartorch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0)Goal: Get training and validation scores closer together (within 2-5%). This ensures that when dendrites improve training performance, it translates to real test improvements.
Based on Best_PBScores.csv analysis and model size considerations:
IMPORTANT: Dendrites ADD parameters to your model
input_dimensions × output_dimensions parameters per moduleIf you want to use PAI for optimization (keep/reduce model size):
CRITICAL: You must reduce the original model FIRST, then perforate:
Example workflow:
# Original model: 512 hidden units, 10M parameters, 85% accuracy
# Step 1: Reduce to 256 hidden units → 2.5M parameters, 78% accuracy (worse)
# Step 2: Perforate reduced model → 4M parameters, 85% accuracy (matched!)
# Result: Same accuracy with 60% fewer parametersIf your perforated model is LARGER than your original:
Best_PBScores.csv to see which layers got the most dendritesIf you want to push parameter efficiency even further:
Best_PBScores.csv - modules with scores > 0.02 are efficient dendrite users.fc has 0.1 correlation but .conv1 has 0.01, skip .conv1# Example: Only perforate final classifier
GPA.pc.append_module_ids_to_track([".conv1", ".conv2", ".layer1", ".layer2"]) # Skip these
# Now only .layer3 and .fc will be perforatedParameter count visibility:
UPA.count_params(model)Best_PBScores.csv to see dendrite distribution across layers(accuracy_gain / parameter_increase) × 100Once you've identified optimization opportunities:
Need to make configuration changes? Say "Debug my perforated model" to get help updating your PAI setup (uses perforatedai skill).
© 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-analyze of PerforatedAI/PerforatedAI.
Open the folder on GitHubat commit 9d317e6
Perforatedai Analyze 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 Analyze this skillPerforatedAI/PerforatedAI | 237 | — | ~5.1k | Automated safety check: Pass | Apache-2.0 | |
| Anomalib Benchmarkingopen-edge-platform/anomalib | 6.2k | — | ~1k | Automated safety check: Pass | Apache-2.0 | |
| AI Research Reproductionlllllllama/RigorPilot-Skills | 497 | 1 repos | ~1.8k | Automated safety check: Pass | MIT | |
| Onnxtxtonnx/onnx | 22k | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| AI Research Explorelllllllama/RigorPilot-Skills | 497 | 1 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Codemie Analyticscodemie-ai/codemie-code | 294 | — | ~7.5k | Automated safety check: Pass | Apache-2.0 |
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.
lllllllama/RigorPilot-Skills
Rigor Reproduce compatible skill slug for README-first deep learning repository reproduction.
onnx/onnx
Read or write ONNX text format ("onnxtxt"). An agent skill from onnx/onnx.
lllllllama/RigorPilot-Skills
Rigor Explore compatible skill slug for meaningful and potentially novel deep learning research candidates.
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.
PerforatedAI/PerforatedAI
Solutions for non-trivial PerforatedAI integration scenarios.
PerforatedAI/PerforatedAI
HuggingFace Transformers integration for PerforatedAI. An agent skill from PerforatedAI/PerforatedAI.
PerforatedAI/PerforatedAI
Render a single-panel PAI figure of score versus parameter count from sweep CSVs, PAI run folders, or hand-supplied numbers.
PerforatedAI/PerforatedAI
Expert in PerforatedAI library for adding artificial dendrites to PyTorch neural networks.
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).
Analyze PerforatedAI training results and provide optimization recommendations. Perforatedai Analyze is an agent skill from PerforatedAI/PerforatedAI. Analyze PerforatedAI training results and provide optimization recommendations.
Perforatedai Analyze fits situations like: tasks that involve Deep learning; tasks that involve CSV and tabular files.
Run `npx skills add PerforatedAI/PerforatedAI --skill perforatedai-analyze -a claude-code`. Or copy the skill folder (skills/perforatedai-analyze in PerforatedAI/PerforatedAI) into .claude/skills/perforatedai-analyze in your project. Claude Code loads it when a task matches its description.
Run `npx skills add PerforatedAI/PerforatedAI --skill perforatedai-analyze -a codex`. Or copy the skill folder (skills/perforatedai-analyze in PerforatedAI/PerforatedAI) into .agents/skills/perforatedai-analyze 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-analyze -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-analyze, .gemini/skills/perforatedai-analyze, .github/skills/perforatedai-analyze and .opencode/skills/perforatedai-analyze in your project.
SKILL.md names no scripts, command-line tools or credentials: Perforatedai Analyze 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.
Perforatedai Analyze 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 5.1k tokens (SKILL.md is roughly 20k 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 Analyze: Anomalib Benchmarking (open-edge-platform/anomalib, 6.2k stars), AI Research Reproduction (lllllllama/RigorPilot-Skills, 497 stars), Onnxtxt (onnx/onnx, 22k stars) and AI Research Explore (lllllllama/RigorPilot-Skills, 497 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 8, 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.