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 페이지를 검토하고 설치를 진행할 수 있습니다.
把内容排版成报纸样式的 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访问速度,解决访问慢和图片加载问题
SOC 직업 분류 기준
| 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!