Agent skill

Aic Collector Op Development

by ai-dynamo in ai-dynamo/aiconfigurator

Design, add, review, or modify AIC Collector operations and their case population.

Apache-2.0Auto-check passedData & Analytics

Install Aic Collector Op Development

skills CLI
$ npx skills add ai-dynamo/aiconfigurator --skill aic-collector-op-development -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ai-dynamo/aiconfigurator aic-collector-op-development --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ai-dynamo/aiconfigurator.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/aic-collector-op-development .claude/skills/aic-collector-op-development && rm -rf skills-src

Use ~/.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/

Facts

Skill name
aic-collector-op-development
GitHub stars
457
Token cost
~3k tokens
SKILL.md length
1,509 words
Files
2
Skills in repo
5
Repo updated
First seen
Licence
Apache-2.0

At a glance

Design, add, review, or modify AIC Collector operations and their case population.

  • Works in 6 steps: Establish the consumer contract → Define three identities → Design cases without accidental… → …
  • New Collector ops
  • SKILL.md covers Required reading, Non-negotiable rules, Step 1: Establish the consumer… and Step 2: Define three identities, plus 5 more sections
  • Calls rg, ruff and pytest

What it does

Aic Collector Op Development is an agent skill from ai-dynamo/aiconfigurator. Design, add, review, or modify AIC Collector operations and their case population. Use for new Collector ops, backend registry entries, collector/cases YAML, case generators/getters, pruning or deduplication, persisted perf keys, framework-version routing, and audits of whether generated cases match Python/Rust consumers.

Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Data & Analytics, covering Data cleaning. It works with Rust and Python. The repository describes itself as: Offline optimization of your disaggregated Dynamo graph. The licence is Apache-2.0.

When your agent uses it

  • New Collector ops
  • Backend registry entries
  • Collector/cases YAML
  • Case generators/getters

Example prompts

  • “/aic-collector-op-development”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Establish the consumer contract
  2. Define three identities
  3. Design cases without accidental Cartesian products
  4. Implement one vertical slice
  5. Narrow coverage only through the declared homes
  6. Validate in layers

What it can do on your machine

Read from SKILL.md and the folder at commit f254959. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • rg
    • ruff
    • pytest
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Aic Collector Op Development loads about 3k tokens when it runs. Until then it costs about 88 tokens; SKILL.md has 1,509 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~88
When it runs · the whole SKILL.md, loaded when a task matches
~3k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from ai-dynamo/aiconfigurator at commit f254959, republished under its Apache-2.0 licence (© ai-dynamo). 1,509 words, ~3,036 tokens.

Download SKILL.mdSave it as .claude/skills/aic-collector-op-development/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
aic-collector-op-development
description
Design, add, review, or modify AIC Collector operations and their case population. Use for new Collector ops, backend registry entries, collector/cases YAML, case generators/getters, pruning or deduplication, persisted perf keys, framework-version routing, and audits of whether generated cases match Python/Rust consumers.

AIC Collector OP Development

Build the smallest Collector change whose benchmark invocations are valid and whose persisted rows satisfy the existing AIC consumer contract.

Required reading

Before editing, read:

  1. .claude/rules/collector/layer_permissions.md, .claude/rules/collector/failure_handling.md, and .claude/rules/collector/case_authoring.md — the repository-owned policy. It is authoritative over anything restated in this skill.
  2. collector/README.md
  3. collector/cases/README.md
  4. docs/perf_database/collector-v2-population-design.md, especially Three identities, Population flow, and Safe deduplication rules
  5. The relevant collector/<backend>/registry.py, collector module, and model/base case YAML
  6. Every Python and Rust loader/query that consumes the op's perf file

If the task proceeds to GPU collection, also use $aic-auto-collect.

Non-negotiable rules

  • Treat Collector output as an existing-consumer contract. Do not modify SDK, Rust, EngineSpec, or Dynamo Planner merely to make a generated case useful. Consumer changes require separate explicit scope.
  • Do not call a case invalid merely because the synthetic collector cannot run it. If the framework and consumer support the shape, fix or record the Collector gap instead of pruning coverage.
  • Do not restore coverage with a different kernel under the same logical label. Persisted quant/backend labels must describe the invocation that actually ran.
  • Do not modify historical snapshots to make an alignment test pass. Use read-only comparisons as review evidence.
  • Do not add permanent legacy_* runtime concepts for a one-time migration. Put production defaults in normal base-op YAML and keep migration comparisons outside the runtime schema.
  • Do not ship a deduplication path unless current repository-owned YAML produces at least one duplicate invocation. Record that stage's before/after counts and prove that the unique invocation and persisted-key sets are unchanged. Remove no-op deduplication instead of manufacturing duplicate-only fixtures for it.
  • Treat the public getter and any subprocess or inner re-expansion as one population contract. Full/raw and targeted entry paths must consume the same resolved YAML quantization and SM gates; do not reconstruct the policy with a second hard-coded hardware heuristic.
  • A case-population change may touch collector/collect.py only for model/op plan selection required by the resolved case plan. Generic resume, retry, checkpoint, logging, and output-finalization behavior require separate explicit scope.
  • Anchor collector behavior to the requested framework version. Prefer one verified __compat__/version route over speculative multi-version branches.

