Shpigford /
Ваши навыки AI-агентов в порядке. macOS-приложение для правки и управления скиллами в Claude Code, Cursor, Codex, Windsurf и Amp.
Форки
74
Звёзды
1.2k
Issues
0
Your AI skills and agents, finally organized.
Download · Website · @Shpigford
One macOS app to discover, organize, and edit coding agent skills and agents across Claude Code, Cursor, Codex, Windsurf, and Amp. Stop digging through dotfiles.
xcode-select --install)brew install xcodegenSparkle (auto-update framework) is the only external dependency and is pulled automatically by Xcode via Swift Package Manager. No manual setup needed.
git clone https://github.com/Shpigford/chops.git
cd chops
brew install xcodegen # skip if already installed
xcodegen generate # generates Chops.xcodeproj from project.yml
open Chops.xcodeproj # opens in Xcode
Then hit Cmd+R to build and run.
Note: The Xcode project is generated from
project.yml. If you changeproject.yml, re-runxcodegen generate. Don't edit the.xcodeprojdirectly.
xcodebuild -scheme Chops -configuration Debug build
Chops/
├── App/
│ ├── ChopsApp.swift # @main entry — SwiftData ModelContainer + Sparkle
│ ├── AppState.swift # @Observable singleton — filters, selection, search
│ └── ContentView.swift # Three-column NavigationSplitView, kicks off scanning
├── Models/
│ ├── Skill.swift # @Model — a discovered skill or agent file
│ ├── Collection.swift # @Model — user-created skill groupings
│ └── ToolSource.swift # Enum of supported tools, their paths and icons
├── Services/
│ ├── SkillScanner.swift # Probes tool directories, upserts skills into SwiftData
│ ├── SkillParser.swift # Dispatches to FrontmatterParser or MDCParser
│ ├── FileWatcher.swift # FSEvents listener, triggers re-scan on changes
│ └── SearchService.swift # In-memory full-text search
├── Utilities/
│ ├── FrontmatterParser.swift # Extracts YAML frontmatter from .md files
│ └── MDCParser.swift # Parses Cursor .mdc files
├── Views/
│ ├── Sidebar/ # Tool filters, skills/agents lists, collections
│ ├── Detail/ # Skill editor, metadata display
│ ├── Settings/ # Preferences & update UI
│ └── Shared/ # Reusable components (ToolBadge, NewSkillSheet)
├── Resources/ # Asset catalog (tool icons, colors)
└── Chops.entitlements # Disables sandbox (intentional)
project.yml # xcodegen config — source of truth for Xcode project settings
scripts/ # Release pipeline (release.sh)
site/ # Marketing website (Astro 6)
SwiftUI + SwiftData, native macOS with zero web views.
ChopsApp initializes a SwiftData ModelContainer (persists Skill and SkillCollection)AppState is created and injected into the SwiftUI environmentContentView renders and calls startScanning()SkillScanner probes all tool directories and upserts discovered skillsFileWatcher attaches FSEvents listeners — on any change, the scanner re-runs automatically~/. This is intentional and required for core functionality. The entitlements file explicitly disables the app sandbox.AppState is an @Observable class that holds all UI state: selected tool filter, selected skill, search text, sidebar filter mode. It's injected via @Environment and accessible from any view.
Three-column NavigationSplitView:
NSTextView for native text editing with Cmd+S save)Chops scans these directories for skills and agents:
| Tool | Skills | Agents |
|---|---|---|
| Claude Code | ~/.claude/skills/ |
~/.claude/agents/ |
| Cursor | ~/.cursor/skills/, ~/.cursor/rules |
~/.cursor/agents/ |
| Windsurf | ~/.codeium/windsurf/memories/, ~/.windsurf/rules |
— |
| Codex | ~/.codex/skills/ |
~/.codex/agents/ |
| Amp | ~/.config/amp/skills/ |
— |
| Global | ~/.agents/skills/ |
— |
Copilot and Aider are also supported but only detect project-level skills and agents (no global paths). Custom scan paths can be added for any tool.
Tool definitions live in Chops/Models/ToolSource.swift — each enum case knows its display name, icon, color, and filesystem paths.
ToolSource enum in Chops/Models/ToolSource.swiftdisplayName, iconName, color, and globalPathslogoAssetNameSkillScanner if the new tool uses a non-standard file layout.md) — edit Chops/Utilities/FrontmatterParser.swift.mdc files — edit Chops/Utilities/MDCParser.swiftChops/Services/SkillParser.swift (decides which parser to use)Views are in Chops/Views/, organized by column (Sidebar, Detail) and shared components. The main layout is in Chops/App/ContentView.swift.
No automated test suite. Validate manually:
The marketing site lives in site/ and is built with Astro.
cd site
npm install # first time only
npm run dev # local dev server
npm run build # production build → site/dist/
This repo includes a Claude Code skill at .claude/skills/setup.md that gives AI coding agents full context on the project — architecture, key files, and common tasks. If you're using Claude Code, it'll pick this up automatically.
FSL-1.1-MIT — see LICENSE.
Данные обновлены: 16 апреля 2026 г.