agentleFS
adezeadeze/raindrop-mcp/.github/skills/raindrop-mcp-publishing/SKILL.md

raindrop-mcp-publishing

Skill188 starsChanged 8 months agoMITView on GitHub

Automates and manages the complete publishing workflow for @adeze/raindrop-mcp from version bumping through npm registry deployment. This skill encapsulates the end-to-end publishing process, ensuring consistent version management, proper synchronization across configuration files, and reliable deployment via GitHub Actions with npm Trusted Publishers. Before publishing, verify: Bump semantic version using Bun: Update version numbers in ALL four files to maintain consistency: Files to update: Version reference locations: Note: If tag already exists: Once tag is pushed, GitHub Actions automatically: One-time setup…

  • Installs packages
  • Commits and pushes

The file

We split this skill into the rules it gives an agent

11 rules. About 0 are common, 10 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈10

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Update version numbers in ALL four files to maintain consistency:

    line 37
  2. Distinctive:

    Note: If tag already exists:

    line 96
  3. Distinctive:

    Check the latest workflow run:

    line 214
  4. Distinctive:

    After workflow completes (usually 30-60 seconds):

    line 249
  5. Very specific:

    Use mcp_github_get_latest_release to verify release exists

    line 259
  6. Distinctive:

    Should match the version you just published

    line 260
  7. Distinctive:

    Should return package metadata confirming it's live

    line 269
  8. Distinctive:

    Semantic Versioning: Follow semver strictly (MAJOR.MINOR.PATCH)

    line 278
  9. Distinctive:

    Version Synchronization: All 4 files MUST have matching versions

    line 279
  10. Distinctive:

    Master Branch: Always publish from master

    line 280
  11. Distinctive:

    Provenance: All publishes include cryptographic provenance attestation

    line 282

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Raindrop MCP Publishing Skill

Automates and manages the complete publishing workflow for @adeze/raindrop-mcp from version bumping through npm registry deployment.

Overview

This skill encapsulates the end-to-end publishing process, ensuring consistent version management, proper synchronization across configuration files, and reliable deployment via GitHub Actions with npm Trusted Publishers.

Publishing Workflow

1. Pre-Publication Checklist

Before publishing, verify:

  • ✅ All tests passing: bun run test
  • ✅ Type-check passing: bun run type-check
  • ✅ Build successful: bun run build
  • ✅ All changes committed to git
  • ✅ No uncommitted work on master branch

2. Version Bump

Bump semantic version using Bun:

bun pm version <MAJOR.MINOR.PATCH>

Examples:

  • Patch: bun pm version 2.1.1 (bug fixes)
  • Minor: bun pm version 2.2.0 (new features)
  • Major: bun pm version 3.0.0 (breaking changes)

3. Sync All Version Files

Update version numbers in ALL four files to maintain consistency:

Files to update:

  1. package.json - Already updated by bun pm version
  2. manifest.json - DXT manifest version (lines 2-4)
  3. CLAUDE.md - Project guidelines (around line 8)
  4. README.md - User documentation (around line 278)

Version reference locations:

