화면 녹화 영상을 분석하여 수동 워크플로우를 재구성하고, 사용자의 기존 로컬 도구를 활용한 단계별 자동화 스크립트를 생성합니다.
- GitHub 스타
- 41,038
- 파일
- 1
- 마지막 커밋
- 2026년 11월 11일
- 라이선스
- MIT
- 허용된 도구
- —
automate-this skill은 무엇을 하나요?
automate-this은(는) agent skill입니다. 화면 녹화 영상을 분석하여 수동 워크플로우를 재구성하고, 사용자의 기존 로컬 도구를 활용한 단계별 자동화 스크립트를 생성합니다.
skill의 SKILL.md에서 생성된 요약입니다.
automate-this skill 정보
수동 화면 녹화 영상을 기능적인 자동화 스크립트로 변환하는 것이 이 SKILL의 주요 기능입니다. 반복적인 작업을 녹화한 뒤, 기존 로컬 환경을 사용하여 해당 영상을 작동하는 코드로 변환하고자 하는 사용자를 위해 설계되었습니다. 프로세스는 ffmpeg를 사용하여 시각적 프레임을 추출하고, Whisper를 통해 오디오 나레이션을 전사하여 사용자의 의도와 문제점을 파악하는 것으로 시작합니다.
워크플로우가 재구성되고 확인되면, 이 SKILL은 로컬 머신을 분석하여 Python, Node, Playwright 또는 AppleScript와 같은 사용 가능한 도구를 식별합니다. 그 다음 쉘 별칭(shell alias)과 같은 빠른 해결책, 엔드 투 엔드 실행을 위한 독립형 스크립트, 그리고 cron 또는 launchd를 통한 예약 작업을 포함한 완전 자동화까지 세 가지 단계의 자동화를 제안합니다. 이러한 접근 방식은 불필요한 새로운 설치 없이도 결과물인 스크립트가 사용자의 현재 설정과 호환되도록 보장합니다.
agent가 수행할 수 있는 작업
- 1영상으로부터 수동 워크플로우 재구성AI가 화면 녹화 영상을 시청하여 프로세스에 사용된 특정 애플리케이션, 작업 순서 및 데이터 흐름을 식별할 수 있습니다.
- 2단계별 자동화 제안 생성개발자는 간단한 키보드 단축키부터 완전히 예약된 스크립트에 이르기까지 세 가지 다른 수준의 자동화 제안을 받을 수 있습니다.
- 3로컬 도구 호환성 확인이 SKILL은 사용자의 운영 체제와 설치된 소프트웨어를 확인하여 제안된 스크립트가 실제 머신에서 작동하는지 보장합니다.
- 4브라우저 및 데이터 작업 자동화웹 상호작용을 위해 Playwright를 사용하거나 복잡한 스프레드시트 조작을 위해 pandas를 포함한 Python을 사용하도록 제안할 수 있습니다.
skill의 SKILL.md를 기반으로 작성되었습니다. 모든 사용 사례는 해당 문서의 인용구와 대조 확인되었습니다.
automate-this skill 설치 방법
각 명령은 skill 폴더를 클라이언트의 skills 디렉터리에 복사합니다. 클라이언트를 재시작하거나 새 세션을 시작하여 로드하세요.Claude Code에 automate-this skill 설치
~/.claude/skills/automate-this/SKILL.md
$ npx degit github/awesome-copilot/skills/automate-this ~/.claude/skills/automate-thisClaude Code (project)에 automate-this skill 설치
.claude/skills/automate-this/SKILL.md
$ npx degit github/awesome-copilot/skills/automate-this .claude/skills/automate-thisCodex에 automate-this skill 설치
~/.agents/skills/automate-this/SKILL.md
$ npx degit github/awesome-copilot/skills/automate-this ~/.agents/skills/automate-thisGemini CLI에 automate-this skill 설치
~/.gemini/skills/automate-this/SKILL.md
$ npx degit github/awesome-copilot/skills/automate-this ~/.gemini/skills/automate-thisClaude.ai에 automate-this skill 설치
npx degit github/awesome-copilot/skills/automate-this automate-this && zip -r automate-this.zip automate-this # claude.ai → Customize → Skills → + → Create skill → Upload a skill → automate-this.zip
자동 검사
2026년 11월 15일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 보안 감사는 아닙니다. 에이전트가 실행하기 전에 스크립트를 읽어 보세요. 검사 방식 · 점수를 높이기 위해 수정할 항목
- 소스 저장소 연결 및 접근 가능github/awesome-copilot/skills/automate-this is public and reachablegithub.com/github/awesome-copilot/tree/HEAD/skills/automate- ↗통과
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit 2026-11-11github.com/github/awesome-copilot/commits ↗통과
- 스크립트에 다운로드 후 실행이나 자격 증명 탈취가 없음No scripts in the skill folder통과
- SKILL.md에 숨겨진 지침 없음No override phrases, safeguard switches, credential requests or hidden charactersgithub.com/github/awesome-copilot/blob/HEAD/skills/automate- ↗통과
- 사전 허용 도구가 제한됨No pre-approved tools; the agent asks before using onegithub.com/github/awesome-copilot/blob/HEAD/skills/automate- ↗통과
- SKILL.md가 Agent Skills 형식을 따름the description does not say when to use the skillgithub.com/github/awesome-copilot/blob/HEAD/skills/automate- ↗결함 발견
SKILL.md
GitHub에서 보기Automate This
Analyze a screen recording of a manual process and build working automation for it.
The user records themselves doing something repetitive or tedious, hands you the video file, and you figure out what they're doing, why, and how to script it away.
Prerequisites Check
Before analyzing any recording, verify the required tools are available. Run these checks silently and only surface problems:
command -v ffmpeg >/dev/null 2>&1 && ffmpeg -version 2>/dev/null | head -1 || echo "NO_FFMPEG"
command -v whisper >/dev/null 2>&1 || command -v whisper-cpp >/dev/null 2>&1 || echo "NO_WHISPER"
- ffmpeg is required. If missing, tell the user:
brew install ffmpeg(macOS) or the equivalent for their OS. - Whisper is optional. Only needed if the recording has narration. If missing AND the recording has an audio track, suggest:
pip install openai-whisperorbrew install whisper-cpp. If the user declines, proceed with visual analysis only.
Phase 1: Extract Content from the Recording
Given a video file path (typically on ~/Desktop/), extract both visual frames and audio:
Frame Extraction
Extract frames at one frame every 2 seconds. This balances coverage with context window limits.
WORK_DIR=$(mktemp -d "${TMPDIR:-/tmp}/automate-this-XXXXXX")
chmod 700 "$WORK_DIR"
mkdir -p "$WORK_DIR/frames"
ffmpeg -y -i "<VIDEO_PATH>" -vf "fps=0.5" -q:v 2 -loglevel warning "$WORK_DIR/frames/frame_%04d.jpg"
ls "$WORK_DIR/frames/" | wc -l
Use $WORK_DIR for all subsequent temp file paths in the session. The per-run directory with mode 0700 ensures extracted frames are only readable by the current user.
If the recording is longer than 5 minutes (more than 150 frames), increase the interval to one frame every 4 seconds to stay within context limits. Tell the user you're sampling less frequently for longer recordings.
Audio Extraction and Transcription
Check if the video has an audio track:
ffprobe -i "<VIDEO_PATH>" -show_streams -select_streams a -loglevel error | head -5
If audio exists:
ffmpeg -y -i "<VIDEO_PATH>" -ac 1 -ar 16000 -loglevel warning "$WORK_DIR/audio.wav"
# Use whichever whisper binary is available
if command -v whisper >/dev/null 2>&1; then
whisper "$WORK_DIR/audio.wav" --model small --language en --output_format txt --output_dir "$WORK_DIR/"
cat "$WORK_DIR/audio.txt"
elif command -v whisper-cpp >/dev/null 2>&1; then
whisper-cpp -m "$(brew --prefix 2>/dev/null)/share/whisper-cpp/models/ggml-small.bin" -l en -f "$WORK_DIR/audio.wav" -otxt -of "$WORK_DIR/audio"
cat "$WORK_DIR/audio.txt"
else
echo "NO_WHISPER"
fi
If neither whisper binary is available and the recording has audio, inform the user they're missing narration context and ask if they want to install Whisper (pip install openai-whisper or brew install whisper-cpp) or proceed with visual-only analysis.
Phase 2: Reconstruct the Process
Analyze the extracted frames (and transcript, if available) to build a structured understanding of what the user did. Work through the frames sequentially and identify:
- Applications used — Which apps appear in the recording? (browser, terminal, Finder, mail client, spreadsheet, IDE, etc.)
- Sequence of actions — What did the user do, in order? Click-by-click, step-by-step.
- Data flow — What information moved between steps? (copied text, downloaded files, form inputs, etc.)
- Decision points — Were there moments where the user paused, checked something, or made a choice?
- Repetition patterns — Did the user do the same thing multiple times with different inputs?
- Pain points — Where did the process look slow, error-prone, or tedious? The narration often reveals this directly ("I hate this part," "this always takes forever," "I have to do this for every single one").
Present this reconstruction to the user as a numbered step list and ask them to confirm it's accurate before proposing automation. This is critical — a wrong understanding leads to useless automation.
Format:
Here's what I see you doing in this recording:
1. Open Chrome and navigate to [specific URL]
2. Log in with credentials
3. Click through to the reporting dashboard
4. Download a CSV export
5. Open the CSV in Excel
6. Filter rows where column B is "pending"
7. Copy those rows into a new spreadsheet
8. Email the new spreadsheet to [recipient]
You repeated steps 3-8 three times for different report types.
[If narration was present]: You mentioned that the export step is the slowest
part and that you do this every Monday morning.
Does this match what you were doing? Anything I got wrong or missed?
Do NOT proceed to Phase 3 until the user confirms the reconstruction is accurate.
Phase 3: Environment Fingerprint
Before proposing automation, understand what the user actually has to work with. Run these checks:
echo "=== OS ===" && uname -a
echo "=== Shell ===" && echo $SHELL
echo "=== Python ===" && { command -v python3 && python3 --version 2>&1; } || echo "not installed"
echo "=== Node ===" && { command -v node && node --version 2>&1; } || echo "not installed"
echo "=== Homebrew ===" && { command -v brew && echo "installed"; } || echo "not installed"
echo "=== Common Tools ===" && for cmd in curl jq playwright selenium osascript automator crontab; do command -v $cmd >/dev/null 2>&1 && echo "$cmd: yes" || echo "$cmd: no"; done
Use this to constrain proposals to tools the user already has. Never propose automation that requires installing five new things unless the simpler path genuinely doesn't work.
Phase 4: Propose Automation
Based on the reconstructed process and the user's environment, propose automation at up to three tiers. Not every process needs three tiers — use judgment.
Tier Structure
Tier 1 — Quick Win (under 5 minutes to set up) The smallest useful automation. A shell alias, a one-liner, a keyboard shortcut, an AppleScript snippet. Automates the single most painful step, not the whole process.
Tier 2 — Script (under 30 minutes to set up) A standalone script (bash, Python, or Node — whichever the user has) that automates the full process end-to-end. Handles common errors. Can be run manually when needed.
Tier 3 — Full Automation (under 2 hours to set up) The script from Tier 2, plus: scheduled execution (cron, launchd, or GitHub Actions), logging, error notifications, and any necessary integration scaffolding (API keys, auth tokens, etc.).
Proposal Format
For each tier, provide:
## Tier [N]: [Name]
**What it automates:** [Which steps from the reconstruction]
**What stays manual:** [Which steps still need a human]
**Time savings:** [Estimated time saved per run, based on the recording length and repetition count]
**Prerequisites:** [Anything needed that isn't already installed — ideally nothing]
**How it works:**
[2-3 sentence plain-English explanation]
**The code:**
[Complete, working, commented code — not pseudocode]
**How to test it:**
[Exact steps to verify it works, starting with a dry run if possible]
**How to undo:**
[How to reverse any changes if something goes wrong]
Application-Specific Automation Strategies
Use these strategies based on which applications appear in the recording:
Browser-based workflows:
- First choice: Check if the website has a public API. API calls are 10x more reliable than browser automation. Search for API documentation.
- Second choice:
curlorwgetfor simple HTTP requests with known endpoints. - Third choice: Playwright or Selenium for workflows that require clicking through UI. Prefer Playwright — it's faster and less flaky.
- Look for patterns: if the user is downloading the same report from a dashboard repeatedly, it's almost certainly available via API or direct URL with query parameters.
Spreadsheet and data workflows:
- Python with pandas for data filtering, transformation, and aggregation.
- If the user is doing simple column operations in Excel, a 5-line Python script replaces the entire manual process.
csvkitfor quick command-line CSV manipulation without writing code.- If the output needs to stay in Excel format, use openpyxl.
Email workflows:
- macOS:
osascriptcan control Mail.app to send emails with attachments. - Cross-platform: Python
smtplibfor sending,imaplibfor reading. - If the email follows a template, generate the body from a template file with variable substitution.
File management workflows:
- Shell scripts for move/copy/rename patterns.
find+xargsfor batch operations.fswatchorwatchmanfor triggered-on-change automation.- If the user is organizing files into folders by date or type, that's a 3-line shell script.
Terminal/CLI workflows:
- Shell aliases for frequently typed commands.
- Shell functions for multi-step sequences.
- Makefiles for project-specific task sets.
- If the user ran the same command with different arguments, that's a loop.
macOS-specific workflows:
- AppleScript/JXA for controlling native apps (Mail, Calendar, Finder, Preview, etc.).
- Shortcuts.app for simple multi-app workflows that don't need code.
automatorfor file-based workflows.launchdplist files for scheduled tasks (prefer over cron on macOS).
Cross-application workflows (data moves between apps):
- Identify the data transfer points. Each transfer is an automation opportunity.
- Clipboard-based transfers in the recording suggest the apps don't talk to each other — look for APIs, file-based handoffs, or direct integrations instead.
- If the user copies from App A and pastes into App B, the automation should read from A's data source and write to B's input format directly.
Making Proposals Targeted
Apply these principles to every proposal:
-
Automate the bottleneck first. The narration and timing in the recording reveal which step is actually painful. A 30-second automation of the worst step beats a 2-hour automation of the whole process.
-
Match the user's skill level. If the recording shows someone comfortable in a terminal, propose shell scripts. If it shows someone navigating GUIs, propose something with a simple trigger (double-click a script, run a Shortcut, or type one command).
-
Estimate real time savings. Count the recording duration and multiply by how often they do it. "This recording is 4 minutes. You said you do this daily. That's 17 hours per year. Tier 1 cuts it to 30 seconds each time — you get 16 hours back."
-
Handle the 80% case. The first version of the automation should cover the common path perfectly. Edge cases can be handled in Tier 3 or flagged for manual intervention.
-
Preserve human checkpoints. If the recording shows the user reviewing or approving something mid-process, keep that as a manual step. Don't automate judgment calls.
-
Propose dry runs. Every script should have a mode where it shows what it would do without doing it.
--dry-runflags, preview output, or confirmation prompts before destructive actions. -
Account for auth and secrets. If the process involves logging in or using credentials, never hardcode them. Use environment variables, keychain access (macOS
securitycommand), or prompt for them at runtime. -
Consider failure modes. What happens if the website is down? If the file doesn't exist? If the format changes? Good proposals mention this and handle it.
Phase 5: Build and Test
When the user picks a tier:
- Write the complete automation code to a file (suggest a sensible location — the user's project directory if one exists, or
~/Desktop/otherwise). - Walk through a dry run or test with the user watching.
- If the test works, show how to run it for real.
- If it fails, diagnose and fix — don't give up after one attempt.
Cleanup
After analysis is complete (regardless of outcome), clean up extracted frames and audio:
rm -rf "$WORK_DIR"
Tell the user you're cleaning up temporary files so they know nothing is left behind.
이 스킬의 파일
1automate-this skill 질문
Claude Code에 automate-this skill을 어떻게 설치하나요?
npx degit github/awesome-copilot/skills/automate-this ~/.claude/skills/automate-this를 실행합니다. Claude Code는 ~/.claude/skills(모든 프로젝트) 또는 .claude/skills(한 프로젝트)에서 skills를 로드하며, 설명이 작업과 일치할 때 skill을 사용합니다.
automate-this skill을 사용할 수 있는 클라이언트는 무엇인가요?
Agent Skills 형식을 읽는 모든 클라이언트(Claude Code, Codex, Gemini CLI, claude.ai(ZIP으로 업로드))가 사용할 수 있습니다. skill 내 스크립트는 클라이언트가 코드 실행을 허용하는 경우에만 실행됩니다.
녹화 영상 분석에 어떤 도구가 필요한가요?
프레임 및 오디오 추출을 위해 ffmpeg가 필요합니다. Whisper는 선택 사항이지만, 더 나은 문맥 파악을 위해 녹화 영상에 나레이션이 포함된 경우 사용을 권장합니다.
긴 영상 파일은 어떻게 처리하나요?
5분 이상의 녹화 영상의 경우, 컨텍스트 창 제한을 관리하기 위해 프레임 샘플링 간격을 4초당 1프레임으로 늘려 처리합니다.