Provides intelligent project setup and management with agent-based architecture to minimize token usage. Auto-activates when user mentions project setup, "add project", "configure project", "monorepo", "subdirectories", "switch project", or "project info". Uses three specialized agents internally: project-detector (detect active), project-config-loader (load settings with validation), project-context-manager (manage active project). Guides through four workflows: Add New Project (setup + templates), Configure Monorepo (pattern matching + subdirectories), Switch Between Projects (auto or manual), View Project Information. Provides templates for common architectures (fullstack-with-jira, fullstack-linear-only, mobile-app, monorepo). Validates configuration and suggests fixes for errors. Handles context-aware error handling with specific fix suggestions.
View on GitHubduongdev/ccpm
ccpm
January 24, 2026
Select agents to install to:
npx add-skill https://github.com/duongdev/ccpm/blob/main/skills/project-operations/SKILL.md -a claude-code --skill project-operationsInstallation paths:
.claude/skills/project-operations/# Project Operations Skill
This skill handles all project-related operations in CCPM, including setup, configuration, detection, and multi-project management. It automatically invokes specialized agents to optimize performance and reduce token usage.
## Instructions
### Automatic Activation
This skill activates when user mentions:
- Project setup or configuration
- Adding/updating/deleting projects
- Multi-project management
- Monorepo or subdirectory configuration
- Project switching or detection
- Active project context
### Core Principles
1. **Agent-First Approach**: Always use specialized agents for project operations
2. **Minimal Token Usage**: Agents handle heavy logic, skills provide guidance
3. **Context-Aware**: Detect project context before operations
4. **User-Friendly**: Clear errors and actionable suggestions
### Agent Usage Patterns
#### Pattern 1: Detect Project Context
**When**: Command needs to know active project
**Implementation**:
```javascript
// Always start with detection
const detection = Task(project-detector): `
Detect active project for current environment
Current directory: ${cwd}
Git remote: ${gitRemote}
`
// Then load full config
const context = Task(project-context-manager): `
Get full context for detected project
Project ID: ${detection.project_id}
Subproject: ${detection.subproject}
Include config: true
Format: standard
`
// Use context for operations
console.log(`๐ Project: ${context.display.title}`)
```
**Benefits**:
- Consistent detection logic
- Reduces token usage (agent handles logic)
- Structured output ready for use
#### Pattern 2: Load Project Configuration
**When**: Command needs project settings (Linear, Jira, tech stack)
**Implementation**:
```javascript
const config = Task(project-config-loader): `
Load configuration for project: ${projectId}
Include subproject: ${subprojectName}
Validate: true
`
if (!config.validation.valid) {
console.error("Configuration errors:", config.validation.errors)
return