Step 1: Establish the consumer contract

Search from the perf filename and op name through both producers and consumers:

bash
rg -n "<op_name>|<perf_filename>|query_<op>" collector src rust tests
rg -n "PerfFile|PerfDataFilename|log_perf" collector src rust

Record a temporary contract table; do not commit it unless it is useful product documentation:

AxisRecipe sourceChanges invocation?Persisted key?Consumer query valuesEvidence

Answer before coding:

  • Which columns form the exact lookup key?
  • Which axes interpolate, and which require an exact bucket?
  • Which TP, EP, head, window, quant, dtype, phase, and backend values can the consumer request?
  • Does a missing key fail, use an empirical fallback, or silently select another path?
  • Does the op have a production consumer? If not, keep it registry-only or explicitly experimental instead of adding it to default model plans.

Never assume an adjacent key is a fallback. Verify it in the loader/query code.

Step 2: Define three identities

Keep these separate:

  1. Recipe identity: why YAML requested the work.
  2. Benchmark invocation identity: every value that can change the executed model, kernel, runtime setup, or quantization.
  3. Persisted physical key: the columns used by current consumers.

Deduplicate only when both invocation identity and persisted key are equivalent. A persisted-key collision is a bug unless the invocations are proven identical. If repository-owned cases map distinct invocation identities to one consumer key, fail population with the conflicting owners and key. Do not silently use first-wins or widen the SDK/Rust schema inside a Collector-only change.

Examples:

  • Model aliases may collapse for a shape-only synthetic benchmark.
  • Checkpoint paths must remain separate while native quantization or module behavior is path-dependent.
  • W4A16 and W4A8 are distinct when activation precision changes.
  • NVFP4, MXFP4, FP8, and INT4 labels are not interchangeable because geometry happens to match.

