| name | claude-native |
| description | Monitor Claude Code releases and auto-generate GitHub issues for each new version |
| scope | core |
| user-invocable | true |
| argument-hint | [--backfill] [--dry-run] |
| version | 1.0.0 |
Claude Native Skill
Monitor Claude Code (the CLI tool) release history and auto-generate GitHub issues for each new version that has not yet been tracked. Replaces the deprecated customclaw Airflow-based monitoring (deprecated 2026-03-18).
Options
--backfill Process ALL versions >= v2.1.86 (default behavior when flag is present)
Without flag: only check the latest 5 releases
--dry-run Show what issues would be created without actually creating them
Workflow
Phase 1: Fetch CC Releases
Fetch all Claude Code releases from the GitHub API:
gh api repos/anthropics/claude-code/releases \
--paginate \
--jq '.[] | {tag_name: .tag_name, published_at: .published_at, html_url: .html_url, body: .body}'
- Without
--backfill: fetch only the latest 5 releases (--limit 5 or first 5 results)
- With
--backfill: fetch all releases (use --paginate)
- Filter: only process versions >= v2.1.86 (monitoring stopped after v2.1.85 / issue #683)
Phase 2: Check Existing Issues
Search for existing tracking issues to avoid duplicates:
gh issue list \
--state all \
--search "Claude Code v" \
--json number,title \
--limit 100
Build a set of already-tracked versions by extracting version strings from issue titles matching the pattern Claude Code v(\d+\.\d+\.\d+) (no brackets).
Phase 3: Dedup
For each fetched release version:
- Parse the version string from
tag_name (e.g., v2.1.86)
- If an issue title matching
Claude Code v{version} already exists → skip (already tracked)
- If no matching issue → add to "needs issue" list
Phase 4: Create Issues (or Dry-Run Report)
Dry-Run Mode (--dry-run)
Print a report of what would be created:
[Dry Run] Would create issues for:
- v2.1.86 (published: 2026-01-15)
- v2.1.87 (published: 2026-01-22)
...
No issues were created.
Live Mode
For each version in the "needs issue" list, create a GitHub issue:
gh issue create \
--title "Claude Code v{version}" \
--label "automated,claude-code-release" \
--body "{body}"
Issue body format (matching the pattern established by issue #683):
# Claude Code v{version}
**Release:** v{version}
**Published:** {published_at}
**Link:** {html_url}
## 릴리즈 요약
{release_notes_body — truncated to first 2000 chars if too long}
---
## 액션 아이템
- [ ] oh-my-customcode 영향도 관점에서 릴리즈 노트 검토
- [ ] 새 Claude Code 기능이 에이전트에 영향을 주면 에이전트 정의 갱신
- [ ] 현재 oh-my-customcode 버전과의 호환성 테스트
- [ ] 새 기능이 관련되면 CLAUDE.md 갱신
---
_이 이슈는 cc-release-monitor 워크플로우(claude-native 스킬)가 자동 생성했습니다._
Notes:
Phase 5: Report Results
After processing all versions:
[claude-native] Scan complete
Versions checked: {N}
New issues created: {M}
Created:
- #1234 Claude Code v2.1.86
- #1235 Claude Code v2.1.87
Already tracked (skipped):
- v2.1.85 → #683
If no new releases found:
[claude-native] No new releases found. All versions >= v2.1.86 are already tracked.
Version Filtering Logic
MIN_VERSION = "2.1.86"
For each release:
version = strip_v_prefix(tag_name) # "v2.1.86" → "2.1.86"
parts = split(version, ".") # ["2", "1", "86"]
if compare_semver(version, MIN_VERSION) >= 0:
include
else:
skip
Semver comparison: major → minor → patch (all numeric). Pre-release suffixes (e.g., -beta) are included and compared lexicographically after numeric parts.
Note on non-contiguous patch numbers: Claude Code skips some patch numbers (e.g., v2.1.151 and v2.1.155 were never released publicly). The skill MUST act only on versions that actually appear in the GitHub releases API response — never assume contiguous numbering or attempt to fill gaps.
Error Handling
| Error | Action |
|---|
gh not authenticated | Report: "Error: gh CLI not authenticated. Run gh auth login first." |
| Rate limit hit | Report current status, list remaining versions |
| Label creation fails | Warn and continue (issue created without label) |
| Release body parse error | Use empty body fallback, continue |
Integration Options
Manual
/claude-native
/claude-native --backfill
/claude-native --dry-run
Automatic (SessionStart Hook)
Can be integrated into the SessionStart hook to check for new releases at session start:
{
"SessionStart": [
{
"command": "bash .claude/hooks/scripts/claude-native-check.sh"
}
]
}
A lightweight wrapper script can run a --dry-run check and notify if new releases exist.
Scheduled (CronCreate)
Can be set up as a scheduled remote agent using /schedule:
/schedule "daily at 9am: /claude-native"
Or via CronCreate MCP tool for programmatic scheduling.
Prerequisites
gh CLI installed and authenticated (gh auth status)
- Repository:
baekenough/oh-my-customcode (default, detected from git remote)
- Labels
automated and claude-code-release (auto-created if missing)
Background
- Last manually tracked release: v2.1.85 (issue #683)
- Monitoring gap: v2.1.86 onwards (customclaw deprecated 2026-03-18)
- This skill fills the monitoring gap and provides ongoing tracking