名称: 列表 描述: 列出Claude Code组件。操作: env-vars, sessions, settings, skills, tools. 参数提示: <what> (env-vars|sessions|settings|skills|tools) 允许工具: Bash, Read, Glob, Grep, Task, Skill, WebFetch, WebSearch
列出Claude Code组件
根据请求的操作列出各种Claude Code组件。
参数路由
| 操作 | 描述 |
|---|---|
skills (默认) |
列出所有可用技能及其描述 |
env-vars |
列出环境变量(已配置或已研究) |
sessions |
列出最近会话,包括大小、年龄、可恢复性 |
settings |
列出settings.json配置选项 |
tools |
列出核心Claude Code工具及其参数 |
调用时无参数,默认使用skills。
解析$ARGUMENTS以确定操作。第一个令牌是操作关键字,其余令牌作为子参数传递给操作处理程序。
操作: skills
通过运行list_skills.py脚本列出所有可用的Claude Code技能。
步骤1: 查找脚本
在claude-ecosystem插件中定位list_skills.py:
# 首先检查已安装插件
find ~/.claude/plugins -name "list_skills.py" -path "*claude-ecosystem*" 2>/dev/null | head -1
如果未找到,检查当前仓库(用于开发):
find . -name "list_skills.py" -path "*claude-ecosystem*" 2>/dev/null | head -1
步骤2: 运行脚本
使用步骤1中找到的路径,用Python执行:
python "<找到的路径>/list_skills.py"
脚本扫描内容
脚本从以下位置查找所有技能:
- 个人技能:
~/.claude/skills/*/SKILL.md - 项目技能:
.claude/skills/*/SKILL.md(当前工作目录) - 插件技能:
~/.claude/plugins/marketplaces/*/*/skills/*/SKILL.md
输出格式
脚本输出格式化的markdown:
## 个人技能 (~/.claude/skills/)
### **技能名称**
来自SKILL.md前言的描述。
---
## 项目技能 (.claude/skills/)
### **技能名称**
来自SKILL.md前言的描述。
---
## 插件技能
### **插件名称:技能名称**
来自SKILL.md前言的描述。
---
**总计: X 个技能** (Y 个人, Z 项目, W 插件)
直接输出脚本结果 - 它们已格式化。
操作: env-vars
从多个源研究并列出所有已知的Claude Code环境变量,或显示所有设置范围中当前配置的变量。
子参数
| 参数 | 描述 |
|---|---|
--configured |
显示所有设置文件中当前配置的环境变量 |
--official-only |
仅显示官方文档中记录的变量 |
--changelog-only |
仅从CHANGELOG.md提取 |
--full-research |
运行全面的MCP研究(较慢,更完整) |
| (无) | 默认:官方文档 + changelog提取 |
行为矩阵
| 参数 | 行为 |
|---|---|
| (无) | 研究:官方文档 + changelog |
--configured |
仅读取当前设置文件(无研究) |
--official-only |
研究:仅官方文档 |
--changelog-only |
研究:仅changelog提取 |
--full-research |
研究:包括MCP代理的所有源 |
模式: --configured
当传递--configured时,跳过所有研究,从所有设置范围读取当前配置的环境变量。
设置文件层次结构(优先级:企业 < 用户 < 项目 < 本地)
| 范围 | 路径 | 描述 |
|---|---|---|
| 企业 | ~/.claude/enterprise/settings.json |
IT管理的默认值 |
| 用户/全局 | ~/.claude/settings.json |
用户偏好 |
| 项目 | .claude/settings.json |
项目特定设置 |
| 本地 | .claude/settings.local.json |
Git忽略的本地覆盖 |
工作流程
- 如果存在,读取每个设置文件
- 从每个中提取
env部分 - 计算有效值(后续范围覆盖先前)
- 显示合并视图,并指示来源
输出格式
## 当前配置的环境变量
| 变量 | 值 | 来源 | 被覆盖于 |
|----------|-------|--------|---------------|
| DISABLE_TELEMETRY | "1" | 用户 | 项目 |
| ANTHROPIC_API_KEY | "sk-***" | 用户 | - |
| CLAUDE_HOOK_LOG_DIR | "./logs" | 项目 | - |
| DISABLE_AUTOUPDATER | "0" | 企业 | - |
### 按范围
**企业** (~/.claude/enterprise/settings.json)
- DISABLE_AUTOUPDATER = "0"
**用户** (~/.claude/settings.json)
- DISABLE_TELEMETRY = "1"
- ANTHROPIC_API_KEY = "sk-***"(已掩码)
**项目** (.claude/settings.json)
- DISABLE_TELEMETRY = "0"(覆盖用户)
- CLAUDE_HOOK_LOG_DIR = "./logs"
**本地** (.claude/settings.local.json)
(无配置)
安全注意
在输出中掩码敏感值:
ANTHROPIC_API_KEY->"sk-***"(仅显示前缀)AWS_*凭据 -> 掩码GOOGLE_*凭据 -> 掩码
模式: 研究(默认)
当无--configured标志时,从多个源研究环境变量。
步骤1: 通过代理并行研究
并行启动研究代理以从多个源收集环境变量信息。
代理1: MCP研究(仅full-research模式)
生成mcp-research代理:
使用perplexity和firecrawl研究Claude Code环境变量。
搜索:
- "Claude Code环境变量配置"
- "anthropic claude cli env vars"
- "ANTHROPIC_API_KEY CLAUDE_CODE环境"
提取所有提到的环境变量,包括:
- 变量名
- 默认值(如果提到)
- 目的/描述
- 来源URL
返回带来源引用的结构化发现。
代理2: 官方文档
生成claude-code-guide代理:
首先WebFetch https://code.claude.com/docs/en/claude_code_docs_map.md以找到
关于环境变量和设置的相关文档页面。
然后WebFetch这些特定页面:
- 设置/配置页面
- 环境变量文档
- 任何提到ANTHROPIC_*, CLAUDE_*, DISABLE_*, ENABLE_*的页面
请勿使用Skill工具(不可用)。
返回带来源URL的完整环境变量表。
技能: 本地文档缓存
调用docs-management技能,查询:
在Claude Code文档中搜索"环境变量"和"env"。
包括任何设置、配置或自定义主题。
步骤2: Changelog提取
WebFetch CHANGELOG.md以提取环境变量:
URL: https://raw.githubusercontent.com/anthropics/claude-code/main/CHANGELOG.md
提取所有匹配模式:
ANTHROPIC_*CLAUDE_*DISABLE_*ENABLE_**_TIMEOUT*_API_KEYHTTP_PROXY,HTTPS_PROXY,NO_PROXY
注意每个变量引入的版本。
步骤3: 合并和分类
合并所有来源的发现,去重并分类:
| 类别 | 标准 |
|---|---|
| OFFICIAL | 在code.claude.com/docs上记录 |
| CHANGELOG | 在CHANGELOG中但不在官方文档中 |
| DISCOVERED | 仅通过MCP研究发现 |
步骤4: 输出报告
将完整列表格式化为结构化表格:
## Claude Code环境变量
### 官方(已记录)
| 变量 | 默认 | 目的 | 类别 |
|----------|---------|---------|----------|
| ANTHROPIC_API_KEY | (必需) | Anthropic API的API密钥 | 认证 |
| CLAUDE_CODE_USE_BEDROCK | "0" | 使用AWS Bedrock代替Anthropic API | 提供商 |
| CLAUDE_CODE_USE_VERTEX | "0" | 使用Google Vertex AI | 提供商 |
| ... | ... | ... | ... |
### Changelog(未记录)
| 变量 | 默认 | 目的 | 版本添加 |
|----------|---------|---------|---------------|
| CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR | "0" | 保持项目工作目录 | v2.x |
| ... | ... | ... | ... |
### 发现(MCP研究)
| 变量 | 默认 | 目的 | 来源 |
|----------|---------|---------|--------|
| ... | ... | ... | [来源URL] |
---
## 来源
- 官方: https://code.claude.com/docs/en/settings
- Changelog: https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md
- MCP: perplexity, firecrawl(如果--full-research)
已知环境变量(快速参考)
这些是常用变量(根据当前文档验证):
认证和提供商
ANTHROPIC_API_KEY- API密钥(除非使用Bedrock/Vertex,否则必需)CLAUDE_CODE_USE_BEDROCK- 使用AWS BedrockCLAUDE_CODE_USE_VERTEX- 使用Google Vertex AI
代理和网络
HTTP_PROXY/HTTPS_PROXY- 代理配置NO_PROXY- 代理绕过列表
行为
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR- 工作目录行为DISABLE_AUTOUPDATER- 禁用自动更新DISABLE_TELEMETRY- 禁用遥测
钩子
CLAUDE_HOOK_*- 自定义钩子环境变量(仓库特定)
注意: 此快速参考可能已过时。始终运行完整命令以获取当前信息。
操作: sessions
显示当前项目(或所有项目)的最近Claude Code会话,包括大小、年龄以及是否可恢复。
子参数
| 参数 | 描述 | 默认 |
|---|---|---|
--all |
列出所有项目的会话 | false |
--limit N |
要显示的最大会话数 | 10 |
--agents |
在列表中包括代理转录 | false |
步骤1: 确定目标目录
if ALL_PROJECTS; then
TARGET_DIR="$HOME/.claude/projects"
else
PROJECT_PATH=$(pwd | sed 's/[\/:]/-/g' | sed 's/^-//')
TARGET_DIR="$HOME/.claude/projects/$PROJECT_PATH"
fi
步骤2: 列出会话
# 查找会话文件(非代理文件),按修改时间排序
find "$TARGET_DIR" -name "*.jsonl" ! -name "agent-*" -type f -printf '%T@ %s %p
' 2>/dev/null | \
sort -rn | head -$LIMIT | while read timestamp size path; do
filename=$(basename "$path")
age=$(( ($(date +%s) - ${timestamp%.*}) / 86400 ))
size_h=$(numfmt --to=iec-i --suffix=B $size)
echo "$filename $size_h ${age}d ago"
done
步骤3: 显示结果
最近会话
===============
项目: D--repos-gh-melodic-claude-code-plugins
# 会话ID 大小 年龄 可恢复
--- --------------------------------------- ------- ------- ---------
1 4165caab-4f86-4fc8-a901-fdcf2307a7cd 8.4M 今天 是
2 faf4b0f3-1f1f-438a-b40b-1a7ef4cb1718 7.9M 今天 是
3 55e42424-f5b6-4a26-98d5-1bed9176bf50 15M 1天 是
4 336198a5-dfa4-4266-86dc-3d90158b8e30 15M 2天 是
5 83d6bc93-3337-4b9e-8818-7141effbbcf0 14M 4天 是
...
总计: 507 个会话 (645M)
提示: 使用 /cleanup-sessions 7 删除旧会话
注意
- 会话可以使用
claude --resume {session-id}恢复 - 会话ID是由Claude Code分配的UUID
- 大会话(>10MB)表示长对话
- 使用
/session-stats获取聚合统计
操作: settings
研究并列出所有已知的Claude Code settings.json配置选项,显示当前设置层次结构及其优先级,或仅显示当前项目设置。
注意: 环境变量单独记录。使用env-vars操作获取环境变量文档。
子参数
| 参数 | 描述 |
|---|---|
| (无) | 默认:完整层次结构 - 显示用户/项目/本地/管理设置及其优先级 |
--fields-only |
模式参考 - 列出所有可用字段及其类型和默认值 |
--current |
仅显示当前项目设置值(无层次结构) |
--category <name> |
按类别过滤:core, permissions, sandbox, hooks, plugins, attribution |
--scope <scope> |
限制到特定范围:user, project, local, managed |
行为矩阵
| 参数 | 行为 |
|---|---|
| (无) | 读取所有设置文件,显示带优先级的层次结构 |
--fields-only |
研究模式,显示带类型/默认值的可用字段 |
--current |
仅读取项目设置,显示显式值 |
--category X |
过滤输出到特定类别(适用于所有模式) |
--scope X |
限制层次结构到特定范围(仅层次结构模式) |
设置文件层次结构
Claude Code设置遵循优先级顺序(较高覆盖较低):
| 优先级 | 范围 | 路径 | 描述 |
|---|---|---|---|
| 1(最高) | 管理 | ~/.claude/managed/settings.json |
IT强制(无法覆盖) |
| 2 | CLI参数 | --model, 等 |
命令行覆盖 |
| 3 | 本地 | .claude/settings.local.json |
Git忽略的本地覆盖 |
| 4 | 项目 | .claude/settings.json |
共享项目设置 |
| 5(最低) | 用户 | ~/.claude/settings.json |
用户偏好 |
模式: 默认(完整层次结构)
当无参数提供时,显示完整的设置层次结构及其优先级。
工作流程
-
读取所有设置文件(如果存在):
~/.claude/managed/settings.json(管理)~/.claude/settings.json(用户).claude/settings.json(项目).claude/settings.local.json(本地)
-
计算有效值 - 后续范围覆盖先前(除了管理强制)
-
显示合并视图并指示来源
输出格式
## 设置层次结构(有效配置)
### 优先级顺序(从高到低)
1. 管理设置(强制) - 无法覆盖
2. 命令行参数
3. 本地项目设置 (.claude/settings.local.json)
4. 共享项目设置 (.claude/settings.json)
5. 用户设置 (~/.claude/settings.json)
### 核心设置
| 设置 | 有效值 | 来源 | 被覆盖? |
|---------|-----------------|--------|-------------|
| model | opus | 项目 | - |
| cleanupPeriodDays | 30 | 默认 | - |
| respectGitignore | true | 默认 | - |
| plansDirectory | ~/.claude/plans | 默认 | - |
| showTurnDuration | true | 默认 | - |
### 权限设置
| 设置 | 有效值 | 来源 | 被覆盖? |
|---------|-----------------|--------|-------------|
| defaultMode | bypassPermissions | 项目 | 用户 |
| allow | [列表...] | 项目 | - |
| deny | [列表...] | 项目 | - |
### 沙盒设置
(如果配置了沙盒则显示,否则注明“未配置 - 默认为禁用”)
### 钩子设置
| 设置 | 有效值 | 来源 | 被覆盖? |
|---------|-----------------|--------|-------------|
| disableAllHooks | false | 项目 | - |
| hooks | {} | 默认 | - |
### 状态行
(如果设置了statusLine则显示配置)
### 插件设置
(如果配置了enabledPlugins则显示)
---
## 环境变量
使用`list env-vars`操作获取环境变量文档。
模式: --fields-only(模式参考)
当传递--fields-only时,研究并显示所有可用设置字段及其类型和默认值。
工作流程
- 研究模式通过docs-management技能和MCP服务器
- 提取所有已知字段从官方文档、changelog和模式
- 分类和显示带类型、默认值和版本信息
研究来源
来源1: docs-management技能
调用docs-management技能:
在Claude Code文档中搜索"settings.json"和"configuration"。
包括设置模式、可用字段和配置选项。
来源2: MCP研究(全面)
生成mcp-research代理:
使用perplexity和firecrawl研究Claude Code settings.json模式和配置选项。
搜索:
- "Claude Code settings.json模式"
- "claude code配置选项"
- 站点:code.claude.com 设置
提取所有设置字段,包括:
- 字段名
- 类型(字符串、布尔、数字、对象、数组、枚举)
- 默认值
- 描述
- 引入版本(如果已知)
返回带来源引用的结构化发现。
来源3: JSON模式
参考模式:https://json.schemastore.org/claude-code-settings.json
输出格式
## 可用设置字段
### 核心设置
| 字段 | 类型 | 默认 | 描述 | 自 |
|-------|------|---------|-------------|-------|
| $schema | 字符串 | - | JSON模式参考 | - |
| model | 字符串 | "sonnet" | 默认模型别名或完整ID | - |
| language | 字符串 | (系统) | 界面语言 | v2.1.0 |
| autoUpdatesChannel | 枚举 | "latest" | "stable"或"latest" | - |
| cleanupPeriodDays | 数字 | 30 | 会话清理前的天数 | - |
| respectGitignore | 布尔 | true | 遵循.gitignore模式 | - |
| outputStyle | 字符串 | null | 输出格式化样式 | - |
| alwaysThinkingEnabled | 布尔 | false | 启用扩展思考 | - |
| plansDirectory | 字符串 | ~/.claude/plans | 计划文件存储 | v2.1.9 |
| showTurnDuration | 布尔 | true | 显示轮次时间 | v2.1.7 |
### 权限设置
| 字段 | 类型 | 默认 | 描述 | 自 |
|-------|------|---------|-------------|-------|
| permissions.defaultMode | 枚举 | "default" | default/acceptEdits/plan/dontAsk/bypassPermissions | - |
| permissions.allow | 数组 | [] | 允许的工具模式 | - |
| permissions.deny | 数组 | [] | 拒绝的工具模式 | - |
| permissions.ask | 数组 | [] | 始终询问的工具模式 | - |
| permissions.additionalDirectories | 数组 | [] | 额外允许的目录 | - |
| permissions.disableBypassPermissionsMode | 字符串 | null | 设置为"disable"以阻止--dangerously-skip-permissions | - |
### 沙盒设置(仅macOS/Linux)
| 字段 | 类型 | 默认 | 描述 | 自 |
|-------|------|---------|-------------|-------|
| sandbox.enabled | 布尔 | false | 启用沙盒化bash | - |
| sandbox.autoAllowBashIfSandboxed | 布尔 | true | 在沙盒中自动允许bash | - |
| sandbox.excludedCommands | 数组 | [] | 绕过沙盒的命令 | - |
| sandbox.allowUnsandboxedCommands | 布尔 | true | 允许未沙盒化命令 | - |
| sandbox.enableWeakerNestedSandbox | 布尔 | false | Linux嵌套沙盒 | - |
| sandbox.network.allowUnixSockets | 数组 | [] | 允许的Unix套接字 | - |
| sandbox.network.allowLocalBinding | 布尔 | false | 允许本地端口绑定 | - |
| sandbox.network.httpProxyPort | 数字 | null | HTTP代理端口 | - |
| sandbox.network.socksProxyPort | 数字 | null | SOCKS代理端口 | - |
### 钩子设置
| 字段 | 类型 | 默认 | 描述 | 自 |
|-------|------|---------|-------------|-------|
| hooks | 对象 | {} | 按事件的钩子配置 | - |
| disableAllHooks | 布尔 | false | 全局禁用所有钩子 | - |
| allowManagedHooksOnly | 布尔 | false | 仅允许管理钩子 | - |
### 归属设置
| 字段 | 类型 | 默认 | 描述 | 自 |
|-------|------|---------|-------------|-------|
| attribution.commit | 字符串 | null | 自定义提交归属 | - |
| attribution.pr | 字符串 | null | 自定义PR归属 | - |
### 状态行设置
| 字段 | 类型 | 默认 | 描述 | 自 |
|-------|------|---------|-------------|-------|
| statusLine.type | 枚举 | - | "command"表示自定义状态 | - |
| statusLine.command | 字符串 | - | 状态行命令 | - |
| statusLine.padding | 数字 | 0 | 状态行填充 | - |
| statusLine.timeout | 数字 | 5000 | 命令超时(毫秒) | - |
### 插件设置
| 字段 | 类型 | 默认 | 描述 | 自 |
|-------|------|---------|-------------|-------|
| enabledPlugins | 对象 | {} | 按命名空间启用的插件 | - |
| extraKnownMarketplaces | 对象 | {} | 额外插件市场 | - |
### 环境变量
| 字段 | 类型 | 默认 | 描述 | 自 |
|-------|------|---------|-------------|-------|
| env | 对象 | {} | 环境变量 | - |
**注意:** 有关详细的环境变量文档,请使用`env-vars`操作。
---
## 来源
- 模式: https://json.schemastore.org/claude-code-settings.json
- 文档: https://code.claude.com/docs/en/settings
- [MCP研究引用]
模式: --current(仅当前项目)
当传递--current时,仅显示当前项目设置中显式配置的值。
工作流程
- 读取
.claude/settings.json(项目设置) - 仅显示显式设置的值(非默认值)
- 跳过研究和层次结构计算
输出格式
## 当前项目设置
**文件:** `.claude/settings.json`
### 显式配置值
#### 核心设置
(无显式设置 - 使用默认值)
#### 环境变量
54 个变量已配置 - 参见`.claude/settings.json`或使用`list env-vars --configured`
#### 权限
- defaultMode: "bypassPermissions"
- allow: 26 个模式已配置
- deny: 24 个模式已配置
#### 钩子
- disableAllHooks: false
#### 状态行
- type: "command"
- command: "bun x ccusage statusline ..."
- padding: 0
- timeout: 5000
---
使用`--fields-only`查看所有可用设置字段。
使用`list env-vars`获取环境变量详情。
类别定义
| 类别 | 包含字段 |
|---|---|
core |
model, language, autoUpdatesChannel, cleanupPeriodDays, respectGitignore, outputStyle, alwaysThinkingEnabled, plansDirectory, showTurnDuration |
permissions |
permissions.*(所有权限字段) |
sandbox |
sandbox.*(所有沙盒字段) |
hooks |
hooks, disableAllHooks, allowManagedHooksOnly |
plugins |
enabledPlugins, extraKnownMarketplaces |
attribution |
attribution.commit, attribution.pr |
操作: tools
内省您当前的工具上下文,并枚举所有核心Claude Code工具及其完整参数模式。
范围
仅列出核心内置工具(非已安装的MCP服务器工具):
- 文件操作: Read, Write, Edit, Glob, Grep, NotebookEdit
- 执行: Bash, Task, TaskOutput, KillShell
- 用户交互: AskUserQuestion, TodoWrite
- 规划和工作流: EnterPlanMode, ExitPlanMode
- 网络和网络: WebFetch, WebSearch
- 代码智能: LSP, Skill
- MCP资源: ListMcpResourcesTool, ReadMcpResourceTool
子参数
| 参数 | 描述 |
|---|---|
--category <cat> |
按类别过滤:file, execution, interaction, planning, web, code, mcp |
--tool <name> |
显示特定工具的详细信息(例如--tool Read) |
执行
步骤1: 解析参数
解析任何提供的参数:
- 如果指定了
--category,注意类别过滤器 - 如果指定了
--tool,注意特定工具名称
步骤2: 内省工具上下文
检查您当前系统上下文以枚举所有可用核心工具。对于每个工具,提取:
- 工具名称 - 函数名
- 描述 - 工具作用(来自工具定义)
- 参数 - 所有参数,包括:
- 名称
- 类型(字符串、数字、布尔、数组、对象、枚举)
- 必需或可选
- 默认值(如果有)
- 约束(最小值、最大值、枚举值)
- 描述
步骤3: 分类
将工具分组到这些类别:
| 类别 | 工具 |
|---|---|
file |
Read, Write, Edit, Glob, Grep, NotebookEdit |
execution |
Bash, Task, TaskOutput, KillShell |
interaction |
AskUserQuestion, TodoWrite |
planning |
EnterPlanMode, ExitPlanMode |
web |
WebFetch, WebSearch |
code |
LSP, Skill |
mcp |
ListMcpResourcesTool, ReadMcpResourceTool |
步骤4: 应用过滤器
- 如果指定了
--category,仅显示该类别中的工具 - 如果指定了
--tool,仅显示该工具的完整详细视图
步骤5: 输出
摘要视图(默认或 --category):
## 核心Claude Code工具(N 个工具)
### 类别名称(N 个工具)
| 工具 | 描述 |
|------|-------------|
| ToolName | 简要描述 |
| ... | ... |
详细视图(–tool ToolName):
## ToolName
来自工具定义的完整描述。
### 参数
| 名称 | 类型 | 必需 | 默认 | 描述 |
|------|------|----------|---------|-------------|
| param_name | 类型 | 是/否 | 值 | 描述 |
### 约束
- 列出任何枚举值、最小值/最大值、格式要求
### 使用注意
- 关键行为
- 限制
- 最佳实践