Token导航 LogoToken导航TokenDH.com
图像处理权限需确认github未标认证来源可访问clear审计未展示

image-alt-title-filler图片替代标题填充

Agent Skill

用于辅助图像生成、图片编辑、视觉素材处理或图像模型工作流。它适合让 Agent 根据文本生成图片、处理背景、整理视觉提示词或调用相关图像工具。使用时需要确认输入图片、版权来源、输出格式和模型限制;涉及人物、品牌、商品或公开展示素材时,应额外核对授权、真实性和内容合规边界。

总安装

544

周安装

22

GitHub Stars

公开资料未说明

下载量

171
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:image-alt-title-filler(图片替代标题填充)
来源仓库:https://github.com/z-soulx/ai-toolkit
仓库路径:skills/image-alt-title-filler
安装命令:
npx skills add z-soulx/ai-toolkit --skill "image-alt-title-filler"
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

AgentSkills.tonpx skills
npx skills add z-soulx/ai-toolkit --skill "image-alt-title-filler"

简介

image-alt-title-filler 用于辅助图像生成和视觉素材处理工作流。

  • 适用于需要根据文本生成图片或处理背景的场景。
  • 通过 npx skills add z-soulx/ai-toolkit --skill "image-alt-title-filler" 命令安装使用。
  • 安装前建议确认权限范围和维护状态,注意可能涉及图像文件读写操作。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

name
image-alt-title-filler
description
脚本化图片 alt/title 补全工具。脚本负责提取和替换,模型只负责看图生成描述。支持 Markdown 和 HTML 图片,严格不改路径、不丢图。
metadata
version
v5-planning
safety
必须先 --dry-run 预览,确认无误后再执行
dependencies

Image Alt/Title Filler (脚本化版本)

核心特性

脚本化操作 - 查找和替换都由脚本完成,速度快 ✅ 模型只看图 - 模型只负责读取图片生成描述,不做文本操作 ✅ 批次处理 - 支持分批处理大量图片 ✅ 降级机制 - 图片读取失败时自动使用上下文推断 ✅ 完整账本 - 记录每张图片的变更详情 ✅ 预览模式 - 必须先预览再执行,保证数据安全 ✅ 自动备份 - 执行前自动创建带时间戳的备份文件

3-File Pattern (遵循 planning-with-files)

本 skill 采用 planning-with-files 的 3-file 模式:

文件用途更新时机
task_plan.md跟踪 A-D 工作流阶段进度每个阶段完成后
notes.md记录批次处理发现(可选)处理批次时
image_ledger.md最终交付物:图片变更账本步骤 D 完成后

工作流程

  1. 开始前: 创建 task_plan.md,定义 4 个阶段
  2. 每个阶段后: 更新 task_plan.md,标记完成
  3. 处理批次时: 可选记录到 notes.md
  4. 完成后: image_ledger.md 作为最终交付物

硬性规则

  • ❌ 不删除任何图片引用
  • ❌ 不修改 src 路径
  • ❌ 不重命名图片文件
  • ✅ 每张图片必须出现在变更账本中
  • ✅ 能读到图片时必须基于图片内容生成(不是文件名)
  • ✅ 读不到图片必须降级为上下文推断,并标记 FALLBACK_CONTEXT
  • ⚠️ 必须先执行 --dry-run 预览,确认无误后再正式执行

使用流程

步骤 0: 创建任务计划(必须!)

⚠️ 遵循 planning-with-files 原则

创建 task_plan.md:

# Task Plan: 图片 Alt/Title 补全

## Goal
为 [文档名] 的所有图片生成语义化的 alt/title

## Phases
- [ ] Phase A: 提取图片清单
- [ ] Phase B: 生成批次任务
- [ ] Phase C: 处理批次(看图生成描述)
- [ ] Phase D: 应用补丁并验证

## Status
**Currently in Phase A** - 准备提取图片清单

步骤 A: 提取图片清单

python scripts/01_extract_manifest.py --target_md <你的文档.md> --out_dir .

输出: manifest.json - 包含所有图片的位置、上下文信息

完成后: 更新 task_plan.md,标记 Phase A 完成

步骤 B: 生成批次任务

