How shpigford/chops works
Chops is a macOS app for discovering, organizing, editing, and creating coding-agent skills, agents, and rules across local tool directories and remote servers. The principal workflow scans tool paths, parses files, deduplicates and persists them, then presents searchable items for browsing and editing; file changes trigger rescans. Other major capabilities include registry discovery and agent-assisted composition with diff review. Relationships among unsampled subsystems are included only where the README or source index supports them; implementation details beyond the provided excerpts remain unverified.
Main entry points: ComposePanel.swift Agent composition · SkillScanner.swift Local and remote scanner · ContentView.swift Main workspace · SkillParser.swift Skill parser
Components 32
App and navigation
- App state
Chops/App/AppState.swift - Main workspace
Chops/App/ContentView.swift - Browse sidebar
Chops/Views/Sidebar/SidebarView.swift - Skill and agent list
Chops/Views/Sidebar/SkillListView.swift
Discovery and storage
- Local and remote scanner
Chops/Services/SkillScanner.swift - Tool definitions
Chops/Models/ToolSource.swift - Skill parser
Chops/Services/SkillParser.swift - Frontmatter parser
Chops/Utilities/FrontmatterParser.swift - Cursor MDC parser
Chops/Utilities/MDCParser.swift - File watcher
Chops/Services/FileWatcher.swift - Full-text search
Chops/Services/SearchService.swift - Skill records
Chops/Models/Skill.swift - Collections
Chops/Models/Collection.swift
Editing and creation
- Skill detail
Chops/Views/Detail/SkillDetailView.swift - Skill editor
Chops/Views/Detail/SkillEditorView.swift - Create skill or agent
Chops/Views/Shared/NewSkillSheet.swift
Agent composition
- Agent composition
Chops/Views/Shared/ComposePanel.swift - Prompt templates
Chops/Services/TemplateManager.swift - Agent factory
Chops/Services/Agents/AgentFactory.swift - Agent session
Chops/Services/Agents/AgentSession.swift - Claude CLI agent
Chops/Services/Agents/Claude/ClaudeCLIAgent.swift - Codex CLI agent
Chops/Services/Agents/Codex/CodexCLIAgent.swift - Diff review
Chops/Views/Shared/DiffReviewPanel.swift - Agent configuration
Chops/Models/AgentConfiguration.swift - Agent targets
Chops/Models/AgentTarget.swift - Wizard templates
Chops/Models/WizardTemplateType.swift
External integrations
- Skills registry
Chops/Views/Shared/RegistrySheet.swift - Registry client
Chops/Services/SkillRegistry.swift - Remote server setup
Chops/Views/Settings/RemoteServersSettingsView.swift - SSH operations
Chops/Services/SSHService.swift
Other components
- User
- Remote server
Connections 36
- User → Main workspace: uses
- Main workspace → App state: reads state
Chops/App/ContentView.swift - Main workspace → Browse sidebar: renders
Chops/App/ContentView.swift - Main workspace → Skill and agent list: renders
Chops/App/ContentView.swift - Main workspace → Local and remote scanner: starts scan
Chops/App/ContentView.swift - Main workspace → File watcher: starts watching
Chops/App/ContentView.swift - File watcher → Local and remote scanner: triggers rescan
- Local and remote scanner → Tool definitions: scans paths
Chops/Services/SkillScanner.swift - Local and remote scanner → Skill parser: parses files
Chops/Services/SkillScanner.swift - Skill parser → Frontmatter parser: dispatches parsing
- Skill parser → Cursor MDC parser: dispatches parsing
Chops/Utilities/MDCParser.swift - Local and remote scanner → Skill records: upserts records
Chops/Services/SkillScanner.swift - Local and remote scanner → SSH operations: syncs remote skills
Chops/Services/SkillScanner.swift - SSH operations → Remote server: runs commands
Chops/Services/SSHService.swift - Remote server setup → SSH operations: tests connection
Chops/Views/Settings/RemoteServersSettingsView.swift - Remote server setup → Local and remote scanner: requests sync
Chops/Views/Settings/RemoteServersSettingsView.swift - Browse sidebar → Skill and agent list: selects items
Chops/Views/Sidebar/SidebarView.swift - Skill and agent list → Full-text search: searches items
- User → Skill detail: opens item
- Skill detail → Skill editor: shows editor
Chops/Views/Detail/SkillDetailView.swift - Skill editor → Skill records: saves changes
- User → Create skill or agent: creates item
- User → Skills registry: discovers skills
- Skills registry → Registry client: searches registry
Chops/Views/Shared/RegistrySheet.swift - User → Agent composition: requests edits
- Agent composition → Prompt templates: builds prompt
Chops/Views/Shared/ComposePanel.swift - Agent composition → Agent factory: creates agent
Chops/Views/Shared/ComposePanel.swift - Agent factory → Claude CLI agent: selects implementation
Chops/Services/Agents/AgentFactory.swift - Agent factory → Codex CLI agent: selects implementation
Chops/Services/Agents/AgentFactory.swift - Claude CLI agent → Agent session: implements session
Chops/Services/Agents/Claude/ClaudeCLIAgent.swift - Codex CLI agent → Agent session: implements session
Chops/Services/Agents/Codex/CodexCLIAgent.swift - Agent composition → Agent session: drives session
Chops/Views/Shared/ComposePanel.swift - Agent composition → Diff review: reviews proposal
Chops/Views/Shared/ComposePanel.swift - Agent composition → Agent configuration: loads configuration
Chops/Views/Shared/ComposePanel.swift - Agent composition → Wizard templates: selects template
Chops/Views/Shared/ComposePanel.swift - Skills registry → Agent targets: targets installs
Chops/Views/Shared/RegistrySheet.swift