AU

autogluon-conda-upgrade

Standardizes the process of upgrading AutoGluon packages in conda-forge through automated PR generation.

Install

mkdir -p .claude/skills/autogluon-conda-upgrade && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/8132" && unzip -o skill.zip -d .claude/skills/autogluon-conda-upgrade && rm skill.zip

Installs to .claude/skills/autogluon-conda-upgrade

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Automate AutoGluon conda-forge feedstock version upgrades. Use when the user wants to upgrade AutoGluon to a new version in conda-forge, create PRs for AutoGluon conda feedstocks, or update autogluon.common, autogluon.core, autogluon.features, autogluon.tabular, autogluon.multimodal, autogluon.timeseries, or autogluon meta-package feedstocks.
344 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Intermediate

Key capabilities

  • Automate AutoGluon version upgrades
  • Fork and clone conda-forge feedstocks
  • Compute SHA256 hashes for release tarballs
  • Generate pull requests for feedstock updates
  • Analyze dependency version bounds

How it works

It automates the feedstock update process by syncing forks, updating meta.yaml files with new hashes and dependencies, and creating PRs in dependency order.

Inputs & outputs

You give it
New AutoGluon version number
You get back
Pull requests for all AutoGluon conda feedstocks

When to use autogluon-conda-upgrade

  • Updating AutoGluon version in conda
  • Generating conda-forge PRs
  • Managing AutoGluon meta-package upgrades

About this skill

AutoGluon Conda Feedstock Upgrade Workflow

CRITICAL: DO NOT MERGE PULL REQUESTS. Only create PRs. The user will review and merge them manually.

Step 1: Prerequisites Check

1.1 Check GitHub CLI

gh --version

If not installed, stop and tell the user to install from https://github.com/cli/cli#installation and run gh auth login.

1.2 Check Authentication

gh auth status

If not authenticated, ask user to run gh auth login.

1.3 Gather User Input

Ask for:

  • New AutoGluon version number (e.g., 1.5.0)
  • Working directory (default: ~/autogluon-feedstock-upgrade)

Step 2: Setup Working Directory and Fork/Clone Repos

mkdir -p {WORKING_DIR}
cd {WORKING_DIR}

gh repo fork conda-forge/autogluon.common-feedstock --clone=true --remote=true
gh repo fork conda-forge/autogluon.features-feedstock --clone=true --remote=true
gh repo fork conda-forge/autogluon.core-feedstock --clone=true --remote=true
gh repo fork conda-forge/autogluon.tabular-feedstock --clone=true --remote=true
gh repo fork conda-forge/autogluon.multimodal-feedstock --clone=true --remote=true
gh repo fork conda-forge/autogluon.timeseries-feedstock --clone=true --remote=true
gh repo fork conda-forge/autogluon-feedstock --clone=true --remote=true

Step 3: Compute SHA256 Hash

curl -sL "https://github.com/autogluon/autogluon/archive/refs/tags/v{NEW_VERSION}.tar.gz" -o /tmp/autogluon-{NEW_VERSION}.tar.gz
openssl sha256 /tmp/autogluon-{NEW_VERSION}.tar.gz | awk '{print $2}'
rm /tmp/autogluon-{NEW_VERSION}.tar.gz

If curl fails with 404, ask user to verify the version number.

Step 4: Fetch and Analyze Dependencies

4.1 Get Current (Old) Version

Read from {WORKING_DIR}/autogluon.common-feedstock/recipe/meta.yaml:

{% set version = "X.Y.Z" %}

4.2 Fetch Version Bounds

Fetch _setup_utils.py for both versions:

  • New: https://raw.githubusercontent.com/autogluon/autogluon/refs/tags/v{NEW_VERSION}/core/src/autogluon/core/_setup_utils.py
  • Old: https://raw.githubusercontent.com/autogluon/autogluon/refs/tags/v{OLD_VERSION}/core/src/autogluon/core/_setup_utils.py

Extract DEPENDENT_PACKAGES dictionary and PYTHON_REQUIRES string.

4.3 Fetch Package-Specific Setup Files

For each subpackage (common, features, core, tabular, multimodal, timeseries, autogluon), fetch: https://raw.githubusercontent.com/autogluon/autogluon/refs/tags/v{NEW_VERSION}/{SUBPACKAGE}/setup.py

The install_requires shows which DEPENDENT_PACKAGES each subpackage needs.

4.4 Create Dependency Change Summary

Compare old vs new. Summarize:

  1. Changed version bounds
  2. Added dependencies
  3. Removed dependencies
  4. Python version changes

Present summary to user and ask for confirmation before proceeding.

Step 5: Update Each Feedstock

Process in dependency order:

OrderFeedstockDependencies
1autogluon.common-feedstock(none)
2autogluon.features-feedstockcommon
3autogluon.core-feedstockcommon
4autogluon.tabular-feedstockcore, features
5autogluon.multimodal-feedstockcore
6autogluon.timeseries-feedstockcore, tabular
7autogluon-feedstockall subpackages

For Each Feedstock:

5.1 Sync Fork and Create Branch (DO THIS FIRST)

cd {WORKING_DIR}/{FEEDSTOCK_NAME}
git fetch upstream
git checkout main
git reset --hard upstream/main
git checkout -b {NEW_VERSION}

5.2 Read Current meta.yaml

After creating branch, read recipe/meta.yaml to understand current structure.

5.3 Update meta.yaml

  1. Update version: {% set version = "{NEW_VERSION}" %}
  2. Update sha256: Use computed hash
  3. Reset build number: number: 0
  4. Update Python version (if changed): python >={{ python_min }},<{NEW_PYTHON_MAX}
  5. Update dependency version bounds: Match DEPENDENT_PACKAGES

