소스 정보
- 저장소
- vellum-ai/vellum-assistant
- 최근 소스 활동
- 2026년 6월 11일 04:02
- 감지된 SKILL.md 언어
- 영어
- 스타
- 1,091
- 포크
- 160
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
SOC 직업 분류 기준
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/vellum-ai/vellum-assistant --skill app-control명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
Use when the user wants to build, scaffold, ship, or edit a Vellum plugin that bundles multiple surfaces (hooks, tools, skills, and more) into one installable package.
Perform a one-time migration from memory v1, to memory v2, which was introduced in 0.8.0.
Migrate from ChatGPT, Claude, OpenClaw, Hermes, Manus, and other AI assistants into Vellum by inspecting their data exports, conversation archives, files, prompts, custom instructions, memory, saved memories, tools, GPTs, workflows, integrations, and relationships, then mapping as much as safely possible into Vellum primitives. Handles single-source and multi-source migrations with a unified, deduplicated inventory.
| name | app-control |
| description | Drive a specific named macOS app via raw input bypassing the Accessibility tree |
| compatibility | Designed for Vellum personal assistants |
| metadata | {"emoji":"🎯","vellum":{"display-name":"App Control","category":"system","feature-flag":"app-control","activation-hints":["User explicitly directs the assistant to drive a specific named app via raw input (emulator, game, OpenGL canvas, custom-rendered Electron app)","User says the macOS Accessibility tree is unhelpful or empty for the target app"],"avoid-when":["Task can be done via the computer-use skill (general macOS UI navigation)","Task can be done via a CLI / API alternative"]}} |
This skill exposes the app_control_* proxy tools for driving a single
named macOS application via raw input — keyboard, mouse, screenshot — that
bypasses the system Accessibility tree. Use it only when explicitly directed
to a specific app where the AX tree is unhelpful (emulators, games, OpenGL
canvases, custom-rendered Electron apps). For general macOS UI navigation
prefer the computer-use skill.
Tools in this skill are proxy tools — execution is forwarded to the connected macOS client, never handled locally by the assistant.
Take 2-3 actions per turn, then yield with a short narration so the user can interject. Do not chain long sequences without surfacing what you are doing.
Call app_control_observe before your first input action whenever the screen
state matters (e.g. you need to know what is on screen, where a UI element is,
or whether the app is even running). Re-observe after actions that may have
moved the window or changed visibility.
observe waits a short settle delay (default ~200ms) before capturing so the
target app and the WindowServer can flush pending input and composite a fresh
frame. If the captured screenshot looks one input behind the latest state
(common with emulators or other slow-feedback apps), pass a larger
settle_ms. For static UIs where you just want a quick snapshot, pass
settle_ms: 0 to skip the wait.
app_control_sequence over multiple back-to-back app_control_press
calls when sending an ordered batch of presses (e.g. menu navigation,
repeated movement). Sequence runs in a single round-trip — the target app is
activated once at the start and the keys are sent serially without any
window for keyboard focus to drift to another app between presses. Each step
may carry its own duration_ms (hold) and gap_ms (pause after).app_control_combo over rapid sequential app_control_press for
simultaneous inputs (e.g. cmd+shift+4). combo holds every key at once;
sequential presses interleave key-down and key-up events.app_control_type for literal text into a focused field.app_control_click and app_control_drag use window-relative coordinates.
The window may move or resize between observation and click — if you are
uncertain whether the window has shifted, re-observe first.
Use bundle IDs (e.g. com.example.app) when possible — they are the most
reliable identifier. Fall back to localized process names if a bundle ID is
unavailable.
Call app_control_stop when you are done. Do not auto-quit the controlled
app — stop only ends the app-control session, leaving the app running.