Communitygithub.com

xyz-rainbow/xyz-windows-notify

🦄 범용 AI 에이전트 스킬로, Windows 10 및 11에서 기본 토스트 알림을 스마트 아이콘 해상도, 실시간 % 진행률 및 사운드 알림과 함께 보낼 수 있습니다.

xyz-windows-notify란 무엇인가요?

이 스킬은 모든 AI 에이전트(Antigravity, Claude, GPT, Cursor, Trae, Pi, Grok 등)가 Windows 10 및 11에서 기본 토스트 알림을 트리거할 수 있도록 설계되었습니다. PowerShell BurntToast 모듈을 활용하며, 사용자 정의 브랜딩, 백분율 기반 진행률 표시 및 동적 아이콘 관리를 제공합니다. 스마트 아이콘 해상도 계층 구조를 통해 명시적 경로, 번들 아이콘, 사용자 지정 디렉토리 등을 지원하며, 적절한 아이콘이 없을 경우 아이콘 없이 알림으로 우아하게 폴백합니다. 또한 AI 에이전트가 작업 유형(예: 데이터베이스, 백업, 오류)에 따라 컨텍스트에 맞는 아이콘을 선택하고, 필요한 경우 새 아이콘을 생성하도록 제안하는 지침을 포함합니다. Python 및 PowerShell 통합 패턴을 모두 지원하며, 전역 설정을 통해 여러 에이전트에서 접근할 수 있습니다.

지원 대상✓Claude Code~Codex CLI✓Cursor✓Antigravity✓Gemini CLI
npx skills add xyz-rainbow/xyz-windows-notify

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

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

문서

XYZ Windows Notify — 범용 AI 에이전트 스킬

이 스킬을 사용하면 모든 AI 에이전트(Antigravity, Claude, GPT, Cursor, Trae, Pi, Grok 등)가 PowerShell BurntToast를 사용하여 사용자 정의 브랜딩, 백분율 기반 진행률 및 동적 아이콘 관리와 함께 Windows 토스트 알림(Windows 10 및 Windows 11 호환)을 트리거할 수 있습니다.


🚀 Skills CLI를 통한 설치

npx skills add xyz-rainbow/xyz-windows-notify

🦄 번들 에셋 및 스마트 아이콘 해상도

이 스킬은 assets/icons/ 디렉토리에 기본 브랜딩을 번들로 제공합니다(assets/icons/unicorn.jpg 및 assets/icons/icon.jpg).

알림을 보낼 때 다음 스마트 해상도 계층 구조를 따르세요:

  1. 명시적 매개변수: -AppLogo "path/to/custom_icon.png"로 제공된 경로.
  2. 스킬 번들 아이콘: 스킬 디렉토리 내의 로컬 경로(예: <skill_dir>/assets/icons/unicorn.jpg).
  3. 레거시 번들 아이콘: <skill_dir>/assets/unicorn.jpg (하위 호환성용).
  4. 사용자 지정 아이콘 디렉토리: 환경 사용자 경로(예: 존재하는 경우 $env:USERPROFILE\Pictures\Icons\custom.png).
  5. 우아한 폴백: 이미지 파일이 없으면 -AppLogo 없이 기본 Windows 알림.

🤖 사용자 지정 아이콘 및 생성에 대한 AI 에이전트 지침

이 스킬을 사용하는 AI 에이전트는 시각적 피드백을 적극적으로 관리해야 합니다:

1. 컨텍스트에 맞는 아이콘 선택

  • 일반/기본: assets/icons/unicorn.jpg 또는 assets/icons/icon.jpg를 사용합니다.
  • 데이터베이스/백업: 전문화된 아이콘(예: assets/icons/backup.png 또는 assets/icons/database.png)이 있으면 우선합니다.
  • 배포/서버: 로켓/서버 아이콘.
  • 오류/심각한 알림: 경고/방패 아이콘.

