Skip to content

DJ2695/custom-copilot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Custom Copilot (cuco)

Fast and quick customization of Agentic Coding Agents for your project.

License: MIT Python 3.12+

Features

  • 🚀 Multiple Integration Engines - Support for GitHub Copilot, Claude Code, and tool-agnostic formats
  • 📦 Bundles - Pre-configured combinations of customizations that work together
  • 🔧 Custom Sources - Add private repositories for company-internal customizations
  • 📝 Templates - Create new agents, prompts, skills, and bundles from templates
  • 📤 Publishing - Easy commands to publish resources to various destinations
  • 🔄 Smart Sync - Keep customizations up-to-date with conflict detection
  • 🌐 Multi-Standard Support - Works with AgentSkills.io, Anthropic Skills, MCP, and more
  • 🎯 Extensible - Support for public and private customization sources

Quick Start

Installation

# Install from GitHub
pip install git+https://github.com/DJ2695/custom-copilot.git

# Or clone and install locally
git clone https://github.com/DJ2695/custom-copilot.git
cd custom-copilot
pip install -e .

Basic Usage

# Initialize a new project (GitHub Copilot by default)
cuco init

# Or initialize for Claude Code
cuco init --engine=claude

# Or initialize in tool-agnostic format
cuco init --engine=cuco

# Install a bundle
cuco bundle add development-essentials

# Create resources from templates
cuco template create agent my-custom-agent
cuco template create skill my-workflow-skill

# Add individual resources
cuco add skill test-driven-development
cuco add agent skill-builder

# Publish your resources
cuco publish ./my-skill --type=skill --source=marketplace

# Add skills from GitHub URLs
cuco add skill https://github.com/anthropics/skills/tree/main/skills/brand-guidelines

# List available resources
cuco list bundles
cuco list skills

Documentation

Commands

Project Setup

cuco init                    # Initialize .github folder (GitHub Copilot)
cuco init --engine=claude    # Initialize .claude folder (Claude Code)
cuco init --engine=cuco      # Initialize .cuco folder (tool-agnostic)

Templates

cuco template list                      # List available templates
cuco template create agent <name>       # Create agent from template
cuco template create skill <name>       # Create skill from template
cuco template create prompt <name>      # Create prompt from template
cuco template create bundle <name>      # Create bundle from template

Publishing

cuco publish <path> --source=marketplace              # Get PR instructions
cuco publish <path> --source=git-commit --destination=<repo-path>
cuco publish <path> --source=local --destination=<path>

Bundles

cuco bundle list             # List available bundles
cuco bundle add <name>       # Install a bundle

Individual Resources

cuco add agent <name>        # Add an agent
cuco add prompt <name>       # Add a prompt
cuco add skill <name>        # Add a skill
cuco add instructions <name> # Add instructions
cuco add mcp <name>          # Add MCP server
cuco list <type>             # List available resources

Custom Sources

cuco source list                           # List custom sources
cuco source add <name> <type> <url>        # Add a source
cuco source remove <name>                  # Remove a source

Syncing

cuco sync                    # Sync all resources (with conflict detection)
cuco sync <name>             # Sync specific resource

Structure

Project Structure (Multiple Formats Supported)

GitHub Copilot (.github/)

your-project/
└── .github/
    ├── agents/              # Custom agents
    ├── prompts/             # Reusable prompts
    ├── skills/              # Skills
    ├── instructions/        # Instructions
    └── copilot-instructions.md

Claude Code (.claude/)

your-project/
└── .claude/
    ├── agents/              # Custom agents
    ├── prompts/             # Reusable prompts
    ├── skills/              # Skills
    └── instructions.md

Tool-Agnostic (.cuco/)

your-project/
└── .cuco/
    ├── agents/              # Custom agents
    ├── prompts/             # Reusable prompts
    ├── skills/              # Skills
    ├── bundles/             # Bundles
    ├── mcps/                # MCP servers
    └── config.json

Package Structure

custom_copilot/
├── agents/                  # Public agents
├── prompts/                 # Public prompts
├── skills/                  # Public skills
├── bundles/                 # Pre-configured bundles
└── templates/               # Templates for creating resources

Bundles

Bundles are pre-configured combinations of customizations. The manifest uses these resource types:

  • custom-copilot - Resources from the public custom-copilot repository
  • bundle - Resources included within the bundle
  • custom - Resources from configured git sources (private repositories)
  • github - Resources from GitHub URLs (direct file or folder links)
  • agentskills - Skills from agentskills.io compatible repositories (like anthropics/skills)

