Utility Skills

通用辅助技能,用于日常任务:文档处理(PDF、XLSX)、记忆管理、屏幕截图、密码管理、天气查询、文字转语音、视频下载等。这些技能处理那些不太适合归入其他类别的杂项但必要的操作。

概览

Utility 技能涵盖广泛的日常操作。一些是由 harness 直接加载的内置技能,另一些则以 MCP 服务器或外部工具集成的形式实现。其中五个技能默认激活(开箱即用);其余七个可用但需要配置或外部依赖。

技能状态类型描述
memory激活内置支持自动保存和召回的持久化跨会话记忆
pdf激活内置读取、解析、提取文本并总结 PDF 文档
pdf-vision激活内置基于视觉模型的 PDF 阅读,适用于扫描文档和图片
screen-capture激活内置截取当前屏幕或指定区域的截图
xlsx激活内置读取、写入和操作 Excel 电子表格
1password可用MCP从 1Password 保险库中查找凭证和密钥
goplaces可用MCP位置搜索、导航和地点信息
summarize可用内置总结长文本、文章或记录
tts可用外部文字转语音,生成音频输出
video-downloader可用外部从 URL 下载视频(YouTube 等)
video-frames可用外部从视频文件中提取帧用于分析
weather可用MCP按位置查询当前天气和预报

memory

跨会话持久化记忆。memory 技能会自动保存重要上下文——决策、偏好、项目笔记、反馈——并在相关时自动召回。记忆以 Markdown 文件形式存储在 ~/.cli-jaw/memory/ 下,并通过 SQLite 索引实现快速检索。

属性
Skill IDmemory
分类Utility
状态激活(内置)
存储~/.cli-jaw/memory/(Markdown + SQLite 索引)
触发词Remember, recall, note, preference, feedback

功能

操作描述
自动保存自动检测并持久化对话中的重要上下文
召回根据与当前对话的语义相似度检索相关记忆
手动保存通过 /memory save 显式保存笔记或决策
搜索在所有已保存的记忆中进行全文和语义搜索
列表按主题浏览所有记忆文件
删除移除特定的记忆条目

使用示例

# Manually save a note
/memory save "JWT tokens expire after 24h in this project"

# Search memories
/memory search "authentication"

# List all memory files
/memory list

# Delete a specific memory
/memory delete shared/old-decision.md
自然语言触发:
"이거 기억해줘" -- 将当前上下文保存到记忆中
"지난번에 뭐라고 했었지?" -- 召回相关的过往对话上下文
"내가 선호하는 설정 뭐였어?" -- 检索已保存的偏好设置
"피드백 메모해둬" -- 保存反馈以供将来参考

记忆结构

记忆被组织为命名空间化的 Markdown 文件。自动记忆系统将 MEMORY.md 作为索引,详细条目存储在特定主题的文件中。

~/.cli-jaw/memory/
  MEMORY.md                    # Index with links to detailed files
  feedback_goal_done_method.md # Specific feedback entry
  feedback_poll_dont_wait.md   # Another feedback entry
  shared/
    decisions.md               # Shared project decisions
    preferences.md             # User preferences

pdf

基于文本的 PDF 处理。读取 PDF 文件,提取文本内容,解析结构(标题、表格、列表),并支持摘要。最适合包含可选中文本的数字化 PDF。

属性
Skill IDpdf
分类Utility
状态激活(内置)
输入本地文件路径或 URL
最适用于包含可选中文本的数字化 PDF

功能

操作描述
读取从 PDF 文件中提取完整文本内容
页面范围读取指定页面(例如,大文档的第 1-5 页)
摘要生成 PDF 内容的简洁摘要
搜索在文档中查找特定文本或模式
元数据提取标题、作者、页数和其他 PDF 元数据

使用示例

# Read a PDF file
/pdf read ~/Documents/report.pdf

# Read specific pages
/pdf read ~/Documents/report.pdf --pages 1-5

# Summarize a PDF
/pdf summarize ~/Documents/whitepaper.pdf

# Extract metadata
/pdf info ~/Documents/contract.pdf
自然语言触发:
"이 PDF 요약해줘" -- 总结 PDF 文档
"이 문서에서 계약 조건 찾아줘" -- 在 PDF 中搜索合同条款
"PDF 몇 페이지야?" -- 返回页数和元数据
"3페이지부터 7페이지까지 읽어줘" -- 读取指定的页面范围

pdf-vision

基于视觉的 PDF 阅读。使用多模态模型来解读扫描文档、图片密集的 PDF 以及文本提取失败的页面。每一页都被渲染为图像并进行视觉分析,因此该技能对于手写笔记、扫描收据和复杂排版至关重要。

属性
Skill IDpdf-vision
分类Utility
状态激活(内置)
模型支持视觉的 LLM(Claude、GPT-4V)
最适用于扫描文档、手写文本、图片密集的 PDF

