feat(skills): refresh marketplace release workflows
This commit is contained in:
+6
-13
@@ -14,28 +14,27 @@ script_dir = Path(__file__).parent.resolve()
|
||||
config_file = script_dir / "claude-config.yaml"
|
||||
marketplace_file = script_dir / ".claude-plugin" / "marketplace.json"
|
||||
|
||||
# Skill directories (label, directory name)
|
||||
# Public marketplace skill directories. skills-personal is deliberately
|
||||
# excluded: it is gitignored and must never produce sources that disappear from
|
||||
# a public clone of this repository.
|
||||
SKILL_DIRS = [
|
||||
("core", "skills-core"),
|
||||
("dev", "skills-dev"),
|
||||
("req", "skills-req"),
|
||||
("integration", "skills-integration"),
|
||||
("biz", "skills-biz"),
|
||||
("personal", "skills-personal"),
|
||||
]
|
||||
|
||||
|
||||
def load_config():
|
||||
"""Load claude-config.yaml and return disabled list + personal_dir."""
|
||||
"""Load claude-config.yaml and return the disabled plugin list."""
|
||||
disabled = []
|
||||
personal = "skills-personal"
|
||||
|
||||
if config_file.exists() and HAS_YAML:
|
||||
with open(config_file) as f:
|
||||
cfg = yaml.safe_load(f) or {}
|
||||
skills_cfg = cfg.get("skills", {})
|
||||
disabled = skills_cfg.get("disabled", []) or []
|
||||
personal = skills_cfg.get("personal_dir", personal)
|
||||
elif config_file.exists():
|
||||
# Fallback: parse disabled list without PyYAML
|
||||
in_disabled = False
|
||||
@@ -54,10 +53,7 @@ def load_config():
|
||||
disabled.append(val)
|
||||
elif stripped and not stripped.startswith("#"):
|
||||
break
|
||||
if stripped.startswith("personal_dir:"):
|
||||
personal = stripped.split(":", 1)[1].strip().strip('"').strip("'")
|
||||
|
||||
return disabled, personal
|
||||
return disabled
|
||||
|
||||
|
||||
# Category mapping
|
||||
@@ -116,15 +112,12 @@ def scan_plugins(directory, source_prefix, disabled):
|
||||
|
||||
|
||||
# Load config
|
||||
disabled_skills, personal_dir_name = load_config()
|
||||
disabled_skills = load_config()
|
||||
|
||||
# Collect plugins from all skill directories
|
||||
plugins = []
|
||||
counts = {}
|
||||
for label, dir_name in SKILL_DIRS:
|
||||
# personal_dir may be overridden by config
|
||||
if label == "personal":
|
||||
dir_name = personal_dir_name
|
||||
skill_path = script_dir / dir_name
|
||||
if not skill_path.is_dir():
|
||||
continue
|
||||
|
||||
Reference in New Issue
Block a user