Communitygithub.com

lynicis/actup

터미널에서 대화형으로 GitHub Actions 버전을 업그레이드합니다.

actup란 무엇인가요?

이 스킬은 `.github/workflows/*.yml` 및 `.github/workflows/*.yaml` 파일에서 사용되는 GitHub Actions의 버전을 자동으로 스캔하고 최신 버전을 확인하여 업그레이드 제안을 제공합니다. 개발자가 수동으로 각 액션의 최신 릴리즈를 찾아다닐 필요 없이 터미널에서 바로 최신 상태로 유지할 수 있도록 돕습니다. `gh` CLI, GitHub REST API, 또는 Brave/Google 검색 MCP를 순차적으로 활용하여 안정적으로 최신 태그를 확인하며, 메이저 버전 변경 시 발생할 수 있는 호환성 문제를 사전에 경고합니다. 사용자가 명시적으로 요청하지 않는 한 워크플로우 파일을 자동으로 수정하지 않고 diff 형식의 보고서를 생성하여 안전하게 업데이트를 검토할 수 있도록 합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add lynicis/actup

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

GitHub Actions 업데이터

.github/workflows/*.yml 및 .github/workflows/*.yaml 파일을 최신 상태로 유지하기 위해 액션을 스캔하고, 최신 버전을 확인하며, 업그레이드를 제안합니다.

빠른 시작

사용자가 다음과 같이 요청할 때:

"내 GitHub Actions 업데이트해 줘" "어떤 액션이 구버전이야?" "워크플로우에서 액션 버전 올려줘"

아래 워크플로우를 따라 diff 형식의 제안이 포함된 Markdown 보고서를 반환하세요.

워크플로우

  1. 워크플로우 스캔

    • 모든 .github/workflows/*.yml 및 .github/workflows/*.yaml 파일을 찾습니다.
    • 파일이 없으면 사용자에게 알리고 중단합니다.
  2. uses: 참조 추출

    • 각 워크플로우에서 uses: 줄을 파싱합니다.
    • 다음은 건너뜁니다:
      • 로컬 경로: ./...
      • Docker 참조: docker://...
      • 전체 SHA 커밋: 40자 16진수 SHA 형태
    • action, current_version, workflow_file, line_number를 기록합니다.
  3. 최신 버전 확인

    • 각 액션을 owner/repo로 분할합니다.
    • 다음 순서로 도구를 시도합니다:
      1. gh를 사용할 수 있는 경우 gh api repos/{owner}/{repo}/tags --jq '.[].name'
      2. fetch를 사용하여 https://api.github.com/repos/{owner}/{repo}/tags
      3. Brave Search / Google Search MCP를 사용하여 "{owner}/{repo} latest release tag" 검색
    • 태그를 유효한 semver로 필터링합니다.
    • 기본적으로 전체 semver(v5.3.1)보다 메이저 태그(v5)를 선호합니다.
    • 메이저 태그가 없으면 가장 높은 semver 태그로 대체합니다.
  4. 주요 변경 사항 감지

    • 최신 버전이 현재 버전보다 메이저 버전이 높으면 주요 변경 사항으로 표시합니다.
    • 아래 포함된 레지스트리에서 알려진 경고를 교차 확인합니다.
  5. 제안 보고서 생성

    • 다음을 포함하는 Markdown 보고서를 생성합니다:
      • 요약 표: 액션 | 현재 | 최신 | 주요 변경? | 파일
      • 액션별 diff 블록
      • ⚠가 포함된 주요 변경 사항 경고
    • 사용자가 명시적으로 요청하지 않는 한 워크플로우 파일을 편집하지 않습니다.

주요 변경 사항 레지스트리

- action: actions/checkout
  from_major: 3
  to_major: 4
  warning: "Node 런타임이 16에서 20으로 업그레이드되었습니다. 사용자 지정 러너와 셀프 호스트 설정을 확인하세요."
- action: actions/setup-node
  from_major: 3
  to_major: 4
  warning: "Node 16 런타임이 더 이상 사용되지 않습니다. 이제 Node 20이 사용됩니다."
- action: actions/setup-go
  from_major: 4
  to_major: 5
  warning: "Node 20 런타임. 사용자 지정 캐시 키나 부작용을 확인하세요."

출력 템플릿

## GitHub Actions 업데이트 보고서

| 액션 | 현재 | 최신 | 주요 변경? | 파일 |
|------|------|------|-----------|------|
| actions/checkout | v3 | v4 | ⚠ 예 | .github/workflows/ci.yml |

### 제안된 변경 사항

`.github/workflows/ci.yml`:
```diff
- uses: actions/checkout@v3
+ uses: actions/checkout@v4

주요 변경 사항 경고

  • actions/checkout@v3 → v4: Node 런타임이 16에서 20으로 업그레이드되었습니다. 사용자 지정 러너와 셀프 호스트 설정을 확인하세요.

## 규칙

- 워크플로우 파일을 자동으로 저장하지 않습니다.
- 편집 전에 항상 diff 형식 미리보기를 보여줍니다.
- GitHub API 속도 제한에 도달하면 검색 MCP 또는 수동 안내로 대체합니다.
- 액션에 semver 태그가 없으면 "최신 버전을 확인할 수 없음"으로 표시합니다.

관련 스킬