何时使用 pdf-vision 与 pdf

场景推荐原因
包含可选中文本的数字化 PDFpdf更快、更准确的文本提取
扫描文档(仅含图像)pdf-vision没有可选中的文本可提取
包含图表和图解的 PDFpdf-vision能够描述视觉元素
手写笔记pdf-vision通过视觉模型进行 OCR
文本与图片混合pdf-vision同时捕获文本和视觉内容
大文档(超过50页)pdf更低的延迟和 token 成本

使用示例

# Read a scanned PDF with vision
/pdf-vision read ~/Documents/scanned-receipt.pdf

# Analyze specific pages visually
/pdf-vision read ~/Documents/diagram-heavy.pdf --pages 3-5

# Extract text from a handwritten note
/pdf-vision read ~/Documents/handwritten.pdf
自然语言触发:
"이 스캔 문서 읽어줘" -- 使用视觉模型读取扫描 PDF
"이 영수증 내용 정리해줘" -- 提取并整理收据内容
"이 차트 설명해줘" -- 描述 PDF 中的图表和图解
"손글씨 읽어줘" -- 对手写内容进行 OCR 识别

screen-capture

截取整个屏幕、特定窗口或指定区域的截图。截取的图像可以由视觉模型分析、保存到磁盘,或作为其他技能(如 vision-click)的输入。

属性
Skill IDscreen-capture
分类Utility
状态激活(内置)
输出PNG 图像(文件或内联)
平台macOS(screencapture)、Linux(scrot/gnome-screenshot)

功能

操作描述
全屏截取整个显示屏
窗口截取特定应用程序窗口
区域按坐标截取矩形区域
分析截取后立即使用视觉模型描述内容

使用示例

# Capture full screen
/screen-capture

# Capture and analyze the screen
/screen-capture --analyze

# Save to a specific path
/screen-capture --output ~/Desktop/screenshot.png

# Capture a specific region (x, y, width, height)
/screen-capture --region 0,0,800,600
自然语言触发:
"스크린샷 찍어줘" -- 截取当前屏幕
"지금 화면 보여줘" -- 截取并显示当前屏幕
"이 화면에 뭐가 보여?" -- 截取并分析屏幕内容
"화면 캡처해서 저장해줘" -- 截取并保存为文件

xlsx

Excel 电子表格处理。读取、写入和操作 .xlsx 文件——从工作表中提取数据、创建新工作簿、更新单元格,以及在不同格式(CSV、JSON)之间转换。支持公式、多工作表和基本格式化。

属性
Skill IDxlsx
分类Utility
状态激活(内置)
格式.xlsx.xls.csv(读写)
SheetJS (xlsx)

功能

操作描述
读取从电子表格的单元格、行和工作表中提取数据
写入创建新工作簿或更新现有工作簿
转换在 XLSX、CSV 和 JSON 格式之间转换
分析汇总数据、计算统计信息、描述工作表结构
筛选提取符合特定条件的行

使用示例

# Read an Excel file
/xlsx read ~/Documents/sales-data.xlsx

# Read a specific sheet
/xlsx read ~/Documents/report.xlsx --sheet "Q4 Summary"

# Convert XLSX to CSV
/xlsx convert ~/Documents/data.xlsx --to csv

# Create a new spreadsheet from data
/xlsx write ~/Documents/output.xlsx --data '[{"name":"Alice","score":95},{"name":"Bob","score":87}]'
自然语言触发:
"이 엑셀 파일 읽어줘" -- 读取并显示电子表格内容
"이 데이터 엑셀로 만들어줘" -- 从数据创建新的 XLSX 文件
"CSV로 변환해줘" -- 将电子表格转换为 CSV 格式
"매출 데이터 요약해줘" -- 分析并汇总电子表格数据

1password

从 1Password 保险库安全查找凭证。1password 技能使用 1Password CLI(op)搜索和检索项目——登录信息、密码、安全笔记、API 密钥——而不会在对话中以明文形式暴露。凭证直接注入到命令或环境变量中。

属性
Skill ID1password
分类Utility
状态可用(需要 1Password CLI)
前置条件已安装并登录 op CLI
认证通过 op 进行生物识别或主密码认证

功能

操作描述
搜索按名称、标签或保险库查找项目
获取检索特定字段(密码、用户名、OTP)
注入通过 op run 将密钥注入到命令中
列出保险库显示可用的保险库及其项目数量

使用示例

# Search for a credential
/1password search "GitHub token"

# Get a specific password
/1password get "AWS Production" --field password

# Inject a secret into a command
op run --env-file=.env -- jaw serve

