Skill 安装
多 Agent 安装npx skills add https://github.com/aws/agent-toolkit-for-aws --skill connecting-lambda-to-dynamodb
使用 npx skills 快速安装,支持将 Skill 添加到多个兼容的 AI Agent。
Skill 调研报告
Skill 详细介绍
aws/agent-toolkit-for-aws#connecting-lambda-to-dynamodb 是 AWS 官方 Agent Toolkit for AWS 仓库中的一个具体 Skill,主题是把 AWS Lambda 函数连接到 Amazon DynamoDB。它属于面向 AI 编程 Agent 的“场景化能力包”,用来让 Agent 在处理“Lambda 读写 DynamoDB”这类任务时,按照 AWS 官方认可的方式生成配置、代码和步骤,而不是凭通用知识随意拼凑。
需要先明确两点:
- 它本身不是一个可独立运行的软件,也不是一个 npm、pip 或 Docker 包。它是一组给 AI Agent 使用的技能指引(Skill),本质更接近“官方最佳实践 + 操作指南 + 代码模板”的组合。
- 它不是 DynamoDB 本身,也不是 Lambda 运行时。真正创建表、写数据、触发函数的是 AWS 云服务,这个 Skill 只负责引导 Agent 帮你正确地完成这些事。
核心用途
- 让 Agent 帮你生成把 Lambda 连接到 DynamoDB 的代码,例如创建 DynamoDB 客户端、执行 PutItem / GetItem / Query 等操作。
- 让 Agent 帮你配置 Lambda 执行角色所需的 IAM 权限,使函数有权限访问指定的 DynamoDB 表。
- 让 Agent 帮你规划表结构、分区键 / 排序键、索引(GSI / LSI)等设计问题。
- 让 Agent 帮你梳理本地开发、测试和部署时的注意事项,比如环境变量、表名传递、SDK 版本等。
安装后 Agent 增加什么能力
安装前,Agent 也能生成 Lambda 和 DynamoDB 的代码,但更多依赖通用训练知识,可能在权限配置、SDK 用法、命名规范上出现偏差。安装后,Agent 在这个主题上会获得更贴近 AWS 官方实践的结构化指引,输出的方案更接近可以直接落地使用的水准。
典型任务
- “帮我写一个 Lambda 函数,从 DynamoDB 表里读取一条记录。”
- “我的 Lambda 要往 DynamoDB 写数据,需要哪些 IAM 权限?”
- “帮我设计一个用 Lambda 存储用户订单的 DynamoDB 表结构。”
- “Lambda 调用 DynamoDB 报权限错误,帮我排查。”
适合谁
- 正在用 AWS 构建 Serverless 应用的开发者。
- 希望让 AI Agent 帮忙写 Lambda + DynamoDB 代码、但不想反复纠正细节的人。
- 需要参考 AWS 官方推荐做法、避免常见权限和 SDK 配置错误的团队。
不适合什么需求
- 不涉及 AWS、不使用 Lambda 或 DynamoDB 的项目。
- 想找一个开箱即用的部署工具或运行框架——这个 Skill 不做这些。
- 非 AWS 的 Serverless 方案(例如其他云厂商的函数计算 + NoSQL),该 Skill 并不针对这些场景。
Skill 安全评估
总体判断:该 Skill 来自 AWS 官方组织(aws),来源可信度较高。它的目标是提供指引和代码建议,本身不包含执行可疑操作的可执行脚本。但它引导 Agent 产出的内容可能涉及 AWS 资源与凭据,因此使用方式决定了实际风险。
主要安全关注点
- 来源可信度:Skill 归属 aws 官方仓库,比第三方同名 Skill 可信得多。注意实际安装时确认来源就是 aws/agent-toolkit-for-aws,不要被第三方镜像或重发布的同名内容替代。
- AWS 凭证:这是最需要注意的地方。该 Skill 会引导你配置 Lambda 访问 DynamoDB 的权限。如果你把 AWS Access Key、Secret Key、Session Token 直接交给 Agent,或让 Agent 把它们写进代码、配置或环境变量文件,就存在泄露风险。
- IAM 权限范围:Agent 可能生成 IAM 策略。如果策略写成对 DynamoDB 或整个 AWS 通配(例如
dynamodb:配Resource:),权限过大。建议遵循最小权限原则,只授权特定表和特定操作。 - 文件写入:Agent 可能直接生成或修改你的项目文件(Lambda 代码、模板、配置文件)。如果开启自动写入,应在版本控制下操作,便于回滚审查。
- Shell / 部署命令:当 Agent 具备执行 Shell 或调用 AWS CLI 的能力时,可能直接创建表、部署函数或修改 IAM。这类操作会真实改变云上资源,建议先让 Agent 输出方案,人工确认后再执行。
- 网络与依赖:安装和使用过程可能涉及从网络获取内容、安装 AWS SDK 依赖,属于正常开发行为,但建议使用可信源。
降低风险的建议
- 不要向 Agent 提供长期有效的 AWS 根账号或高权限凭证;使用临时凭证或专门的最小权限主体。
- 如果只需要 Agent 生成代码,可以关闭 Agent 自动执行 Shell 和自动调用 AWS CLI 的权限,由你手动执行创建和部署命令。
- 让 Agent 产出的 IAM 策略显式限定具体表和具体 Action,不要接受通配写法。
- 在受版本控制的项目里工作,Agent 的任何文件改动都可审查、可回退。
- 不要把真实密钥提交进 Git 仓库,注意配置
.gitignore。
没有任何工具可以宣称绝对安全。该 Skill 的风险主要不来自 Skill 本身,而来自你愿意交给 Agent 的 AWS 权限和操作范围。
Skill 使用要求
这一章只回答“用这个 Skill 需要准备什么”。
一、Agent / 客户端
- 该 Skill 来自 AWS 官方 Agent Toolkit,工作方式是“Agent 读取 Skill 指引 → 按指引完成任务”。仓库本身面向支持 Agent Skill 的现代 AI 编程 Agent。
- 它可以在支持 Skills 或自定义 Skill 加载机制的 Agent 中使用,包括 Claude Code 以及其他主流 Agent。
- 官方没有提供完整的第三方 Agent 兼容列表。从 Agent Skill 的工作方式看,在 Claude Code、Codex、Cursor、Trae、OpenClaw、WorkBuddy 等支持 Skill 或类似指令加载的环境中,通常也可以尝试使用。不同 Agent 的加载方式和兼容程度不同,具体以对应 Agent 当前版本为准。
二、运行环境 / 依赖
该 Skill 本身是给 Agent 的指引,不强制要求本地安装特定语言运行时。但它引导生成的项目通常会用到:
| 项目 | 要求 |
|—|—|
| Agent | 支持 Skill / 自定义指引加载的 Agent |
| 网络 | 安装与该 Skill 相关内容时需要 |
| AWS 账号 | 若要实际部署和运行 Lambda + DynamoDB,需要 |
| AWS SDK | 由生成的项目决定,非本 Skill 强制 |
| 本地 AWS CLI | 若要执行部署命令,通常需要 |
官方未强制的版本要求,不要自行假设具体版本号。
三、权限
- 文件读取:必需(Agent 需要读取 Skill 内容和你的项目文件)。
- 文件写入:可选(只有需要 Agent 直接生成 / 修改代码时才需要)。
- Shell / AWS CLI 执行:可选(只有需要 Agent 实际创建资源或部署时才需要)。
- 网络:安装和使用时需要。
四、账号 / API Key
- 该 Skill 本身不需要单独的账号或 API Key。
- 但它引导生成的 Lambda + DynamoDB 项目通常需要 AWS 账号和相应凭证才能实际运行、部署和访问 DynamoDB。这一点要区分清楚:是后续项目需要 AWS 凭证,不是 Skill 强制要求。
最小使用条件
- 一个支持 Skill 加载的 AI Agent。
- 能联网获取和安装 Skill。
- 如果只想生成代码方案:无需 AWS 账号;如果要真实部署:一个 AWS 账号。
Skill 安装、使用与卸载教程
一、安装
本页面已经单独提供该 Skill 的安装指令,最省事的方式是直接复制本页提供的安装指令,粘贴到你的 Agent 或终端中执行。
如果你不确定自己的 Agent 该怎么装,可以直接问当前 Agent:
如何安装 aws/agent-toolkit-for-aws#connecting-lambda-to-dynamodb?
如何在 Claude Code 中安装 aws/agent-toolkit-for-aws#connecting-lambda-to-dynamodb?
如何在 Cursor 中安装 aws/agent-toolkit-for-aws#connecting-lambda-to-dynamodb?
让 Agent 根据它自己的 Skill 加载和管理机制来指导安装。不同 Agent 的安装位置和方式不同,交给 Agent 处理通常最省心。
二、安装后如何使用
安装后,当你的任务和 Lambda 连接 DynamoDB 相关时,Agent 就能调用该 Skill 的指引。一般不需要专门“启动”它,直接描述需求即可。
适合交给它的任务:
- 生成 Lambda 访问 DynamoDB 的代码。
- 配置或检查 Lambda 访问 DynamoDB 所需的 IAM 权限。
- 设计 DynamoDB 表结构与访问方式。
- 排查 Lambda 与 DynamoDB 之间的连接或权限问题。
向 Agent 描述需求时,尽量说清:用的语言 / 运行时、要做的操作(读 / 写 / 查询)、表名、以及是本地测试还是要部署到 AWS。
自然语言使用示例:
使用 connecting-lambda-to-dynamodb,帮我写一个 Node.js Lambda 函数,从 DynamoDB 的 orders 表里按订单号读取一条记录。
使用 connecting-lambda-to-dynamodb,我的 Lambda 要往 DynamoDB 写数据,需要哪些 IAM 权限?请给出最小权限策略。
使用 connecting-lambda-to-dynamodb,帮我排查 Lambda 调用 DynamoDB 时报 AccessDenied 的问题。
三、卸载
保持简单:
- 使用对应 Agent 或 Skill 管理器提供的删除 / 移除方式删除该 Skill。
- 或者直接问当前 Agent:
如何卸载 aws/agent-toolkit-for-aws#connecting-lambda-to-dynamodb?
不同 Agent 的 Skill 安装位置和管理方式可能不同。如果没有统一的卸载命令,直接询问当前 Agent 如何移除该 Skill 通常更稳妥。
常见问题
1. 这个 Skill 能帮我在本地跑起来吗?
它主要提供代码和配置指引,不能替你在本地启动 AWS 服务。要在本地测试 Lambda 调用 DynamoDB,通常还需要本地模拟工具或指向真实 AWS 环境,具体取决于你的开发方案。
2. 我可以同时把它装到多个 Agent 里吗?
可以。它本质是一组指引,多个 Agent 各自安装互不冲突。不同 Agent 的安装方式和目录不同,分别按对应方式安装即可。
3. 安装后 Agent 好像没识别到,怎么办?
先确认安装是否真的成功、Skill 是否放在该 Agent 能读取的位置。部分 Agent 需要重新加载或重启会话才能生效。可以直接问 Agent:“你现在能使用 connecting-lambda-to-dynamodb 吗?”来确认。
4. 中国大陆使用有网络要求吗?
安装时需要能访问 Skill 的来源。如果你要实际部署 Lambda 和 DynamoDB,还取决于你使用的 AWS 区域以及当地网络能否稳定访问对应区域。纯代码生成场景对网络要求较低。
5. 它会不会直接改动我的 AWS 资源?
Skill 本身只提供指引。是否真正创建表、部署函数或修改 IAM,取决于你给 Agent 的权限。如果关闭 Agent 的 Shell / AWS CLI 执行权限,它只会给出方案,由你手动执行。
6. 让 Agent 生成 IAM 策略安全吗?
可以作为起点,但建议人工检查。确认策略限定在具体表和具体操作上,避免出现对 DynamoDB 或整个账号的通配权限。最小权限原则同样适用于 AI 生成的策略。
7. 它和直接让 Agent 写 Lambda + DynamoDB 代码有什么区别?
普通对话中 Agent 靠通用知识作答;安装该 Skill 后,Agent 会参考 AWS 官方的结构化指引,在权限配置、SDK 用法、命名和常见陷阱上更贴近官方实践,通常需要更少的人工纠正。