Skill repo
Use when creating skill repositories, standardizing or validating skill repo structure, setting up composer/release workflows, configuring split licensing (MIT + CC-BY-SA-4.0), fixing plugin.json / SKILL.md validation or version-parity errors, or releasing a skill version (version bump, tagging).From its SKILL.md
npx -y skills add netresearch/skill-repo-skill --skill skill-repoAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 15 stars15 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as (MIT AND CC-BY-SA-4.0). See LICENSE-MIT and LICENSE-CC-BY-SA-4.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
5.6 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it
Skill Repository Structure Guide
Standards for Netresearch skill repository layout and distribution.
Repository Structure
{repo-name}/
├── .claude-plugin/plugin.json # Plugin metadata (required)
├── skills/{name}/SKILL.md # AI instructions (required)
├── README.md # Human docs (required)
├── LICENSE-MIT # Code license (required)
├── LICENSE-CC-BY-SA-4.0 # Content license (required)
├── composer.json # PHP distribution (required)
├── references/ # Extended docs for >500w content
├── scripts/ # Automation
└── .github/workflows/
├── release.yml # Tag-triggered release
├── validate.yml # Caller for reusable validation
└── auto-merge-deps.yml # Caller for dep auto-merge
Licensing (Split Model)
| Path pattern | License |
|---|---|
skills/**/*.md, references/**, README.md, docs/** | CC-BY-SA-4.0 |
scripts/**, .github/workflows/**, *.sh, *.py, *.php | MIT |
composer.json, plugin.json, config files | MIT |
SPDX: (MIT AND CC-BY-SA-4.0). Copyright: Netresearch DTT GmbH. No bare LICENSE — split files only.
SKILL.md Frontmatter
---
name: skill-name # lowercase, hyphens, max 64 chars
description: "Use when <trigger conditions>"
---
Body ≤500 words; description ≤1,536 chars (target 100–300, trigger first). Every references/*.md must be reachable from SKILL.md (no orphans). Audit: scripts/audit-skills.sh. See references/skill-quality.md. Put discovery/catalog fields in README or optional YAML, not frontmatter — references/skill-discovery-metadata.md.
plugin.json (.claude-plugin/plugin.json)
{
"name": "skill-name",
"version": "1.0.0",
"skills": ["./skills/skill-name"],
"license": "(MIT AND CC-BY-SA-4.0)",
"author": {"name": "Netresearch DTT GmbH", "url": "https://www.netresearch.de"}
}
composer.json
Name must match GitHub repo. Type ai-agent-skill. No version field (from git tags). No composer.lock.
{
"name": "netresearch/{repo-name}",
"type": "ai-agent-skill",
"license": "(MIT AND CC-BY-SA-4.0)",
"require": {"netresearch/composer-agent-skill-plugin": "*"},
"extra": {"ai-agent-skill": "skills/{name}/SKILL.md"}
}
Reusable Workflow Callers
Skill repos MUST delegate CI to skill-repo-skill reusable workflows:
# .github/workflows/validate.yml
uses: netresearch/skill-repo-skill/.github/workflows/validate.yml@main
Callers: validate.yml, release.yml (here); auto-merge-deps.yml (netresearch/.github). Auto-merge/pr-quality use pull_request_target. No inline Actions. Domain reusables: docs/ARCHITECTURE.md.
Releasing
Bump PR → merge → pull main → verify parity → signed tag → push → monitor Release. Tag only after bump PR merges. Never edit installed paths (~/.claude/skills/**, ~/.claude/plugins/**); always the worktree. Multi-repo (>3) needs dry-run + approval. See references/release-discipline.md.
Installation
- Marketplace:
/plugin marketplace add netresearch/claude-code-marketplace - Release: Download to
~/.claude/skills/{name}/ - Composer:
composer require netresearch/{repo-name} - npm:
npm i -D @netresearch/agent-skill-coordinator github:netresearch/{repo-name}. Usetemplates/package.json.template(minimalfilesdefault; seereferences/installation-methods.md).
Validation
scripts/validate-skill.sh
Cross-platform Compatibility
grep -E (not -P); bash shebangs (zsh on macOS); [[ ]] for conditionals.
References (references/)
Distribution: installation-methods, composer-setup, release-discipline, review-replies · SKILL text: skill-quality · Repo/README: repository-quality-rules, readme-template · Discovery: skill-discovery-metadata · Done: validation-checklist · Sync: marketplace-integration · Retro: materialization-contract · Gotchas: authoring-ci-gotchas · Retirement: skill-retirement
See Also
agent-rules-skill, agent-harness-skill, retro-skill.
Contributing: https://github.com/netresearch/skill-repo-skill
What ships with it: 28 files
163.3 KB alongside SKILL.md, 4 of them executable
evals/
- evals.json7.5 KB
references/
- authoring-ci-gotchas.md5.1 KB
- composer-setup.md3.7 KB
- installation-methods.md7.3 KB
- marketplace-integration.md5.4 KB
- materialization-contract.md10.2 KB
- readme-template.md5.2 KB
- release-discipline.md16.0 KB
- repository-quality-rules.md9.5 KB
- review-replies.md6.5 KB
- skill-discovery-metadata.md4.8 KB
- skill-quality.md11.1 KB
- skill-retirement.md2.1 KB
- validation-checklist.md2.9 KB
scripts/
- check-version-parity.shruns3.1 KB
- migrate-licensing.shruns5.7 KB
- validate-evals.shruns11.5 KB
- validate-skill.shruns17.9 KB
templates/
- checkpoints.yaml15.7 KB