Skip to content
Back to skills

Pdk Release

ASecurity

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

  • 57 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 17, 2026
devopsgobashgitfrontend

Works with

  • cli

Security analysis

A100/100

Scanned October 17, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill pdk-release --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Pdk Release?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Pdk Release
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-pdk-release/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-pdk-release)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: pdk-release
description: Release echo-pdk packages to npm. Bumps versions, creates tags, triggers GitHub Actions, and verifies frontend consumption.
allowed-tools: Bash, Read, Edit
---

# 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

```bash
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:

```bash
# 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:

```bash
# 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:

```bash
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:

```bash
# 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

```bash
git push origin main
git push --tags
```

### Step 8: Create GitHub Releases

This triggers the npm publish workflow.

```bash
# 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:

```bash
# 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

```bash
# 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:

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

**If frontend needs update:**

```bash
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:

| Package | Old Version | New Version | npm Status | GitHub Release |
|---------|-------------|-------------|------------|----------------|
| core    | x.x.x       | y.y.y       | ✅/❌      | URL            |
| cli     | x.x.x       | y.y.y       | ✅/❌      | URL            |
| language| x.x.x       | y.y.y       | ✅/❌      | URL            |

**Frontend Status:**
- Current version: x.x.x
- Needs update: Yes/No
- Updated: Yes/No

## Rollback

If release fails:

```bash
# 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
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.