python scripts/02_make_batch_prompts.py --manifest manifest.json --out_dir batches --batch_size 8

输出: batches/batch_001.md, batch_002.md, ... - 每个批次的处理任务

完成后: 更新 task_plan.md,标记 Phase B 完成

步骤 C: 处理批次(在 IDE 中执行)

打开 batches/batch_001.md,按照提示:

  1. 逐个打开图片文件 - 使用 Read 工具查看本地图片
  2. 生成 alt/title - 基于图片内容生成简洁的中文描述
  3. 保存结果 - 将结果保存为 results/batch_001.results.json
  4. 可选: 记录发现到 notes.md

结果格式示例:

{
  "batch": 1,
  "results": [
    {
      "index": 0,
      "src": "images/architecture.png",
      "new_alt": "系统架构图展示微服务间的调用关系",
      "new_title": "系统架构图展示微服务间的调用关系",
      "fallback": false,
      "note": ""
    },
    {
      "index": 1,
      "src": "images/missing.png",
      "new_alt": "Redis 缓存穿透解决方案流程图",
      "new_title": "Redis 缓存穿透解决方案流程图",
      "fallback": true,
      "note": "图片无法打开,基于上下文推断"
    }
  ]
}

重复处理所有批次,直到完成。

完成后: 更新 task_plan.md,标记 Phase C 完成

步骤 D: 应用补丁

D1: 预览变更(必须!)

⚠️ 安全要求: 必须先预览,确认无误后再执行

python scripts/03_apply_patch.py \
  --target_md <你的文档.md> \
  --manifest manifest.json \
  --results_dir results \
  --out_md patched.md \
  --out_ledger image_ledger.md \
  --update_policy smart \
  --title_policy same_as_alt \
  --max_len_alt 40 \
  --max_len_title 40 \
  --dry-run

预览输出:

  • 显示将要更新的图片数量
  • 显示前 3 个变更示例
  • 不会实际修改文件

检查要点:

  1. 图片数量是否正确
  2. src 路径是否匹配
  3. 变更示例是否合理
  4. 是否有意外的覆盖

完成后: 在 task_plan.md 中记录预览结果

D2: 正式应用补丁

⚠️ 仅在预览确认无误后执行

python scripts/03_apply_patch.py \
  --target_md <你的文档.md> \
  --manifest manifest.json \
  --results_dir results \
  --out_md patched.md \
  --out_ledger image_ledger.md \
  --update_policy smart \
  --title_policy same_as_alt \
  --max_len_alt 40 \
  --max_len_title 40

输出:

  • patched.md - 更新后的文档
  • image_ledger.md - 完整的变更账本(最终交付物)
  • 自动创建备份文件(带时间戳)

完成后: 更新 task_plan.md,标记 Phase D 完成

步骤 E: 验证结果

# 1. 检查账本文件
cat image_ledger.md

# 2. 对比原文件和新文件
diff <你的文档.md> patched.md

# 3. 确认无误后替换原文件
cp patched.md <你的文档.md>

参数说明

update_policy(更新策略)

  • always - 总是更新 alt/title
  • smart - 智能更新(如果原有内容不像文件名则保留)
  • empty_only - 仅更新空的 alt/title

title_policy(title 策略)

  • same_as_alt - title 与 alt 相同(推荐)
  • keep - 保持原 title 不变
  • update - 独立更新 title

max_len_alt / max_len_title

  • 限制 alt/title 的最大长度(默认 40 字符)

ledger_format(账本格式)

  • table - 表格汇总格式(默认,推荐)

- 一行一张图片,便于快速浏览 - 包含统计信息(总计、已更新、保留、降级) - 类似老版本格式

  • detailed - 详细逐条格式

- 包含原片段和新片段代码块 - 适合需要查看具体变更的场景

备份选项

  • --no-backup - 不创建备份文件(完全信任流程)
  • --auto-cleanup-backup - 执行成功后自动删除备份文件(推荐)

- 仍会创建备份(防止写入错误) - 验证输出文件成功后自动清理 - 避免累积备份文件

目录结构

Skill 目录(只包含脚本)

.codex/skills/image-alt-title-filler/
├── SKILL.md                          # 本文件
├── scripts/
│   ├── 01_extract_manifest.py        # 提取图片清单
│   ├── 02_make_batch_prompts.py      # 生成批次任务
│   └── 03_apply_patch.py             # 应用补丁
├── SAFETY_REVIEW.md                  # 安全审查报告
└── CHANGELOG.md                      # 版本更新记录

工作目录(执行时创建)

working_directory/
├── task_plan.md              # 任务计划(遵循 planning-with-files)
├── notes.md                  # 批次处理笔记(可选)
├── manifest.json             # 提取的图片元数据
├── batches/                  # 批次任务
│   ├── batch_001.md
│   └── batch_002.md
├── results/                  # AI 生成的描述
│   ├── batch_001.results.json
│   └── batch_002.results.json
├── patched.md                # 更新后的文档
└── image_ledger.md           # 最终交付物:变更账本

快速开始示例

# 0. 创建任务计划
cat > task_plan.md <<'EOF'
# Task Plan: 图片 Alt/Title 补全

## Goal
为 node/中间件/redis/redis实战.md 的所有图片生成语义化的 alt/title

## Phases
- [ ] Phase A: 提取图片清单
- [ ] Phase B: 生成批次任务
- [ ] Phase C: 处理批次
- [ ] Phase D: 应用补丁并验证

## Status
**Currently in Phase A**
EOF

# A. 提取图片
python scripts/01_extract_manifest.py --target_md "node/中间件/redis/redis实战.md" --out_dir .

# 更新 task_plan.md: 标记 Phase A 完成

# B. 生成批次(每批 8 张图)
python scripts/02_make_batch_prompts.py --manifest manifest.json --out_dir batches --batch_size 8

# 更新 task_plan.md: 标记 Phase B 完成

# C. 在 IDE 中打开 batches/batch_001.md,按提示处理
# 更新 task_plan.md: 标记 Phase C 完成

# D1. 预览变更(必须!)
python scripts/03_apply_patch.py \
  --target_md "node/中间件/redis/redis实战.md" \
  --manifest manifest.json \
  --results_dir results \
  --out_md patched.md \
  --out_ledger image_ledger.md \
  --dry-run

# D2. 确认预览无误后,正式执行(使用表格格式 + 自动清理备份)
python scripts/03_apply_patch.py \
  --target_md "node/中间件/redis/redis实战.md" \
  --manifest manifest.json \
  --results_dir results \
  --out_md patched.md \
  --out_ledger image_ledger.md \
  --ledger_format table \
  --auto-cleanup-backup

# 更新 task_plan.md: 标记 Phase D 完成

# E. 检查账本并替换原文件
cat image_ledger.md
cp patched.md "node/中间件/redis/redis实战.md"

注意事项

  1. ⚠️ 安全第一 - 必须先执行 --dry-run 预览,确认无误后再正式执行
  2. 自动备份 - 正式执行时会自动创建备份文件(格式:原文件名.backup_时间戳.md
  3. 图片路径 - 脚本会自动处理相对路径和绝对路径
  4. 批次大小 - 建议每批 5-10 张图片,避免单次处理过多
  5. 降级处理 - 图片无法打开时,基于上下文推断并标记 fallback: true
  6. 账本检查 - 完成后务必检查 image_ledger.md 确认所有图片都已处理

常见问题

Q: 为什么要分批处理? A: 避免单次处理过多图片导致超时或内存问题,分批处理更稳定。

Q: 图片打不开怎么办? A: 设置 fallback: true,基于上下文推断生成描述,脚本会自动标记。

Q: 如何只更新空的 alt/title? A: 使用 --update_policy empty_only 参数。

Q: 可以自定义 alt 和 title 的长度吗? A: 可以,使用 --max_len_alt--max_len_title 参数。

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenCode

29.68%
按下载量换算51

Claude Code

21.96%
按下载量换算38

windsurf

17.26%
按下载量换算30

trae

11.26%
按下载量换算19

kiro-cli

7.95%
按下载量换算14

Codex

3.26%
按下载量换算6

安全审计

暂无安全审计结果可展示。

权限和风险

权限需确认

当前来源未能明确判断权限范围,默认进入异常复核队列。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills