Files
Eve e66e7161ef feat: make heygen-avatar + heygen-video install cleanly via gh skill (#77)
* feat(skills): co-locate references for gh skill self-containment

Each skill (heygen-avatar, heygen-video) now bundles its own references/
directory with the docs it links to. This makes both skills install
cleanly via gh skill install (which only copies the skill subdirectory),
without breaking the OpenClaw plugin or direct git clone lanes that use
the repo-root references/ directory.

* docs: add gh skill install instructions + CI validation

- README + INSTALL.md: list gh skill install as Option 1, alongside
  ClawHub, OpenClaw plugin, and git clone
- Add validate-skills.yml CI: runs gh skill install --from-local for
  both skills and asserts each installed bundle is self-contained
  (no broken ../ refs, every references/ link resolves)
- Cross-skill references in references/ files now use absolute GitHub
  URLs so they remain clickable on GitHub and never produce broken
  links inside an installed bundle
- .gitignore: skip local CI fixtures (.agents/, _ghskill_test/, _install_test/)

* fix(ci): isolate install target + add references-in-sync drift gate

Address review feedback:

1. CI install path mismatch: gh skill install --scope project resolves
   to the outer repo project root (skills/.agents/), not _install_test/.
   Initialize _install_test as its own git repo so it becomes its own
   project root and the install lands inside it. Verified locally that
   the assertion now actually runs.

2. No drift-prevention CI step: add a references-in-sync job that
   diff-checks all 10 shared files (heygen-{avatar,video}/references/X
   vs root references/X) for byte-identity. Fails CI on drift with a
   helpful diff. New per-skill files (avatar-creation.md, the cleaved
   avatar-discovery.md halves) are intentionally NOT in this matrix —
   only the truly shared docs are gated.

3. Use bash 3.2-portable parallel array (pipe-delimited pairs) instead
   of associative array so the workflow can be sanity-checked locally
   on macOS without bash 5+.

* chore: purge orphaned references, wire prompt-styles, add sync script

Audit of references/*.md outcome:
- 7 files: actively linked from skills, kept as-is
- 1 file (prompt-styles.md): linked only from root SKILL.md, orphaned in
  the gh-skill subdir bundle. Wired into heygen-video/SKILL.md alongside
  the existing prompt-craft / motion-vocabulary pointers.
- 1 file (reviewer-prompt.md): zero links from any SKILL.md, dead in
  the workflow. Deleted from root references/ and heygen-video/references/.

Sync workflow (Option 2):
- Add scripts/sync-references.sh — propagates root references/ to per-skill
  copies (--check mode for CI drift detection, no args for sync).
- validate-skills.yml now invokes ./scripts/sync-references.sh --check
  instead of inlining the pair list (single source of truth).
- New CI orphan-check: every bundled references/* / scripts/* file in an
  installed bundle must be linked from SKILL.md.
- CONTRIBUTING.md documents the references layout + editor workflow.

---------

Co-authored-by: Ken Chung <kchung@heygen.com>
2026-04-27 15:52:15 -07:00

14 lines
131 B
Plaintext

.DS_Store
*.swp
*.swo
node_modules/
*.jsonl
evals/
scripts/release.sh
# Local CI fixtures
.agents/
_ghskill_test/
_install_test/