Example Bundle Manifest

{
  "name": "my-bundle",
  "version": "1.0.0",
  "dependencies": {
    "agents": [
      {
        "name": "skill-builder",
        "type": "custom-copilot",
        "source": "agents/skill-builder.agent.md"
      },
      {
        "name": "company-agent",
        "type": "custom",
        "source_name": "my-company",
        "source": "agents/company-agent.agent.md"
      }
    ],
    "skills": [
      {
        "name": "brand-guidelines",
        "type": "agentskills",
        "repo": "anthropics/skills",
        "skill": "brand-guidelines"
      },
      {
        "name": "custom-skill",
        "type": "github",
        "url": "https://github.com/owner/repo/blob/main/skills/my-skill"
      }
    ],
    "prompts": [
      {
        "name": "custom-prompt",
        "type": "bundle",
        "path": "prompts/custom.prompt.md"
      }
    ]
  }
}

Adding Skills from Various Sources

From Built-in Registry

cuco add skill test-driven-development

From GitHub URLs

Add skills directly from GitHub repositories:

# From anthropics/skills (agentskills.io standard)
cuco add skill https://github.com/anthropics/skills/tree/main/skills/brand-guidelines

# From any GitHub repository with a SKILL.md file
cuco add skill https://github.com/owner/repo/blob/main/path/to/skill/SKILL.md

# Direct file URL
cuco add skill https://raw.githubusercontent.com/owner/repo/main/skills/my-skill/SKILL.md

From Custom Sources

Add your own git repositories as sources:

cuco source add my-skills https://github.com/myorg/skills.git
cuco add skill my-custom-skill

Private Customizations

Add your company's private customizations repository:

# Add a private source with HTTPS (uses git credentials)
cuco source add my-company https://github.com/mycompany/copilot-customs.git

# Or add with SSH (requires SSH key setup)
cuco source add my-company git@github.com:mycompany/copilot-customs.git

# List configured sources
cuco source list

The private repository can use any of these folder structures:

Traditional cuco Structure

mycompany/copilot-customs/
└── custom_copilot/
    ├── agents/
    ├── prompts/
    ├── skills/
    └── bundles/

Alternative .cuco Structure

mycompany/copilot-customs/
└── .cuco/
    ├── agents/
    ├── prompts/
    ├── skills/
    └── bundles/

Claude Code Standard (.claude)

mycompany/copilot-customs/
└── .claude/
    ├── agents/
    ├── prompts/
    └── skills/

GitHub Copilot Standard (.github)

mycompany/copilot-customs/
└── .github/
    ├── agents/
    ├── prompts/
    ├── skills/
    └── bundles/

AgentSkills.io Standard

mycompany/skills-repo/
└── skills/
    ├── skill-one/
    │   └── SKILL.md
    ├── skill-two/
    │   └── SKILL.md
    └── ...

The tool automatically detects which structure your repository uses.

Configuration File

Configuration is stored in:

  • ~/.cuco/config.json (global)
  • .cuco-config.json (project-specific, takes precedence)
{
  "sources": [
    {
      "name": "my-company",
      "type": "git",
      "url": "https://github.com/mycompany/copilot-customs.git"
    }
  ]
}

Using Custom Resources in Bundles

{
  "dependencies": {
    "agents": [
      {
        "name": "company-agent",
        "type": "custom",
        "source_name": "my-company",
        "source": "agents/company-agent.agent.md"
      }
    ]
  }
}

Authentication

HTTPS URLs:

  • Uses git credential helper
  • May prompt for username and password/token
  • Set up a personal access token for private repos

SSH URLs:

  • Requires SSH keys set up with ssh-agent
  • Run ssh-add ~/.ssh/id_rsa to add your key
  • No password prompts during clone/pull

Creating Custom Resources

Using Templates

# Copy agent template
cp custom_copilot/templates/agent-template.agent.md custom_copilot/agents/my-agent.agent.md

# Copy skill template
cp -r custom_copilot/templates/skill-template custom_copilot/skills/my-skill

# Copy bundle template
cp -r custom_copilot/templates/bundle-template custom_copilot/bundles/my-bundle

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for details.

License

MIT License - see LICENSE file for details.

Links


Made with ❤️ for GitHub Copilot users

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages