Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Oct 29, 2025

✅ COMPLETED: Support both .zip and .skill file extensions

  • Update the _scan_directory method in _server.py to check for both .zip and .skill extensions (line 314)
  • Add comprehensive tests for .skill extension files
  • Run linter to ensure code quality
  • Run all tests to verify no regressions
  • Verify the changes work as expected
  • Code review completed - no issues found
  • Security scan completed - no vulnerabilities found
  • Update README to document both extensions

Summary

Successfully implemented support for .skill file extension alongside the existing .zip extension. Both extensions are now recognized and handled identically as zip archives containing skills.

Changes Made

Modified src/skillz/_server.py (1 line changed):

  • Line 314: Changed entry.suffix.lower() == ".zip" to entry.suffix.lower() in (".zip", ".skill")

Added tests in tests/test_zip_skills.py (3 new tests, 64 lines):

  1. test_skill_extension_loads_like_zip - Verifies .skill files are loaded as zip archives
  2. test_skill_extension_resources_readable - Verifies resources inside .skill files can be read correctly
  3. test_mixed_zip_and_skill_extensions - Verifies both .zip and .skill files can coexist

Updated README.md:

  • Updated Usage section to mention both .zip and .skill extensions
  • Added .skill file examples in directory structure examples
  • Updated "When packaging skills" section to indicate both extensions
  • Updated comparison with Claude Code to mention both extensions

Verification

✅ All 34 tests pass (19 in test_zip_skills.py, 15 in other test files)
✅ Linter passes with no issues
✅ Manual verification confirms both extensions work correctly
✅ Code review: No issues found
✅ Security scan: No vulnerabilities found
✅ No breaking changes to existing functionality
✅ Documentation updated

Security Summary

No security vulnerabilities were introduced by this change. The modification only affects file extension checking and does not alter the zip file handling logic or security mechanisms.

Original prompt

skills that come as zip files can have one of two file extensions: .zip, or .skill. Both extensions are valid, should be discovered and loaded, and both are actually a zip file, so the current handling of zip files is adequate for both.


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI changed the title [WIP] Add support for .zip and .skill file extensions Support .skill file extension for packaged skills Oct 29, 2025
Copilot AI requested a review from intellectronica October 29, 2025 12:38
@intellectronica
Copy link
Owner

@copilot you also need to update the README to indicate that both extensions are supported.

Copy link
Contributor Author

Copilot AI commented Oct 29, 2025

@copilot you also need to update the README to indicate that both extensions are supported.

Updated the README to document both .zip and .skill extensions in commit 1692b4b. Changes include:

  • Usage section now mentions both extensions
  • Added .skill file examples in directory structure samples
  • Updated "When packaging skills" section to reference both extensions
  • Updated Claude Code comparison to mention both extensions

@intellectronica intellectronica marked this pull request as ready for review October 29, 2025 12:51
@intellectronica intellectronica merged commit 23c5e48 into main Oct 29, 2025
2 checks passed
@intellectronica intellectronica deleted the copilot/add-support-for-skill-extensions branch October 29, 2025 12:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants