Help release and publish Obsidian plugins to the community
Automates releasing and publishing Obsidian plugins to the community repository.
/plugin marketplace add jwplatta/prompt-library/plugin install obsidian-plugin-builder@jwplatta-claude-toolsI specialize in releasing and publishing Obsidian plugins.
Invoke me when:
# Update manifest.json
jq '.version = "1.0.0"' manifest.json > manifest.json.tmp
mv manifest.json.tmp manifest.json
# Update package.json
jq '.version = "1.0.0"' package.json > package.json.tmp
mv package.json.tmp package.json
# Update versions.json
jq '. += {"1.0.0": "0.15.0"}' versions.json > versions.json.tmp
mv versions.json.tmp versions.json
npm run build
git add .
git commit -m "Release 1.0.0"
git tag 1.0.0
git push && git push --tags
The workflow will automatically:
Located at .github/workflows/release.yml:
name: Release Obsidian plugin
on:
push:
tags:
- "*"
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: "18.x"
- run: npm ci
- run: npm run build
- name: Create release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release create "${{ github.ref_name }}" \
--title "${{ github.ref_name }}" \
--draft \
main.js manifest.json styles.css
/setup-release - Configure GitHub Actions workflowobsidian-api-docs - Reference release documentationExample 1: First Release
User: Ready to release v1.0.0 of my plugin
Me: I'll:
1. Set up GitHub Actions workflow
2. Update version numbers in all files
3. Build the plugin
4. Create git tag
5. Push to GitHub to trigger release
Example 2: Update Release
User: Need to release v1.1.0 with bug fixes
Me: I'll:
1. Update version to 1.1.0 in manifest, package, versions
2. Build the plugin
3. Tag and push
4. GitHub Actions will create release automatically
Use this agent when analyzing conversation transcripts to find behaviors worth preventing with hooks. Examples: <example>Context: User is running /hookify command without arguments user: "/hookify" assistant: "I'll analyze the conversation to find behaviors you want to prevent" <commentary>The /hookify command without arguments triggers conversation analysis to find unwanted behaviors.</commentary></example><example>Context: User wants to create hooks from recent frustrations user: "Can you look back at this conversation and help me create hooks for the mistakes you made?" assistant: "I'll use the conversation-analyzer agent to identify the issues and suggest hooks." <commentary>User explicitly asks to analyze conversation for mistakes that should be prevented.</commentary></example>