Optimize For GPU
K-Dense-AI/scientific-agent-skills
GPU-accelerates scientific Python on NVIDIA hardware and verifies that the result is correct and faster.
A skill your agent uses when running long AIC/aiconfigurator GPU perf auto-collection for a specific GPU/framework/frameworkversion, including draft-PR checkpoints, resumable collectxx.py runs…
$ npx skills add ai-dynamo/aiconfigurator --skill aic-auto-collect -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ai-dynamo/aiconfigurator aic-auto-collect --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/ai-dynamo/aiconfigurator.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/aic-auto-collect .claude/skills/aic-auto-collect && 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 "aic-auto-collect" agent skill from https://github.com/ai-dynamo/aiconfigurator/tree/main/.claude/skills/aic-auto-collect into .claude/skills/aic-auto-collect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aic-auto-collect", 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/ai-dynamo/aiconfigurator/tree/main/.claude/skills/aic-auto-collectType 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 ai-dynamo/aiconfigurator --skill aic-auto-collect -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ai-dynamo/aiconfigurator aic-auto-collect --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ai-dynamo/aiconfigurator.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/aic-auto-collect .agents/skills/aic-auto-collect && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "aic-auto-collect" agent skill from https://github.com/ai-dynamo/aiconfigurator/tree/main/.claude/skills/aic-auto-collect into .agents/skills/aic-auto-collect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aic-auto-collect", 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 ai-dynamo/aiconfigurator --skill aic-auto-collect -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ai-dynamo/aiconfigurator aic-auto-collect --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ai-dynamo/aiconfigurator.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/aic-auto-collect .cursor/skills/aic-auto-collect && 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 "aic-auto-collect" agent skill from https://github.com/ai-dynamo/aiconfigurator/tree/main/.claude/skills/aic-auto-collect into .cursor/skills/aic-auto-collect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aic-auto-collect", 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/ai-dynamo/aiconfigurator.git --path .claude/skills/aic-auto-collect--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 ai-dynamo/aiconfigurator --skill aic-auto-collect -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ai-dynamo/aiconfigurator aic-auto-collect --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ai-dynamo/aiconfigurator.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/aic-auto-collect .gemini/skills/aic-auto-collect && 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 "aic-auto-collect" agent skill from https://github.com/ai-dynamo/aiconfigurator/tree/main/.claude/skills/aic-auto-collect into .gemini/skills/aic-auto-collect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aic-auto-collect", 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 ai-dynamo/aiconfigurator aic-auto-collectInstalls 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 ai-dynamo/aiconfigurator --skill aic-auto-collect -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ai-dynamo/aiconfigurator.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/aic-auto-collect .github/skills/aic-auto-collect && 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 "aic-auto-collect" agent skill from https://github.com/ai-dynamo/aiconfigurator/tree/main/.claude/skills/aic-auto-collect into .github/skills/aic-auto-collect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aic-auto-collect", 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 ai-dynamo/aiconfigurator --skill aic-auto-collect -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ai-dynamo/aiconfigurator aic-auto-collect --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ai-dynamo/aiconfigurator.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/aic-auto-collect .opencode/skills/aic-auto-collect && 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 "aic-auto-collect" agent skill from https://github.com/ai-dynamo/aiconfigurator/tree/main/.claude/skills/aic-auto-collect into .opencode/skills/aic-auto-collect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aic-auto-collect", 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.
aic-auto-collectA skill your agent uses when running long AIC/aiconfigurator GPU perf auto-collection for a specific GPU/framework/frameworkversion, including draft-PR checkpoints, resumable collectxx.py runs…
Aic Auto Collect is an agent skill from ai-dynamo/aiconfigurator. Use when running long AIC/aiconfigurator GPU perf auto-collection for a specific GPU/framework/frameworkversion, including draft-PR checkpoints, resumable collectxx.py runs, framework-version/kernel preflight, collector fixes/skips, special runtime images, validation, and PR handoff.
Its SKILL.md is about 6.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Offline optimization of your disaggregated Dynamo graph. The licence is Apache-2.0.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit f254959. 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:
python3gitpytestghuvpythonruffdockerFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, gh, uv and docker, which can reach the network depending on how they are called.
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.
Aic Auto Collect loads about 6.9k tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 3,013 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 ai-dynamo/aiconfigurator at commit f254959, republished under its Apache-2.0 licence (© ai-dynamo). 3,013 words, ~6,911 tokens.
.claude/skills/aic-auto-collect/SKILL.md (or your agent's skills folder).Read docs/perf_database/collector-upgrade-playbook.md
before changing collector code: it is the canonical upgrade/bring-up
workflow. This skill is the run pipeline; the repository-owned policy in
.claude/rules/collector/ is authoritative over anything restated here.
You are already on a GPU node with one or more GPUs. Your job is to collect AIC perf data for one target (GPU system, framework/backend, framework version), fix collector failures, recollect until the perf files are good enough, verify AIC can consume the new data, and maintain a draft PR to ai-dynamo/aiconfigurator as the checkpoint.
This is a long-running workflow. Be persistent. Iterate carefully. Do not hide failures by shrinking coverage or deleting hard cases unless the configuration is genuinely unsupported and documented.
Assume the user wants the complete bring-up unless they explicitly ask for a smoke test only.
--limit runs are only gates before the full run; never present them as final data.(system, backend, backend_version). Use that PR as the checkpoint, not a private local branch.collect_xx.py/op-family collection finishes. If a single collection runs longer than about one hour, checkpoint safe collector fixes, current perf outputs, and the failure/status summary before continuing.Establish these before collecting:
sglang, vllm, or trtllm. Treat "all three" as an ordered queue of separate draft PRs.nvcr.io/nvidia/ai-dynamo/tensorrtllm-runtime:<tag>nvcr.io/nvidia/ai-dynamo/sglang-runtime:<tag>nvcr.io/nvidia/ai-dynamo/vllm-runtime:<tag>rtx_pro_6000_server.Discover the node:
nvidia-smi
nvidia-smi --query-gpu=name,memory.total,power.limit --format=csv
python3 - <<'PY'
import torch
print("cuda available:", torch.cuda.is_available())
print("device count:", torch.cuda.device_count())
for i in range(torch.cuda.device_count()):
print(i, torch.cuda.get_device_name(i), torch.cuda.get_device_capability(i))
PYRun framework inspection and collection inside the pinned container. Treat the host driver, CUDA toolkit, kernel, container runtime, and system packages as immutable.
Before every GPU run, inspect:
docker ps
nvidia-smi
nvidia-smi --query-compute-apps=pid,process_name,used_gpu_memory --format=csv
df -h
df -h /dev/shmUse task-unique container names and persistent output/checkpoint/log roots. Clean only task-owned workers and containers. Never kill or restart another container, restart Docker, or run a global prune. If another workload blocks the run, report it.
When the runtime root is read-only, mount every framework JIT/cache location
that the selected path may create, not only the generic XDG cache. This can
include DeepGEMM (~/.deep_gemm or DG_JIT_CACHE_DIR), TensorRT-LLM,
TileLang, Triton/TorchInductor, CUDA, and FlashInfer caches. A family-wide
EROFS failure while creating one of these directories is runner plumbing,
not evidence that its shapes or kernel are unsupported. Preserve the rejected
attempt, fix only the task runner, and rerun in a fresh namespace.
Treat an OOM as unclassified until the same case fails on a clean GPU. Check for stale workers, retained weights, descriptor/JIT caches, and oversized dummy allocations before adding a capacity rule.
ai-dynamo/aiconfigurator.data/<system>-<backend>-<version> or codex/<system>-<backend>-<version>.(system, backend, version) once the branch exists and the scope is known. Use it as the remote checkpoint even before all data is ready.export PYTHONPATH="$PWD"
export COLLECTOR_LOG_DIR="$PWD/collector_logs"
export COLLECTOR_CHECKPOINT_DIR="$PWD/collector_checkpoints"
mkdir -p "$COLLECTOR_LOG_DIR"
mkdir -p "$COLLECTOR_CHECKPOINT_DIR"Local validation often works with the repo's pinned environment:
uv run --frozen ruff check <files>
uv run --frozen ruff format --check <files>
uv run --frozen pytest <tests> -qIf the local uv environment lacks framework packages such as torch, run framework-dependent collector smoke tests in the runtime container instead of trying to mutate the host environment.
Container pattern:
docker run --rm -it --gpus all --ipc=host --network host \
--ulimit memlock=-1 --ulimit stack=67108864 \
-v "$PWD:/workspace" -w /workspace \
<runtime-image> bash
export PYTHONPATH=/workspace
export COLLECTOR_LOG_DIR=/workspace/collector_logs/<backend>/<version>/<op>
mkdir -p "$COLLECTOR_LOG_DIR"
python collector/collect.py --backend <backend> --ops <op> --smoke
python collector/collect.py --backend <backend> --ops <op> \
--checkpoint-dir "$COLLECTOR_CHECKPOINT_DIR/<backend>/<version>/<op>" --resumeInside the container, record the real framework version:
python - <<'PY'
import importlib.metadata as m
for pkg in ("tensorrt_llm", "sglang", "vllm"):
try:
print(pkg, m.version(pkg))
except Exception:
pass
PYUpdate the draft PR body whenever scope changes or a meaningful checkpoint lands. Include current status, what is still partial, and links or paths to failure summaries.
If the system is new or incomplete:
aic-core/src/aiconfigurator_core/systems/<system>.yaml.<system> to SupportedSystems in
aic-core/src/aiconfigurator_core/sdk/common.py.aic-core/src/aiconfigurator_core/systems/data/<system>/.gpu.mem_bwgpu.mem_capacitygpu.powergpu.sm_versionnode.num_gpus_per_nodemisc.nccl_versionmisc.other_memPrefer verified values from nvidia-smi, node docs, or nearby existing YAML files. If a value is an estimate, leave a comment.
Run:
pytest tests/unit/sdk/test_common.py -qBefore collecting a new framework version or a new GPU SM target, check whether collector code matches the runtime. This avoids spending hours on known-bad grids.
collector/<backend>/registry.py for version routes and the concrete collect_xx.py files registered for this version.collect_xx.py file: docstring, __compat__, version notes, SM gates, and known unsupported filters.Commit and push preflight collector fixes before starting long full runs.
Read the backend registry:
python3 - <<'PY'
from collector.sglang.registry import REGISTRY as SGLANG
from collector.vllm.registry import REGISTRY as VLLM
from collector.trtllm.registry import REGISTRY as TRTLLM
for name, reg in [("sglang", SGLANG), ("vllm", VLLM), ("trtllm", TRTLLM)]:
print(name, [e.op for e in reg])
PYRecommended order:
gemmmoeFor new GPUs, prioritize ops used by the target models and backend first, but do not claim full support until all expected ops for that backend/version are collected or explicitly marked unsupported.
For an all-backend bring-up, run this as separate draft PRs:
For each backend/version, enumerate registry ops and create a tracking table with: op, collector file, perf filename, smoke status, full status, row count, duplicate-key status, AIC sanity status, and unsupported notes. Keep this table in a local scratch file and summarize it in the PR body.
For each op:
python3 collector/collect.py --backend <backend> --ops <op> --smoke
python3 collector/collect.py --backend <backend> --ops <op> --shuffle --limit 20
python3 collector/collect.py --backend <backend> --ops <op> --shuffle --limit 100
python3 collector/collect.py --backend <backend> --ops <op> \
--checkpoint-dir "$COLLECTOR_CHECKPOINT_DIR/<backend>/<version>/<op>" --resumeUse a separate log directory per op when iterating:
export COLLECTOR_LOG_DIR="$PWD/collector_logs/<backend>/<version>/<op>"
export COLLECTOR_CHECKPOINT_DIR="$PWD/collector_checkpoints"
mkdir -p "$COLLECTOR_LOG_DIR"
mkdir -p "$COLLECTOR_CHECKPOINT_DIR/<backend>/<version>/<op>"If the process times out or crashes after partial progress, rerun with the same --checkpoint-dir and --resume. Keep checkpoints until the op is accepted. If the process has been running for about an hour, checkpoint safe progress:
Full-collection acceptance for an op:
For very long runs, commit and push safe progress periodically:
git status --short
git add collector tests src/aiconfigurator/systems
git commit --signoff -m "<backend>: <op family> progress"
git pushUse sign-off commits. If DCO fails because a commit lacks Signed-off-by, amend only the latest commit if appropriate:
git commit --amend --no-edit --signoff
git push --force-with-leaseWhen a run fails, inspect:
collection_summary_<backend>.jsonerrors_*.jsonCOLLECTOR_LOG_DIRMaintain a failure ledger for the active PR. For each failure group record: op, collector file, runtime image/version, SM, task params, exact error, classification, action taken, and whether an upstream issue was filed.
Classify each error group:
Fix policy:
collector/<backend>/registry.py to map the failing op to its collector module.collector/<backend>/collect_*.py.__compat__ where needed.get_sm_version().inter_size // tp.importlib.util.find_spec("a.b.c") with try/except ModuleNotFoundError; partial packages can make find_spec raise instead of return None.VersionRoute in collector/<backend>/registry.py and add a wrapper module with an explicit __compat__.None after a dry-run or subprocess failure, make it raise or record the skip explicitly so failed coverage is visible.collect_xx.py before execution with a clear comment and a narrow predicate.After a fix:
pytest tests/unit/collector -q
python3 collector/collect.py --backend <backend> --ops <op> --smoke
python3 collector/collect.py --backend <backend> --ops <op> --shuffle --limit 100
python3 collector/collect.py --backend <backend> --ops <op> \
--checkpoint-dir "$COLLECTOR_CHECKPOINT_DIR/<backend>/<version>/<op>" --resumeCommit small fixes:
git add collector tests
git commit --signoff -m "fix <backend> <op> collector for <system>"Use these as starting hypotheses, then verify against the actual runtime source and logs.
TRT-LLM:
max(0, dynamic_quantize - static_quantize) clamps a dynamic path that measured faster than the static baseline. Verify with remeasurement; do not invent positive latency.SGLang:
sglang is partially installed in a unit-test image, sglang.srt... probes can raise. Runtime skip checks belong in collector/sglang/collect_*.py wrappers, not necessarily in collector/common_test_cases.py.vLLM:
vllm>=0.17.0 if 0.16.0 lacks the collector API.batch * sequence regions, and document the cap.Job status is not evidence. A green harness/CI job only means the wrapper script exited zero — it does NOT mean data was collected. Two real false-success signatures (2026-07-11, sglang 0.5.14 wave-2 recollection):
No SGLang MoE backend for ...) →
collect_module_safe recorded a ModuleCollectionFailure and the job stayed
green with zero perf rows for that op. (collect.py now exits non-zero on
this, but older revisions and other harness paths do not.)TIMEOUT state is treated as retryable failure.Therefore ALWAYS verify results by content, never by status:
errors_*.json / collection_summary_*.json; any
ModuleCollectionFailure means that op collected nothing.--plan-only gives the plan size);
large shortfalls mean the run died early — check the tail of the log for
container/cluster death, not just collector errors.The canonical destination family comes from
collector/op_backend_catalog.yaml. Accept a perf file only when:
aic-core/src/aiconfigurator_core/systems/data/<system>/<family>/<backend>/<version>/.computescale_perf.parquet, where the collector
intentionally clamps negative modeled overhead to zero.Useful checks:
find aic-core/src/aiconfigurator_core/systems/data/<system>/<family>/<backend>/<version> \
-maxdepth 1 -type f -name '*_perf.parquet' -print
python3 - <<'PY'
from pathlib import Path
import math
import pyarrow.parquet as pq
ZERO_LATENCY_FILES = {"computescale_perf.parquet"}
root = Path(
"aic-core/src/aiconfigurator_core/systems/data/"
"<system>/<family>/<backend>/<version>"
)
failed = False
paths = sorted(root.glob("*_perf.parquet"))
if not paths:
print(root, "ERROR no_perf_files")
failed = True
for path in paths:
table = pq.read_table(path)
if table.num_rows == 0:
print(path.name, "rows", 0, "ERROR empty_file")
failed = True
continue
if "latency" not in table.column_names:
print(path.name, "rows", table.num_rows, "ERROR missing_required_column=latency")
failed = True
continue
allow_zero = path.name in ZERO_LATENCY_FILES
latencies = table.column("latency").to_pylist()
bad = [
value
for value in latencies
if value is None
or not math.isfinite(float(value))
or float(value) < 0
or (float(value) == 0 and not allow_zero)
]
print(path.name, "rows", table.num_rows, "bad_latency", len(bad))
failed |= bool(bad)
if failed:
raise SystemExit(1)
PYCompare row counts and latency ranges with nearby systems, such as H100/H200 for Hopper or B200/B300 for Blackwell.
Run a duplicate-key scan using the loader's expected key columns when possible. If no helper exists, group rows by all non-metric columns and report duplicates per file. Do not blindly dedupe rows before understanding whether repeated dimensions differ by dtype, backend, tensor parallelism, or model field.
Run loader and SDK tests:
pytest tests/unit/sdk/test_common.py -q
pytest tests/unit/sdk/database -q
pytest tests/unit/collector -qInstantiate the database:
python3 - <<'PY'
from aiconfigurator.sdk.perf_database import get_database
db = get_database("<system>", "<backend>", "<version>")
print(db is not None)
print(db.system_spec["gpu"])
PYRun representative CLI queries for models expected to use this backend/system:
aiconfigurator cli default --model <model> --total-gpus <n> --system <system> --backend <backend>
aiconfigurator cli generate --model-path <model> --total-gpus <n> --system <system> --backend <backend>If AIC raises PerfDataNotAvailableError, either collect the missing op or document that the model/backend mode is not supported. Do not claim support for a model path that still hits missing data.
Run sanity chart generation before declaring the PR ready:
rm -rf sanity_<system> && mkdir -p sanity_<system>
uv run --frozen python tools/sanity_check/create_charts.py \
--base-ref origin/main \
--head-ref HEAD \
--output-dir sanity_<system> \
--output-md-file sanity_<system>/comment.mdRead the generated report, not just the exit code. Fix hard failures where possible:
If the new GPU should become user-visible:
Keep commits reviewable:
add <system> system specfix <backend> collectors for <system>add <system> <backend> <version> perf datatest <system> data loadingBefore marking the draft PR ready:
git status --short
git diff --stat main...HEAD
pytest tests/unit/collector -q
pytest tests/unit/sdk/test_common.py -qPR body checklist:
nvidia-smi summary.If GitHub CLI PR editing fails because of deprecated project-card GraphQL fields, update the PR body through the REST API:
gh api repos/<owner>/<repo>/pulls/<number> -X PATCH -f body="$(cat pr_body.md)"Check CI after every push:
gh pr checks <number>
gh run view <run-id> --log-failedRuff CI runs both ruff check and ruff format --check; local targeted ruff check alone is not enough.
If the draft PR does not exist yet, open it before more long-running work:
gh repo fork ai-dynamo/aiconfigurator --clone=false
git push -u <your-fork-remote> HEAD
gh pr create --repo ai-dynamo/aiconfigurator --head <your-user>:<branch> --title "<title>" --body-file <body-file>Escalate instead of looping forever when:
In the final report, separate collected data, collector fixes, known gaps, and validation evidence.
© ai-dynamo, 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 .claude/skills/aic-auto-collect of ai-dynamo/aiconfigurator.
Open the folder on GitHubat commit f254959
Aic Auto Collect 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 |
|---|---|---|---|---|---|---|
| Aic Auto Collect this skillai-dynamo/aiconfigurator | 457 | — | ~6.9k | Automated safety check: Pass | Apache-2.0 | |
| Optimize For GPUK-Dense-AI/scientific-agent-skills | 48k | 1 repos | ~3.4k | Automated safety check: Pass | MIT | |
| GPU Kubernetes Operationssickn33/agentic-awesome-skills | 47k | 2 repos | ~3.2k | Automated safety check: Pass | MIT | |
| Perf ComparisonClickHouse/ClickHouse | 50k | — | ~3.9k | Automated safety check: Notes | Apache-2.0 | |
| Agent Collective Intelligence Coordinatorruvnet/ruflo | 74k | 2 repos | ~1k | Automated safety check: Pass | MIT | |
| Collection Digestoutline/outline | 41k | — | ~498 | Automated safety check: Pass | Custom licence |
K-Dense-AI/scientific-agent-skills
GPU-accelerates scientific Python on NVIDIA hardware and verifies that the result is correct and faster.
sickn33/agentic-awesome-skills
Operate GPU-backed Kubernetes clusters for AI inference and training with scheduling, autoscaling, node health, MIG partitioning, and cost controls.
ClickHouse/ClickHouse
Evaluate ClickHouse performance test results from existing CI/dashboard data or local perf.py runs.
ruvnet/ruflo
Agent skill for collective-intelligence-coordinator - invoke with $agent-collective-intelligence-coordinator
outline/outline
Summarize what changed in an Outline collection since a date; use when the user asks what is new, what was updated, or wants a digest of recent documents.
Orchestra-Research/AI-Research-SKILLs
Serverless GPU cloud platform for running ML workloads. An agent skill from Orchestra-Research/AI-Research-SKILLs.
ai-dynamo/aiconfigurator
Convert InferenceX DB config/benchmark pairs, Dynamo recipe YAML, or confirmed custom serving configs into validated aiconfigurator estimate requests.
ai-dynamo/aiconfigurator
Design, add, review, or modify AIC Collector operations and their case population.
ai-dynamo/aiconfigurator
A skill your agent uses when validating AIC predictions against real GPU serving measurements and root-causing fidelity gaps (prediction-vs-measured issues, memory/concurrency mismatches, per-op…
ai-dynamo/aiconfigurator
A skill your agent uses when adding perf data for a new framework version, deciding which backendversion to query or pin in tests, bumping the maintained (current/previous) versions, retiring old…
A skill your agent uses when running long AIC/aiconfigurator GPU perf auto-collection for a specific GPU/framework/frameworkversion, including draft-PR checkpoints, resumable collectxx.py runs…. Aic Auto Collect is an agent skill from ai-dynamo/aiconfigurator.py runs, framework-version/kernel preflight, collector fixes/skips, special runtime images, validation, and PR handoff.
Aic Auto Collect fits situations like: running long AIC/aiconfigurator GPU perf auto-collection for a specific GPU/framework/frameworkversion; including draft-PR checkpoints; resumable collectxx.py runs; framework-version/kernel preflight.
Run `npx skills add ai-dynamo/aiconfigurator --skill aic-auto-collect -a claude-code`. Or copy the skill folder (.claude/skills/aic-auto-collect in ai-dynamo/aiconfigurator) into .claude/skills/aic-auto-collect in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ai-dynamo/aiconfigurator --skill aic-auto-collect -a codex`. Or copy the skill folder (.claude/skills/aic-auto-collect in ai-dynamo/aiconfigurator) into .agents/skills/aic-auto-collect 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 ai-dynamo/aiconfigurator --skill aic-auto-collect -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/aic-auto-collect, .gemini/skills/aic-auto-collect, .github/skills/aic-auto-collect and .opencode/skills/aic-auto-collect in your project.
Going by SKILL.md and its folder, Aic Auto Collect needs the command-line tools its instructions call (python3, git, pytest, gh, uv and python). Our summary lists: Python 3; Docker.
SKILL.md contains no URLs. Its commands use git, gh, uv and docker, which can reach the network depending on how they are called. 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.
Aic Auto Collect 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 6.9k tokens (SKILL.md is roughly 28k 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 Aic Auto Collect: Optimize For GPU (K-Dense-AI/scientific-agent-skills, 48k stars), GPU Kubernetes Operations (sickn33/agentic-awesome-skills, 47k stars), Perf Comparison (ClickHouse/ClickHouse, 50k stars) and Agent Collective Intelligence Coordinator (ruvnet/ruflo, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ai-dynamo (a GitHub organization) maintains it in ai-dynamo/aiconfigurator, which has 457 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on September 18, 2026.
Source: ai-dynamo/aiconfigurator on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.