Step 3: Design cases without accidental Cartesian products

  • Keep independent workload axes such as batch or token count as lists.
  • Keep correlated structural axes in one profile. Typical correlated fields are (heads, KV heads, head dimension, window, TP) and (experts, top-k, hidden, intermediate, TP, EP, quant).
  • Put shared production defaults in collector/cases/base_ops/<op>.yaml.
  • Put model-native topology and artifact policy in collector/cases/models/*_cases.yaml.
  • Make targeted structural population exact when a model profile exists; it may still reuse shared workload sweeps. Full/raw collection may union defaults and model profiles, then stably deduplicate.
  • Use stable first-wins deduplication on the real invocation/key identity. When equivalent recipe representations collapse, document the canonical representative (for example the smallest TP for a local-head key).
  • Add a generic synthetic default only when a consumer or interpolation need is demonstrated.

For an existing op, compare current and candidate physical key sets during the change. This is change-specific evidence, not a permanent compatibility mode. Report kept, added, removed, and deduplicated separately; totals alone cannot reveal coverage loss. Migration baselines, exact V1 totals, and historical snapshots are review evidence, not permanent unit-test contracts unless an unchanged consumer explicitly depends on that exact inventory.

Step 4: Implement one vertical slice

Touch only the layers the op needs:

  1. Base/model YAML and model-plan selection
  2. Case generator/getter when YAML cannot express the required correlation
  3. Backend collector implementation
  4. Backend registry and exact framework version route
  5. Persisted schema/logging
  6. Focused tests for generated cases and consumer-visible keys

Before adding a helper, schema field, or filter—and again before finalizing—find its producer in current repository-owned YAML and its reader on a production population path. If a later design decision removes either side, delete the orphan. Do not retain speculative aliases, phase selectors, compatibility modes, or one-time audit scaffolding.

Show full SKILL.md (592 more words)Show less

Step 5: Narrow coverage only through the declared homes

A queued case has two legal collector outcomes: execute it, or raise (layer_permissions.md). Coverage narrowing happens only in the auditable declaration homes — capabilities.yaml positive floors, registry unverified/unverified_sms markers, the hang denylist, declared model correlations, and the sanctioned memory-feasibility filter — each backed by:

  • Exact-version framework source showing the path is unsupported, or
  • A minimal runtime repro on the target framework/GPU, or
  • A proven invocation/key duplicate.

An op with no production consumer stays registry-only or explicitly experimental instead of joining default model plans. Keep shared generators deterministic; avoid framework imports or runtime availability probes in shared YAML population.

Pay special attention to boundaries:

  • EP>1 and TP>1, including combinations queried independently
  • Per-rank dimensions after TP/EP sharding
  • Global versus sliding-window attention
  • Hopper versus Blackwell quantization support
  • Native versus converted checkpoint artifacts
  • Context versus generation phases

If the framework supports a boundary but the collector harness does not, file a TODO/issue and keep the missing coverage visible. Do not describe it as pruned unsupported input.

Step 6: Validate in layers

Static population
  • Generate full/raw and representative targeted plans through each changed op's registry/public getter; testing only a shared case generator is not sufficient.
  • Count generator recipes, raw getter tasks, scheduled tasks (after capability floors, registry maturity markers, and the denylist), token-expanded benchmark invocations, and unique persisted keys separately.
  • For every deduplication, record stage-local before/after, unique invocation, and unique persisted-key counts using repository-owned inputs. Name the stage being counted (generator recipes, raw getter tasks, scheduled tasks, or token-expanded invocations). If the count at the dedupe stage does not decrease, remove the deduplication path.
  • When a runtime or subprocess expands an inner sweep, compare its quantization and SM policy with the outer getter. Test both sides of every changed hardware gate and assert that unsupported precision labels are absent.
  • Apply model plan selection, capability floors, registry maturity markers, and the denylist before reporting a count as the final scheduled queue; raw getter counts are not final plan counts.
  • Assert invocation IDs and persisted keys have no unexplained duplicates.
  • Assert required consumer query keys are covered.
  • Assert unrelated model dimensions never cross.
  • Assert targeted plans do not inherit unrelated defaults or ops.
Unit checks

Prefer behavior tests over copied migration inventories or AST tests of which helper a function calls. Keep focused tests for:

  • Structural correlation and boundary TP/EP values
  • Quant/artifact policy
  • Alias versus path-sensitive behavior
  • Stable deduplication on the real invocation/key identity
  • Registry/version routing and plan selection
  • Persisted key names and local/global dimension semantics

Run at minimum:

bash
.venv/bin/pytest -q tests/unit/collector
.venv/bin/ruff check collector tests/unit/collector
.venv/bin/ruff format --check collector tests/unit/collector
git diff --check
Runtime smoke

Run inside the exact target framework image and record the installed package version. Include representative cases for every material branch, not merely the smallest cases:

  • Each quantization/kernel path
  • EP1 and EP>1 when supported
  • Low and high TP
  • Global and each supported window family
  • Context and generation
  • At least one model/artifact per path-sensitive branch

Then verify the produced rows can be loaded and queried by the unchanged AIC consumer. A successful kernel timing alone is insufficient.

Definition of done

Do not call the op complete until the handoff states:

  • Exact framework version, GPU/SM, backend, and __compat__ route
  • Consumer lookup contract and fallback behavior
  • Case counts by backend/op: kept, added, removed, deduplicated, skipped
  • Evidence for every prune/skip
  • Unit/lint/runtime-smoke results
  • A real consumer query or support-matrix sanity check
  • Remaining gaps, especially required EP/TP/quant/window buckets
  • Whether the change touched Collector only; if not, why broader scope was explicitly authorized
  • A final changed-file and changed-symbol audit that accounts for every production Python change and finds no orphan schema/helper, no no-op deduplication, and no unrelated orchestration behavior

© 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

Files

SKILL.md and 1 other file in .claude/skills/aic-collector-op-development of ai-dynamo/aiconfigurator.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit f254959

Compare with similar skills

Aic Collector Op Development 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.

Aic Collector Op Development compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Aic Collector Op Development this skillai-dynamo/aiconfigurator457—~3kAutomated safety check: PassApache-2.0
Pandas ProJeffallan/claude-skills12k1 repos~1.5kAutomated safety check: PassMIT
Openbb Data Fetchermonarchjuno/vibe-investing299—~2.9kAutomated safety check: NotesMIT
Credit Risk Data Cleaninggithub/awesome-copilot40k1 repos~1.5kAutomated safety check: PassMIT
Check Upstreamapache/datafusion-python607—~5.9kAutomated safety check: PassApache-2.0
Code EngineeropenJiuwen-ai/sciencediscovery159—~2.8kAutomated safety check: PassApache-2.0

Similar skills

  • Pandas Pro

    Jeffallan/claude-skills

    Handles pandas DataFrame work: cleaning, merging, groupby aggregation, pivots, time-series resampling and memory tuning, with checks on dtypes, shapes and nulls.

    12k GitHub starsUsed in 1 repo~1.5k tokens
    Data & AnalyticsAuto-check passed
  • Openbb Data Fetcher

    monarchjuno/vibe-investing

    Fetch financial, market, economic, fundamental, news, options, crypto, ETF, index, and macro data through the OpenBB Python interface instead of the OpenBB MCP server.

    299 GitHub stars~2.9k tokensUpdated 5 mo ago
    Data & AnalyticsAuto-check: notes
  • Credit Risk Data Cleaning

    github/awesome-copilot

    Official

    Cleans raw credit data and screens variables before loan modeling, dropping unstable, noisy or redundant features and writing an Excel report of every step.

    40k GitHub starsUsed in 1 repo~1.5k tokens
    Data & AnalyticsAuto-check passed
  • Check Upstream

    apache/datafusion-python

    Check if upstream Apache DataFusion features (functions, DataFrame ops, SessionContext methods, FFI types) are exposed in this Python project.

    607 GitHub stars~5.9k tokensUpdated yesterday
    Data & AnalyticsAuto-check passed
  • Code Engineer

    openJiuwen-ai/sciencediscovery

    A skill your agent uses when you need to write and execute Python/R code to process, transform, and analyze data, delivering reproducible computational results with complete code-level methodology…

    159 GitHub stars~2.8k tokensUpdated today
    Data & AnalyticsAuto-check passed
  • Authoritative Data Harvester

    yushui2022/MathModel-Skill

    Finds authoritative public data sources for modeling tasks, prefers official APIs and bulk downloads, and outputs a reproducible fetch and cleaning plan with citations.

    454 GitHub starsUsed in 1 repo~1.1k tokens
    Data & AnalyticsAuto-check passed

More from ai-dynamo/aiconfigurator

  • Adapt Server Config

    ai-dynamo/aiconfigurator

    Convert InferenceX DB config/benchmark pairs, Dynamo recipe YAML, or confirmed custom serving configs into validated aiconfigurator estimate requests.

    457 GitHub stars~828 tokensUpdated 22 days ago
    Auto-check passed
  • Aic Auto Collect

    ai-dynamo/aiconfigurator

    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…

    457 GitHub stars~6.9k tokensUpdated 22 days ago
    Auto-check passed
  • Aic Silicon Align

    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…

    457 GitHub stars~1.2k tokensUpdated 22 days ago
    Auto-check passed
  • Aic Version Slots

    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…

    457 GitHub stars~878 tokensUpdated 22 days ago
    Auto-check passed

Works with

Questions about Aic Collector Op Development

What does Aic Collector Op Development do?

Design, add, review, or modify AIC Collector operations and their case population. Aic Collector Op Development is an agent skill from ai-dynamo/aiconfigurator. Design, add, review, or modify AIC Collector operations and their case population.

When should I use Aic Collector Op Development?

Aic Collector Op Development fits situations like: new Collector ops; backend registry entries; collector/cases YAML; case generators/getters.

How do I install Aic Collector Op Development in Claude Code?

Run `npx skills add ai-dynamo/aiconfigurator --skill aic-collector-op-development -a claude-code`. Or copy the skill folder (.claude/skills/aic-collector-op-development in ai-dynamo/aiconfigurator) into .claude/skills/aic-collector-op-development in your project. Claude Code loads it when a task matches its description.

How do I install Aic Collector Op Development in Codex?

Run `npx skills add ai-dynamo/aiconfigurator --skill aic-collector-op-development -a codex`. Or copy the skill folder (.claude/skills/aic-collector-op-development in ai-dynamo/aiconfigurator) into .agents/skills/aic-collector-op-development in your project. Codex loads it when a task matches its description.

Can I use Aic Collector Op Development in Cursor, Gemini CLI or GitHub Copilot?

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-collector-op-development -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-collector-op-development, .gemini/skills/aic-collector-op-development, .github/skills/aic-collector-op-development and .opencode/skills/aic-collector-op-development in your project.

What does Aic Collector Op Development need to run?

Going by SKILL.md and its folder, Aic Collector Op Development needs the command-line tools its instructions call (rg, ruff, pytest and git). Our summary lists: Python 3.

Does Aic Collector Op Development access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Aic Collector Op Development safe to install?

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.

What licence does Aic Collector Op Development use?

Aic Collector Op Development 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.

How many tokens does Aic Collector Op Development use?

About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Aic Collector Op Development?

Skills that share tags, products or a category with Aic Collector Op Development: Pandas Pro (Jeffallan/claude-skills, 12k stars), Openbb Data Fetcher (monarchjuno/vibe-investing, 299 stars), Credit Risk Data Cleaning (github/awesome-copilot, 40k stars) and Check Upstream (apache/datafusion-python, 607 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Aic Collector Op Development?

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.