DSCC
主页 / extending / skills

编写 Skill

Skill 是带 YAML frontmatter 的 Markdown 文件。模型调用某个 skill 时,DSCC 会把 Markdown 正文注入会话 —— 用 skill 打包可复用的 prompt、清单和领域知识。

发现路径

crates/commands/src/lib.rs:1306–1391discover_skill_roots 解析。兼容历史的 commands/ 目录。

# 来源 路径
1 项目祖先目录 .codex/skills/.dscc/skills/.codex/commands/(legacy)、.dscc/commands/(legacy)
2 $CODEX_HOME $CODEX_HOME/skills/$CODEX_HOME/commands/
3 用户 home ~/.codex/skills/~/.codex/commands/~/.dscc/skills/~/.dscc/commands/
4 Bundled $DSCC_BUNDLED_SKILLS 指向的目录

文件布局

Origin 布局
SkillsDir <root>/<skill-name>/SKILL.md
LegacyCommandsDir 单个 .md 文件,或目录内含 SKILL.md(标记为 SkillOrigin::LegacyCommandsDir

Schema(Markdown frontmatter)

---
name: my-skill
description: Brief one-line purpose
---

## Instructions
(模型在 skill 被调用时拿到的自由 Markdown)

parse_skill_frontmatter 解析。namedescription 都可省;name 缺省时回退到文件名 stem(或目录名)。

最小可用示例

.dscc/skills/commit-msg/SKILL.md

---
name: commit-msg
description: Write a Conventional Commit message for the current diff
---

## Instructions

1. Run `git diff --staged`.
2. Summarise the change in one line using `type(scope): subject`.
3. Print the message only, no extra commentary.

调用

方式 行为
/skills(斜杠) 列出已发现的 skill
模型调用 Skill 工具(tools.rs:394–406 把 Markdown 注入当前上下文;参数 skill: <name>,可选 args: <string>

验证发现

在 DSCC 中运行 /skills,看列表是否出现。# [交互](REPL 斜杠命令;等价的 dscc skills CLI 子命令可脚本化、无需标记。)

Skill 对比 Agent

方面 Skill Agent
来源 带 frontmatter 的 Markdown TOML 预设
调用 Skill 工具 —— 把 prompt 片段加到当前会话 Agent 工具 —— 开新线程,带自己的 prompt + 工具集 + 模型
状态 共用调用方的模型与工具 有自己 subagent-type 的工具白名单
输出 内联响应 .dscc-agents/ 下单独的运行产物

经验法则:当前这轮需要“加知识或流程“用 skill;工作应该跑在独立线程、用不同工具白名单,用 agent

另见