clacky-ai/openclacky/.clacky/skills/gem-release/SKILL.md
gem-release
Automates the complete process of releasing a new version of the openclacky Ruby gem. Supports both stable releases (auto-increment) and pre-release versions (user-specified, e.g., 1.0.0.beta.1). Handles version bumping, testing, building, RubyGems publishing, GitHub Releases, and OSS CDN mirroring.
- Source repository stars
- 1,160
- Declared platforms
- 0
- Static risk flags
- 2
- Last source update
- 2026-08-04
- Source checked
- 2026-08-04
Decision brief
What it does—and where it fits
Automates the complete openclacky gem release workflow via SKILLDIR/scripts/release.sh.
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/clacky-ai/openclacky --skill ".clacky/skills/gem-release"Inspect the Agent Skill "gem-release" from https://github.com/clacky-ai/openclacky/blob/faaa347a1fd5a855f8e205c379c4994e757b703c/.clacky/skills/gem-release/SKILL.md at commit faaa347a1fd5a855f8e205c379c4994e757b703c. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
Usage
"Release a new version"
"Release a new version""Publish a new gem version""Release version 1.0.0.beta.1" (pre-release with explicit version) - 02
Workflow
The release script (SKILLDIR/scripts/release.sh) handles everything end-to-end:
Pre-release checks (clean working directory, required tools)Run test suite (bundle exec rspec) + web search smoke tests (real network — verifies Bing/DDG parsers still work against live HTML)Bump version in lib/clacky/version.rb - 03
Agent Instructions
Stable release (default): Increment patch version (e.g., 1.0.5 → 1.0.6). Confirm with user if unsure which part to bump (major/minor/patch).
Find the previous version tag:Gather commits since last release:Write a new section in CHANGELOG.md following this format: - 04
1. Determine version and release type
Stable release (default): Increment patch version (e.g., 1.0.5 → 1.0.6). Confirm with user if unsure which part to bump (major/minor/patch).
Stable release (default): Increment patch version (e.g., 1.0.5 → 1.0.6). Confirm with user if unsure which part to bump (major/minor/patch).Pre-release: Use the exact version the user specified (e.g., 2.0.0.beta.1). Before proceeding, warn about pre-release caveats (see section below). - 05
2. Write CHANGELOG
This is the one step the agent handles manually — the script does not write changelog entries because it requires reviewing git history and exercising judgment.
Find the previous version tag:Gather commits since last release:Write a new section in CHANGELOG.md following this format:
Permission review
Static risk signals and limitations
Runs scripts
The documentation asks the agent to run terminal commands or scripts.
git describe --tags --abbrev=0Runs scripts
The documentation asks the agent to run terminal commands or scripts.
git log <previous_tag>..HEAD --onelineNetwork access
The documentation includes network, browsing, or remote request actions.
Fresh install: curl -sSL https://raw.githubusercontent.com/clacky-ai/openclacky/main/scripts/install.sh | bashNetwork access
The documentation includes network, browsing, or remote request actions.
RubyGems: https://rubygems.org/gems/openclacky/versions/{version}Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 89/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 1,160 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- clacky-ai/openclacky
- Skill path
- .clacky/skills/gem-release/SKILL.md
- Commit
- faaa347a1fd5a855f8e205c379c4994e757b703c
- License
- MIT
- Collected
- 2026-08-04
- Default branch
- main
View the original SKILL.md
Gem Release Skill
Automates the complete openclacky gem release workflow via SKILL_DIR/scripts/release.sh.
Usage
- "Release a new version"
- "Publish a new gem version"
- "Release version 1.0.0.beta.1" (pre-release with explicit version)
/gem-release
Workflow
The release script (SKILL_DIR/scripts/release.sh) handles everything end-to-end:
- Pre-release checks (clean working directory, required tools)
- Run test suite (
bundle exec rspec) + web search smoke tests (real network — verifies Bing/DDG parsers still work against live HTML) - Bump version in
lib/clacky/version.rb - Update
Gemfile.lockviabundle install - Commit and push to origin, wait for CI
- Build gem (
gem build openclacky.gemspec) - Publish to RubyGems (
gem push) - Create git tag and push
- Create GitHub Release with .gem asset (uses CHANGELOG.md for notes)
- Upload .gem to Tencent Cloud OSS CDN
- Update
latest.txton OSS (stable only, unless--update-latest) - Rebuild and sync
scripts/to OSS - Cleanup build artifacts
Agent Instructions
1. Determine version and release type
Read current version:
grep 'VERSION =' lib/clacky/version.rb
Stable release (default): Increment patch version (e.g., 1.0.5 → 1.0.6). Confirm with user if unsure which part to bump (major/minor/patch).
Pre-release: Use the exact version the user specified (e.g., 2.0.0.beta.1). Before proceeding, warn about pre-release caveats (see section below).
2. Write CHANGELOG
This is the one step the agent handles manually — the script does not write changelog entries because it requires reviewing git history and exercising judgment.
-
Find the previous version tag:
git describe --tags --abbrev=0 -
Gather commits since last release:
git log <previous_tag>..HEAD --oneline -
Write a new section in
CHANGELOG.mdfollowing this format:## [X.Y.Z] - YYYY-MM-DD ### Added - Feature description ### Improved - Enhancement description ### Fixed - Bug fix description ### More - Minor items -
Categorization rules:
- Each commit with independent user-facing value gets its own bullet — don't over-merge commits sharing a theme
- Use imperative mood ("Add" not "Added")
- Place user-facing value at the top
- Skip trivial commits (typos, minor formatting)
- Sanity check: count
### Addedbullets vsfeat:commits — if commits > bullets, you likely merged too aggressively
-
Commit the changelog:
git add CHANGELOG.md git commit -m "docs: update CHANGELOG for v<version>"
3. Run the release script
Stable release:
bash "SKILL_DIR/scripts/release.sh" <version>
Pre-release (skip latest.txt):
bash "SKILL_DIR/scripts/release.sh" <version> --prerelease
Pre-release (update latest.txt — only if user explicitly requested):
bash "SKILL_DIR/scripts/release.sh" <version> --prerelease --update-latest
Dry run (preview only):
bash "SKILL_DIR/scripts/release.sh" <version> --dry-run
The script runs all steps sequentially and stops on any failure. Monitor the output — if a step fails, diagnose and fix before retrying.
4. Present release summary
After the script completes successfully, present a concise summary. The output will often be read in WeChat, so keep it compact and avoid template-like formatting that triggers message folding.
Rules:
- No emojis
- No tables (use a compact list if you need to list items)
- No multi-line code blocks
- Write as a natural, flowing message — not a structured report
- Skip "More" / chore items unless they directly affect users
- Write from the user's perspective — what they can now do, or what problem is fixed
- Translate technical terms into plain language
- Keep each item one sentence, action-oriented
Format (flexible — adapt as needed, but roughly):
v{version} released.
[One sentence highlight — the biggest user-visible change.]
Added:
- [translate each "Added" item]
- ...
Improved:
- [translate each "Improved" item]
- ...
Fixed:
- [translate each "Fixed" item]
- ...
Upgrade: click "Upgrade" in Web UI bottom-left, or `gem update openclacky`
Fresh install: curl -sSL https://raw.githubusercontent.com/clacky-ai/openclacky/main/scripts/install.sh | bash
RubyGems: https://rubygems.org/gems/openclacky/versions/{version}
GitHub: https://github.com/clacky-ai/openclacky/releases/tag/v{version}
Pre-Release Caveats
When releasing a pre-release version, inform the user of these behaviors:
| Concern | Behavior | Impact |
|---|---|---|
| Version check notification | Gem::Version("0.9.38") < Gem::Version("1.0.0.beta.1") is true | The upgrade dot WILL appear in the Web UI for most users |
gem update (official source) | Does NOT install prereleases without --pre | Users who click "Upgrade" will see notification but upgrade silently does nothing |
| OSS CDN upgrade (mirror users) | Downloads exact .gem from latest.txt | If latest.txt points to prerelease, mirror users WILL get the beta |
OSS latest.txt | Fresh installs fetch latest.txt | By default, do NOT update latest.txt for pre-releases |
Ask the user whether to use --update-latest before running the script.
Error Handling
The script uses set -euo pipefail and stops on any failure. Common issues:
- Tests fail → fix tests before re-running
- Web search smoke test fails (Bing) → This often happens due to datacenter IP fingerprinting (anti-scrape blocking) returning irrelevant top-domain filler (like Mr.Bricolage). If you see "No ruby-related result from bing" during the smoke test:
- Manually run
bundle exec rspec spec/integration/web_search_smoke_spec.rb --tag smoketo verify - If it's the anti-scrape block, temporarily edit
spec/integration/web_search_smoke_spec.rbto skip the relevance check on failure (e.g., usingskip "Bing returned anti-scrape garbage...") - Commit the change ("ci: skip bing smoke test relevance check on anti-scrape") and re-run the release script
- Manually run
- CI fails → script pushes then watches CI; fix and re-push if needed
- gem push fails → check RubyGems credentials (
gem signin) - gh release fails → check
gh auth status - coscli fails → check
~/.cos.yamlconfig
After fixing an issue, you can re-run the script — it's safe to retry. If a partial release happened (e.g., gem pushed but tag not created), handle remaining steps manually.
File Locations
- Release script:
SKILL_DIR/scripts/release.sh - Version file:
lib/clacky/version.rb - Gem specification:
openclacky.gemspec - Changelog:
CHANGELOG.md
Dependencies
- Ruby >= 3.1.0, Bundler, RSpec
ghCLI installed and authenticatedcoscliinstalled at/usr/local/bin/coscliwith~/.cos.yaml- RubyGems push credentials
Alternatives
Compare before choosing
K-Dense-AI/scientific-agent-skills
simpy
Build, inspect, test, and analyze bounded process-based discrete-event simulations with SimPy, including events, resources, interrupts, monitoring, replications, warm-up, and reproducible output analysis.
huggingface/skills
hf-cloud-sagemaker-production-defaults
Create a SageMaker endpoint (real-time, real-time scale-to-zero, or async) with autoscaling, CloudWatch alarms, and tagging enabled by default. Use this skill whenever about to create a SageMaker endpoint, write deployment code that calls `create_endpoint`, or finalize a deployment after the image URI and IAM role are known. Provides deploy.py for real-time endpoints, deploy_ic.py for real-time endpoints that scale to zero instances via inference components, and deploy_async.py for async endpoin
aAAaqwq/AGI-Super-Team
trade-prediction-markets
Build and test Polymarket prediction market trading strategies for YES/NO token trading. Provides 6 tools: get_all_prediction_events (browse markets, $0.001), get_prediction_market_data (analyze price history, $0.001), create_prediction_market_strategy (generate code, $1-$4.50), run_prediction_market_backtest (test performance, $0.001). Trade on real-world events (politics, economics, sports, crypto). Currently simulation only (live deployment coming soon).
github/awesome-copilot
flowstudio-power-automate-build
Build, scaffold, and deploy Power Automate cloud flows using the FlowStudio MCP server. Your agent constructs flow definitions, wires connections, deploys, and tests — all via MCP without opening the portal. Load this skill when asked to: create a flow, build a new flow, deploy a flow definition, scaffold a Power Automate workflow, construct a flow JSON, update an existing flow's actions, patch a flow definition, add actions to a flow, wire up connections, or generate a workflow definition from