agentleFS
Jolly-JJolly-J/CharFloat/skills/charfloat/SKILL.md

charfloat

Skill8 starsChanged 35 days agoMITView on GitHub

通过本机「字浮 CharFloat」的 MCP 操作已打开的 WPS 或 Microsoft Office 文件;提供目标定位、批量执行、JS 扩展和结果验证的共享流程,也处理连接排障。适用于实时办公文件操作,不用于普通离线文件生成。

The file

Files
SKILL.md

字浮 CharFloat

建立并复用任务上下文

人机实时协同(Live Co-editing)是字浮的第一设定。字浮与用户共享同一桌面、同一窗口与同一份活动文档。AI 接管操作时,必须意识到用户随时可能在宿主界面手动编辑、插入/删除行列或修改单元格。

首次接入或上下文缺失时调用 bridge_get_capabilities,确认宿主、服务版本、连接与验证状态。工具定义已在当前会话可见时直接使用,不再重复拉取整份工具清单;仅缺少定义时查询相关工具。连接异常才调用 bridge_diagnose。

读取工作区定位精确 workbookName/documentName/presentationName,以及 sheetName 或目标页。在后续调用显式携带目标,不依赖活动窗口焦点。保留本任务已取得的宿主、目标名称、页面尺寸和对象标识,不在每个子步骤或切换子 skill 时重复初始化。

脚本里按组件只有一个变量有值:表格用 wb、文字用 doc、演示用 pres,另外两个是 null(Excel 场景没有 doc,详见 原生脚本)。脚本改写形状或单元格格式时,枚举一律传整数,字符串枚举会静默失效,取值见 枚举速查表。

人机协同与状态刷新协议:

  1. 严禁盲目信任跨轮次历史记忆:多轮会话中,上几轮记录的绝对行号(如“第 11 行”)、列坐标或单元格内容,绝不能直接作为当前物理事实。用户可能在两次提问间手工插入了数据行或修改了数值。
  2. 写前轻量核验(Refresh-Before-Write):
    • 边界嗅探防错行:涉及追加数据、行末计算或结构变更时,写入前先调用 get_sheet_outline(超轻量,毫秒级读取最新 UsedRange 边界),核对真实末行行号;对“小计”、“合计”等业务特定行,优先通过 search_cells 文本锚点定位坐标,禁止硬编码绝对行号。
    • 切片读取防覆盖:准备覆盖已有单元格时,先用 read_range 读取目标当前值。若发现用户已做修改,应吸收保留或提示,禁止无感知盲写覆盖。
  3. 断线、宿主重启、目标切换或对象不存在时重新确认相关上下文。插入/删除段落、页面、行列后刷新受影响的索引。缓存用于减少连接探测,绝不是跳过修改前的必要核对。

按任务组织调用

  1. **定位并取够信息。**先摘要或搜索,再读目标区域和所需字段。已有足够数据就开始执行,不为“完整性”读取全表无关内容;但“最小读取”不等于“不刷新”——涉及写入目标时必须遵循上述写前核验协议,确保边界与真值最新。
  2. **选择执行粒度。**单项修改用专用工具;连续单元格用范围写入;同一页或同组对象的相关修改可合成一次脚本。批次按失败后可核对、可继续的边界划分,不规定固定调用数。
  3. **执行并带回证据。**专用工具已有实际读回信息时直接复用;只有成功标志或缺少关键字段才补读。脚本在写入后读取实际属性并返回普通 JSON 摘要,不只回显输入参数。
  4. **针对结果验证。**值和公式检查关键范围;视觉变化在一页或区域完成后预览,不逐对象截图。注意:预览图可能因渲染通道做字体替换,不可作为字重/字体验收依据,样式验收以属性探针为准。批量统一版式先验证代表页再扩展,最终检查所有修改页。未改动区域无需重复验证。
  5. **按需保存。**用户要求落盘或任务交付需要保存时调用对应保存接口并核对结果。最终简述修改、验证、保存状态和确有的遗留项。

优先使用可批量处理且满足需求的结构化工具。excel_* 需按 schema 显式选择 host,wps_* 只控制 WPS;Microsoft 通道依实际能力返回和工具定义选择,不照搬 WPS 对象模型。

专用工具未覆盖不等于不支持。需要矢量绘图、已有对象深度编辑或精细布局时,按 原生脚本 只读探测相关 API,再批量执行;不因使用 JS 本身重复索要授权。已有已验证的 API 可复用,不必逐次反射。

按需读取

  • 表格、图表、矢量绘图:Excel 工作流。
  • 演示文稿排版:PPT 工作流。
  • 文字与表格改稿:Word 工作流。
  • 脚本要用枚举取值:枚举速查表;脚本变量绑定与宿主 API 差异:原生脚本。
  • 用矢量形状搭建整页版面(看板 / 信息图 / 封面页):画布版面规范。
  • 连接或启动失败才读 启动与排障;讨论宿主支持范围时读 能力边界。不要预先加载所有引用。

批次与恢复

同一宿主中的修改、激活与截图串行执行,避免争用焦点或剪贴板。脚本批次开始前检查目标、数据尺寸和必需参数;执行中记录已完成对象及当前步骤。遇到失败停止依赖该步骤的后续修改,返回部分结果,不吞掉错误继续报全量成功。

超时、断线或审计失败可能已经修改文件,先读回目标,不盲目重放整批。仅 patch_cells 的值与公式有审计回滚;不要为减少调用把要求审计的单元格写入改成任意脚本。格式、图表、Word/PPT 和脚本没有统一回滚。

没有连接时修复连接,不以离线修改另一份文件替代实时任务。用户明确选择离线时遵循其选择。

能力缺口:Word 没有视觉预览通路

wps_word_capture_preview 的处理器已实现但没有注册成对外工具,调用返回"未知工具 wps_word_capture_preview";ExportAsFixedFormat 在宿主上也不落盘。因此文字文稿当前无法取得真实截图或 PDF 预览,不要反复尝试预览类调用。替代做法:用脚本读回段落/表格/节的真实属性(字体、字号、行距、缩进、PageSetup.Orientation、页眉页脚文本、ComputeStatistics(2) 的页数),并在交付时说明"已做结构化读回、未做视觉验证"。表格与演示文稿不受影响,仍按各自工作流做区域预览。

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.