Claude Native Skill

SkillMonitoring & ops

Monitor Claude Code releases and auto-generate GitHub issues for each new version

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Claude Native Skill skill

What this skill tells your AI

The instructions your AI receives, as published by baekenough/oh-my-customcode in .claude/skills/claude-native/SKILL.md and read by ahel’s review.

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:

  • If body from the release is empty, use _릴리즈 노트가 제공되지 않았습니다._
  • Truncate release body at 2000 characters and append ... (truncated) if needed
  • The automated and claude-code-release labels must exist in the repository; create them if missing:
    gh label create "automated" --color "#0075ca" --description "Automated issue" 2>/dev/null || true
    gh label create "claude-code-release" --color "#e4e669" --description "Claude Code release tracking" 2>/dev/null || true
    

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

ErrorAction
gh not authenticatedReport: "Error: gh CLI not authenticated. Run gh auth login first."
Rate limit hitReport current status, list remaining versions
Label creation failsWarn and continue (issue created without label)
Release body parse errorUse 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

Signals

GitHub stars
34
Forks
6
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
claude-native
Source
github.com/baekenough/oh-my-customcode