OpenClaw 스킬이란?#
OpenClaw용 PocketHook 스킬을 사용하면 OpenClaw 에이전트가 기기에서 iOS 단축어를 트리거할 수 있습니다. OpenClaw에게 메모 작성, 재생목록 만들기 또는 자동화 실행을 요청하면, 에이전트가 응답에 마커를 포함하고 PocketHook이 이를 감지하여 실행합니다.
초기 릴리스. 이 스킬은 설정에 맞게 추가 조정이 필요할 수 있습니다. 포함된 단축어는 예시입니다 — 직접 등록하고 PocketHook 사용 방식에 맞게 스킬을 조정해야 합니다.
작동 방식#
- PocketHook에서 메시지를 보내면 OpenClaw 서버로 전달됩니다
- OpenClaw가 LLM과 PocketHook 스킬로 처리합니다
- 응답에
[SHORTCUT:New Note]및[DATA:{...}]같은 인라인 마커가 포함됩니다 - PocketHook이 마커를 감지하고, 표시 메시지에서 제거한 후, 기기에서 단축어를 실행합니다
PocketHook은 x-openclaw-agent-id: main 헤더와 함께 OpenAI Chat Completions 형식으로 OpenClaw와 통신합니다.
설정#
1. 스킬 설치#
git clone https://github.com/pockethook-app/openclaw-pockethook.git
cp -r openclaw-pockethook/ ~/.openclaw/workspace/skills/pockethook/
OpenClaw는 스킬을 자동 리로드합니다 — 재시작이 필요 없습니다.
2. PocketHook 구성#
iOS 기기의 PocketHook에서 설정으로 이동합니다:
| 설정 | 값 |
|---|---|
| 서버 URL | OpenClaw HTTP 프록시 URL (HTTPS) |
| 인증 토큰 | OpenClaw 인증 토큰 |
| OpenClaw 모드 | ON |
백그라운드 작업용 (선택사항):
| 설정 | 값 |
|---|---|
| 백그라운드 작업 | ON |
| 폴링 URL | 폴링 엔드포인트 |
| 가져오기 메시지 | fetchPendingTasks |
연결 테스트를 탭하여 확인합니다.
지원되는 마커#
| 마커 | 용도 |
|---|---|
[SHORTCUT:name] 또는 [RUN:name] | iOS 단축어 트리거 |
[DATA:{...}] | 이전 단축어에 JSON 데이터 전달 |
[URL:https://...] | 인앱 브라우저에서 URL 열기 |
마커는 응답 끝에 배치되며 결합할 수 있습니다:
Creating your note and opening the recipe.
[URL:https://example.com/recipe]
[SHORTCUT:New Note]
[DATA:{"title": "Pasta Recipe", "content": "Ingredients: flour, eggs, salt"}]
여러 단축어는 순서대로 실행됩니다 — PocketHook은 각 단축어가 완료될 때까지 기다린 후 다음을 실행합니다.
단축어 등록#
스킬에는 예시 단축어(New Note, newPlayList)가 포함되어 있습니다. 직접 추가하려면 SKILL.md를 세 곳에서 편집합니다:
1. description 필드#
단축어 트리거를 Use when: 목록에 추가하여 OpenClaw가 스킬을 활성화하도록 합니다:
description: >
...
Use when: create a note, make a playlist, set a reminder, ...
2. “When to Use” 테이블#
사용자 의도를 단축어 액션에 매핑합니다:
| User asks to set a reminder | `[SHORTCUT:Add Reminder]` with `title` and `date` |
3. “User’s Shortcuts” 섹션#
단축어 이름과 데이터 형식을 문서화합니다:
### Reminders
- `Add Reminder` — Create a reminder. Data: `{"title": "...", "date": "..."}`
백그라운드 작업#
PocketHook은 비동기 작업을 위한 폴링을 지원합니다:
- PocketHook이 폴링 URL로 주기적으로 GET 요청을 보냅니다
- 응답이
true이면 알림이 표시됩니다 - 사용자가 PocketHook을 열면
fetchPendingTasks를 보냅니다 - OpenClaw가 완료된 결과로 응답합니다 (단축어 마커 포함)
- 대기 중인 결과가 없으면
false만으로 응답합니다
이를 통해 OpenClaw는 긴 작업(조사, 프로젝트 생성, 데이터 분석)을 백그라운드에서 처리하고 준비되면 결과를 전달할 수 있습니다.