publish-my-skills
发布自己开发的 Claude Code 技能到 GitHub 仓库 Office-Skills。用户可以指定一个或多个技能名称,如果不指定则发布最近创建的技能。自动检测是新建还是更新。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
发布自己开发的 Claude Code 技能到 GitHub 仓库 Office-Skills。用户可以指定一个或多个技能名称,如果不指定则发布最近创建的技能。自动检测是新建还是更新。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
把内容排版成报纸样式的 HTML 页面,保存到 ./paper/index.html,并启动本地 HTTP 服务(端口 1982)方便整屏阅读。 支持两种输入模式:(1) 直接输入 "answer2paper" → 排版 AI 上一条回复;(2) 输入 "@文件名.md , answer2paper" → 读取指定 Markdown 文件排版。 当用户说"排版成报纸"、"answer2paper"、"生成报纸"、"转成报纸格式"、"报纸排版"、"paper 格式输出"等,立即触发此技能。 也适用于 AI 回复内容较长、知识点密集、希望改善阅读体验的场景。
检测 Apifox 恶意域名 (apifox.it.com) 安全问题。当用户提到"排查 Apifox"、"检查 apifox.it.com"、"公司安全通知 apifox"、"apifox 中毒"、"apifox 卸载"、或"安全漏洞排查"时使用此技能。支持 macOS / Linux / Windows 三平台,自动检测 Network Persistent State、Apifox 安装目录、hosts 文件、Git 凭证。
读取金碧物业项目组企业微信在线工时表(每日更新)金碧工时及进展详情表,提取全员工时与进展数据,输出 TSV 文件。当用户说「读取工时表」「获取金碧工时」「拉取每日工时」「jb-everyone-report」时使用此技能。依赖 macOS Chrome 已登录的企业微信文档 Session(Cookie)和 playwright-cli。
金碧物业项目群工作简报生成技能。根据(每日更新)金碧工时及进展详情表.xlsx,生成每日工作简报Markdown文件。触发场景:(1)用户说'生成日报'、'生成工作简报'、'创建日报';(2)用户提供Excel文件要求生成简报;(3)用户提到金碧项目日报、简报生成。
This skill should be used when the user asks to "optimize oh-my-opencode configuration", "test opencode models", "update omo config", "find fastest models", or wants to systematically test available OpenCode models and optimize agent configurations based on test results.
更新本地hosts文件以优化GitHub访问速度,解决访问慢和图片加载问题
| name | publish-my-skills |
| description | 发布自己开发的 Claude Code 技能到 GitHub 仓库 Office-Skills。用户可以指定一个或多个技能名称,如果不指定则发布最近创建的技能。自动检测是新建还是更新。 |
这个技能帮助你将本地开发的 Claude Code 技能发布到 GitHub 仓库 Office-Skills。
# 单个技能
用户: "发布技能 optimize-omo-config"
# 多个技能
用户: "发布技能 optimize-omo-config, weekly-rpt-skill"
处理逻辑:
~/.claude/skills/ 目录中查找对应技能用户: "发布我的 skills"
用户: "发布最近的技能"
处理逻辑:
~/.claude/skills/ 目录对每个待发布的技能,验证其结构:
~/.claude/skills/技能名称/
├── SKILL.md # 必需: 主技能文档
├── README.md # 可选: 详细说明
├── examples/ # 可选: 示例文件
├── scripts/ # 可选: 辅助脚本
├── references/ # 可选: 参考资料
└── *.py, *.sh, *.js # 可选: 工具脚本
必需检查:
SKILL.md 必须存在SKILL.md 开头必须有 YAML frontmatter (name, description)警告检查:
# 1. 检查仓库是否存在
cd ~/workspace/Office-Skills 2>/dev/null
# 如果不存在,克隆仓库
if [ $? -ne 0 ]; then
cd ~/workspace
git clone https://github.com/AndersHsueh/Office-Skills.git
fi
# 2. 更新到最新
cd ~/workspace/Office-Skills
git pull origin main
# 3. 创建技能目录
mkdir -p skills/
对每个技能:
SKILL_NAME="optimize-omo-config"
REPO_SKILL_PATH="~/workspace/Office-Skills/skills/$SKILL_NAME"
if [ -d "$REPO_SKILL_PATH" ]; then
echo "✓ 技能 $SKILL_NAME 已存在,准备更新"
ACTION="更新"
else
echo "✓ 技能 $SKILL_NAME 不存在,准备新建"
ACTION="新建"
fi
相同内容检测:
# 比较 SKILL.md 文件
LOCAL_SKILL="~/.claude/skills/$SKILL_NAME/SKILL.md"
REPO_SKILL="$REPO_SKILL_PATH/SKILL.md"
if diff -q "$LOCAL_SKILL" "$REPO_SKILL" > /dev/null 2>&1; then
echo "⚠️ 技能 $SKILL_NAME 内容相同,无需更新"
SKIP=true
else
echo "✓ 检测到变更,继续处理"
SKIP=false
fi
SKILL_NAME="optimize-omo-config"
LOCAL_PATH="~/.claude/skills/$SKILL_NAME"
REPO_PATH="~/workspace/Office-Skills/skills/$SKILL_NAME"
# 创建目标目录
mkdir -p "$REPO_PATH"
# 复制所有文件
cp -r "$LOCAL_PATH/"* "$REPO_PATH/"
# 列出已复制的文件
echo "已复制文件:"
ls -lh "$REPO_PATH"
检查仓库的 README.md 是否包含该技能:
SKILL_NAME="optimize-omo-config"
README="~/workspace/Office-Skills/README.md"
# 检查技能是否已在 README 中
if ! grep -q "$SKILL_NAME" "$README"; then
echo "✓ 需要在 README 中添加技能说明"
# 从 SKILL.md 提取信息
SKILL_DESC=$(grep "^description:" "$REPO_PATH/SKILL.md" | sed 's/description: //')
# 在 README 的 "可用技能" 部分添加
# (这里需要智能插入,保持 README 格式)
fi
cd ~/workspace/Office-Skills
# 添加所有变更
git add skills/
git add README.md
# 生成提交信息
if [ "$ACTION" = "新建" ]; then
COMMIT_MSG="Add skill: $SKILL_NAME
- $SKILL_DESC
"
else
COMMIT_MSG="Update skill: $SKILL_NAME
- 更新技能文档和相关文件
"
fi
# 提交
git commit -m "$COMMIT_MSG"
# 推送
git push origin main
为每个技能生成报告:
✅ 技能发布成功: optimize-omo-config
**操作**: 新建
**路径**: skills/optimize-omo-config/
**提交**: a1b2c3d
**包含文件**:
- SKILL.md (主文档)
- README.md (详细说明)
- examples/ (2个示例文件)
**GitHub**: https://github.com/AndersHsueh/Office-Skills/tree/main/skills/optimize-omo-config
如果内容相同:
ℹ️ 技能已是最新: optimize-omo-config
**状态**: 仓库中的版本与本地版本完全相同
**路径**: skills/optimize-omo-config/
**无需操作**
**GitHub**: https://github.com/AndersHsueh/Office-Skills/tree/main/skills/optimize-omo-config
❌ 错误: 技能 'xxx' 不存在
在 ~/.claude/skills/ 中未找到该技能。
可用的技能:
- optimize-omo-config
- weekly-rpt-skill
- 售前方案生成
- 记录工作笔记
请检查技能名称是否正确。
❌ 错误: 技能 'xxx' 缺少 SKILL.md 文件
技能目录 ~/.claude/skills/xxx 存在,但缺少必需的 SKILL.md 文件。
请确保技能包含:
- SKILL.md (必需)
- 包含 YAML frontmatter (name, description)
❌ 错误: 推送到 GitHub 失败
可能原因:
- 网络连接问题 (中国大陆可能需要 VPN)
- 认证失败 (检查 gh auth status)
- 冲突 (需要先 git pull)
建议操作:
1. 检查网络: ping github.com
2. 检查认证: gh auth status
3. 手动推送: cd ~/workspace/Office-Skills && git push
用户: "发布技能 skill1, skill2, skill3"
系统会:
用户: "强制更新技能 optimize-omo-config"
即使内容相同也重新发布(用于修复损坏的文件)。
用户: "预览发布技能 optimize-omo-config"
显示将要执行的操作,但不实际提交:
默认仓库: https://github.com/AndersHsueh/Office-Skills
如果需要更改:
.publish-config{
"repo_url": "https://github.com/USERNAME/REPO",
"repo_path": "~/workspace/REPO",
"skills_dir": "skills"
}
创建 .publishignore 在技能目录:
__pycache__/
*.pyc
.DS_Store
*.tmp
node_modules/
使用小写字母和连字符:
optimize-omo-configweekly-rpt-skillOptimizeOmoConfig (驼峰命名)optimize_omo_config (下划线)---
name: skill-name
description: 简短描述(一句话)
---
# 技能标题
详细介绍...
## 触发短语
- 短语 1
- 短语 2
## 工作流程
### 步骤 1
...
## 示例
...
虽然不是必需的,但强烈建议包含 README.md:
在 SKILL.md 的 frontmatter 中添加版本:
---
name: skill-name
description: 描述
version: 1.0.0
updated: 2026-01-26
---
# 1. 查找技能
find_skills() {
local pattern=$1
if [ -z "$pattern" ]; then
# 返回最近修改的技能
ls -td ~/.claude/skills/*/ | head -3
else
# 返回匹配的技能
echo ~/.claude/skills/$pattern/
fi
}
# 2. 验证技能
validate_skill() {
local skill_path=$1
[ -f "$skill_path/SKILL.md" ] || return 1
grep -q "^---" "$skill_path/SKILL.md" || return 1
return 0
}
# 3. 检测变更
detect_changes() {
local local_path=$1
local repo_path=$2
if [ ! -d "$repo_path" ]; then
echo "新建"
return 0
fi
if diff -qr "$local_path" "$repo_path" > /dev/null 2>&1; then
echo "相同"
return 1
fi
echo "更新"
return 0
}
# 4. 复制技能
copy_skill() {
local src=$1
local dst=$2
mkdir -p "$dst"
rsync -av --exclude='.publishignore' "$src/" "$dst/"
}
gh CLI,确保已登录用户: 发布技能 optimize-omo-config
助手:
✓ 找到技能: optimize-omo-config
✓ 验证技能结构: 通过
✓ 克隆仓库: Office-Skills
✓ 检测变更: 更新 (检测到 SKILL.md 有变化)
✓ 复制文件:
- SKILL.md (主文档)
- examples/test-models.sh
✓ 更新 README.md
✓ 提交: Update skill: optimize-omo-config
✓ 推送: 成功
✅ 技能发布成功!
GitHub: https://github.com/AndersHsueh/Office-Skills/tree/main/skills/optimize-omo-config
用户: 发布我的 skills
助手:
检测到最近修改的技能:
1. publish-my-skills (刚刚)
2. weekly-rpt-skill (2天前)
是否发布这些技能? (yes/no)
用户: yes
助手:
[处理 publish-my-skills]
✓ 新建技能
✓ 复制文件...
✓ 提交...
[处理 weekly-rpt-skill]
ℹ️ 内容相同,跳过
完成! 发布了 1 个技能,跳过了 1 个相同的技能。
用户: 发布技能 optimize-omo-config
助手:
✓ 找到技能: optimize-omo-config
✓ 验证技能结构: 通过
✓ 更新仓库: 最新
✓ 检测变更: 内容相同
ℹ️ 技能 optimize-omo-config 已是最新版本,无需更新。
仓库中的版本与本地版本完全相同。
GitHub: https://github.com/AndersHsueh/Office-Skills/tree/main/skills/optimize-omo-config
这个技能自动化了将本地技能发布到 GitHub 的完整流程:
使用这个技能,你只需要说 "发布我的 skills",剩下的交给 Claude!