.claude/skills/release/SKILL.md
Create a new release. Version bump → test → build → tag → GitHub Release
npx skillsauth add songyunseop/oh-my-til .claude/skills/releaseInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create a new release.
Extract the bump type from $ARGUMENTS: patch, minor, major (default: patch).
If a numeric version (e.g. 0.2.0) is provided directly, use that version.
If no argument is given, apply a patch bump.
git status --porcelain). Abort if there are uncommitted changes.develop. If on main, switch to develop. Abort if on any other branch.develop is in sync with origin/develop (git fetch origin && git diff develop origin/develop --quiet). Notify the user and abort if there are differences.gh CLI is installed. Abort if not found.manifest.jsonpatch: 0.1.3 → 0.1.4minor: 0.1.3 → 0.2.0major: 0.1.3 → 1.0.0Validate that documentation is up to date before bumping the version:
src/ against the structure section in CLAUDE.mdCLAUDE.md, README.md, README.ko.md match the current code:
/til, /backlog, /research, /save, etc.)npm testnpm run buildmain.js modification time must be within the last 60 seconds. If stale, abort and investigate — a stale main.js means the build did not update the artifact (.gitignore tracks it but npm files includes it).package.json → "version"manifest.json → "version"versions.json → add new version entry (read minAppVersion from manifest.json)plugin-version in skills/ is auto-substituted via the __PLUGIN_VERSION__ placeholder)npm run sync-version (updates hero-badge version in docs/index.html, docs/ko/index.html)RELEASE_NOTES.md (see template below) — this file is read by GitHub Actions to populate the GitHub Release bodydevelop: 🔖 chore: release v{version}
develop into main:
git checkout main
git merge --no-ff develop -m "🔀 chore: merge develop into main for v{version}"
main: git tag v{version}git push origin main develop --tagsdevelop: git checkout developNote:
npm publishand GitHub Release creation are handled automatically by GitHub Actions when the tag is pushed (.github/workflows/release.yml). No manual publish step needed.
git log origin/main --oneline -1git tag -l v{version} and git ls-remote origin refs/tags/v{version}main branch: git branch --contains v{version} must include maingh run list --workflow=release.yml -R SongYunSeop/oh-my-til --limit 1Analyze commits from the previous tag to HEAD and write release notes.
git log {previous-tag}...HEAD --oneline
If there is no previous tag, include all commits.
Classify by commit prefix emoji or type:
| prefix | category |
|--------|----------|
| ✨ feat | Features |
| ♻️ refactor, ⚡ perf, 🎨 style | Improvements |
| 🐛 fix | Bug Fixes |
| 📝 docs | Documentation |
| ✅ test | Tests |
| 🔖 chore, 🔧 chore | Chores (exclude from release notes) |
Classify development tooling/workflow changes that are not user-facing as Internal.
## What's Changed
### Features
- Summary of change (rewrite commit message from the user's perspective)
### Improvements
- Summary of improvement
### Bug Fixes
- Summary of fix
### Documentation
- Summary of documentation change
### Internal
- Summary of dev tooling/workflow changes
**Full Changelog**: https://github.com/{owner}/{repo}/compare/{previous-tag}...v{version}
chore commits (version bumps, releases, etc.) from the notesresearch
Today I Learned — research a topic, learn interactively, then save as TIL markdown. Use when the user wants to learn about a topic, says 'teach me', 'what is X', 'deep dive into X', or asks to study something and save it as a TIL note.
testing
SRS-based TIL review session (spaced repetition). Use when the user says 'quiz me', 'review what I learned', 'flashcard session', 'test my knowledge', or wants to do spaced repetition review of their TIL notes.
tools
Install or update the Oh My TIL plugin in an Obsidian vault
documentation
Save learning content as a TIL file and batch-update Daily notes, MOC, and backlog. Use when the user says 'save this', 'write up what I learned', 'document this as a TIL', or wants to persist a learning conversation as a note.