// manifest.json
{
  "dxt_version": "0.1",
  "name": "@adeze/raindrop-mcp",
  "version": "X.X.X",
// CLAUDE.md

### Version Information

- **Current version**: X.X.X
// README.md

## 📋 Recent Enhancements (vX.X.X)

4. Build & Commit

# Rebuild with new version
bun run build

# Stage all version updates
git add package.json manifest.json CLAUDE.md README.md

# Commit with semantic message
git commit -m "chore: bump version to X.X.X"

# Push to master
git push origin master

5. Create & Push Version Tag

# Create semantic version tag
git tag vX.X.X

# Push tag to trigger GitHub Actions
git push origin vX.X.X

Note: If tag already exists:

git tag -d vX.X.X
git tag vX.X.X
git push origin vX.X.X --force

6. GitHub Actions Automatic Steps

Once tag is pushed, GitHub Actions automatically:

  1. ✅ Checks out code
  2. ✅ Sets up Node.js & Bun
  3. ✅ Installs dependencies
  4. ✅ Runs type-check: bun run type-check
  5. ✅ Builds: bun run build
  6. ✅ Publishes to npm via Trusted Publishers (OIDC-based, no token needed)
  7. ✅ Deletes existing GitHub Release (if present)
  8. ✅ Creates new GitHub Release

npm Trusted Publishers Setup

One-time setup required:

  1. Go to: https://www.npmjs.com/settings/@adeze/packages
  2. Click raindrop-mcp package
  3. Go to Settings tab
  4. Scroll to Publishing access
  5. Click Configure trusted publishers
  6. Select GitHub Actions
  7. Fill in:
    • Owner: adeze
    • Repository: raindrop-mcp
    • Workflow: publish.yml
    • Environment: (leave blank)
  8. Click Add

Benefits:

  • 🔒 No static tokens needed (OIDC-based)
  • 🔄 No token rotation required
  • 📋 Automatic provenance attestation
  • ✨ Zero maintenance

Workflow File

Location: .github/workflows/publish.yml

Key permissions:

permissions:
  id-token: write # Required for OIDC
  contents: write # For GitHub releases

Key steps:

  • Node.js 24 with registry-url: https://registry.npmjs.org
  • `npm publish --provenan: deletes existing release first, then creates new one
  • GitHub release creation with --clobber (overwrites existing releases)

Troubleshooting

Error: "cannot publish over previously published versions"

Cause: Version already exists on npm Solution: Bump semantic version and retry

Error: "Release.tag_name already exists"

Cause: GitHub release already exists from previous publish attempt Solution: Workflow automatically deletes existing release before creating a new one

Error: "need auth This command requires you to be logged in"

Cause: npm Trusted Publishers not configured Solution: Complete one-time setup at https://www.npmjs.com/settings/@adeze/packages

Full Publishing Command Sequence

# 1. Verify all tests pass
bun run test
bun run type-check
bun run build

# 2. Bump version (example: 2.1.1 → 2.1.2)
bun pm version 2.1.2

# 3. Update all version files
# - manifest.json (line 3)
# - CLAUDE.md (line 9)
# - README.md (line 278)

# 4. Build & commit
bun run build
git add package.json manifest.json CLAUDE.md README.md
git commit -m "chore: bump version to 2.1.2"
git push origin master

# 5. Create & push tag (triggers workflow)
git tag v2.1.2
git push origin v2.1.2

# 6. Monitor workflow with GitHub CLI
gh run list --limit 1

# 7. Verify once workflow completes (✓ status)
npm view @adeze/raindrop-mcp@2.1.2
mcp_github_get_latest_release owner=adeze repo=raindrop-mcp

Monitoring Workflow Status

Using GitHub CLI

Check the latest workflow run:

gh run list --limit 1

Output statuses:

  • * - Running
  • ✓ - Completed successfully
  • ✗ - Failed

View detailed logs:

gh run view <run-id>

Using GitHub MCP Tools

Check latest release:

Call mcp_github_get_latest_release with:

  • owner: adeze
  • repo: raindrop-mcp

This returns the most recent release and confirms:

  • tag_name matches your version (e.g., v2.1.2)
  • published_at is recent
  • Workflow executed successfully

Verification

After workflow completes (usually 30-60 seconds):

  1. Check workflow status with GitHub CLI:

    gh run list --limit 1
    # Should show ✓ status indicating success
  2. Verify latest GitHub release created:
    • Use mcp_github_get_latest_release to verify release exists
    • Should match the version you just published
    • body field contains "MCP Server for Raindrop.io"
  3. Verify npm publication:

    npm view @adeze/raindrop-mcp@2.1.2

    Should return package metadata confirming it's live

  4. Verify package installation:
    npm install @adeze/raindrop-mcp@2.1.1

Important Notes

  • Semantic Versioning: Follow semver strictly (MAJOR.MINOR.PATCH)
  • Version Synchronization: All 4 files MUST have matching versions
  • Master Branch: Always publish from master
  • No Token Management: Trusted Publishers eliminates token rotation burden
  • Provenance: All publishes include cryptographic provenance attestation

Related Resources

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.