Community코딩 & 개발github.com

ArmenSl/windows-debloat

Windows 10/11 PC를 안전하게 정리하고 최적화하여, 개인 파일을 보관하고, 블로트웨어를 제거하며, 시작 프로그램을 정리하고, 정크를 청소하여 항상 켜져 있는 서버 또는 에이전트 머신으로 준비합니다. 사용자가 PC를 '디블로트'하고 싶다고 표현하지 않더라도, 속도 향상, 디스크 공간 확보, OEM 앱 제거 등을 원할 때 이 스킬을 사용하세요.

windows-debloat란 무엇인가요?

이 스킬은 Windows 10/11 PC를 철저히 조사하여 사용자가 승인한 구체적인 작업 목록을 생성하고, 이를 안정적으로 실행한 후 결과를 증명하는 워크플로우를 제공합니다. 개인 파일 절대 삭제 금지, 사용자 승인 없이 제거 금지라는 두 가지 엄격한 규칙을 따릅니다. 먼저 읽기 전용 설문 조사를 실행하여 디스크, RAM, CPU, 사용자 폴더 크기, 시작 항목, 설치된 앱(스토어 및 Win32)을 분석합니다. 그런 다음 사용자에게 개인 파일 보관 방법, 앱 그룹(서드파티 블로트웨어, Windows/OEM 앱, 개인 앱, 개발 도구), 시작 프로그램 등에 대한 선택 사항을 제시하며 기본값을 추천합니다. 실제 제거 작업은 단일 UAC 프롬프트로 처리되는 상승된 스크립트(elevated-uninstall.ps1)를 사용하여 순차적으로 진행되며, 실패 시 재시도 및 상세 로깅을 지원합니다. 마지막으로 확보된 공간, 제거된 앱, 보관된 파일 등을 종합하여 보고합니다. 이 스킬은 Claude Code, Cursor, Codex 등 PowerShell 스크립트를 실행할 수 있는 모든 AI 에이전트 플랫폼에서 사용할 수 있습니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ArmenSl/windows-debloat/tree/HEAD/skills/windows-debloat

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

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

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

문서

Windows 디블로트

이 스킬은 지저분한 개인 Windows PC를 사용자가 소중히 여기는 데이터를 잃지 않으면서 깔끔한 머신으로 바꿉니다. 대부분의 요청은 모호하고 감정적입니다("나쁜 건 다 없애줘, 필요 없는 건 다 지워줘"). 당신의 임무는 이를 사용자가 승인한 구체적인 목록으로 바꾸고, 안정적으로 실행하며 결과를 증명하는 것입니다.

두 가지 중요한 규칙이 있습니다. 이 머신의 개인 파일은 다른 곳에 복사본이 존재하기 전에는 절대 삭제되지 않습니다. 사용자가 목록을 확인하기 전에는 아무것도 제거되거나 삭제되지 않습니다.

워크플로우

1. 조사 (읽기 전용)

번들로 제공되는 조사 스크립트를 실행합니다. 이 스크립트는 아무것도 변경하지 않습니다:

powershell -NoProfile -ExecutionPolicy Bypass -File <skill-dir>/scripts/survey.ps1

이 스크립트는 디스크, RAM, CPU, 관리자 권한 여부, 사용자 폴더(Desktop/Documents/Downloads 내 가장 큰 항목 포함) 크기, 임시 파일 및 업데이트 캐시 크기, 시작 항목, 크기를 포함한 설치된 Win32 앱, 스토어 앱, 메모리를 가장 많이 사용하는 프로세스를 보고합니다. 결과를 읽고 references/bloat-catalog.md의 그룹으로 분류하세요.

2. 한 번에, 그룹별로 질문

