mirror of
https://github.com/digitalsamba/claude-code-video-toolkit.git
synced 2026-09-18 19:41:13 +08:00
ebf55f2698
* FIX: point Remotion skills sync at upstream's new skills/remotion-best-practices layout The weekly sync workflow has failed every run since 2026-07-13 because remotion-dev/skills split its single skills/remotion directory into one skill per topic. remotion-best-practices is the router skill that embeds every other skill as a REFERENCE.md sub-directory, so syncing just that directory yields the complete, self-contained knowledge set with a single SKILL.md. The workflow now fails loudly (with a directory listing) if the upstream layout moves again, and carries the upstream skill version in the PR title. Docs and registry updated to match. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019s6SvNiz9a8XpD8r2cQTiq * Sync official Remotion skills (upstream v4.0.518, 7a3d0ca) — new per-topic layout First sync from skills/remotion-best-practices. Adds maps, captions, render, saas, studio, docs, upgrade and interactivity sub-skills; markup guidance moves from rules/ to remotion-markup/. Upstream still teaches @remotion/media — the toolkit deliberately stays on <OffthreadVideo> (see CLAUDE.md Media section), which is unchanged from the prior sync. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019s6SvNiz9a8XpD8r2cQTiq --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
84 lines
3.7 KiB
YAML
84 lines
3.7 KiB
YAML
name: Sync Remotion Official Skills
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 9 * * 1' # Every Monday at 9am UTC
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
|
|
env:
|
|
# Upstream re-organised into one skill per topic in mid-2026. `remotion-best-practices`
|
|
# is the router skill that embeds every other skill as a REFERENCE.md sub-directory, so
|
|
# syncing just this directory gives us the complete, self-contained knowledge set.
|
|
UPSTREAM_SKILL_DIR: skills/remotion-best-practices
|
|
LOCAL_SKILL_DIR: .claude/skills/remotion-official
|
|
|
|
jobs:
|
|
sync:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout toolkit
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Clone upstream skills
|
|
run: |
|
|
git clone --depth 1 https://github.com/remotion-dev/skills.git /tmp/remotion-skills
|
|
echo "UPSTREAM_SHA=$(git -C /tmp/remotion-skills rev-parse --short HEAD)" >> "$GITHUB_ENV"
|
|
echo "UPSTREAM_SHA_FULL=$(git -C /tmp/remotion-skills rev-parse HEAD)" >> "$GITHUB_ENV"
|
|
|
|
# Fail loudly (with a useful listing) if upstream moves things around again.
|
|
if [ ! -f "/tmp/remotion-skills/$UPSTREAM_SKILL_DIR/SKILL.md" ]; then
|
|
echo "::error::Expected $UPSTREAM_SKILL_DIR/SKILL.md in remotion-dev/skills but it is missing."
|
|
echo "::error::Upstream layout has changed — update UPSTREAM_SKILL_DIR in this workflow. Top-level skills now:"
|
|
ls -1 /tmp/remotion-skills/skills
|
|
exit 1
|
|
fi
|
|
|
|
VERSION=$(sed -n 's/^version:[[:space:]]*//p' "/tmp/remotion-skills/$UPSTREAM_SKILL_DIR/SKILL.md" | head -1)
|
|
echo "UPSTREAM_VERSION=${VERSION:-unknown}" >> "$GITHUB_ENV"
|
|
|
|
- name: Check for changes
|
|
id: diff
|
|
run: |
|
|
if diff -rq "$LOCAL_SKILL_DIR" "/tmp/remotion-skills/$UPSTREAM_SKILL_DIR" > /dev/null 2>&1; then
|
|
echo "changed=false" >> "$GITHUB_OUTPUT"
|
|
echo "No changes detected"
|
|
else
|
|
echo "changed=true" >> "$GITHUB_OUTPUT"
|
|
CHANGED_COUNT=$(diff -rq "$LOCAL_SKILL_DIR" "/tmp/remotion-skills/$UPSTREAM_SKILL_DIR" 2>/dev/null | wc -l | tr -d ' ')
|
|
echo "changed_count=$CHANGED_COUNT" >> "$GITHUB_OUTPUT"
|
|
echo "$CHANGED_COUNT file(s) changed"
|
|
fi
|
|
|
|
- name: Sync files
|
|
if: steps.diff.outputs.changed == 'true'
|
|
run: |
|
|
rm -rf "$LOCAL_SKILL_DIR"
|
|
cp -r "/tmp/remotion-skills/$UPSTREAM_SKILL_DIR" "$LOCAL_SKILL_DIR"
|
|
|
|
- name: Create pull request
|
|
if: steps.diff.outputs.changed == 'true'
|
|
uses: peter-evans/create-pull-request@v8
|
|
with:
|
|
branch: auto/sync-remotion-skills
|
|
delete-branch: true
|
|
title: "Sync official Remotion skills (v${{ env.UPSTREAM_VERSION }}, ${{ env.UPSTREAM_SHA }})"
|
|
body: |
|
|
## Automated sync from remotion-dev/skills
|
|
|
|
**Upstream commit:** [`${{ env.UPSTREAM_SHA }}`](https://github.com/remotion-dev/skills/commit/${{ env.UPSTREAM_SHA_FULL }})
|
|
**Upstream skill version:** ${{ env.UPSTREAM_VERSION }}
|
|
**Source directory:** `${{ env.UPSTREAM_SKILL_DIR }}`
|
|
**Files changed:** ${{ steps.diff.outputs.changed_count }}
|
|
|
|
### Review checklist
|
|
- [ ] Skim changed files for relevance
|
|
- [ ] Grep the diff for `OffthreadVideo` / `@remotion/media` — the toolkit deliberately stays on `<OffthreadVideo>` (see CLAUDE.md "Media")
|
|
- [ ] Verify no conflicts with toolkit-specific `remotion/SKILL.md`
|
|
- [ ] Spot-check that `SKILL.md` frontmatter is intact and it is still the only `SKILL.md` in the tree
|
|
commit-message: "Sync official Remotion skills (upstream v${{ env.UPSTREAM_VERSION }}, ${{ env.UPSTREAM_SHA }})"
|
|
labels: dependencies,automated
|