factory/skills/version-update-skill-creator/SKILL.md
This skill MUST be invoked when the user says "version update skill oluştur", "create version update skill", "versiyon skill'i oluştur", "update-version skill", "version-update skill yap" or any variation requesting creation of a project-local version update skill. SHOULD also invoke when user mentions "versiyon güncelleme skill'i kur", "setup version bumping", or asks to automate version management for the current project. Scans the project for version files, build commands, and changelog, then generates a tailored version-update skill in .factory/skills/.
npx skillsauth add kilimcininkoroglu/cli-tweaks version-update-skill-creatorInstall 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.
Scan the current project and create a project-specific version-update skill that automates version bumping, changelog generation, git tagging, and pushing.
Immediately scan the project and create the skill. Do not wait for further instructions. Start scanning now.
Scan the project root for version files. For each file found, note the exact version field location:
| File | Version Field | Example |
|-------------------------|---------------------------------------------------------|--------------------------------|
| package.json | "version": "X.Y.Z" | "version": "1.2.0" |
| pyproject.toml | [project].version or [tool.poetry].version | version = "1.2.0" |
| Cargo.toml | [package].version | version = "1.2.0" |
| pubspec.yaml | version: | version: 1.2.0 |
| build.gradle | version = or version '...' | version = '1.2.0' |
| build.gradle.kts | version = | version = "1.2.0" |
| pom.xml | Top-level <version> | <version>1.2.0</version> |
| setup.py | version= in setup() call | version="1.2.0" |
| setup.cfg | [metadata].version | version = 1.2.0 |
| VERSION / VERSION.txt | Entire file content | 1.2.0 |
| *.gemspec | .version = | spec.version = "1.2.0" |
| mix.exs | version: | version: "1.2.0" |
| Chart.yaml | version: and appVersion: | version: 1.2.0 |
Also detect:
package.json scripts (build), Makefile (build target), Cargo.toml (cargo build), pyproject.toml (build system), go.mod (go build)git describe --tags --abbrev=0 2>/dev/null to find the current version tagIf NO version files are found, inform the user and stop. Do not create the skill.
Create .factory/skills/version-update/SKILL.md with the following structure. Replace all placeholders with actual values from the scan.
The generated skill MUST include:
---
name: version-update
description: >
This skill MUST be invoked when the user says "version update",
"versiyon güncelle", "bump version", "release", "tag ekle",
"versiyon yükselt", "yeni versiyon" or any variation requesting
a version bump. Bumps the project version, updates changelog,
creates a git tag, and pushes. Runs fully automatically.
argument-hint: "[major | minor | patch]"
---
The generated skill body must follow this exact structure:
# Version Update
Bump the project version, update changelog, create git tag, commit, and push.
Runs fully automatically with no user interaction.
## Usage
/version-update patch # 1.2.0 → 1.2.1 (default)
/version-update minor # 1.2.0 → 1.3.0
/version-update major # 1.2.0 → 2.0.0
## Version Files
[LIST ONLY THE FILES THAT WERE FOUND IN THE PROJECT]
| File | Field | Current Version |
|------|-------|-----------------|
| ... | ... | ... |
## Steps (execute ALL automatically, no questions)
### Step 1: Determine New Version
- Read current version from [PRIMARY VERSION FILE]
- Apply semver bump (default: patch if no argument given)
- Validate: new version must be greater than current
### Step 2: Update Version Files
[FOR EACH FOUND FILE, list the exact edit instruction]
- Update `[FILE]`: change `[FIELD]` from `[CURRENT]` to new version
### Step 3: Build
- Run: `[DETECTED BUILD COMMAND]`
- If build fails, STOP immediately. Do not proceed. Revert version changes.
### Step 4: Update CHANGELOG.md
- Run `git log [LATEST_TAG]..HEAD --oneline --no-decorate` to get commits since last tag
- If CHANGELOG.md does not exist, create it
- Prepend a new section at the top (below the header) in Keep a Changelog format:
## [X.Y.Z] - YYYY-MM-DD
### Added
- [new features from commits]
### Changed
- [changes from commits]
### Fixed
- [bug fixes from commits]
Categorize commits by their conventional commit prefix:
- feat: → Added
- fix: → Fixed
- everything else → Changed
- Skip: chore(deps), merge commits, version bump commits
### Step 5: Git Commit
- Stage all modified files: version files + CHANGELOG.md
- Commit with message: `chore: bump version to X.Y.Z`
### Step 6: Git Tag
- Create annotated tag: `git tag -a vX.Y.Z -m "vX.Y.Z"`
### Step 7: Push
- Run: `git push && git push --tags`
## Rules
- NEVER ask questions. Run all steps automatically.
- If build fails, revert all version file changes and stop.
- If no argument is given, default to `patch`.
- The commit message format is always `chore: bump version to X.Y.Z`.
- Tag format is always `vX.Y.Z`.
- CHANGELOG entries must be in English.
When generating the skill:
v prefix), match the existing conventionAfter creating the skill file, output a summary:
Version Update skill created at .factory/skills/version-update/SKILL.md
Detected:
- Version files: [list]
- Current version: X.Y.Z
- Build command: [command or "none"]
- Latest tag: [tag or "none"]
- Changelog: [exists / will be created]
The skill is ready. Run /version-update [major|minor|patch] to use it.
.factory/skills/version-update/SKILL.md -- never modify other filesdevelopment
This skill MUST be invoked when the user says "task-plan", "görev planla", "break down this PRD", "create tasks from spec", "PRD'yi parçala", "görevleri oluştur" or any variation requesting task breakdown from a specification document. SHOULD also invoke when user mentions "feature breakdown", "sprint planning", "task tracking", or wants to manage a structured development workflow with features and tasks.
testing
This skill MUST be invoked when the user says "commit tarihlerini değiştir", "redate commits", "spread commits", "backdate" or any variation requesting git commit date rewriting across a date range. Rewrites both author and committer dates using git filter-branch, distributing commits realistically across the specified period.
development
This skill MUST be invoked when the user says "UIKit", "iOS geliştirme", "programmatic UI", "table view", "collection view", "Auto Layout", "UIViewController", "UINavigationController", "Core Animation", "UIKit review", "UIKit build", "iOS view controller", "UIKit pattern", "programmatic layout", or any variation requesting UIKit development, review, or improvement. Covers programmatic UIKit with Auto Layout, table/collection views, navigation, animation, networking, architecture, and 20 reference documents with production-ready patterns.
tools
This skill MUST be invoked when the user says "simulator", "simülatör", "iOS test", "simulator boot", "simctl", "app launch", "ekran analiz", "screen map", "accessibility audit", "erişilebilirlik", "push notification", "visual diff", "build and test", "xcode build", "simulator oluştur", "simulator sil", "app yükle", or any variation requesting iOS simulator automation, app testing, building, or device management. Provides 21 production scripts for semantic UI navigation, build automation, accessibility testing, and simulator lifecycle management.