oh-my-customcode
Advanced tools
+1
-1
@@ -6,3 +6,3 @@ { | ||
| ], | ||
| "version": "1.1.17", | ||
| "version": "1.1.20", | ||
| "description": "Batteries-included agent harness for Claude Code", | ||
@@ -9,0 +9,0 @@ "type": "module", |
@@ -27,4 +27,8 @@ # [MAY] Optimization Guide | ||
| > **파이프 뒤 `$?`는 마지막 명령의 exit code (#1492)**: `script.sh | tail -N; echo $?`처럼 검증 스크립트를 파이프에 연결한 뒤 `$?`로 읽으면 파이프라인 **마지막 명령**(`tail`)의 종료코드를 얻는다 — 스크립트 자체가 실패(exit 1)해도 `tail`이 성공(exit 0)하면 `$?=0`으로 "통과"를 오판한다. 검증 스크립트는 파이프 없이 단독 실행하거나 `${PIPESTATUS[0]}`으로 원본 exit code를 읽는다. **주의**: `${PIPESTATUS[0]}` 자체는 R023 Workflow JS 템플릿 리터럴 이스케이프 이슈(#1438, `${...}`를 JS가 평가해 ReferenceError)와 별개 문제 — 본 항목은 셸에서 파이프 뒤 exit code를 읽는 각도다. Origin: #1492 (Session 132 회고 찐빠 #3). Cross-ref: R020 ("command executed" ≠ "succeeded"). | ||
| > **v2.1.206+**: `/doctor`에 checked-in CLAUDE.md에서 코드베이스로부터 파생 가능한 내용을 잘라내도록 제안하는 체크가 추가되었습니다 — R005 "Context Optimization via HTML Comments"의 컨텍스트 절감 원칙과 정합(모델 불필요 메타데이터 축소). | ||
| > **v2.1.208+**: Fixed several tool-reliability bugs: env vars like `CLAUDE_CODE_MAX_OUTPUT_TOKENS` silently used only the mantissa of scientific-notation values (`1e6` became `1`); Edit now succeeds on a file modified after being read, as long as the target text still matches uniquely; Read no longer misreports empty files as "shorter than offset"; Grep no longer silently returns "No files found" for invalid regex, no longer under-reports paginated count-mode totals; and Glob no longer crashes on a null byte in pattern/path/cwd. | ||
| ### Capability-Aware Tool Scheduling | ||
@@ -31,0 +35,0 @@ |
@@ -18,2 +18,4 @@ # [MUST] Agent Design Rules | ||
| > **v2.1.208+**: The Agent tool no longer launches with no tools when a subagent's `tools:` list resolves to nothing — it now returns a clear error naming the unrecognized entries, catching frontmatter `tools:` typos that previously failed silently. | ||
| ### Model Aliases | ||
@@ -20,0 +22,0 @@ |
@@ -76,13 +76,15 @@ # [MUST] Completion Verification Rules | ||
| 구조 검증(mgr-sauron R017)·판정·품질 게이트를 서브에이전트에 위임할 때, 위임 프롬프트에 **"최종 PASS/FAIL 판정 없이 turn을 종료하지 말라"**를 명시해야 한다. 이를 누락하면 검증 에이전트가 판정 직전(예: source-hash 대조 중)에서 turn을 종료해, 오케스트레이터가 판정 없는 불완전 보고를 받는다. | ||
| 구조 검증(mgr-sauron R017)·판정·품질 게이트를 서브에이전트에 위임할 때, 위임 프롬프트에 **"최종 PASS/FAIL 판정 없이 turn을 종료하지 말라"**를 명시한다 — 단 이 clause는 **보조 수단**일 뿐 1차 방어선이 아니다. clause를 명시해도 mid-step 종료가 5회 재발했다(v1.1.13/14/17/18/19, 아래 Origin 참조). **1차 방어선은 오케스트레이터의 직접 ground-truth 실측**이다. | ||
| mid-step 종료가 발생하면 판정을 그대로 신뢰하지 말고(R020 Core Rule) SendMessage로 해당 에이전트를 resume하여 최종 판정을 받는다. | ||
| mid-step 종료는 예상 가능한 정상 실패 모드로 취급한다 — 발생 시 즉시 ground-truth를 실측해 실제 진행 상태를 확인한다. **증상만으로 결과를 넘겨짚지 않는다**: 같은 "...중" 한 줄 종료라도 실측 결과는 다를 수 있다(예: "merging now" 후 종료 → 실측 시 PR 이미 MERGED, resume 불필요 / "CI 실행 중" 후 종료 → 실측 시 PR OPEN 미머지, resume 필요). 미완이면 SendMessage로 resume하되, 오케스트레이터가 실측한 값(예: "CI 전부 통과, mergeStateStatus=CLEAN")을 resume 메시지에 동봉해 에이전트가 재폴링 후 재종료하는 루프를 끊는다. | ||
| | Anti-pattern | Required | | ||
| |--------------|----------| | ||
| | 검증/판정 위임 프롬프트에 종료 조건 미명시 → 판정 없이 mid-step 종료 | 위임 프롬프트에 "판정 없이 turn 종료 금지" 명시 + mid-step 종료 시 SendMessage resume | | ||
| | 위임 프롬프트 clause 명시만으로 판정을 신뢰 | clause는 보조 수단; 오케스트레이터가 항상 직접 ground-truth 실측 | | ||
| | mid-step 종료 증상(예: "merging now")으로 결과를 넘겨짚음 | 매번 `gh pr view`/`gh run list` 등으로 실측 후 완료/미완료 판정 | | ||
| | resume 시 빈 재촉만 전달 | 실측값을 resume 메시지에 동봉해 재폴링 루프 차단 | | ||
| Origin: #1443 (Session 126 회고 찐빠 #1) — v1.1.3 R017 검증에서 mgr-sauron이 source-hash 대조 중 판정 없이 종료 → resume 후 PASS. v1.1.4에서 "판정 반드시 출력" 명시로 1회 완료(대조 실증). | ||
| Origin: #1443 (Session 126 회고 찐빠 #1) — v1.1.3 R017 검증에서 mgr-sauron이 source-hash 대조 중 판정 없이 종료 → resume 후 PASS. v1.1.4에서 "판정 반드시 출력" 명시로 1회 완료(대조 실증). **5회 재발 확인(#1492, Session 132)**: v1.1.13/14/17(clause 명시에도 재발) → v1.1.18(완료조건 6항목+종료금지 명시에도 "merging now" 한 줄 남기고 종료, 실측 결과 이미 완료) → v1.1.19(위임 프롬프트에 "4회 무시됨"까지 명시했으나 "CI 실행 중" 한 줄 남기고 종료, 실측 결과 미완료). Session 132에서 2회 모두 오케스트레이터 직접 실측으로 복구 — clause 강화가 아니라 실측 습관화가 유일하게 실증된 방어선. | ||
| Cross-reference: R018 (Member Completion Verification), `feedback_release_delegation_phasing` (release delegation phasing을 verification 위임에도 확장). | ||
| Cross-reference: R018 (Member Completion Verification), `feedback_release_delegation_phasing`, `feedback_orchestrator_direct_verify` (release delegation phasing을 verification 위임에도 확장). | ||
@@ -89,0 +91,0 @@ > **v2.1.199+**: subagent가 API 오류(usage limit reached 등)를 성공 결과로 오보하던 문제가 수정되어 이제 오류가 parent agent에 정확히 보고됩니다. 플랫폼 수정으로 false-success 자가보고 빈도는 줄지만, "actual outcome ≠ attempt" ground-truth 검증 원칙(R020 Core Rule)은 여전히 유지된다 — subagent 보고를 그대로 신뢰하지 말고 `git status`/`grep`/validation script로 재확인한다. |
@@ -347,8 +347,12 @@ # [MUST] Orchestrator Coordination Rules | ||
| > **v2.1.198+**: `claude agents`에서 launch된 background agent가 worktree에서 code 작업을 완료하면 이제 멈춰서 묻지 않고 commit·push·draft PR open을 자동 수행합니다. 또한 응답 중 일시적 network 오류(ECONNRESET 등)로 turn이 abort되던 문제가 backoff retry로 수정되었고, web/desktop/VS Code task panel에서 background task가 완료 후에도 "Running"으로 멈춰있던 문제가 수정되었습니다. background agent의 자동 commit/PR 자동화가 강화되었으므로, `mode: "bypassPermissions"`는 여전히 필수입니다. | ||
| --> | ||
| > **v2.1.199+**: subagent가 rate limit이나 server error로 잘리면 이제 조용히 실패하는 대신 partial work를 parent에 반환합니다. background-agent daemon(Linux)이 unclean shutdown 후 corrupted worker record로 ~50초마다 자신과 모든 agent를 죽이던 문제, macOS SSH cold-start "Could not switch to audit session" 문제, `claude stop`이 background-agent respawn과 race하면 조용히 무효화되던 문제(이제 respawn이 stop을 존중), background job progress indicator가 긴 명령 중 멈춰있던 문제가 수정되었습니다. background-agent lifecycle 견고성이 추가로 강화되었으며, `mode: "bypassPermissions"`는 여전히 필수입니다. | ||
| --> | ||
| > **v2.1.200+**: 백그라운드 세션/에이전트 견고성이 추가로 강화되었습니다 — sleep/wake 후 또는 stalled 세션 재개 시 mid-turn으로 조용히 멈추던 문제, stall respawn 후 Esc로 취소한 turn을 재실행하던 문제, 크래시가 남긴 stale `daemon.lock`(OS가 PID를 재사용)으로 백그라운드 에이전트가 다시 시작되지 않던 문제, 재설치된 구버전 빌드가 daemon을 탈취하던 문제(빌드 최신성은 이제 버전의 embedded build timestamp로 판정), 그리고 roster 일시 corruption이 orphan cleanup을 영구 비활성화하던 문제·구버전 바이너리가 신버전이 기록한 필드를 보존하지 못하던 문제·daemon 재시작 중 socket auth token이 제거되던 문제를 수정했습니다. v2.1.195~199 백그라운드-에이전트 lifecycle 견고성 체인의 연장입니다. `mode: "bypassPermissions"`는 모든 Agent tool 호출에 여전히 필수입니다. | ||
| > **v2.1.208+**: Added `CLAUDE_CODE_PROCESS_WRAPPER` — the background service and agent view now honor a corporate launcher by routing every Claude Code self-spawn through a required wrapper executable. Also fixed: replies typed to a background agent being lost when delivery fails (now saved and delivered on session restart), background-session attach failing permanently ("Couldn't start the background daemon") after an update replaced the binary a running session was launched from, and an older daemon no longer silently restarting workers spawned by a newer version onto the older binary. Extends the v2.1.195~200 background-agent lifecycle robustness chain. `mode: "bypassPermissions"` remains required on every Agent tool call. | ||
| > **v2.1.209+**: Fixed `/model` and other dialogs being blocked in `claude agents` background sessions (reverts an overly broad guard). Continuation of the background-agent lifecycle chain above (cf. v2.1.208). `mode: "bypassPermissions"` remains required. | ||
| ## Agent Capability Pre-Check | ||
@@ -355,0 +359,0 @@ |
@@ -48,3 +48,3 @@ # [MUST] Permission Rules | ||
| > **v2.1.178+**: Permission rules now support `Tool(param:value)` syntax to match a tool's input parameters, with `*` wildcard — e.g. `Agent(model:opus)` denies Opus subagents, or a parameter glob to constrain a tool's arguments. This extends the v2.1.166 tool-name glob support down to per-parameter granularity. Relevant to the Agent Tool Permission Mode below: a deny rule can now block specific subagent models/parameters at the platform level, complementing `availableModels` (R006) and the universal `mode: "bypassPermissions"` requirement (R010). A `Agent(model:...)` parameter deny is evaluated by the CC platform independent of the advisory tier table. | ||
| > **v2.1.208+**: Permission rule matchers (deny/ask rules) are now compiled once and cached, fixing multi-second per-turn slowdowns in sessions with many rules. Complements the deny-by-default posture above — a large deny/allow rule set no longer costs per-turn latency. | ||
@@ -55,3 +55,3 @@ <!-- ARCHIVED CC version note (historical): v2.1.183+: Fixed MCP servers requiring authentication exposing auth-stub tools to the model in headless/SDK mode — unauthenticated MCP auth-stub tools are no longer surfaced to the model in `-p` / SDK runs (they would fail on call). Relevant to the Tier-6 MCP tier: a headless run no longer offers auth-stub MCP tools. Separately, v2.1.181 added the `sandbox.allowAppleEvents` opt-in setting, letting sandboxed commands send Apple Events on macOS (default off) — a deliberate sandbox-scope widening, complementing the Tier-based policy above. --> | ||
| > **v2.1.187+**: Org-configured model restrictions now apply to the model picker, `--model`, `/model`, and `ANTHROPIC_MODEL`, surfacing a "restricted by your organization's settings" message for a restricted model. Extends the v2.1.175 `enforceAvailableModels` managed-setting scope to the model picker/env entry points. Also added the `sandbox.credentials` setting (blocks sandboxed reads of credential files/secret env) — cross-ref R001. | ||
| <!-- ARCHIVED CC version note (historical): v2.1.178+: Permission rules now support `Tool(param:value)` syntax to match a tool's input parameters, with `*` wildcard — e.g. `Agent(model:opus)` denies Opus subagents, or a parameter glob to constrain a tool's arguments. This extends the v2.1.166 tool-name glob support down to per-parameter granularity. Relevant to the Agent Tool Permission Mode below: a deny rule can now block specific subagent models/parameters at the platform level, complementing `availableModels` (R006) and the universal `mode: "bypassPermissions"` requirement (R010). A `Agent(model:...)` parameter deny is evaluated by the CC platform independent of the advisory tier table. --> | ||
@@ -64,4 +64,6 @@ <!-- ARCHIVED CC version note (historical): v2.1.191+: Sandbox network permission dialog now REMEMBERS hosts allowed with "Yes" for the rest of the session (no per-connection re-prompt). Also: `/permissions` Recently-denied tab now PERSISTS an approved denial on close (previously discarded); managed `forceRemoteSettingsRefresh` now takes effect via MDM/file policy with `Cache-Control: no-cache`; MCP capability discovery (`tools/list`/`prompts/list`/`resources/list`) and OAuth token requests now retry transient network errors with backoff (headless skips the browser popup). Relevant to Tier-4/Tier-6 (sandbox network + MCP) permission flows. --> | ||
| > **v2.1.196+**: 조직 기본 모델(org default models)이 추가되어 관리자가 org 콘솔에서 설정하며, 사용자가 직접 고르지 않으면 `/model`에 "Org default"(또는 "Role default")로 표시됩니다 — v2.1.187 org model restriction 범위를 기본 모델 해석까지 확장(cross-ref R006). 보안: `claude mcp list`/`get`이 self-approved `.mcp.json` 서버를 spawn하지 않고 신뢰되지 않은 워크스페이스는 `⏸ Pending approval` 표시(Tier-6, cross-ref R001). 또한 `claude agents --dangerously-skip-permissions`가 조용히 auto mode로 폴백하던 문제를 수정 — 이제 bypass 고지를 표시하고 spawned agent에도 bypass 모드를 적용합니다(R010 Universal bypassPermissions와 정합). | ||
| <!-- ARCHIVED CC version note (historical): v2.1.187+: Org-configured model restrictions now apply to the model picker, `--model`, `/model`, and `ANTHROPIC_MODEL`, surfacing a "restricted by your organization's settings" message for a restricted model. Extends the v2.1.175 `enforceAvailableModels` managed-setting scope to the model picker/env entry points. Also added the `sandbox.credentials` setting (blocks sandboxed reads of credential files/secret env) — cross-ref R001. --> | ||
| <!-- ARCHIVED CC version note (historical): v2.1.196+: 조직 기본 모델(org default models)이 추가되어 관리자가 org 콘솔에서 설정하며, 사용자가 직접 고르지 않으면 `/model`에 "Org default"(또는 "Role default")로 표시됩니다 — v2.1.187 org model restriction 범위를 기본 모델 해석까지 확장(cross-ref R006). 보안: `claude mcp list`/`get`이 self-approved `.mcp.json` 서버를 spawn하지 않고 신뢰되지 않은 워크스페이스는 `⏸ Pending approval` 표시(Tier-6, cross-ref R001). 또한 `claude agents --dangerously-skip-permissions`가 조용히 auto mode로 폴백하던 문제를 수정 — 이제 bypass 고지를 표시하고 spawned agent에도 bypass 모드를 적용합니다(R010 Universal bypassPermissions와 정합). --> | ||
| > **v2.1.200+**: `default` permission mode가 CLI·`--help`·VS Code·JetBrains 전반에서 "Manual"로 표기되도록 변경되었습니다 — `--permission-mode manual`과 `"defaultMode": "manual"`이 기존 `default`와 병행 허용됩니다(동일 동작, 라벨만 변경). 위 tier 표의 `default` 모드는 그대로 유효하며 UI 표기만 "Manual"로 노출됩니다(cross-ref R006 Permission Mode Guidance). 또한 `AskUserQuestion` 다이얼로그가 기본적으로 auto-continue하지 않도록 변경되어(이전에는 idle 시 자동 진행), idle timeout은 `/config`로 opt-in해야 합니다 — **자율/비대화 흐름(FSD 등)에서 AskUserQuestion 호출은 이제 사용자 응답까지 블록되므로, 무인 실행 중 질문 도구 사용을 지양하고 best-judgment로 진행하는 R015 directive persistence와 정합**. 그리고 `.claude.json`의 `disabledMcpServers`/`enabledMcpServers`가 non-array 값일 때 발생하던 시작 크래시가 수정되었습니다(Tier-6 MCP). | ||
@@ -68,0 +70,0 @@ |
@@ -30,2 +30,4 @@ # [MUST] Safety Rules | ||
| > **v2.1.208+**: Catastrophic removals (e.g. `rm -rf ~`) wrapped in `$(…)`/backticks/`<(…)` now trigger the same prompt as the plain form in `--dangerously-skip-permissions` and auto mode — closes a subshell-obfuscation gap in the v2.1.183 platform-level destructive-command block above. | ||
| ### Pre-Delegation Blast-Radius Enumeration | ||
@@ -32,0 +34,0 @@ |
@@ -105,2 +105,14 @@ # [MUST] Sync Verification Rules | ||
| ### Restore-From-Deletion Regression Check (Origin: #1492) | ||
| 삭제된 파일/워크플로우/자산을 복원(restore)할 때, 삭제 이전에 그 파일에 적용된 **머지된 수정이 유실되지 않는지** 확인한다. 복원은 "되살리기"가 아니라 **최신 상태로의 재구성**이어야 한다. | ||
| | 확인 항목 | 명령 | | ||
| |-----------|------| | ||
| | 삭제 이전 수정 이력 | `git log --oneline -- <path>` (삭제 커밋 이전 커밋들 확인) | | ||
| | 복원 소스 시점 | 복원 대상이 **삭제 직전 커밋**인지 확인 — 더 오래된 버전/외부 사본이면 회귀 | | ||
| | 관련 PR 반영 여부 | 과거 수정 PR의 핵심 변경을 `grep`으로 재확인 | | ||
| Origin: #1492 (Session 132) — cc-release-monitor 워크플로우 삭제(#1454, 세션127) 후 복원(세션129)이 삭제 직전 이전 버전을 되살려 머지된 수정(#1451, `textwrap.dedent` 제거)이 소실. 약 8일간 결함 상태로 이슈 자동생성(#1489/#1490에 8칸 선행 들여쓰기+절단). Cross-ref: R020 (Read-Before-Characterize), R023 (Sample-Value Assembly — 문법 검증으로는 미노출, 샘플 조립 검증으로만 드러남). | ||
| ## Pre-Branch Freshness Gate (Origin: #1433 #1, ≥3회 재발) | ||
@@ -107,0 +119,0 @@ |
@@ -30,5 +30,5 @@ # [SHOULD] HUD Statusline Rules | ||
| > **v2.1.193+**: `claude_code.assistant_response` OpenTelemetry 로그 이벤트가 추가되어 모델의 응답 텍스트를 포함합니다. `OTEL_LOG_ASSISTANT_RESPONSES=1`이 아니면 redacted 되지만, 이 변수가 unset이면 `OTEL_LOG_USER_PROMPTS`를 따릅니다 — **보안 주의: 이미 프롬프트 내용을 로깅하는 배포는 업그레이드 즉시 응답 내용도 수신하기 시작합니다. 프롬프트만 유지하려면 `OTEL_LOG_ASSISTANT_RESPONSES=0`으로 설정하세요.** v2.1.157 tool_parameters / v2.1.161 metric slicing에 이은 `monitoring-setup` 스킬 OTEL 관측성 확장이며, 응답 텍스트 로깅은 명시적 opt-out이 필요한 민감 항목입니다. | ||
| <!-- ARCHIVED CC version note (historical): v2.1.193+: `claude_code.assistant_response` OpenTelemetry 로그 이벤트가 추가되어 모델의 응답 텍스트를 포함합니다. `OTEL_LOG_ASSISTANT_RESPONSES=1`이 아니면 redacted 되지만, 이 변수가 unset이면 `OTEL_LOG_USER_PROMPTS`를 따릅니다 — 보안 주의: 이미 프롬프트 내용을 로깅하는 배포는 업그레이드 즉시 응답 내용도 수신하기 시작합니다. 프롬프트만 유지하려면 `OTEL_LOG_ASSISTANT_RESPONSES=0`으로 설정하세요. v2.1.157 tool_parameters / v2.1.161 metric slicing에 이은 `monitoring-setup` 스킬 OTEL 관측성 확장이며, 응답 텍스트 로깅은 명시적 opt-out이 필요한 민감 항목입니다. --> | ||
| > **v2.1.196+**: 여러 병렬 요청이 사용량 한도에 도달하는 순간 rate-limit 경고가 깜빡이며 꺼지고 rate-limit telemetry가 과다 집계되던 문제를 수정. R012 관측성의 rate-limit 계측 정확도 개선입니다. | ||
| <!-- ARCHIVED CC version note (historical): v2.1.196+: 여러 병렬 요청이 사용량 한도에 도달하는 순간 rate-limit 경고가 깜빡이며 꺼지고 rate-limit telemetry가 과다 집계되던 문제를 수정. R012 관측성의 rate-limit 계측 정확도 개선입니다. --> | ||
@@ -39,2 +39,4 @@ > **v2.1.198+**: `claude agents`에 background agent notifications가 추가되어, 입력이 필요하거나 완료된 세션이 `Notification` hook을 발화합니다(`agent_needs_input` / `agent_completed`). R012 관측성을 백그라운드 subagent 상태 알림까지 확장 — HUD 이벤트 채널과 결합해 백그라운드 위임 작업의 대기/완료 상태를 놓치지 않게 합니다. | ||
| > **v2.1.208+**: Fixed `/release-notes` "Show all" injecting the entire changelog into the model's context (cross-ref R013 context budget). Fixed the context window (and auto-compact indicator) briefly resetting to 200k after CLI auto-update, causing a false "100% context used" on resumed long-context sessions — relevant to the CTX% statusline segment below. Completed background agents now stay listed in `/tasks` until cleanup instead of vanishing on completion — extends the v2.1.198 background-notification observability above. | ||
| <!-- DETAIL: HUD Events full spec | ||
@@ -41,0 +43,0 @@ ### When to Display: Multi-step tasks, parallel execution, long-running operations. Skip for single brief operations. |
@@ -112,6 +112,6 @@ --- | ||
| If count > 10: | ||
| ERROR: "Context fork cap exceeded: {count}/10" | ||
| If count > 12: | ||
| ERROR: "Context fork cap exceeded: {count}/12" | ||
| If count >= 8: | ||
| WARN: "Context fork usage high: {count}/10 — only {10-count} slots remaining" | ||
| WARN: "Context fork usage high: {count}/12 — only {12-count} slots remaining" | ||
| ``` | ||
@@ -118,0 +118,0 @@ |
@@ -32,3 +32,2 @@ name: cc-release-monitor | ||
| import sys | ||
| import textwrap | ||
@@ -124,36 +123,32 @@ GH_TOKEN = os.environ["GH_TOKEN"] | ||
| # Truncate release body | ||
| MAX_BODY = 2000 | ||
| # Truncate release body (GitHub issue body hard limit: 65536 chars; | ||
| # MAX_BODY leaves a safety margin for the fixed template text below) | ||
| MAX_BODY = 60000 | ||
| if not body_raw: | ||
| release_summary = "_릴리즈 노트가 제공되지 않았습니다._" | ||
| elif len(body_raw) > MAX_BODY: | ||
| release_summary = body_raw[:MAX_BODY] + "... (truncated)" | ||
| release_summary = ( | ||
| body_raw[:MAX_BODY] | ||
| + "\n\n... (truncated — 전문은 위 Link 참조)" | ||
| ) | ||
| else: | ||
| release_summary = body_raw | ||
| issue_body = textwrap.dedent(f"""\ | ||
| # Claude Code {version} | ||
| issue_body = ( | ||
| f"# Claude Code {version}\n\n" | ||
| f"**Release:** {version}\n" | ||
| f"**Published:** {published_at}\n" | ||
| f"**Link:** {html_url}\n\n" | ||
| "## 릴리즈 요약\n\n" | ||
| f"{release_summary}\n\n" | ||
| "---\n\n" | ||
| "## 액션 아이템\n\n" | ||
| "- [ ] oh-my-customcode 영향도 관점에서 릴리즈 노트 검토\n" | ||
| "- [ ] 새 Claude Code 기능이 에이전트에 영향을 주면 에이전트 정의 갱신\n" | ||
| "- [ ] 현재 oh-my-customcode 버전과의 호환성 테스트\n" | ||
| "- [ ] 새 기능이 관련되면 CLAUDE.md 갱신\n\n" | ||
| "---\n\n" | ||
| "_이 이슈는 cc-release-monitor GitHub Actions 워크플로우가 자동 생성했습니다._\n" | ||
| ) | ||
| **Release:** {version} | ||
| **Published:** {published_at} | ||
| **Link:** {html_url} | ||
| ## 릴리즈 요약 | ||
| {release_summary} | ||
| --- | ||
| ## 액션 아이템 | ||
| - [ ] oh-my-customcode 영향도 관점에서 릴리즈 노트 검토 | ||
| - [ ] 새 Claude Code 기능이 에이전트에 영향을 주면 에이전트 정의 갱신 | ||
| - [ ] 현재 oh-my-customcode 버전과의 호환성 테스트 | ||
| - [ ] 새 기능이 관련되면 CLAUDE.md 갱신 | ||
| --- | ||
| _이 이슈는 cc-release-monitor GitHub Actions 워크플로우가 자동 생성했습니다._\ | ||
| """) | ||
| create = subprocess.run( | ||
@@ -160,0 +155,0 @@ [ |
| { | ||
| "version": "1.1.17", | ||
| "version": "1.1.20", | ||
| "lastUpdated": "2026-07-14T00:00:00.000Z", | ||
@@ -4,0 +4,0 @@ "omcustomMinClaudeCode": "2.1.121", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
3665832
0.18%