diff --git a/pipeline_core/skill_loader.py b/pipeline_core/skill_loader.py index 6a51481..d8124d6 100644 --- a/pipeline_core/skill_loader.py +++ b/pipeline_core/skill_loader.py @@ -66,6 +66,7 @@ class Skill: version: str = "1.0.0" capability: str = "" # 配套能力名(如 task_capability / communication) tools: List[str] = field(default_factory=list) # 配套工具名列表 + essential: bool = False # 基础规范:所有角色目录层必显示(如 project-directory-spec) @classmethod def from_file(cls, filepath: str, scope: str = "global", @@ -77,6 +78,7 @@ class Skill: version = "1.0.0" capability = "" tools = [] + essential = False try: with open(filepath, "r", encoding="utf-8") as f: @@ -93,6 +95,7 @@ class Skill: scope = fm.get("scope", scope) capability = fm.get("capability", "") or "" tools = fm.get("tools", []) or [] + essential = str(fm.get("essential", "")).lower() in ("true", "1", "yes") if not description: for line in content.split("\n"): @@ -105,7 +108,7 @@ class Skill: name=name, path=filepath, description=description, content=content, scope=scope, scope_id=scope_id, trigger_keywords=trigger_keywords, version=version, - capability=capability, tools=tools, + capability=capability, tools=tools, essential=essential, ) def to_prompt_block(self) -> str: diff --git a/skills_library/all/project-directory-spec/SKILL.md b/skills_library/all/project-directory-spec/SKILL.md index d989585..e4ae837 100644 --- a/skills_library/all/project-directory-spec/SKILL.md +++ b/skills_library/all/project-directory-spec/SKILL.md @@ -1,6 +1,7 @@ --- name: project-directory-spec description: 项目目录规范——项目工作空间目录结构与各目录作用(README.md 项目说明 + repos/ 下按 项目工程文档(_pc)/应用(_app)/独立模块 三类独立仓库组织)。所有 SDLC 角色产出与检查前必读,路径以此为准。 +essential: true --- # 项目目录规范