WebArchiveExtractor — распаковка файлов webarchive

WebArchiveExtractor

Скилл для Claude Code на macOS: одной фразой распаковывает файлы .webarchive из Safari в обычные HTML-файлы и ресурсы

  • 346 ★ репозитория
  • Последний коммит
Скилл

Расширенный доступ

Почему такой уровень

  • Скилл запускает локальную программу и записывает файлы в выбранную папку
Все причины и проверки

robrohan/webarchiveextractor

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/webarchiveextractor

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Скилл запускает локальную программу и записывает файлы в выбранную папку

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Скилл webarchive для Claude Code распаковывает файлы .webarchive с помощью приложения WebArchiveExtractor для macOS из того же репозитория. Safari создает такие файлы, когда вы сохраняете страницу как веб-архив, а приложение раскладывает их содержимое в обычные HTML-файлы и ресурсы. Тот же исполняемый файл работает из командной строки, а без аргументов открывает окно. Claude Code достаточно попросить обычной фразой, например распаковать этот файл webarchive. Агент берет путь к архиву из запроса, при необходимости спрашивает папку вывода и запускает программу с параметрами -i, -o и -p. Параметр -p добавляет префикс ко всем ссылкам на ресурсы в HTML, это нужно для публикации результата в подпапке сайта. После распаковки скилл показывает путь к папке, число файлов и главный HTML-файл. Затем он предлагает открыть этот файл в браузере.

Для кого. Для владельцев Mac, у которых остались страницы, сохраненные в Safari как веб-архив, и нужны обычные HTML-файлы.

Подходит, если

  • Нужно вытащить HTML и картинки из сохраненной в Safari страницы, чтобы разместить ее на сайте
  • Требуется распаковать пачку файлов webarchive одной фразой в Claude Code
  • Результат публикуется в подпапке сайта, поэтому ссылки на ресурсы получают префикс через параметр -p
  • Надо проверить, какие файлы и скрипты лежат внутри сохраненной страницы

Не подходит, если

  • Компьютер с Windows или Linux: приложение написано на Objective-C и работает только на macOS
  • Приложение не установлено: скилл только вызывает его и сам ничего не распаковывает
  • Нужно сохранить страницу из интернета заново: инструмент только распаковывает готовые архивы

Пример запроса к агенту

Распакуй файл ~/Desktop/report.webarchive и покажи, какой HTML-файл главный.

Ограничения

Работает только на macOS. Приложение нужно собрать из исходников командой `xcodebuild -project WebArchiveExtractor.xcodeproj` или купить готовую сборку на сайте автора. Для сборки нужен Xcode из App Store, после его установки один раз выполняют `xcodebuild -runFirstLaunch`.

Приложение работает в песочнице macOS, поэтому надежно писать оно может только в папку Загрузки. По умолчанию скилл складывает результат в ~/Downloads, а если запись в другую папку не удалась, автор советует вернуться к Загрузкам.

Лицензия лежит в отдельном файле LICENSE.md без стандартного идентификатора, сам проект — форк старой разработки с SourceForge. Скилл запускает локальную программу и ничего не загружает из сети.

Как отключить. Удалите папку ~/.claude/skills/webarchive. Приложение из папки Applications удаляется отдельно.

Частые вопросы

Как поставить скилл webarchive в Claude Code?

Создайте папку командой mkdir -p ~/.claude/skills/webarchive и скопируйте в нее файл skills/webarchive/SKILL.md из репозитория. Само приложение должно стоять в /Applications/WebArchiveExtractor.app.

Что такое файл .webarchive?

Это двоичный формат plist, в который Safari сохраняет страницу вместе с картинками и стилями. Инструмент разворачивает такой файл в обычную папку с HTML и ресурсами.

Почему результат падает в папку Загрузки?

Приложение работает в песочнице macOS, и надежно писать оно может только в Загрузки. Поэтому скилл по умолчанию создает папку ~/Downloads с именем архива.

Как запустить распаковку без Claude Code?

Выполните исполняемый файл из командной строки: WebArchiveExtractor website.webarchive распакует архив в папку website рядом, а ключ -o задает свою папку. Без аргументов программа откроет окно.

Нужно ли собирать приложение самому?

Необязательно. Готовую сборку автор продает на своем сайте therohans.com, а бесплатно приложение собирают из исходников при установленном Xcode.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Плагин для разбора научных статей: из PDF или ссылки на arXiv получается краткая сводка, учебные материалы, код и веб-просмотрщик

ПлагинРасширенный доступ353Звезды репозитория

Скилл рисует проверенные схемы архитектуры, процессов, последовательностей и потоков данных в один интерактивный HTML-файл

