remotion skill: SKILL.md references chapter files that don't exist #36264
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Apply status:available Default | |
| # Safety net for bypass-path issue creation (t2798). | |
| # When issues are created via bare `gh issue create` (bypassing claim-task-id.sh), | |
| # they ship without status:available — making them invisible to the pulse's | |
| # dispatch fill-floor. This workflow applies the default label server-side. | |
| # | |
| # Primary source of status:available: claim-task-id.sh (application-layer, t2789). | |
| # This workflow: platform-layer defence-in-depth for the bypass path. | |
| on: | |
| issues: | |
| types: [opened, labeled] | |
| permissions: | |
| issues: write | |
| jobs: | |
| apply-default: | |
| # Label churn on auto-dispatch issues used to start this workflow for every | |
| # label application. Only issue creation and the auto-dispatch label can | |
| # make status:available newly applicable, so all other label events skip | |
| # before occupying the per-issue concurrency slot below. | |
| if: > | |
| github.event.action == 'opened' || | |
| (github.event.action == 'labeled' && github.event.label.name == 'auto-dispatch') | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 2 | |
| concurrency: | |
| # Per issue: two legitimate triggers (opened + auto-dispatch labeled) must | |
| # not race each other into duplicate label mutations, but unrelated issues | |
| # should never cancel or queue behind each other. | |
| group: apply-status-default-${{ github.event.issue.number }} | |
| cancel-in-progress: false | |
| steps: | |
| - name: Apply status:available if missing | |
| uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7 | |
| with: | |
| script: | | |
| const issue = context.payload.issue; | |
| const labels = (issue.labels || []).map(l => l.name); | |
| // Gate 1: must have auto-dispatch | |
| if (!labels.includes('auto-dispatch')) { | |
| console.log(`Issue #${issue.number} has no auto-dispatch label — skipping`); | |
| return; | |
| } | |
| // Gate 2: already has a status:* label — do not override | |
| if (labels.some(l => l.startsWith('status:'))) { | |
| console.log(`Issue #${issue.number} already has a status label — skipping`); | |
| return; | |
| } | |
| // Gate 3: excluded label classes — these issue types are never | |
| // auto-dispatched even if they carry auto-dispatch | |
| const excluded = [ | |
| 'parent-task', | |
| 'persistent', | |
| 'consolidation-task', | |
| 'routine-tracking', | |
| 'no-auto-dispatch' | |
| ]; | |
| if (labels.some(l => excluded.includes(l))) { | |
| console.log(`Issue #${issue.number} has excluded label — skipping`); | |
| return; | |
| } | |
| await github.rest.issues.addLabels({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| issue_number: issue.number, | |
| labels: ['status:available'] | |
| }); | |
| console.log(`Applied status:available to #${issue.number}`); |