diff --git a/agent/skill_commands.py b/agent/skill_commands.py index fff29eff..e878326a 100644 --- a/agent/skill_commands.py +++ b/agent/skill_commands.py @@ -234,7 +234,7 @@ def scan_skill_commands() -> Dict[str, Dict[str, Any]]: for scan_dir in dirs_to_scan: for skill_md in iter_skill_index_files(scan_dir, "SKILL.md"): - if any(part in ('.git', '.github', '.hub') for part in skill_md.parts): + if any(part in ('.git', '.github', '.hub', '.archive') for part in skill_md.parts): continue try: content = skill_md.read_text(encoding='utf-8') diff --git a/agent/skill_utils.py b/agent/skill_utils.py index b26bf829..cecbb1fc 100644 --- a/agent/skill_utils.py +++ b/agent/skill_utils.py @@ -24,7 +24,7 @@ PLATFORM_MAP = { "windows": "win32", } -EXCLUDED_SKILL_DIRS = frozenset((".git", ".github", ".hub")) +EXCLUDED_SKILL_DIRS = frozenset((".git", ".github", ".hub", ".archive")) # ── Lazy YAML loader ───────────────────────────────────────────────────── @@ -440,7 +440,7 @@ def extract_skill_description(frontmatter: Dict[str, Any]) -> str: def iter_skill_index_files(skills_dir: Path, filename: str): """Walk skills_dir yielding sorted paths matching *filename*. - Excludes ``.git``, ``.github``, ``.hub`` directories. + Excludes ``.git``, ``.github``, ``.hub``, ``.archive`` directories. """ matches = [] for root, dirs, files in os.walk(skills_dir, followlinks=True): diff --git a/gateway/run.py b/gateway/run.py index 04061ba4..9107f6c4 100644 --- a/gateway/run.py +++ b/gateway/run.py @@ -638,7 +638,7 @@ def _check_unavailable_skill(command_name: str) -> str | None: if not skills_dir.exists(): continue for skill_md in skills_dir.rglob("SKILL.md"): - if any(part in ('.git', '.github', '.hub') for part in skill_md.parts): + if any(part in ('.git', '.github', '.hub', '.archive') for part in skill_md.parts): continue name = skill_md.parent.name.lower().replace("_", "-") if name == normalized and name in disabled: