pack-skill

Packages Qoder Skill projects into versioned distribution zip archives with exclusion rules.

4|Updated Aug 21, 2026
One-click install
npx skills add https://github.com/qiusuo0226/chrono-pm-skill --skill pack-skill-qiusuo0226
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pack-skill
Source: https://github.com/qiusuo0226/chrono-pm-skill/tree/main/tools/pack-skill
Command: npx skills add https://github.com/qiusuo0226/chrono-pm-skill --skill pack-skill-qiusuo0226

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Distributing a Skill project requires manually collecting files, excluding developer artifacts like tests, caches, and governance docs, and producing a consistently named zip. This Skill automates that packaging so any project containing a SKILL.md can be turned into a clean release archive. ## Core Features & Use Cases - Generic Skill Packaging: Detects any Qoder Skill project by its SKILL.md, reads version from VERSION or skill.json, and produces a zip named {BrandName}-Skill-v{version}.zip. - Single-Source Exclusion Model: Excludes version control, IDE, cache, test, and governance artifacts using rules parsed at runtime from pack.ps1, with documented intentional exclusions and exception paths. - Dual-Package Awareness: When packing ChronoPM-Project, automatically detects and packs the ChronoPM-Portfolio companion package as a second zip. - Use Case: Before releasing a new Skill version, run a dry-run to preview included files, then generate the final distribution zip for publication. ## Quick Start Ask the AI to package the current Skill project into a distribution zip, optionally requesting a dry-run preview first.

Frequently Asked Questions about pack-skill

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I package a Skill project into a distribution zip?

Run python tools/pack-skill/scripts/pack.py --skill-root <path> from the repository. The script validates SKILL.md, reads the version from VERSION or skill.json, and creates a zip named {BrandName}-Skill-v{version}.zip.

How to preview which files go into a Skill release zip?

Use the --dry-run flag with pack.py to list every included file, the total uncompressed size, and the output path without creating the zip. This helps verify exclusions before the actual packaging run.

What files are excluded when packaging a Skill?

Exclusions cover version control folders, IDE directories, Python caches, OS metadata, existing archives, tests, governance docs, and architecture documents like SKILL_BLUEPRINT.md. Exceptions allow governance/contracts/skill-contract.md and governance/migrations/ into the package.

Why does packaging fail with a displayName error?

The packer refuses to guess a brand name when skill.json lacks a displayName field. Add a displayName to skill.json; the brand prefix before the first em-dash or parenthesis becomes the zip name prefix.

Can I exclude extra directories when packing a Skill?

Yes, pass additional directory names via the --exclude argument in pack.py or the -Exclude parameter in pack.ps1. These are merged with the built-in exclusion list parsed from pack.ps1.