갖춰진 도구가 있다면 객관식 질문 도구를 사용하여, 일반 언어로 각 항목의 중요성을 사용자가 이해할 수 있도록 크기와 RAM 수치를 포함하여 질문하세요. 다음 항목을 다루고 각각에 대한 기본값을 추천하세요:

  • 개인 파일. 하나의 보관 폴더(C:\Archive\<YYYY-MM-DD>\)로 이동(기본값: 동일 드라이브 내에서 즉시, 데이터 손실 없음), 압축, 또는 나중에 사용자가 아카이브를 머신 밖으로 복사한 후 삭제하도록 선택할 수 있습니다.
  • 앱 그룹. 용량이 큰 서드파티 블로트웨어; Windows/OEM 블로트웨어; 개인 앱(채팅, 게임, 에뮬레이터, VM); 개발 도구. 서버 또는 에이전트 머신의 경우 에이전트 호스트에는 Git, Node, Python, 편집기, JDK가 필요하므로 기본적으로 개발 도구를 유지하세요. 사용자가 명시적으로 요청할 때만 제거합니다.
  • 시작 프로그램. 필수적이지 않은 모든 항목을 비활성화하거나 OneDrive와 같은 클라우드 동기화는 유지합니다.

사용자가 "최대 에이전트 / 스웜 사용"을 요청하면 Windows 설치 프로그램이 서로를 잠근다(MSI 오류 1618)는 점을 간략히 설명하고, 따라서 제거는 하나씩 순차적으로 실행되어야 함을 알립니다. 읽기 전용 조사만 병렬로 수행할 수 있습니다.

3. 개인 파일 보관

같은 볼륨 내에서 Move-Item을 사용하세요. 이는 이름 바꾸기와 같습니다: 즉시 수행되며 파일은 그대로 유지됩니다. .lnk 바로 가기와 desktop.ini는 그대로 둡니다. 이동된 항목과 실패한 항목의 개수를 세어 보고합니다. 사용자가 다른 곳(USB, 클라우드)에 복사본이 있다고 확인하지 않는 한 아카이브를 머신에 보관하세요. 그런 경우에만 삭제를 제안하고, 삭제는 되돌릴 수 없으므로 먼저 확인을 받으세요.

4. 정크 청소 (스스로를 해치지 않도록)

  • %TEMP%에서는 1일보다 오래된 항목만 삭제하고, claude 폴더 또는 자신의 스크래치패드 아래에 있는 항목은 건너뜁니다. %TEMP% 전체를 지우면 에이전트 자신의 작업 파일(실행하려는 스크립트 포함)이 삭제될 수 있습니다.
  • C:\Windows\Temp 및 C:\Windows\SoftwareDistribution\Download는 관리자 권한이 필요하므로 상승된 배치(6단계)에 포함하세요.
  • 휴지통은 사용자가 동의하는 경우에만 비웁니다.

5. 시작 프로그램 정리 (백업 포함)

Run 키 값을 제거하기 전에 <archive>\startup-backup.txt 파일에 이름 = 명령 형식으로 기록하여 사용자가 나중에 누락된 항목을 복원할 수 있도록 하세요. HKCU Run 항목은 관리자 권한 없이 작동하며, HKLM Run 항목은 상승된 배치에 포함됩니다. SecurityHealth(Windows 보안) 또는 오디오/디스플레이 드라이버 항목은 절대 건드리지 마세요.

6. 제거

