Skip to content

Add origin metadata to distributed skills for traceability #246

Description

@shimo4228

Problem

When users install ECC skills alongside community skills, self-authored skills, and auto-extracted skills, there is no way to distinguish which skill came from where. The YAML frontmatter only contains name and description, with no provenance information.

This causes real problems:

  • Update decisions: When ECC releases updates, users can't identify which of their ~50+ skills need to be refreshed
  • Cleanup decisions: When removing unused skills, users need to know if a skill is from ECC (can be re-installed) vs. self-authored (would be lost)
  • Sharing: When sharing skills with teammates, the license and origin are unclear

Proposal

Add an origin field to the YAML frontmatter of all ECC-distributed skills:

---
name: coding-standards
description: Universal coding standards...
origin: ECC
---

For skills without YAML frontmatter (e.g., subcommands, agent files), use an HTML comment:

<!-- origin: ECC -->
# Skill Title

Why origin specifically

npm has package.json, Python has pyproject.toml — both make provenance explicit. Claude Code skills currently have no equivalent. Adding origin is a minimal, backward-compatible change that solves the traceability problem.

Suggested origin taxonomy

Value Meaning
ECC Distributed by Everything Claude Code
original User-created
auto-extracted Generated by continuous-learning
{org/repo} From a specific external repository

Context

I manage 79 skill files across global and project-level directories. After 3 months of use, I could not tell which skills were from ECC without manually comparing against the ECC repo's skill list inside configure-ecc/SKILL.md. I ended up writing a script to bulk-tag all files, using the configure-ecc skill catalog as the source of truth.

A one-line addition to each skill file at distribution time would prevent this problem entirely.

Implementation

The change is minimal — add origin: ECC to each skill's frontmatter. I'm happy to submit a PR if this approach is accepted.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestquestionFurther information is requested

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions