npx skills add ...
npx skills add nvidia/elements --skill audit-ci
Run and analyze Elements cold CI performance profiles and propose evidence-backed build, test, lint, and dependency-graph improvements. Use whenever asked to profile or benchmark pnpm run ci, rerun ci:profile, create a CI performance audit, compare CI timings, find bottlenecks or the completion path, investigate a CI performance regression, or recommend measured CI/build optimizations.
npx skills add nvidia/elements --skill audit-ci
Produce a repeatable cold-CI profile, explain what controls wall-clock completion, and turn the evidence into prioritized, testable recommendations.
AGENTS.md.projects/internals/BUILD.md.ci:profile script and projects/internals/ci/ci-profile.js. Treat the script as the profiling source of truth.DEVELOPMENT.md before running project-specific commands when that file exists.Do not copy profiling logic into this skill. Update the repository profiler when its behavior needs to change.
.metrics/ci-profile.{json,md} artifacts without rerunning when the user asks only for interpretation and the artifacts match the intended commit and worktree state.Run all repository commands through mise.
Inspect git status --short.
Preview ignored files that reset would delete with git clean -ndX.
Stop and ask before profiling if that preview includes user data, local assets, secrets, or other non-reproducible files. The profiler runs pnpm run ci:reset, which deletes ignored files and reinstalls dependencies before every sample.
Never stash, commit, discard, or clean tracked changes merely to make the profiler accept the worktree.
Use the clean command when the worktree is clean:
When the dirty changes are the intentional subject of the audit, preserve them and run:
Record the dirty-worktree condition in the report. Do not use this override for unrelated or unexplained changes.
Allow all three cold samples to finish. Dependency installation or browser setup can require network access. If a run fails, inspect the copied .metrics/ci-profile-run-*.log and reset logs, report the incomplete profile, and do not invent missing samples.
The profiler writes ignored artifacts under .metrics/:
ci-profile.json: structured metadata, run durations, and per-script samplesci-profile.md: generated method and top-ten summaryci-profile-run-{1,2,3}.log: complete CI logsci-profile-reset-{1,2,3}.log: reset and install logsBefore analysis, confirm:
Use JSON as the numeric source of truth. Keep full precision during calculations and round only for presentation.
The slowest command is not automatically the critical path.
ci-profile.json.dependencies in the relevant package.json files.Read the optimization playbook when generating recommendations or designing follow-up experiments.
Create or refresh projects/internals/ci/CI-PERFORMANCE.md. Use .metrics/ci-profile.md as generated evidence, not as the finished audit.
Include:
For every finding, provide:
Keep completed work out of the open priority list. Mark an item verified only when the configuration changed and a comparable full profile confirms the result.
Run:
If projects/internals/ci/ci-profile.test.js exists, also run:
Do not rerun the full CI merely to validate the report: the profiler already completed it three times. Report the median, comparison, top remaining opportunities, artifact paths, and validation results to the user.