원클릭으로
github-ops
GitHub automation patterns - issues, projects, labels. Includes smart-ops scripts and bulk issue sync.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
GitHub automation patterns - issues, projects, labels. Includes smart-ops scripts and bulk issue sync.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Reuse one Resend account and one verified sender domain across multiple branded products, especially for solo developers and free-tier portfolios. Use when adding transactional email to another app without creating a separate Resend account or verified domain, while preserving per-product identity, recipients, Reply-To routing, templates, security boundaries, delivery reliability, and awareness of a shared sending quota.
Add captions to a talking-head video. ONE catalog (CATALOG.md) of 32 visual identities behind two engines: column-flow (captions composited INTO the scene — matte occlusion + mix-blend; cream/ink/editorial/keynote/documentary/loud/neon/glitch/chrome/velocity) and themed constitutions (anchor/ordnance/terminal/neonsign/stardust/stomp/scoreboard/transit/vhs/arcade/dossier/laser/thunder/hologram/biolume/aurora/spectrum/papercut/popup/chalkboard/graffiti/brush/inkwater/ransom/lastpage/nightcity — e.g. a glyph-decode climax, a neon sign WRITTEN stroke by stroke, or the quiet `anchor` rail default). Route by identity, never by mode. Trigger on "captions/subtitles", "embed/cinematic captions", "VFX captions", "炸/特效/酷炫字幕", a named identity, or top-tier motion-graphics asks. Embedding every word is wrong for most talking-head content — `anchor` is the verbatim default. Pipeline: transcription → hyperframes remove-background matting → HTML render → ffmpeg overlay. Requires hyperframes and a single-subject clip.
turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video, up to ~3 min (sweet spot 30-90s), where every visual is invented (typography, abstract graphics, diagrams, data-viz) rather than captured. There is no URL, no website capture, and no real assets. Use this skill for topic explainers, concept breakdowns, how-tos, listicles, and narrative explainers. Do not use it for a product launch/promo (use /product-launch-video), a tour of a real website (use /website-to-video), a GitHub PR (use /pr-to-video), captions on existing footage (use /embedded-captions), or a short unnarrated motion graphic (use /motion-graphics). If the intent is unclear, route through /hyperframes first. This is the shot-sequence architecture: every frame is authored as a time-coded shot sequence picked from a menu of golden blueprints, so frames develop over their full duration instead of freezing after entrance.
Import Figma content into a HyperFrames composition — rendered assets, brand tokens, components, storyboard sections → animatics (REST/CLI), and Figma Motion animations + shaders (MCP). Use when the user pastes a figma.com link or asks to bring a Figma design, frame, logo, brand, or animation into a video/composition.
All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). HyperFrames-native: single paused timeline, seek-safe, deterministic.
HyperFrames CLI dev loop. Use when running npx hyperframes init, add, catalog, capture, lint, validate, inspect, layout, snapshot, preview, play, render, publish, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, tts, or remove-background, or when troubleshooting the HyperFrames build/render environment. Entry point for AWS Lambda cloud rendering (`hyperframes lambda deploy / render / progress / destroy / policies`).
| name | github-ops |
| description | GitHub automation patterns - issues, projects, labels. Includes smart-ops scripts and bulk issue sync. |
Complete GitHub automation toolkit using the gh CLI. Covers issue management, project boards, label systems, and bulk operations.
# Install GitHub CLI
winget install GitHub.cli # Windows
brew install gh # macOS
# Authenticate
gh auth login
# Verify
gh auth status
Location: $env:USERPROFILE\.gemini\antigravity\skills\github-ops\scripts\publish_issues.ps1
[!TIP] The script auto-detects the repository from the current working directory. Just
cdto your project folder before running.
| Feature | Description |
|---|---|
| Smart Sync | Only processes files that changed since last run (uses .issue-sync-state.json) |
| Auto-Close | Closes issue when all checkboxes (- [x]) are ticked |
| Auto-Archive | Moves completed .md files to closed/ subfolder |
| Natural Sort | Processes Issue_1, Issue_2... Issue_10 (not 1, 10, 11) |
| Date Sync | Sets Start/Target dates on GitHub Projects |
| Flag | Required? | Description |
|---|---|---|
| (none) | - | Creates new issues only (skips existing) |
-Update | For sync | Updates existing issues |
-AutoArchive | Optional | Moves completed issues to closed/ folder |
-DryRun | Optional | Preview mode - no changes made |
-Force | Optional | Bypass change detection, sync all files |
| Flag | Description | How to Get |
|---|---|---|
-SyncDates | Enable date sync | Just add the flag |
-ProjectNumber | Project board number | gh project list --owner USERNAME |
-ProjectId | Project node ID | See below |
-StartDateFieldId | Start Date field ID | See below |
-TargetDateFieldId | Target Date field ID | See below |
# 1. List projects to get project number
gh project list --owner USERNAME
# 2. Get field IDs (replace NUMBER with project number)
gh project field-list NUMBER --owner USERNAME --format json
Look for "Start Date" and "Target Date" in the JSON output. If they don't exist:
gh project field-create NUMBER --owner USERNAME --name "Start Date" --data-type DATE
gh project field-create NUMBER --owner USERNAME --name "Target Date" --data-type DATE
ALWAYS ask the user:
"Do you want to sync to a GitHub Project with dates?"
-SyncDates flag"Should completed issues be archived to a closed/ subfolder?"
-AutoArchive"First run or update existing?"
-AutoArchive)-UpdateALWAYS run with -DryRun first to preview changes.
# Basic: Create new issues only
powershell -ExecutionPolicy Bypass -File .agent/skills/github-ops/scripts/publish_issues.ps1
# Dry run preview
powershell -ExecutionPolicy Bypass -File .agent/skills/github-ops/scripts/publish_issues.ps1 -Update -DryRun
# Update + archive completed
powershell -ExecutionPolicy Bypass -File .agent/skills/github-ops/scripts/publish_issues.ps1 -Update -AutoArchive
# Full sync with project dates
powershell -ExecutionPolicy Bypass -File .agent/skills/github-ops/scripts/publish_issues.ps1 `
-Update -AutoArchive -SyncDates `
-ProjectNumber 7 `
-ProjectId "PVT_xxx" `
-StartDateFieldId "PVTF_xxx" `
-TargetDateFieldId "PVTF_yyy"
To quickly add all existing issues to a project (faster than using the sync script):
# Get issue numbers first
$issues = gh issue list --repo OWNER/REPO --state all --limit 500 --json number | ConvertFrom-Json
# Add each to project
$issues | ForEach-Object {
gh project item-add PROJECT_NUMBER --owner OWNER --url "https://github.com/OWNER/REPO/issues/$($_.number)"
}
| Task | Command |
|---|---|
| List issues | gh issue list |
| Create issue | gh issue create --title "X" --body "Y" --label "bug" |
| Close issue | gh issue close 42 --comment "Fixed" |
| Delete issue | gh issue delete 42 --yes |
| List labels | gh label list |
| Create label | gh label create "priority:high" --color "FF0000" |
| List projects | gh project list --owner OWNER |
| Get project fields | gh project field-list NUMBER --owner OWNER --format json |
| Add to project | gh project item-add NUMBER --owner OWNER --url ISSUE_URL |
---
title: "[Feature] Clear Issue Title"
labels: enhancement, priority-high, module-name
---
## Acceptance Criteria
- [ ] AC1
- [ ] AC2
**Title:** [Feature] Clear Issue Title
**Labels:** `enhancement`, `priority-high`
## Acceptance Criteria
- [ ] AC1
## Title
[Feature] Clear Issue Title
## Labels
`enhancement`, `priority-high`
# Priority
gh label create "priority-critical" --color "b60205"
gh label create "priority-high" --color "d93f0b"
gh label create "priority-medium" --color "fbca04"
gh label create "priority-low" --color "0e8a16"
# Type
gh label create "type-feature" --color "0e8a16"
gh label create "type-bug" --color "d73a4a"
gh label create "type-refactor" --color "a2eeef"
# Scope
gh label create "MUS" --color "5319e7" --description "Minimum Usable Scope"
gh label create "future-scope" --color "bfdadc"
| Issue | Cause | Solution |
|---|---|---|
gh: command not found | CLI not installed | winget install GitHub.cli |
authentication required | Not logged in | gh auth login |
| Quote errors in titles | Special chars | Script auto-replaces " with ' |
| "No files changed" | Already synced | Use -Force flag |
| Project commands fail | Wrong IDs | Run gh project field-list |
| Rate limiting | Too many API calls | Wait or use -DryRun |