Rules:

  • Keep autogluon.* dependencies as =={{ version }}
  • Only include dependencies from that package's setup.py
  • Preserve existing comments
  • Use conda naming (see Package Name Mappings below)

5.4 Handle python_min Changes

If minimum Python changed, update .ci_support/linux_64_.yaml:

python_min:
- '{NEW_PYTHON_MIN}'

Step 6: Commit and Push

For each feedstock:

cd {WORKING_DIR}/{FEEDSTOCK_NAME}
git add recipe/meta.yaml
git commit -m "Update to v{NEW_VERSION}"
git push -u origin {NEW_VERSION}

Step 7: Create Pull Requests

For each feedstock:

cd {WORKING_DIR}/{FEEDSTOCK_NAME}
gh pr create \
  --repo conda-forge/{FEEDSTOCK_NAME} \
  --title "Update to v{NEW_VERSION}" \
  --body "$(cat <<'EOF'
## Summary
- Update {PACKAGE_NAME} to version {NEW_VERSION}
- Updated dependency version bounds from upstream

## Dependency Changes
{LIST_RELEVANT_CHANGES}

## Checklist
* [x] Used a personal fork of the feedstock to propose changes
* [x] Reset the build number to `0`
* [ ] Re-rendered (Use `@conda-forge-admin, please rerender` in a comment)
EOF
)"

Step 8: Final Summary

8.1 Provide PR Links

List all 7 created PRs with clickable links.

8.2 Merge Order Reminder

Merge PRs in dependency order:

  1. autogluon.common (no dependencies)
  2. autogluon.features and autogluon.core (parallel)
  3. autogluon.tabular and autogluon.multimodal (parallel)
  4. autogluon.timeseries
  5. autogluon (meta-package)

8.3 Post-Merge Instructions

After each PR's CI passes:

  1. Comment: @conda-forge-admin, please rerender
  2. Wait for rerender bot to update
  3. Once CI passes again, merge
  4. Wait for package to be published before merging dependent PRs

Appendix A: Dependency Tree

autogluon.common (base - no AG deps)
    │
    ├── autogluon.features (depends: common)
    │
    ├── autogluon.core (depends: common)
    │       │
    │       ├── autogluon.tabular (depends: core, features)
    │       │
    │       ├── autogluon.multimodal (depends: core)
    │       │
    │       └── autogluon.timeseries (depends: core, tabular)
    │
    └── autogluon [meta-package] (depends: all subpackages)

Appendix B: URL Patterns

ResourceURL
Release tarballhttps://github.com/autogluon/autogluon/archive/refs/tags/v{VERSION}.tar.gz
Version bounds filehttps://raw.githubusercontent.com/autogluon/autogluon/refs/tags/v{VERSION}/core/src/autogluon/core/_setup_utils.py
Package setup.pyhttps://raw.githubusercontent.com/autogluon/autogluon/refs/tags/v{VERSION}/{SUBPACKAGE}/setup.py

Appendix C: Sample PRs

Appendix D: Package Name Mappings

PyPI NameConda-Forge Name
torchpytorch
Pillowpillow
scikit-learnscikit-learn
PyYAMLpyyaml
opencv-pythonopencv
tensorflowtensorflow

When not to use it

  • Merging pull requests directly
  • Manual feedstock repository management

Prerequisites

GitHub CLI (gh)Authenticated GitHub session

Limitations

  • Requires manual review and merging of PRs
  • Depends on GitHub CLI for repository operations
  • Limited to predefined AutoGluon subpackages

How it compares

It automates the entire multi-repo update workflow and dependency analysis instead of manually updating each feedstock individually.

Compared to similar skills

autogluon-conda-upgrade side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
autogluon-conda-upgrade (this skill)06moReviewIntermediate
dev26moReviewAdvanced
pre-release13moReviewIntermediate
emitter-package-update12moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

dev

atopile

LLM-focused workflow for working in this repo: compile Zig, run the orchestrated test runner, consume test-report.json/html artifacts, and discover/debug ConfigFlags.

28

pre-release

ZhuoZhuoCrayon

Automates release preparation for throttled-py. Triggers when user message contains: - "release vX.Y.Z" with a GitHub release draft URL - "release vX.Y.Z" followed by changelog content Tasks: update version numbers, sync CHANGELOG_EN.rst and CHANGELOG.rst, run dependency sync.

11

emitter-package-update

Azure

Automate bumping typespec-python version in emitter-package.json for the Azure SDK for Python repository. Use this skill when the user wants to update @azure-tools/typespec-python to the latest version, create a PR for the version bump, or manage emitter-package.json updates.

10

klingai-ci-integration

jeremylongshore

Execute integrate Kling AI video generation into CI/CD pipelines. Use when automating video content generation in build pipelines. Trigger with phrases like 'klingai ci', 'kling ai github actions', 'klingai automation', 'automated video generation'.

01

uv

julianobarbosa

Guide for using uv - an extremely fast Python package and project manager written in Rust. Use when installing Python, managing virtual environments, adding dependencies, running scripts, building packages, or working with pyproject.toml. Replaces pip, pip-tools, pipx, poetry, pyenv, twine, and virt

00

airflow

ComeOnOliver

Apache Airflow lets you define workflows as Directed Acyclic Graphs (DAGs) in Python. Each DAG consists of tasks connected by dependencies, scheduled and monitored via a web UI.

00

Search skills

Search the agent skills registry