github/spec-kit · error · NotADirectoryError

{skills_dir} is not a directory

Error message

{skills_dir} is not a directory

What it means

Error "{skills_dir} is not a directory" thrown in github/spec-kit.

Source

Thrown at src/specify_cli/extensions/__init__.py:1316

        ``create`` is true. Read-only callers can pass ``create=False`` to
        resolve the configured target without changing the filesystem.

        Returns ``None`` (instead of raising) when the directory cannot
        be created due to symlink, containment, or permission issues so
        that callers can fall back gracefully.
        """
        from .. import (
            _get_skills_dir as resolve_configured_skills_dir,
            _print_cli_warning,
            load_init_options,
            resolve_active_skills_dir,
        )

        def _ensure_usable(skills_dir: Path) -> Optional[Path]:
            try:
                skills_dir.mkdir(parents=True, exist_ok=True)
                if not skills_dir.is_dir():
                    raise NotADirectoryError(f"{skills_dir} is not a directory")
            except (OSError, ValueError) as exc:
                _print_cli_warning(
                    "resolve",
                    "skills directory",
                    str(skills_dir),
                    exc,
                    continuing="Continuing without skill registration.",
                )
                return None
            return skills_dir

        opts = load_init_options(self.project_root)
        if not isinstance(opts, dict):
            return None
        selected_ai = opts.get("ai")
        if not isinstance(selected_ai, str) or not selected_ai:
            return None

View on GitHub (pinned to bf88c9f9a8)

Solutions

  1. Remove or replace the non-directory at the skills path so the skills directory can be used.

When it happens

Trigger: Thrown at src/specify_cli/extensions/__init__.py:1316 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of github/spec-kit@bf88c9f9a8 (2026-08-14). Data as JSON: /api/errors/25aa40fa140dae5b. Report an issue: GitHub.