一键导入
deepagents-skills
Creating and using custom skills with progressive disclosure, SKILL.md format, and the Agent Skills protocol in Deep Agents.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Creating and using custom skills with progressive disclosure, SKILL.md format, and the Agent Skills protocol in Deep Agents.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Using the Deep Agents CLI - terminal interface, persistent memory with AGENTS.md, project conventions, skills directories, and CLI commands.
Understanding Deep Agents framework - what they are, how to create them with createDeepAgent, and the agent harness architecture with built-in middleware for planning, filesystems, and subagents.
Using the Deep Agents CLI - terminal interface, persistent memory with AGENTS.md, project conventions, skills directories, and CLI commands.
Using FilesystemMiddleware with virtual filesystems, backends (State, Store, Filesystem, Composite), and context management for Deep Agents.
Using FilesystemMiddleware with virtual filesystems, backends (State, Store, Filesystem, Composite), and context management for Deep Agents.
Implementing human-in-the-loop approval workflows with interruptOn parameter for sensitive tool operations in Deep Agents.
| name | deepagents-skills |
| description | Creating and using custom skills with progressive disclosure, SKILL.md format, and the Agent Skills protocol in Deep Agents. |
| language | js |
Skills provide specialized capabilities through progressive disclosure: agents load content only when relevant.
Process: Match (see descriptions) → Read (load SKILL.md) → Execute (follow instructions)
| Skills | Memory (AGENTS.md) |
|---|---|
| On-demand loading | Always loaded |
| Task-specific | General preferences |
| Large docs | Compact context |
import { createDeepAgent, FilesystemBackend } from "deepagents";
import { MemorySaver } from "@langchain/langgraph";
const agent = await createDeepAgent({
backend: new FilesystemBackend({ rootDir: ".", virtualMode: true }),
skills: ["./skills/"],
checkpointer: new MemorySaver()
});
const result = await agent.invoke({
messages: [{
role: "user",
content: "What is LangGraph? Use langgraph-docs skill if available."
}]
});
import { createDeepAgent, StoreBackend, type FileData } from "deepagents";
import { InMemoryStore } from "@langchain/langgraph";
const store = new InMemoryStore();
function createFileData(content: string): FileData {
const now = new Date().toISOString();
return {
content: content.split("\n"),
created_at: now,
modified_at: now,
};
}
const skillUrl = "https://raw.githubusercontent.com/.../SKILL.md";
const response = await fetch(skillUrl);
const skillContent = await response.text();
await store.put(
["filesystem"],
"/skills/langgraph-docs/SKILL.md",
createFileData(skillContent)
);
const agent = await createDeepAgent({
backend: (config) => new StoreBackend(config),
store,
skills: ["/skills/"]
});
import { createDeepAgent, type FileData } from "deepagents";
import { MemorySaver } from "@langchain/langgraph";
function createFileData(content: string): FileData {
const now = new Date().toISOString();
return { content: content.split("\n"), created_at: now, modified_at: now };
}
const skillContent = `---
name: python-testing
description: Pytest best practices
---
# Python Testing Skill
...`;
const skillsFiles: Record<string, FileData> = {
"/skills/python-testing/SKILL.md": createFileData(skillContent)
};
const agent = await createDeepAgent({
skills: ["/skills/"],
checkpointer: new MemorySaver()
});
await agent.invoke({
messages: [{ role: "user", content: "How should I write tests?" }],
files: skillsFiles
});
---
name: fastapi-docs
description: FastAPI best practices and patterns
---
# FastAPI Documentation Skill
## When to Use
When working with FastAPI endpoints.
## Instructions
Always use async handlers:
\`\`\`typescript
app.get("/users/:id", async (req, res) => {
const user = await db.users.findById(req.params.id);
res.json(user);
});
\`\`\`
✅ Skill directories (global and project-scoped) ✅ Skill content and structure within SKILL.md format ✅ Backend type for skill storage (Filesystem, Store, State) ✅ Skill descriptions for matching ✅ Multiple skill directories per agent
❌ SKILL.md file format (must follow Agent Skills protocol) ❌ Frontmatter fields (name and description are required) ❌ Progressive disclosure behavior (always on-demand) ❌ Skill file name (must be SKILL.md) ❌ Skill matching algorithm (handled by the framework)
// ❌ No backend
await createDeepAgent({ skills: ["./skills/"] });
// ✅ Provide backend
await createDeepAgent({
backend: new FilesystemBackend({ rootDir: ".", virtualMode: true }),
skills: ["./skills/"]
});
# ❌ Missing
# My Skill
# ✅ Include
---
name: my-skill
description: What this does
---
# My Skill
# ❌ Vague
description: Helpful skill
# ✅ Specific
description: TypeScript testing with Jest and mocking patterns