Repository navigation
Add sitk-upload-binary-data skill - #2637
Merged
blowekamp merged 2 commits intoJul 16, 2026
Merged
Conversation
Adds an agent skill for uploading binary testing data to the SimpleITK/SimpleITKExternalData repository: hashing files with SHA-512, staging them in the local .ExternalData object store, creating CMake ExternalData content links, and opening a draft PR against the ExternalData repo. Background on ExternalData and the legacy MD5 migration is documented in an auxiliary resource file.
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new GitHub agent skill to standardize how SimpleITK contributors stage binary test data into the SimpleITK/SimpleITKExternalData object store using SHA-512 content links, and updates the workflow dictionary to accommodate terminology used by the new documentation/scripts.
Changes:
- Added a new skill (
sitk-upload-binary-data) documenting an end-to-end procedure for staging ExternalData objects and opening a draft PR to the ExternalData repo. - Added a bundled bash helper script to hash files, stage them into
.ExternalData/SHA512/, and generate.sha512content links. - Extended the comment spell-check dictionary with several technical terms used in the new skill content.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| .github/workflows/additional_dictionary.txt | Adds technical terms so CI/pre-commit spell-check passes for new skill content. |
| .github/skills/sitk-upload-binary-data/SKILL.md | Documents the upload workflow, including remote selection and PR creation steps. |
| .github/skills/sitk-upload-binary-data/scripts/hash_and_stage.sh | Implements hashing/staging/link-creation for one or more binaries. |
| .github/skills/sitk-upload-binary-data/resources/external-data-background.md | Provides background/reference material on CMake ExternalData and SHA-512 usage. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
zivy
approved these changes
Jul 16, 2026
blowekamp
marked this pull request as draft
July 16, 2026 14:30
dave3d
approved these changes
Jul 16, 2026
- hash_and_stage.sh: use an array for the hash command instead of an unquoted string, validate the computed hash is 128 hex chars, and guard cp/rm/hash invocations with -- so filenames starting with '-' cannot be misinterpreted as options. - SKILL.md: Step 2 now explicitly identifies <upstream-remote> (the remote pointing at SimpleITK/SimpleITKExternalData) in addition to <push-remote>, and Step 4 fetches/bases the branch on <upstream-remote> instead of assuming it is named 'origin'.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds an agent skill (
.github/skills/sitk-upload-binary-data/) for uploading binary testing data to theSimpleITK/SimpleITKExternalDatarepository:.ExternalDataobject store, and creates CMake ExternalData content links.resources/external-data-background.md) to keep the main skill concise.Also adds a few technical terms (
algo,auth,codebase,gitignore,rm,shasum,subshell) to.github/workflows/additional_dictionary.txtso the new skill files pass the comment spell-check pre-commit hook.