원클릭으로
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