{"slug": "stop-copy-pasting-ai-skills-between-repos-package-them-as-claude-code-plugins", "title": "Stop copy-pasting AI skills between repos: package them as Claude Code plugins", "summary": "A developer created a plugin system for Claude Code that packages AI skills into reusable git repositories, eliminating the need to copy-paste skills between repos. The plugins are structured git repos with a known layout, allowing teams to share skills like database queries, staging deploys, and log reading across projects with a simple install command.", "body_md": "As we enter the era of AI and skills, we're faced with new problems — a flood of skills, and sharing knowledge (skills) between repos.\n\nEvery day I work with a bunch of repositories, predominantly in Go but sometimes in other languages. A huge layer of knowledge should be shared between them — for example, how to connect to a database, how to deploy a test tag to a staging server, or where to find the logs.\n\nFor several months I had been creating skills in each repo and putting the specific knowledge there, but after a while I realized I'd started copy-pasting some skills between repos.\n\nClaude built a plugin system, and it has become mature enough to use. I created a separate repository with the skills and scripts that should be shared, and organized them as plugins. A plugin is just a structured git repository with files — convenient to maintain and update.\n\nThe install part is also very flexible: when I install a plugin, I can choose the scope.\n\nHere's what it looks like in practice.\n\nA plugin is just a git repo with a known layout. One marketplace can hold many plugins; one plugin can hold many skills.\n\n```\ndev-claude-plugins/                     # the repo you push to git\n├── .claude-plugin/\n│   └── marketplace.json                # catalog — lists the plugins in this repo\n└── plugins/\n    └── backend-dev/                    # one installable plugin\n        ├── .claude-plugin/\n        │   └── plugin.json             # manifest: name, version, author\n        └── skills/\n            ├── query-db/\n            │   └── SKILL.md            # how to connect + run read-only queries\n            ├── staging-deploy/\n            │   ├── SKILL.md            # deploy a dev tag to staging\n            │   └── references/         # extra docs the skill loads on demand\n            └── logs/\n                ├── SKILL.md            # where/how to read service logs\n                └── scripts/            # helper shell scripts the skill calls\n```\n\nThey're tiny. `marketplace.json`\n\nis the catalog:\n\n```\n{\n  \"name\": \"myteam\",\n  \"owner\": { \"name\": \"your-handle\" },\n  \"plugins\": [\n    { \"name\": \"backend-dev\", \"source\": \"./plugins/backend-dev\",\n      \"description\": \"Shared cross-repo dev skills: db queries, staging deploy, logs.\" }\n  ]\n}\n```\n\n`plugin.json`\n\nis the plugin itself:\n\n```\n{\n  \"name\": \"backend-dev\",\n  \"version\": \"0.1.0\",\n  \"author\": { \"name\": \"your-handle\" },\n  \"description\": \"Shared cross-repo development skills.\"\n}\n```\n\nTwo commands. First register the marketplace, then install the plugin — this is where you pick the scope (this project only, or user scope = available in every repo):\n\n```\n# 1. Register the marketplace — a local path while iterating…\n/plugin marketplace add ~/work/dev-claude-plugins\n#    …or a git URL to share across machines and teammates:\n/plugin marketplace add https://github.com/your-handle/dev-claude-plugins.git\n\n# 2. Install the plugin (prompts for scope: user vs project)\n/plugin install backend-dev@myteam\n```\n\nNow every skill is available as `/backend-dev:<skill>`\n\n— e.g. `/backend-dev:query-db`\n\n— and also auto-triggers from its description.\n\nAdd a skill once, bump `version`\n\n, push, and every repo picks it up with:\n\n```\n/plugin marketplace update myteam\n```\n\nOne source of truth instead of copy-pasting `.claude/skills/`\n\ninto ten repos.", "url": "https://wpnews.pro/news/stop-copy-pasting-ai-skills-between-repos-package-them-as-claude-code-plugins", "canonical_source": "https://dev.to/komandakycto/stop-copy-pasting-ai-skills-between-repos-package-them-as-claude-code-plugins-509h", "published_at": "2026-07-20 15:55:30+00:00", "updated_at": "2026-07-20 16:06:15.795521+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools", "artificial-intelligence"], "entities": ["Claude", "Claude Code"], "alternates": {"html": "https://wpnews.pro/news/stop-copy-pasting-ai-skills-between-repos-package-them-as-claude-code-plugins", "markdown": "https://wpnews.pro/news/stop-copy-pasting-ai-skills-between-repos-package-them-as-claude-code-plugins.md", "text": "https://wpnews.pro/news/stop-copy-pasting-ai-skills-between-repos-package-them-as-claude-code-plugins.txt", "jsonld": "https://wpnews.pro/news/stop-copy-pasting-ai-skills-between-repos-package-them-as-claude-code-plugins.jsonld"}}