Automated summary
This skill drives the screenpipe monorepo release: it checks component versions, generates a user-facing changelog, bumps versions, and triggers the GitHub Actions release workflows.
Strengths
- Covers every monorepo component (Tauri app, CLI, MCP, JS SDKs) with its version file and matching workflow
- Lays out an ordered end-to-end procedure: version check, changelog, bump, commit, trigger, build monitoring, publish
- Gives changelog writing rules (keep customer value, skip CI, refactors and dependency bumps)
- Flags that workflow_dispatch only produces a draft, enforcing a manual testing step before publishing
Limitations
- Tightly bound to screenpipe: paths, workflows and magic words do not transfer to other projects
- Assumes an authenticated gh CLI and access to the CrabNebula Cloud dashboard for testing and publishing
- Changelog authoring stays manual and depends on the model interpreting commit messages
Use it when preparing and triggering a new screenpipe monorepo release, either the desktop app or the CLI.
Avoid it on a different repository, or for plain code changes with no intent to ship a version.
Security analysis
CautionThe skill is a legitimate monorepo release workflow, but it wields powerful tooling: git push, gh workflow dispatch, and an auto-publish trigger. No destructive commands, secret exfiltration, obfuscated payloads, or safety-disabling instructions are present, so it is caution rather than risky.
- •Uses Bash with git add -A/commit/push, which can stage and push unintended changes.
- •Triggers GitHub Actions workflows via gh workflow run and can auto-publish by pushing a magic commit message.
- •Requires authenticated gh and git credentials; a mistaken release tag/version could publish artifacts.
Examples
Release a new version of the screenpipe desktop app: bump the version, generate the changelog from commits since the last tag, and trigger the release-app workflow.Check the current versions of the screenpipe app, CLI, MCP and JS packages, then tell me which ones need a bump before the next release.The release-app workflow was just triggered — check the latest run status and report per-platform build results for macOS and Windows.name: release description: "Release the screenpipe monorepo. Bumps versions, generates changelog, triggers GitHub Actions for app, CLI, MCP, and JS packages." allowed-tools: Bash, Read, Edit, Grep, Write
Screenpipe Monorepo Release Skill
Automate releasing all components of the screenpipe monorepo.
Components & Versions
| Component | Version File | Current Pattern | Workflow |
|-----------|--------------|-----------------|----------|
| Desktop App | screenpipe-app-tauri/src-tauri/Cargo.toml | version = "X.Y.Z" | release-app.yml |
| CLI/Server | Cargo.toml (workspace.package) | version = "0.2.X" | release-cli.yml |
| MCP | screenpipe-integrations/screenpipe-mcp/package.json | "version": "X.Y.Z" | release-mcp.yml |
| JS Browser SDK | screenpipe-js/browser-sdk/package.json | "version": "X.Y.Z" | npm publish |
| JS Node SDK | screenpipe-js/node-sdk/package.json | "version": "X.Y.Z" | npm publish |
| JS CLI | screenpipe-js/cli/package.json | "version": "X.Y.Z" | npm publish |
Release Workflow
1. Check Current Versions
echo "=== App ===" && grep '^version' screenpipe-app-tauri/src-tauri/Cargo.toml | head -1
echo "=== CLI ===" && grep '^version' Cargo.toml | head -1
echo "=== MCP ===" && grep '"version"' screenpipe-integrations/screenpipe-mcp/package.json | head -1
2. Generate Changelog
Get commits since last release and generate a user-friendly changelog:
# Get last release tag
LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
# Get commits since last release (or last 50 if no tag)
if [ -n "$LAST_TAG" ]; then
git log $LAST_TAG..HEAD --oneline --no-merges
else
git log -50 --oneline --no-merges
fi
Then create changelog at content/changelogs/vX.Y.Z.md with format:
## New Features
- Feature description (from commit context)
## Improvements
- Improvement description
## Bug Fixes
- Fix description
#### **Full Changelog:** [abc123..def456](https://github.com/mediar-ai/screenpipe/compare/abc123..def456)
Guidelines:
- Only include changes that bring clear customer value
- Skip: CI changes, refactors, dependency bumps, merge commits
- Be concise but descriptive
- Group related changes together
Also copy to screenpipe-app-tauri/public/CHANGELOG.md for in-app display.
3. Bump Version
Edit screenpipe-app-tauri/src-tauri/Cargo.toml to update version.
4. Commit & Push
git add -A && git commit -m "Bump app to vX.Y.Z" && git pull --rebase && git push
5. Trigger Release (Draft Only)
gh workflow run release-app.yml
Important: workflow_dispatch creates a draft only - does NOT auto-publish. This allows manual testing before publishing.
6. Monitor Build Status
# Get latest run ID
gh run list --workflow=release-app.yml --limit=1
# Check status
gh run view <RUN_ID> --json status,conclusion,jobs --jq '{status: .status, conclusion: .conclusion, jobs: [.jobs[] | {name: (.name | split(",")[0]), status: .status, conclusion: .conclusion}]}'
7. Test the Draft Release
- Download from CrabNebula Cloud: https://web.crabnebula.cloud/mediar/screenpipe/releases
- Test on macOS and Windows
- Verify updater artifacts exist (.tar.gz, .sig files)
8. Publish Release
After testing, publish manually via CrabNebula Cloud dashboard, OR commit with magic words:
git commit --allow-empty -m "release-app-publish" && git push
Quick Release (App Only)
# 1. Generate changelog (Claude does this)
# 2. Bump version in Cargo.toml
# 3. Commit and push
git add -A && git commit -m "Bump app to vX.Y.Z" && git push
# 4. Trigger release (draft)
gh workflow run release-app.yml
# 5. Monitor
sleep 5 && gh run list --workflow=release-app.yml --limit=1
Build Status Format
Build <RUN_ID>:
| Platform | Status |
|----------|--------|
| macOS aarch64 | ✅ success / 🔄 in_progress / ❌ failure |
| macOS x86_64 | ✅ success / 🔄 in_progress / ❌ failure |
| Windows | ✅ success / 🔄 in_progress / ❌ failure |
Troubleshooting
Build Failed
gh run view <RUN_ID> --log-failed 2>&1 | tail -100
Cancel Running Build
gh run cancel <RUN_ID>
Re-run Failed Jobs
gh run rerun <RUN_ID> --failed
Missing Updater Artifacts (.tar.gz, .sig)
The CI copies tauri.prod.conf.json to tauri.conf.json before building. If artifacts are missing:
- Check
tauri.prod.conf.jsonhas"createUpdaterArtifacts": true - Check the "Use production config" step ran successfully
Configuration
Dev vs Prod Configs
tauri.conf.json- Dev config (identifier:screenpi.pe.dev)tauri.prod.conf.json- Prod config (identifier:screenpi.pe, updater enabled)
CI automatically uses prod config for releases by copying it before build.
Auto-Publish Behavior
workflow_dispatch(manual trigger) → Draft only, no publish- Commit with "release-app-publish" → Auto-publish after successful build
Notes
- Linux desktop app is disabled (bundling issues)
- App builds take ~25-35 minutes
- CLI builds take ~15-20 minutes
- Always pull before push to avoid conflicts
- Updater artifacts: macOS uses
.tar.gz/.sig, Windows uses.nsis.zip/.sig
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/screenpipe-monorepo-release-automation-mmlj2oga/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/screenpipe-monorepo-release-automation-mmlj2oga' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/screenpipe-monorepo-release-automation-mmlj2oga/download' --output '.skill-downloads/screenpipe-monorepo-release-automation-mmlj2oga/SKILL.md.part' && mv '.skill-downloads/screenpipe-monorepo-release-automation-mmlj2oga/SKILL.md.part' '.skill-downloads/screenpipe-monorepo-release-automation-mmlj2oga/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
Tools declared by the author (check availability in your agent): Bash, Read, Edit, Grep, Write
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/screenpipe-monorepo-release-automation-mmlj2oga/SKILL.md' && test -s '.skill-downloads/screenpipe-monorepo-release-automation-mmlj2oga/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/release' && cp -R '.skill-downloads/screenpipe-monorepo-release-automation-mmlj2oga' '.claude/skills/release'Cursor
test -f '.skill-downloads/screenpipe-monorepo-release-automation-mmlj2oga/SKILL.md' && test -s '.skill-downloads/screenpipe-monorepo-release-automation-mmlj2oga/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/release' && cp -R '.skill-downloads/screenpipe-monorepo-release-automation-mmlj2oga' '.cursor/skills/release'Codex
test -f '.skill-downloads/screenpipe-monorepo-release-automation-mmlj2oga/SKILL.md' && test -s '.skill-downloads/screenpipe-monorepo-release-automation-mmlj2oga/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/release' && cp -R '.skill-downloads/screenpipe-monorepo-release-automation-mmlj2oga' '.agents/skills/release'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/screenpipe-monorepo-release-automation-mmlj2oga'openskills read 'screenpipe-monorepo-release-automation-mmlj2oga'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/screenpipe-monorepo-release-automation-mmlj2oga/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
Configure a Chat Channel with SecretRefs
DevOps
Set up chat channels using non-interactive commands, with secrets only as SecretRefs. Covers gather, mutate, repair, and prove steps for reliable delivery.
Investigate ClickHouse CI Failures
DevOps
Investigate a ClickHouse CI failure end-to-end from a PR or S3 report URL. Fetches failed tests, classifies flaky vs real regression, and checks for existing issues/fixes.
Ansible PR Review
DevOps
Reviews an Ansible PR following the project's standardized process, including changelog checks, test coverage validation, and feedback tracking.