feat(release): publish qalma skills package - #23
Conversation
Add the @qalma/skills package and public agent skill pack. Update the tag-driven release workflow to validate, version, and publish @qalma/skills together with @qalma/editor.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2382ef2e45
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const TARGET_ROOTS: Record<SkillTarget, string> = { | ||
| agents: '.agents/skills', | ||
| claude: '.claude/skills', | ||
| codex: '.codex/skills', |
There was a problem hiding this comment.
Map Codex installs to a scanned skills directory
When users follow the new README and run npx @qalma/skills add --target codex, this maps the install to ./.codex/skills/qalma, but the current Codex Agent Skills docs list repository and user discovery under .agents/skills (https://developers.openai.com/codex/skills#where-to-save-skills), and this repo’s own skills are discovered from .agents/skills. In that scenario the command succeeds but Codex will not list or invoke the installed skill unless the user knows to pass --dir manually, so this target should map to a documented scanned location or be removed/aliased to the default.
Useful? React with 👍 / 👎.
| } | ||
|
|
||
| mkdirSync(dirname(destination), { recursive: true }); | ||
| cpSync(source, destination, { recursive: true, force: true }); |
There was a problem hiding this comment.
Replace the destination instead of merging on --force
When an installed skill is updated with --force, cpSync(..., { recursive: true, force: true }) merges the new bundle into the existing directory instead of removing files that disappeared from the source. If a later release deletes or renames a reference, script, or metadata file, the stale file remains in the installed skill and is even included in result.files, so agents can keep seeing obsolete guidance. Remove the destination first or copy into a fresh replacement directory before reporting the update as complete.
Useful? React with 👍 / 👎.
Summary
@qalma/skillsnpm package with aqalma-skillsCLI that installs the public Qalma agent skill packplugins/qalma/skills/qalmasource into the npm package so users install throughnpx @qalma/skills add@qalma/skillsand@qalma/editorare versioned and published together@qalma/skillsbootstrap requirements/docs/agent-skillswith install commands, targets, update flow, and agent-specific pathsValidation
corepack pnpm nx run-many -t build,test,lint -p skillscorepack pnpm nx test skills -- --runcorepack pnpm exec tsc -p libs/skills/tsconfig.lib.json --noEmitcorepack pnpm exec tsc -p apps/docs/tsconfig.json --noEmitcorepack pnpm nx build docscorepack pnpm release:beta:dry-runnpm pack --dry-run dist/libs/skillscorepack pnpm guard:protected-test-changesgit diff --checkNotes
Before the first coupled tag release,
@qalma/skillsneeds a one-time npm bootstrap and Trusted Publisher configuration matching@qalma/editor. The protected-change guard also reports workflow and test/config changes, so this PR needs the expected human review/label before merge.