SKILL.md
2.09 KB
name: l1-file-read description: "L1 原子技能:文件内容读取。支持读取 PDF、Excel、CSV、JSON、Markdown 等常见格式并转为纯文本。" layer: 1 domain: sensing keywords:
- file
- read
- excel
- csv
- parse input_schema: "{ file_path: string }" output_schema: "{ content: string, format: string, size: number }" ---
L1: File Read(文件读取原子技能)
能力
读取本地文件内容,支持多种格式,统一输出为纯文本。
使用方法
纯文本 / Markdown / JSON / YAML
cat "<file_path>"
CSV → 表格文本
python3 -c "
import csv, sys
with open(sys.argv[1], 'r') as f:
reader = csv.reader(f)
for row in reader:
print(' | '.join(row))
" "<file_path>"
Excel (.xlsx)
python3 -c "
import sys
try:
import openpyxl
wb = openpyxl.load_workbook(sys.argv[1], read_only=True)
for sheet in wb.sheetnames:
ws = wb[sheet]
print(f'=== Sheet: {sheet} ===')
for row in ws.iter_rows(max_row=100, values_only=True):
print(' | '.join(str(c) if c is not None else '' for c in row))
except ImportError:
print('ERROR: openpyxl not installed. Run: pip3 install openpyxl')
" "<file_path>"
PDF → 纯文本
python3 -c "
import sys
try:
import PyPDF2
with open(sys.argv[1], 'rb') as f:
reader = PyPDF2.PdfReader(f)
for i, page in enumerate(reader.pages[:20]):
text = page.extract_text()
if text: print(f'--- Page {i+1} ---\n{text}')
except ImportError:
import subprocess
result = subprocess.run(['strings', sys.argv[1]], capture_output=True, text=True)
print(result.stdout[:5000])
" "<file_path>"
输入
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| file_path | string | ✅ | 本地文件路径 |
输出
文件内容的纯文本表示,截取前 5000 字符。
约束
- 最大读取行数:100 行(Excel)或 20 页(PDF)
- 不支持加密/密码保护的文件
- 二进制文件(图片、视频)返回"不支持的文件格式"