skills/shichizip-macos-archiver/SKILL.md
```markdown --- name: shichizip-macos-archiver description: ShichiZip is a 7-Zip derivative for macOS built in Swift, providing archive creation, extraction, and management with native macOS integration. triggers: - "how do I build ShichiZip" - "compress files with ShichiZip" - "extract archives on macOS with 7-zip" - "ShichiZip zstandard variant" - "build 7-zip for macOS Swift" - "ShichiZip xcodebuild commands" - "integrate ShichiZip into my app" - "ShichiZip mainline vs zstanda
npx skillsauth add aradotso/trending-skills skills/shichizip-macos-archiverInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
---
name: shichizip-macos-archiver
description: ShichiZip is a 7-Zip derivative for macOS built in Swift, providing archive creation, extraction, and management with native macOS integration.
triggers:
- "how do I build ShichiZip"
- "compress files with ShichiZip"
- "extract archives on macOS with 7-zip"
- "ShichiZip zstandard variant"
- "build 7-zip for macOS Swift"
- "ShichiZip xcodebuild commands"
- "integrate ShichiZip into my app"
- "ShichiZip mainline vs zstandard fork"
---
# ShichiZip macOS Archiver
> Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection.
ShichiZip is a native macOS archive manager derived from 7-Zip, written in Swift. It provides a macOS-native UI and supports standard 7-Zip archive formats, with an optional Zstandard-enhanced fork variant for improved compression.
---
## What ShichiZip Does
- Opens, creates, and extracts archives in formats supported by 7-Zip (7z, zip, tar, gz, bz2, xz, rar, etc.)
- Provides a native macOS SwiftUI/AppKit interface
- Offers two build variants:
- **Mainline**: Standard 7-Zip backend
- **ZS (Zstandard)**: Fork with Zstandard compression support
---
## Requirements
- macOS (Apple Silicon recommended; `arm64` used in official build commands)
- Xcode (with command-line tools)
- `make`
- Swift toolchain
---
## Building ShichiZip
### Step 1: Clone the Repository
```bash
git clone https://github.com/idawnlight/ShichiZip.git
cd ShichiZip
Mainline variant:
make lib-mainline
Zstandard fork variant:
make lib-zs
Mainline app:
xcodebuild \
-project ShichiZip.xcodeproj \
-scheme ShichiZip \
-configuration Debug \
-arch arm64 \
build
Zstandard variant app:
xcodebuild \
-project ShichiZip.xcodeproj \
-scheme ShichiZipZS \
-configuration Debug \
-arch arm64 \
build
xcodebuild \
-project ShichiZip.xcodeproj \
-scheme ShichiZip \
-configuration Release \
-arch arm64 \
build
ShichiZip/
├── ShichiZip.xcodeproj/ # Xcode project
├── ShichiZip/ # Swift app source
│ ├── AppDelegate.swift # App entry point
│ ├── ContentView.swift # Main SwiftUI view
│ └── ...
├── Makefile # Library build targets
└── README.md
| Scheme | Library Target | Description |
|---------------|-----------------|------------------------------------|
| ShichiZip | lib-mainline | Standard 7-Zip backend |
| ShichiZipZS | lib-zs | Zstandard-enhanced fork |
Always match the make target to the Xcode scheme:
make lib-mainline → -scheme ShichiZipmake lib-zs → -scheme ShichiZipZSimport SwiftUI
struct ArchiveOpenView: View {
@State private var selectedURL: URL? = nil
@State private var showFilePicker = false
var body: some View {
Button("Open Archive") {
showFilePicker = true
}
.fileImporter(
isPresented: $showFilePicker,
allowedContentTypes: [.archive, .zip],
allowsMultipleSelection: false
) { result in
switch result {
case .success(let urls):
selectedURL = urls.first
if let url = selectedURL {
openArchive(at: url)
}
case .failure(let error):
print("File picker error: \(error.localizedDescription)")
}
}
}
func openArchive(at url: URL) {
// Pass URL to ShichiZip's archive handling layer
print("Opening archive at: \(url.path)")
}
}
If integrating with the 7-Zip CLI binary bundled in the app:
import Foundation
func extract(archivePath: String, destinationPath: String) {
guard let binaryURL = Bundle.main.url(
forResource: "7zz",
withExtension: nil,
subdirectory: "Binaries"
) else {
print("7zz binary not found in bundle")
return
}
let process = Process()
process.executableURL = binaryURL
process.arguments = ["x", archivePath, "-o\(destinationPath)", "-y"]
let outputPipe = Pipe()
let errorPipe = Pipe()
process.standardOutput = outputPipe
process.standardError = errorPipe
do {
try process.run()
process.waitUntilExit()
let outputData = outputPipe.fileHandleForReading.readDataToEndOfFile()
let output = String(data: outputData, encoding: .utf8) ?? ""
print("Output: \(output)")
if process.terminationStatus != 0 {
let errorData = errorPipe.fileHandleForReading.readDataToEndOfFile()
let error = String(data: errorData, encoding: .utf8) ?? ""
print("Error: \(error)")
}
} catch {
print("Failed to run extraction: \(error)")
}
}
func createArchive(inputPath: String, outputPath: String) {
guard let binaryURL = Bundle.main.url(
forResource: "7zz",
withExtension: nil,
subdirectory: "Binaries"
) else { return }
let process = Process()
process.executableURL = binaryURL
// "a" = add to archive
process.arguments = ["a", outputPath, inputPath]
do {
try process.run()
process.waitUntilExit()
print("Archive created at \(outputPath), exit: \(process.terminationStatus)")
} catch {
print("Failed to create archive: \(error)")
}
}
func listArchiveContents(archivePath: String) -> [String] {
guard let binaryURL = Bundle.main.url(
forResource: "7zz",
withExtension: nil,
subdirectory: "Binaries"
) else { return [] }
let process = Process()
process.executableURL = binaryURL
process.arguments = ["l", archivePath]
let pipe = Pipe()
process.standardOutput = pipe
do {
try process.run()
process.waitUntilExit()
let data = pipe.fileHandleForReading.readDataToEndOfFile()
let output = String(data: data, encoding: .utf8) ?? ""
return output.components(separatedBy: "\n").filter { !$0.isEmpty }
} catch {
print("Failed to list archive: \(error)")
return []
}
}
# Build the mainline 7-Zip library
make lib-mainline
# Build the Zstandard fork library
make lib-zs
# Clean build artifacts (if defined)
make clean
| Flag | Description |
|-------------------|--------------------------------------|
| -project | Path to .xcodeproj |
| -scheme | ShichiZip or ShichiZipZS |
| -configuration | Debug or Release |
| -arch | arm64 (Apple Silicon) or x86_64 |
| build | Build action |
make lib-mainline fails with missing dependenciesxcode-select --installmakemake target before buildingShichiZip.xcodeproj in Xcode and verify the scheme list matchesBundle.main.url(forResource:) path matches the actual bundle structure-arch arm64 with -arch x86_64-arch arm64 -arch x86_64 (requires both library builds)NSOpenPanel or fileImporter to obtain security-scoped bookmarks before accessing user filesurl.startAccessingSecurityScopedResource() / url.stopAccessingSecurityScopedResource()if url.startAccessingSecurityScopedResource() {
defer { url.stopAccessingSecurityScopedResource() }
extract(archivePath: url.path, destinationPath: destinationURL.path)
}
ShichiZip is licensed under LGPL-2.1, inherited from 7-Zip's licensing terms.
development
```markdown --- name: compose-performance-skills description: Install and use the skydoves/compose-performance-skills agent skill library to diagnose and fix Jetpack Compose performance issues including stability, recomposition, lazy layouts, modifiers, side effects, and build configuration. triggers: - "my composable recomposes too often" - "LazyColumn drops frames during scroll" - "diagnose Compose stability issues" - "fix unnecessary recomposition in Jetpack Compose" - "optimize Com
development
Headless iOS Simulator manager with host-side HID input injection, 60fps streaming, and device farm web UI for iOS 26
development
```markdown --- name: claude-code-game-studios description: Turn Claude Code into a full 49-agent game dev studio with 72 workflow skills, automated hooks, and a real studio hierarchy for Godot, Unity, and Unreal projects. triggers: - "set up claude code game studios" - "use ai agents for game development" - "set up game dev studio with claude" - "add game studio agents to my project" - "how do I use claude code for game dev" - "set up godot unity unreal ai workflow" - "49 agents g
development
```markdown --- name: xq-py-quantum-vm description: Python implementation of the Quip Network's quantum virtual machine (xqvm) triggers: - quantum virtual machine python - xqvm quip network - quantum circuit simulation python - xq-py quantum vm - quip network quantum python - simulate quantum gates python - quantum vm xqvm - xqvm-py quantum circuit --- # xq-py Quantum Virtual Machine > Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection. `xqvm-py` is a Python impl