Awesome-omni-skill pdk-release

Release echo-pdk packages to npm. Bumps versions, creates tags, triggers GitHub Actions, and verifies frontend consumption.

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/tools/pdk-release" ~/.claude/skills/diegosouzapw-awesome-omni-skill-pdk-release && rm -rf "$T"
manifest: skills/tools/pdk-release/SKILL.md
source content

Echo PDK Release Workflow

Automates the full release process for echo-pdk packages including npm publish via GitHub Actions.

Usage

/pdk-release core minor        # Release core package with minor bump
/pdk-release cli patch         # Release CLI package with patch bump
/pdk-release core,cli minor    # Release multiple packages
/pdk-release all patch         # Release all packages

Arguments

  • packages:
    core
    ,
    cli
    ,
    language
    , or
    all
    (comma-separated for multiple)
  • bump:
    patch
    ,
    minor
    , or
    major

Step-by-Step Instructions

Step 1: Pre-Release Checks

cd /Users/yoadelkayam/github/PDK/echo-pdk

# Verify clean working directory
git status -sb

# Ensure on main and up-to-date
git checkout main
git pull origin main

# Run tests
pnpm test

# Build all packages
pnpm build

If tests fail, STOP and report the failure.

Step 2: Determine Current Versions

Read current versions from package.json files:

# Core package
cat packages/core/package.json | grep '"version"'

# CLI package
cat packages/cli/package.json | grep '"version"'

# Language package
cat packages/language/package.json | grep '"version"'

Step 3: Bump Versions

Calculate new versions based on bump type and update package.json files.

Version bump rules:

  • patch
    : 0.5.1 → 0.5.2
  • minor
    : 0.5.1 → 0.6.0
  • major
    : 0.5.1 → 1.0.0

Edit the

"version"
field in each package.json being released.

Step 4: Generate Changelog

Get commits since last tag:

# For core package
git log $(git tag -l 'core-v*' --sort=-v:refname | head -1)..HEAD --oneline -- packages/core/

# For CLI package
git log $(git tag -l 'cli-v*' --sort=-v:refname | head -1)..HEAD --oneline -- packages/cli/

# For language package
git log $(git tag -l 'language-v*' --sort=-v:refname | head -1)..HEAD --oneline -- packages/language/

Step 5: Create Commit

Stage and commit all changes:

git add packages/*/package.json

git commit -m "chore: release @goreal-ai/echo-pdk v{CORE_VERSION}, @goreal-ai/echo-pdk-cli v{CLI_VERSION}

Co-Authored-By: Claude <noreply@anthropic.com>"

Step 6: Create Tags

Create annotated tags for each package being released:

# For core
git tag -a core-v{VERSION} -m "Release @goreal-ai/echo-pdk v{VERSION}"

# For CLI
git tag -a cli-v{VERSION} -m "Release @goreal-ai/echo-pdk-cli v{VERSION}"

# For language
git tag -a language-v{VERSION} -m "Release @goreal-ai/echo-pdk-language v{VERSION}"

Step 7: Push to Origin

git push origin main
git push --tags

Step 8: Create GitHub Releases

This triggers the npm publish workflow.

# For core package
gh release create core-v{VERSION} \
  --title "@goreal-ai/echo-pdk v{VERSION}" \
  --notes "## Changes

{CHANGELOG_CONTENT}

## Breaking Changes
None"

# For CLI package
gh release create cli-v{VERSION} \
  --title "@goreal-ai/echo-pdk-cli v{VERSION}" \
  --notes "## Changes

- Updated to use @goreal-ai/echo-pdk v{CORE_VERSION}"

# For language package
gh release create language-v{VERSION} \
  --title "@goreal-ai/echo-pdk-language v{VERSION}" \
  --notes "## Changes

{CHANGELOG_CONTENT}"

Step 9: Monitor GitHub Actions

Wait for workflows to complete:

# Check workflow status
gh run list --limit 5

# Watch specific run
gh run watch {RUN_ID}

All workflows should show

completed
with
success
status.

Step 10: Verify npm Publication

# Check npm for new versions
npm view @goreal-ai/echo-pdk version
npm view @goreal-ai/echo-pdk-cli version
npm view @goreal-ai/echo-pdk-language version

Step 11: Check Frontend Consumption

Verify gra-echostash-fe is using the correct version:

# Check current version in frontend
cat /Users/yoadelkayam/github/Echostash/gra-echostash-fe/package.json | grep "@goreal-ai/echo-pdk"

If frontend needs update:

cd /Users/yoadelkayam/github/Echostash/gra-echostash-fe

# Update to new version
pnpm update @goreal-ai/echo-pdk@{NEW_VERSION}

# Verify update
cat package.json | grep "@goreal-ai/echo-pdk"

# Run frontend build to verify compatibility
pnpm build

Report whether frontend update is needed and its status.

Output Summary

After completing, report:

PackageOld VersionNew Versionnpm StatusGitHub Release
corex.x.xy.y.y✅/❌URL
clix.x.xy.y.y✅/❌URL
languagex.x.xy.y.y✅/❌URL

Frontend Status:

  • Current version: x.x.x
  • Needs update: Yes/No
  • Updated: Yes/No

Rollback

If release fails:

# Delete local tags
git tag -d core-v{VERSION}
git tag -d cli-v{VERSION}

# Delete remote tags
git push --delete origin core-v{VERSION}
git push --delete origin cli-v{VERSION}

# Reset commit
git reset --hard HEAD~1
git push --force-with-lease

# Delete GitHub releases
gh release delete core-v{VERSION} --yes
gh release delete cli-v{VERSION} --yes