一村一法律顾问台账及日志填报
用途
作为一村(社区)法律顾问,每月需填报「村(社区)法律顾问工作台账」与「一村(社区)一法律顾问工作日志」。本技能接收一段时期内的工作文字记录与工作图片,自动生成一份填写完整的 docx:
- 一份工作台账(对当月所有服务事件的汇总表);
- 每个服务事件一份工作日志页,其后再另起一页附该事件的工作图片,随后是下一事件的日志页,依次排布。
字段信息缺失或不明确时留空不填(遵循用户要求)。
何时使用
- 用户上传工作文字记录 + 工作图片,要求生成「台账及日志」docx;
- 用户提及「一村一法律顾问」「法律顾问台账」「顾问日志」「每月填报」等;
- 用户提供一个月的顾问工作素材,希望整理成标准模板文档。
工作流
第 1 步:收集固定信息(如未提供则询问)
每份文档都需要的元信息(用户已确认这些不固定、每次由用户给出):
- 地区前缀(如「安州区」,前置到每个日志标题前;可留空);
- 台账「村(社区)」短名(如「东柏村」);
- 台账「时间」(通常为当月月末日期)与「证明人及联系电话」(如「微信群」);
- 每个事件的:村(社区)全称、法律顾问姓名、执业机构、服务地点、日期。
若用户在消息中已给出,直接采用;若缺失,用一句话向用户索取,不要臆造。
第 2 步:读取素材并归类事件
- 用 Read 工具逐张打开用户上传的工作图片,借助视觉能力提取其中的服务信息(对话内容、现场情况、时间、对方身份等)。
- 结合用户的文字记录,按事件拆分:每条独立的法律服务(咨询、走访、宣传、调解等)为一个事件。
- 按用户说明,将每张图片对应到具体事件;无法对应或用户未说明的,可放入最相关事件或向用户确认。
第 3 步:推断勾选项与填写内容
对每个事件,依据素材判断三组勾选项应勾选哪些(标签须与 references/schema.md 第 2 节完全一致),并填写以下字段:
service_items(服务项目)、service_methods(服务方式)、category(服务事项类别):仅列入应勾选项;service_target:台账「服务对象」,如「村民」「村委会」「群众」;object:服务对象基本情况(姓名、性别、出生日期、民族、身份证号、住所地、联系电话、共同咨询人数),信息不明即填空字符串;content(服务内容全文)、result(承办结果全文):信息不明即留空;images:该事件工作图片的绝对路径数组。
推断启发式见 references/schema.md 第 5 节。
第 4 步:生成结构化 JSON
按 references/schema.md 第 4 节的结构,将全部事件写成一个 JSON 文件(建议放在当前工作目录,如 ledger_input.json)。
第 5 步:运行填写引擎
确保运行环境具备 python-docx,然后调用引擎生成 docx:
VENV_PY=/Users/wk/.workbuddy/binaries/python/envs/default/bin/python
if [ ! -x "$VENV_PY" ] || ! "$VENV_PY" -c "import docx" 2>/dev/null; then
/Users/wk/.workbuddy/binaries/python/versions/3.13.12/bin/python3 -m venv /Users/wk/.workbuddy/binaries/python/envs/default
/Users/wk/.workbuddy/binaries/python/envs/default/bin/pip install -q python-docx
fi
"$VENV_PY" "$SKILL_DIR/scripts/fill_template.py" --input ledger_input.json --output 2026年09月顾问台账及日志-东柏村.docx
SKILL_DIR即本 SKILL.md 所在目录;引擎默认读取同包assets/blank_template.docx作为模板,无需额外指定。- 输出文件名建议:
年 月 顾问台账及日志-村名.docx,如2026年09月顾问台账及日志-东柏村.docx。
第 6 步:交付与复核
- 将生成的 docx 通过结果展示工具呈现给用户预览。
- 提示用户:生成的日志页「三类签名确认」留白待本人签署;若某事件图片缺失或勾选存疑,请用户补充确认。
注意事项
- 勾选框使用 Wingdings 2 字体的
R(选中)/£(未选)渲染,引擎已保证字体正确,不要手动改字符。 - 严格遵循「信息不明即留空」,不要编造姓名、身份证号、电话等。
- 若某月事件超过 6 个,引擎会自动为台账加行;日志页则每事件一页,不受行数限制。