用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/ccwq/infocard-pub --skill infocard-build-and-deploy命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Use before infocard .docs authoring to select a registered theme from content-aware candidates. Owns the only content-to-theme association, capability filtering, bounded reproducible variation, and theme-decision.json.
Use when one URL or a complete user brief should become one published infocard through the .docs promotion workflow.
Light-batch publish 2–3 cards in parallel without worktree.
正在显示 SKILL.md
| name | infocard-build-and-deploy |
| description | build 超时时直接 push 源码,Actions 自动构建;index.html 锚点恢复用 febcfee。 |
| version | 1.0.0 |
| author | Hermes Agent |
| license | MIT |
| metadata | {"hermes":{"tags":["infocard","build","deploy","github-actions"],"related_skills":["infocard-publish-sop"]}} |
触发条件:npm run build 超时(>2 分钟)、报错 missing #app anchor for home-index-data injection,或本地构建阻碍发布进度。
Local build can timeout in two execution contexts:
terminal: npm run build or node scripts/build-site.js times out (>120s) — common when copyStaticTreeToDist() copies 799+ filesexecute_code: Python subprocess sandbox has a 120s hard cap and returns subprocess.TimeoutExpired — build-site.js is a Node.js script, not a shell wrapper, so it runs fine in terminal but times out in execute_codeCorrect path (always):
# Stage → commit → push (no local build needed)
REPO_ROOT="$(git rev-parse --show-toplevel)" || exit 1
cd "$REPO_ROOT"
git add docs/<slug>.html docs/<slug>.html.meta.yaml _index.yaml index.html
git commit -m "feat: add <slug> infocard (YYYY-MM-DD)"
git push origin main
# Wait for GitHub Actions + Pages deploy (~45s)
sleep 45
# Verify HTTP 200
curl -sI --max-time 15 "https://ccwq.github.io/infocard-pub/docs/<slug>.html" | head -1
GitHub Actions has its own build pipeline — the copyStaticTreeToDist() work is done by Pages automatically. The local build step is entirely skippable when pushing source.
现象:npm run build 超时返回 exit 124,但实际构建产物已生成。
判断方法:检查 git status --short docs/<slug>.html — 如果文件显示 M(modified staged),则构建实际成功,直接 git add + commit + push 即可,无需重新 build。
现象:git commit 报错 Unable to create '/path/to/.git/index.lock': File exists,来自另一个正在运行 git push 的后台进程。
解法:
# 1. 等待后台 push 完成
ps aux | grep -E "git (push|send-pack|pack-objects)" | grep -v grep
# 重复直到返回空(通常 60-120s)
# 2. 清除锁
rm -f "$REPO_ROOT/.git/index.lock"
# 3. 重试 commit + push
git add docs/<slug>.html docs/<slug>.html.meta.yaml _index.yaml
git commit -m "feat: ..."
git push
报错:index.html missing #app anchor for home-index-data injection
原因:源码 index.html 锚点被覆盖,从 <div id="app" class="app-shell"></div> 变成 <main id="app">
恢复:
cd /path/to/infocard-pub
git checkout febcfee -- index.html
grep 'app-shell' index.html # 验证:应返回 <div id="app" class="app-shell"></div>
诊断:
# 检查当前 HEAD
git show HEAD:index.html | wc -l
# ~313 行 → 被覆盖;~25000 行 → 正常
git show HEAD:index.html | grep -c 'home-index-data'
# 0 → 被覆盖;1 → 正常
锚点来源:febcfee(带 home-index-data 的最新完整版)。
curl -s https://ccwq.github.io/infocard-pub/docs/<slug>.html | grep -c 'href='
# 预期:从 1 增长到预期数量