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).
알림을 보낼 때 다음 스마트 해상도 계층 구조를 따르세요:
- 명시적 매개변수:
-AppLogo "path/to/custom_icon.png"로 제공된 경로. - 스킬 번들 아이콘: 스킬 디렉토리 내의 로컬 경로(예:
<skill_dir>/assets/icons/unicorn.jpg). - 레거시 번들 아이콘:
<skill_dir>/assets/unicorn.jpg(하위 호환성용). - 사용자 지정 아이콘 디렉토리: 환경 사용자 경로(예: 존재하는 경우
$env:USERPROFILE\Pictures\Icons\custom.png). - 우아한 폴백: 이미지 파일이 없으면
-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/