2. 새 아이콘 제안 및 생성

  • 아이콘 저장 위치: 새 아이콘은 assets/icons/<name>.png(스킬 또는 리포지토리 폴더 내) 또는 사용자 아이콘 디렉토리($env:USERPROFILE\Pictures\Icons\)에 저장합니다.
  • 아이콘 사양:
    • 형식: PNG 또는 JPG(정사각형 1:1 비율).
    • 권장 크기: 256x256 또는 512x512 픽셀.
    • 투명 또는 깔끔한 단색 배경.
  • 사전 예방적 AI 프로토콜:
    • 새 반복 워크플로(예: 새 게임 서버 모니터, 비디오 렌더링 파이프라인 또는 데이터 동기화)를 시작할 때 assets/icons/에 일치하는 아이콘이 있는지 확인합니다.
    • 테마 관련 아이콘이 없으면 다음을 제안합니다.

      "[작업 이름]에 대한 특정 토스트 아이콘이 없는 것 같습니다. 맞춤형 256x256 아이콘을 생성하여 assets/icons/[name].png에 저장할까요?"

    • 사용자 승인 시 이미지 생성 도구(예: generate_image)를 사용하거나 적절한 에셋을 가져옵니다.

💻 PowerShell 통합

Import-Module BurntToast

# 기본/번들 아이콘 해상도 (하위 호환성 포함)
$CandidateIcons = @(
    "$PSScriptRoot\assets\icons\unicorn.jpg",
    "$PSScriptRoot\assets\unicorn.jpg",
    "$env:USERPROFILE\Pictures\Icons\custom.png"
)

$AppLogo = $CandidateIcons | Where-Object { Test-Path $_ } | Select-Object -First 1

# 폴백을 포함한 알림 보내기
if ($AppLogo) {
    New-BurntToastNotification `
        -Text "🦄 작업 마일스톤: 50%", "2,048 MB 중 1,024 MB 처리됨" `
        -AppLogo $AppLogo `
        -Sound 'Default'
} else {
    New-BurntToastNotification `
        -Text "📊 작업 마일스톤: 50%", "2,048 MB 중 1,024 MB 처리됨" `
        -Sound 'Default'
}

🐍 Python 통합 패턴

import subprocess
import os

def send_toast(title: str, message: str, icon_path: str = None):
    # 하위 호환성을 위한 후보 아이콘 경로
    base_dir = os.path.dirname(__file__)
    user_icon = os.path.expanduser("~/Pictures/Icons/custom.png")
    
    candidates = [
        icon_path,
        os.path.join(base_dir, "assets", "icons", "unicorn.jpg"),
        os.path.join(base_dir, "assets", "unicorn.jpg"),
        user_icon
    ]

    selected_icon = next((c for c in candidates if c and os.path.exists(c)), None)

    if selected_icon:
        ps_cmd = f"Import-Module BurntToast; New-BurntToastNotification -Text '{title}', '{message}' -AppLogo '{selected_icon}' -Sound 'Default'"
    else:
        ps_cmd = f"Import-Module BurntToast; New-BurntToastNotification -Text '{title}', '{message}' -Sound 'Default'"

    subprocess.run(["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass", "-Command", ps_cmd], capture_output=True)

# 라이프사이클 전체의 예제 사용법
send_toast("🚀 작업 시작됨", "작업 공간 파일 검색 및 체크섬 계산 중...")
send_toast("📊 진행률: 50%", "2,048 MB 중 1,024 MB 처리됨")
send_toast("✅ 작업 완료 (100%)", "2,100개 파일 성공적으로 처리됨!")

🌐 멀티 에이전트 전역 설정

이 스킬을 머신의 모든 에이전트에서 사용할 수 있게 하려면 이 폴더가 다음 위치에 심볼릭 링크되거나 복사되었는지 확인하세요:

  • Antigravity / Gemini: ~/.gemini/config/skills/windows-notify/
  • Claude Desktop / Code: ~/.claude/skills/windows-notify/
  • Cursor / Trae / 전역 에이전트: ~/.agents/skills/windows-notify/

관련 스킬