# List all vaults
/1password vaults
自然语言触发:
"비밀번호 찾아줘" -- 在 1Password 中搜索匹配的凭证
"GitHub 토큰 가져와줘" -- 从 1Password 检索 GitHub 令牌
"AWS 키 환경변수에 넣어줘" -- 将 AWS 凭证注入到环境变量中
"내 비밀번호 뭐였지?" -- 在保险库中搜索匹配的项目
安全性:该技能绝不会在对话中记录或显示密码。凭证通过 op CLI 检索,并通过安全引用(op://vault/item/field)传递。使用前请确保您的 1Password CLI 会话已通过认证。

goplaces

基于位置的搜索和导航。查找地点、提供路线导航,并返回商家、地标和地址的相关信息。通过 MCP 服务器调用地图 API 实现。

属性
Skill IDgoplaces
分类Utility
状态可用(MCP 服务器)
APIGoogle Maps / Apple Maps
前置条件已配置 Maps API 密钥

功能

操作描述
搜索地点按查询条件查找餐厅、商店、地标
路线导航获取两个位置之间的路线和行程时间
地点详情营业时间、评分、电话号码、地点地址
附近查找给定位置或当前位置附近的地点

使用示例

# Search for a place
/goplaces search "coffee shops near Gangnam Station"

# Get directions
/goplaces directions "Seoul Station" "Gangnam Station"

# Get details about a specific place
/goplaces details "Starbucks Gangnam"

# Find nearby restaurants
/goplaces nearby --type restaurant --radius 500m
自然语言触发:
"근처 카페 찾아줘" -- 搜索附近的咖啡店
"강남역에서 서울역까지 어떻게 가?" -- 提供两个位置之间的路线导航
"이 가게 영업시간 알려줘" -- 检索商家的营业时间
"주변 맛집 추천해줘" -- 查找附近评分较高的餐厅

summarize

将长文本浓缩为简洁摘要。适用于文章、录音记录、会议笔记、文档和任何长文本输入。支持多种摘要样式——要点列表、段落、执行摘要和关键要点。

属性
Skill IDsummarize
分类Utility
状态可用
输入文本、文件路径或 URL
样式要点列表、段落、执行摘要、关键要点

使用示例

# Summarize a file
/summarize ~/Documents/meeting-notes.md

# Summarize with a specific style
/summarize ~/Documents/report.pdf --style bullets

# Summarize clipboard content
/summarize --clipboard

# Summarize a web article
/summarize https://example.com/long-article
自然语言触发:
"이거 요약해줘" -- 总结提供的内容
"회의록 정리해줘" -- 将会议记录总结为关键要点
"이 기사 핵심만 알려줘" -- 从文章中提取关键要点
"3줄로 요약해줘" -- 生成简洁的三行摘要

tts

文字转语音。使用 TTS 引擎(系统语音或云端 API)将文本输入转换为语音音频。适用于朗读文档、从文本生成音频文件以及无障碍访问。

属性
Skill IDtts
分类Utility
状态可用(外部)
引擎macOS say、OpenAI TTS、ElevenLabs
输出直接播放或音频文件(MP3、WAV)

使用示例

# Speak text aloud
/tts "Hello, this is a test of the text-to-speech system."

# Save to file
/tts "Meeting summary follows..." --output ~/Desktop/summary.mp3

# Use a specific voice
/tts "안녕하세요" --voice korean --engine openai

# Read a file aloud
/tts --file ~/Documents/notes.md
自然语言触发:
"이거 읽어줘" -- 使用 TTS 朗读内容
"소리로 들려줘" -- 将文本转换为语音并播放
"이 메모 음성 파일로 만들어줘" -- 从文本生成音频文件
"영어로 발음해줘" -- 用英语发音朗读文本

video-downloader

使用 yt-dlp 从 URL 下载视频。支持 YouTube、Vimeo 以及数百个其他视频平台。可以选择画质、仅提取音频、下载字幕,并保存到指定目录。

属性
Skill IDvideo-downloader
分类Utility
状态可用(外部)
前置条件已安装 yt-dlp
平台YouTube、Vimeo、Twitter 以及 1000+ 个站点

功能

操作描述
下载以最佳画质或指定分辨率下载视频
仅音频仅提取并保存音频轨道(MP3、M4A)
字幕下载指定语言的字幕
信息不下载视频,仅显示视频元数据
播放列表下载播放列表中的所有视频

使用示例

# Download a video
/video-downloader https://www.youtube.com/watch?v=dQw4w9WgXcQ

# Download audio only
/video-downloader https://www.youtube.com/watch?v=dQw4w9WgXcQ --audio

# Download with specific quality
/video-downloader https://www.youtube.com/watch?v=dQw4w9WgXcQ --quality 720p

# Download subtitles
/video-downloader https://www.youtube.com/watch?v=dQw4w9WgXcQ --subs ko
自然语言触发:
"이 영상 다운받아줘" -- 从给定 URL 下载视频
"음성만 추출해줘" -- 从视频中提取音频轨道
"자막 다운받아줘" -- 下载视频的字幕
"이 유튜브 영상 저장해줘" -- 下载并保存 YouTube 视频

video-frames

从视频文件中提取单帧用于分析。按指定的时间间隔或时间戳截取帧,输出为图像,并可选择将其发送到视觉模型进行描述。适用于视频摘要、内容分析和缩略图生成。

属性
Skill IDvideo-frames
分类Utility
状态可用(外部)
前置条件已安装 ffmpeg
输出PNG/JPEG 帧图像

使用示例

# Extract one frame per second
/video-frames ~/Videos/demo.mp4 --interval 1s

# Extract frame at a specific timestamp
/video-frames ~/Videos/demo.mp4 --at 01:23:45

# Extract and analyze frames with vision model
/video-frames ~/Videos/demo.mp4 --interval 10s --analyze

# Generate thumbnails for a video
/video-frames ~/Videos/demo.mp4 --count 5 --output ~/Desktop/thumbs/
自然语言触发:
"이 영상에서 프레임 추출해줘" -- 从视频中提取帧
"영상 내용 분석해줘" -- 提取帧并描述视频内容
"썸네일 만들어줘" -- 生成代表性的缩略图
"1분 30초 장면 캡처해줘" -- 截取指定时间戳的帧

weather

当前天气状况和预报。提供任意位置的温度、湿度、风速、降水和多日预报。以 MCP 服务器的形式实现,查询天气 API。

属性
Skill IDweather
分类Utility
状态可用(MCP 服务器)
APIOpenWeatherMap / WeatherAPI
数据当前状况、逐小时、每日预报

功能

操作描述
当前当前温度、湿度、风速、天气状况
预报多日预报,包含最高温、最低温、降水信息
逐小时未来 24-48 小时的逐小时详细信息
预警该地区的恶劣天气预警和警告

使用示例

# Get current weather
/weather Seoul

# Get a 5-day forecast
/weather forecast "San Francisco" --days 5

# Get hourly forecast
/weather hourly Tokyo --hours 24

# Check weather alerts
/weather alerts "New York"
自然语言触发:
"날씨 알려줘" -- 显示默认位置的当前天气
"서울 날씨 어때?" -- 显示首尔的当前天气
"내일 비 와?" -- 查看明天的降水预报
"이번 주 날씨 예보 알려줘" -- 提供本周的天气预报
"우산 가져가야 해?" -- 查看降雨概率并给出相应建议

配置

{
  "mcpServers": {
    "weather": {
      "command": "npx",
      "args": ["-y", "weather-mcp-server"],
      "env": {
        "WEATHER_API_KEY": "your-api-key",
        "WEATHER_DEFAULT_LOCATION": "Seoul"
      }
    }
  }
}

技能对比

快速参考,帮助您为任务选择合适的 Utility 技能。

文档处理

任务技能备注
读取数字化 PDFpdf快速文本提取,支持页面范围
读取扫描 PDFpdf-vision基于视觉的 OCR,较慢但能处理图像
读取/写入 Excelxlsx完整的 XLSX/CSV/JSON 支持
总结任意文本summarize适用于文件、URL 和剪贴板

媒体与截取

任务技能备注
截图screen-capture全屏、窗口或区域
下载视频video-downloader需要 yt-dlp
提取视频帧video-frames需要 ffmpeg
文字转语音tts系统语音或云端语音

信息与密钥

任务技能备注
查找凭证1password需要 op CLI
查找地点/路线导航goplaces需要 Maps API 密钥
查看天气weather需要 Weather API 密钥
记忆上下文memory始终激活,自动保存

常见模式

文档处理流水线

组合 PDF 和摘要技能,实现端到端的文档处理。

# Read a PDF, summarize it, and save the summary
"이 PDF 읽고 요약해서 엑셀로 정리해줘"

# The agent chains:
# 1. pdf → read the document
# 2. summarize → condense key points
# 3. xlsx → write summary to a spreadsheet

调研工作流

将天气、位置和记忆技能结合使用,完成规划任务。

# Plan a trip
"이번 주말 부산 날씨 알려주고, 근처 맛집 찾아줘. 결과 기억해둬."

# The agent chains:
# 1. weather → forecast for Busan this weekend
# 2. goplaces → search restaurants near Busan
# 3. memory → save results for later reference

安全开发

从 1Password 获取凭证并注入到您的开发环境中。

# Set up dev environment with secure credentials
"1Password에서 DB 비밀번호 찾아서 .env에 넣어줘"

# The agent chains:
# 1. 1password → get "Database Production" password
# 2. inject into .env file via op:// reference
注意:在链式调用技能时,代理会自动确定最优的执行顺序。您不需要指定单独的技能调用——只需用自然语言描述您想要的结果即可。