Skip to content

ENH: Add update-third-party Agent Skill for VS Code Copilot#5867

Merged
hjmjohnson merged 1 commit intoInsightSoftwareConsortium:mainfrom
blowekamp:add-update-third-party-skill
Mar 7, 2026
Merged

ENH: Add update-third-party Agent Skill for VS Code Copilot#5867
hjmjohnson merged 1 commit intoInsightSoftwareConsortium:mainfrom
blowekamp:add-update-third-party-skill

Conversation

@blowekamp
Copy link
Member

This PR introduces a new Agent Skill for VS Code with GitHub Copilot that automates the process of updating ITK third-party libraries.

What are Agent Skills?

Agent Skills are reusable AI workflows that extend GitHub Copilot's capabilities in VS Code. They enable domain-specific automation while maintaining human oversight and following project-specific conventions. Learn more at agentskills.io.

Overview

The update-third-party skill streamlines ITK's existing update-third-party.bash workflow, automating routine tasks while preserving important manual review steps.

What the Skill Does

The skill automates:

  • ✅ Branch creation from origin/main
  • ✅ Updating version tags in UpdateFromUpstream.sh scripts
  • ✅ Running the extraction and merge process
  • ✅ Detecting merge conflicts
  • ✅ Checking for symbol mangling updates
  • ✅ Creating detailed pull requests

What Requires Human Review

  • 🔍 Resolving merge conflicts (skill provides ITK-specific guidance)
  • 🔍 Verifying symbol mangling updates for C libraries
  • 🔍 Building and testing changes locally
  • 🔍 Reviewing generated commits and PR descriptions

Usage

@workspace /updateThirdParty <library-name> <version-tag>

Example:

@workspace /updateThirdParty PNG v1.6.54

Documentation Changes

This PR includes:

  1. New Skill File: .github/skills/update-third-party/SKILL.md

    • Complete workflow automation instructions
    • ITK-specific conventions and requirements
    • Troubleshooting guidance
  2. Updated Contributor Guide: Documentation/docs/contributing/updating_third_party.md

    • New section on using the automated skill
    • Guidance on when to use automation vs. manual process
    • Cross-references to skill documentation
  3. Bidirectional Links: Both documents reference each other for easy navigation

Benefits

  • Consistency: Follows ITK conventions automatically (commit messages, branch names, PR format)
  • Efficiency: Reduces manual steps for routine updates
  • Safety: Preserves human review for critical decisions
  • Documentation: Generates detailed PR descriptions with release notes

Testing

The skill has been successfully used to update:

  • ✅ Eigen3 to for/itk-20260305-4c99fca
  • ✅ PNG to v1.6.54 (with conflict resolution and symbol mangling)
  • ✅ Expat to R_2_7_4 (with conflict resolution)
  • ✅ zlib-ng to 2.3.3 (with file structure changes and conflict resolution)

All updates followed proper ITK workflow and are documented in PRs #5864, #5865, and #5866.

Notes

  • This skill complements, but does not replace, the existing manual process
  • The underlying update-third-party.bash framework remains unchanged
  • The skill is opt-in and only available to VS Code users with GitHub Copilot

Related: This PR documents the automation approach while maintaining the comprehensive manual guidance in the contributor documentation.

This commit introduces a new VS Code Agent Skill that automates the process of updating ITK third-party libraries.

Agent Skills are reusable AI workflows that extend GitHub Copilot's capabilities in VS Code. They enable domain-specific automation while maintaining human oversight. Learn more at https://agentskills.io/

The skill streamlines the update-third-party.bash workflow by:
- Creating branches and updating version tags automatically
- Running extraction scripts and detecting conflicts
- Providing ITK-specific guidance for conflict resolution
- Verifying symbol mangling for C libraries
- Creating detailed pull requests with release notes
- Following ITK conventions for commits, branches, and PRs

Documentation updates:
- Added skill documentation in .github/skills/update-third-party/
- Updated contributing guide with skill usage instructions
- Established cross-references between skill and official docs
@github-actions github-actions bot added type:Infrastructure Infrastructure/ecosystem related changes, such as CMake or buildbots type:Enhancement Improvement of existing methods or implementation area:Documentation Issues affecting the Documentation module labels Mar 5, 2026
Copy link
Member

@thewtex thewtex left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Supercool! 😎

@hjmjohnson hjmjohnson merged commit c5d4745 into InsightSoftwareConsortium:main Mar 7, 2026
13 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:Documentation Issues affecting the Documentation module type:Enhancement Improvement of existing methods or implementation type:Infrastructure Infrastructure/ecosystem related changes, such as CMake or buildbots

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants