take_picture
GitHub调用板载摄像头拍摄单张照片并保存为JPEG文件。需先确认硬件信息,执行Lua脚本完成捕获,支持自定义文件名、目录及超时参数,直接返回结果或错误。
Trigger Scenarios
Install
npx skills add espressif/esp-claw --skill take_picture -g -y
SKILL.md
Frontmatter
{
"name": "take_picture",
"metadata": {
"cap_groups": [
"cap_lua"
],
"manage_mode": "readonly"
},
"description": "Take one photo with the board camera and save it as a JPEG file. Requires board_hardware_info skill."
}
Take Picture
Use this skill when the user asks to take a photo, capture a picture, snap an image, or save a camera still from the board camera.
Run exactly one script with lua_run_script after reading board_hardware_info.
If lua_run_script returns an error, report that error directly to the user.
Do not retry with changed arguments or run another camera script in the same turn unless the user explicitly asks.
Script Args Schema
{
"type": "object",
"properties": {
"filename": {
"type": "string",
"default": "capture.jpg",
"description": "JPEG filename to create under the storage root or under dir."
},
"dir": {
"type": "string",
"default": "",
"description": "Optional single directory name under the storage root."
},
"timeout_ms": {
"type": "integer",
"default": 3000,
"minimum": 0
},
"skip_frames": {
"type": "integer",
"default": 3,
"minimum": 0,
"description": "Number of warm-up frames to discard before saving the photo."
}
}
}
Path rules:
filenamemust be a simple.jpgor.jpegfilename.filenamemust not contain/,\, or...diris optional and must be a single directory name under the storage root.dirmust not contain/,\, or...
Tool Call Inputs
Take a photo with the default output name:
{"path":"{CUR_SKILL_DIR}/scripts/take_picture.lua","args":{}}
Take a photo with a custom filename:
{"path":"{CUR_SKILL_DIR}/scripts/take_picture.lua","args":{"filename":"photo.jpg"}}
Take a photo into a storage-root-relative directory:
{"path":"{CUR_SKILL_DIR}/scripts/take_picture.lua","args":{"dir":"photos","filename":"latest.jpg","timeout_ms":5000}}
Take a photo after discarding more warm-up frames:
{"path":"{CUR_SKILL_DIR}/scripts/take_picture.lua","args":{"filename":"stable.jpg","skip_frames":5}}
Recommended Flow
- Activate the
board_hardware_infoskill and confirm that acameradevice is listed. - If no camera is listed, tell the user that the board does not declare a camera and stop.
- Choose a safe filename. Use the default unless the user requested a specific output name.
- Run
{CUR_SKILL_DIR}/scripts/take_picture.luawith the selectedargs. - Report the saved path, byte count, resolution, pixel format, skipped warm-up frames, and any error directly from the script output.
Version History
- 06eb576 Current 2026-07-24 19:54


