skill: URL 导入时把 SKILL.md 前言 name 规范成 stable_name(Agent Skills 规范要求 name == 目录名)
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 1h 7m
- Merged PRs (30d)
- 969
Description
## 背景
Agent Skills 规范(deepagents `SkillsMiddleware` 文档 L246):`name` 必须等于包含 `SKILL.md` 的目录名。我们的目录名是 `stable_name`(`/skills//SKILL.md`)。URL 导入的 skill 的 `SKILL.md` 由上游作者写,`name:` 任意("PDF Creator" 等),与 `stable_name` 不等。
#3033 第三层修复(Deep Agent 侧)已把「不等」从致命错降为 warning——运行不再炸,但包本身仍不符合规范,模型在系统提示里看到的 skill 名与工具身份名不一致。
## 要做的
- URL 导入(`pg-skill-url-import-repository.ts` 落库前):若 `SKILL.md` 有 YAML 前言,把 `name:` 改写为派生出的 `stable_name`(没有前言则加一段最小前言),再计算文件摘要与包摘要——包是不可变的,改写只能在导入时做。
- 遗留包不动(摘要已固化);Deep Agent 的 warning 会指出哪些是遗留包。
- 测试:导入一个 `name: Upstream Name` 的 SKILL.md → 落库文件 `name:` == stable_name,摘要与文件一致;Deep Agent 侧 warning 不出现。
## 边界
不改 `stable_name` 的生成规则(#3058);不改 Deep Agent 的身份判定(路径+摘要)。
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in pg-skill-url-import-repository.ts and trace URL imports through persistence and digest calculation. Add or run an import test using a SKILL.md with name: Upstream Name; done means the stored front matter uses stable_name, the file and package digests match, and the Deep Agent warning is absent for the imported package.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 78/100