다음 순서대로 수행합니다:

  1. 스토어 앱 (관리자 권한 불필요): 각 앱에 대해 Remove-AppxPackage를 실행합니다. 오류 0x80073CFA는 시스템 보호 앱을 의미하므로 보고하고 넘어갑니다.

  2. 사용자별 Win32 앱 (관리자 권한 불필요): HKCU에 등록된 앱(Discord, 사용자별 Electron 앱)입니다. 먼저 해당 프로세스를 중지한 다음 QuietUninstallString을 실행합니다.

  3. 머신 전체 앱 (관리자 권한 필요): scripts/elevated-uninstall.ps1 스크립트를 사용하세요. 이 스크립트는 앱 이름 패턴을 받아 레지스트리에서 각 제거 명령을 확인하고, 하나의 상승된 스크립트를 작성하여 실행하므로 사용자가 열 개의 UAC 프롬프트 대신 하나만 승인하면 됩니다. 모든 단계를 기록하고 결과를 기다립니다:

    powershell -NoProfile -ExecutionPolicy Bypass -File <skill-dir>/scripts/elevated-uninstall.ps1 `
      -Patterns 'BlueStacks,WebAdvisor,Duet Display' -RemoveHklmRun 'Opera Browser Assistant' `
      -WorkDir 'C:\Archive\2026-11-08' -CleanSystemTemp
    

    패턴은 앱의 표시 이름과 일치하는 쉼표로 구분된 정규식입니다. 구체적으로 만드세요: Microsoft 365는 Office 자체와 일치할 수 있습니다.

    먼저 -DryRun 옵션으로 실행하여 아무것도 실행하지 않고 확인된 명령을 표시하세요. 스크립트는 이미 다음을 처리합니다:

    • MSI 앱: msiexec /x {GUID} /qn /norestart, UninstallString이 비어 있는 경우 레지스트리 키 이름 사용(VMware Player에는 제거 문자열이 없었습니다).
    • 종료 코드 1618(다른 설치 프로그램 실행 중): 잠시 기다린 후 재시도.
    • Office Click-to-Run(Project, Visio): ARP 명령에 DisplayLevel=False 추가.
    • Inno Setup (unins000.exe): /VERYSILENT /NORESTART.
    • 자동 제거 모드가 없는 제거 프로그램(McAfee, Zotero, BlueStacks): 대화형으로 실행합니다. 실행 전에 사용자에게 UAC 프롬프트를 승인하고 이 창을 클릭하여 진행하라고 알리세요.
  4. 이후 레지스트리를 다시 조회합니다. 남은 항목이 있으면 한 번 더 대상 재시도를 합니다. 나머지는 정직하게 보고합니다.

7. 서버 설정 (사용자가 직접 실행)

전원, 절전, 덮개 및 서비스 설정은 시스템 설정입니다. 사용자에게 관리자 PowerShell에서 실행할 명령으로, 각 코드 블록당 하나씩 제공하고 각각의 기능을 설명하세요:

powercfg /change standby-timeout-ac 0
powercfg /change hibernate-timeout-ac 0
powercfg /setacvalueindex SCHEME_CURRENT SUB_BUTTONS LIDACTION 0
powercfg /setactive SCHEME_CURRENT

선택 사항으로, 사용자가 결정할 수 있도록 다음을 제안하세요: 대규모 정리 전 복원 지점 생성, Windows 업데이트 활성 시간 설정, 헤드리스 사용을 위한 자동 로그인 또는 "로그인 후 앱 다시 시작" 설정, 전원 공급 시 균형 또는 고성능 전원 관리 옵션 선택.

8. 확인 및 보고

작업 전후의 여유 공간을 측정하고 앱 및 시작 프로그램 목록을 다시 확인합니다. 그런 다음 보고합니다:

  • 완료: 보관 위치 및 항목 수, 제거된 앱, 비활성화된 시작 항목, 확보된 공간(전 → 후).
  • 의도적으로 유지: 개발 도구, 브라우저, Office, 보안 소프트웨어, 드라이버, 런타임.
  • 사용자에게 맡김: PC 다시 시작, 서버 설정, 머신 밖으로 아카이브 복사.

절대 제거하지 않음

Defender / Microsoft.SecHealthUI; 드라이버 및 오디오, 디스플레이, 터치패드용 OEM 드라이버 서비스; Microsoft.WindowsStore; Microsoft.DesktopAppInstaller (winget); Windows 터미널; VC++ 재배포 가능 패키지, .NET 및 기타 프레임워크(IsFramework); Microsoft.XboxIdentityProvider (다른 앱이 의존함); 사용자의 보안 도구(예: Malwarebytes); 사용자가 현재 사용 중인 브라우저; 에이전트 자체가 실행 중인 모든 것.

관련 스킬