СкиллРасширенный доступ91,2 тыс.Звезды репозитория

Готовый к форку шаблон Claude Code для академической работы: слайды, статьи, анализ данных с многоагентным ревью и воротами качества

ВоркфлоуШирокий доступ1,7 тыс.Звезды репозитория

Скилл и CLI превращают Markdown в DOCX, PDF, PPTX, XLSX, PNG и еще десяток форматов, все считается локально

СкиллРасширенный доступ274Звезды репозитория
Выбор редакции

Скилл и CLI от Firecrawl: агент переводит Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV и PDF в Markdown на вашей машине

СкиллРасширенный доступ23,2 тыс.Звезды репозитория

Скилл рисует анимированные схемы архитектуры и процессов в стиле рисунка от руки: темный неон и светлая бумага. README на китайском

СкиллМинимальный доступ371Звезды репозитория

Коротко о README

Документация показывает графический и консольный режимы, три способа вызова с параметрами и сборку проекта. Для сборки есть два шага подготовки Xcode и совет добавить программу в PATH или сделать ссылку в ~/.local/bin.

Бейдж для README

Исходный SKILL.md

---
name: webarchive
description: Extract .webarchive files (saved from Safari) into plain HTML/assets using the WebArchiveExtractor CLI. Use when the user wants to unarchive, extract, or convert a .webarchive file.
---

The user wants to extract a `.webarchive` file using WebArchiveExtractor.

If arguments were provided (`$ARGUMENTS`), use them to infer the input file and optionally the output directory or URL prepend. Otherwise, ask the user for the path to the `.webarchive` file.

## How to run WebArchiveExtractor

```
/Applications/WebArchiveExtractor.app/Contents/MacOS/WebArchiveExtractor [-h] [-o <OutputDirectory>] [-p <URLPrepend>] -i <WebArchiveFile>
```

**Options:**
- `-i <WebArchiveFile>` — **required** — path to the `.webarchive` file
- `-o <OutputDirectory>` — directory to write extracted files into (optional; defaults to a directory named after the archive next to it)
- `-p <URLPrepend>` — URI prefix to prepend to all asset URLs in the extracted HTML (optional; useful when serving the result from a subdirectory)

**Shorthand (no flag):**
```
WebArchiveExtractor website.webarchive
```
A positional argument is treated as the `-i` value.

## Prerequisites

The app must be installed at `/Applications/WebArchiveExtractor.app`. Check with:

```sh
test -x /Applications/WebArchiveExtractor.app/Contents/MacOS/WebArchiveExtractor && echo "found" || echo "not installed"
```

If not found, tell the user to build and install from source (`xcodebuild -project WebArchiveExtractor.xcodeproj`) or drag a release build to `/Applications`.

To use `WebArchiveExtractor` without the full path, the user can add it to `PATH`:

```sh
export PATH="$PATH:/Applications/WebArchiveExtractor.app/Contents/MacOS/"
```

Or create a symlink:

```sh
ln -s /Applications/WebArchiveExtractor.app/Contents/MacOS/WebArchiveExtractor ~/.local/bin/WebArchiveExtractor
```

## Steps

1. Check the binary exists using the test command above. If not found, stop and direct the user to install the app.
2. Determine the input `.webarchive` file from `$ARGUMENTS` or ask the user.
3. Determine the output directory:
   - If the user explicitly provided one in `$ARGUMENTS`, use that.
   - Otherwise, default to `~/Downloads/<archive-name>` (where `<archive-name>` is the input filename without the `.webarchive` extension).
   - If the user asks why `~/Downloads` is the default, explain: macOS sandboxes the WebArchiveExtractor app, which restricts which directories the CLI can write to. The `~/Downloads` folder is one of the few locations reliably accessible, so it's used as the default to avoid silent failures.
4. Determine (optional) URL prepend from `$ARGUMENTS` or ask if needed.
5. Run the extractor using the Bash tool:
   ```sh
   /Applications/WebArchiveExtractor.app/Contents/MacOS/WebArchiveExtractor -i "<input>" -o "<output>" [-p "<prepend>"]
   ```
6. If successful, list the output directory contents with `ls` and summarise:
   - The output directory path
   - How many files were extracted
   - The main HTML file name (if identifiable)
7. Offer to open the extracted HTML in the browser with `open <file>`.

## Notes

- `.webarchive` is a macOS-specific binary plist format used by Safari's "Save As Web Archive" feature.
- The CLI and the GUI app are the same binary — running with `-i` suppresses the GUI.
- Running with no arguments launches the GUI instead of extracting anything.

Сообщить о проблеме

Foxx AIWebArchiveExtractor — распаковка файлов webarchive
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.