| name | blog-write-sample |
| description | Sample skill โ external delegation template. Copy this to ~/.geny/skills/ and adapt for your own external API delegation tools. |
| allowed_tools | ["blog_agent_delegate","blog_agent_status","blog_agent_cancel","blog_agent_list_posts","blog_agent_get_post"] |
| model_override | claude-sonnet-4-6 |
| execution_mode | inline |
| category | example |
| effort | medium |
| examples | ["Write a sample blog post about LangGraph","Show progress on my last delegated task"] |
Blog Write โ Sample / Template
์ด ํ์ผ์ ํ์ต์ฉ ์ํ์
๋๋ค. ์ค์ ๋ก ์ฌ์ฉํ๋ ค๋ฉด:
- SkillsTab โ CUSTOM ์ํ ์น์
โ "Copy to my skills" ๋ฒํผ์ผ๋ก
~/.geny/skills/ ๋ก ๋ณต์ฌ
- ๋ณต์ฌ๋ ํ์ผ์
name์ ์๊ธฐ ์ฌ๋ฌ๊ทธ๋ก ๋ฐ๊พธ๊ธฐ (์: my-blog-write)
allowed_tools ์ ๋๊ตฌ ์ด๋ฆ๊ณผ ๋ณธ๋ฌธ์ ํธ์ถ ์์๋ฅผ ์๊ธฐ ์๋๋ฆฌ์ค์ ๋ง๊ฒ ์์
- SkillsTab ์๋จ์์
user_skills_enabled ํ ๊ธ์ด ON ์ธ์ง ํ์ธ โ Off๋ฉด user-skills ์์ฒด๊ฐ ๋ก๋๋์ง ์์ต๋๋ค
์ด ์ํ์ blog_write (Geny-bundled) ์ ๋์ผํ ๋์์ ํ์ง๋ง, ์ธ๋ถ API ์์ ํจํด์ ์ง์ ๋ฐ๋ผ ์ฐ๊ธฐ ์ํ ์ฃผ์์ด ํ๋ถํ ๋ฒ์ ์
๋๋ค.
ํต์ฌ ํจํด โ fire-and-poll ์์
์ด ํจํด์ ๋ค์ 3๊ฐ์ง ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์ธ๋ถ ์์คํ
์ ์ ํฉํฉ๋๋ค:
- ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ ์์
(5์ด ์ด์): ๋ต์ด ์ฆ์ ์ ์ด.
- ์ฌ์ฉ์๊ฐ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ค๋ฆผ: ์ฌ์ฉ์๋ ์๋ฆผ์ด ํ์.
- ์ธ๋ถ ์์คํ
์ด SSE / webhook ๋ฑ์ผ๋ก ์๋ฃ๋ฅผ ์๋ฆด ์ ์์: Geny์ inbox ๋ก ๊ฒฐ๊ณผ ๋์ฐฉ ๊ฐ๋ฅ.
๋ธ๋ก๊ทธ ์์์ ์ 3๊ฐ์ง๋ฅผ ๋ค ๋ง์กฑ. ๋ง์ฝ ๋ณธ์ธ์ด ๋ง๋ค ๋๊ตฌ๊ฐ ๋๊ธฐ์ ์ผ๋ก ๋ตํ๋ฉด(์: ๋จ์ GET API), ๊ตณ์ด ์ด ํจํด์ ์ธ ํ์ ์๊ณ ๊ทธ๋ฅ ์ง์ ํธ์ถ โ paraphrase ํ๋ฉด ๋ฉ๋๋ค.
A. ์ ์์
์์
<your_delegate_tool>(
task="<์ธ๋ถ AI ์๊ฒ ์ค ์ง์๋ฌธ โ ์์ธํ>",
task_summary="<์ฌ์ฉ์์๊ฒ ๋ค๋ ค์ค ํ ์ค, 5๋จ์ด ์ด๋ด>"
)
์์ ํ:
- ์ฌ์ฉ์์๊ฒ๋ "๋งก๊ฒผ์ด. ์ ๊น๋ง ๊ธฐ๋ค๋ ค." ์ ๋๋ก๋ง.
- ๋น์ ์ turn ์ ์ฌ๊ธฐ์ ์ข
๋ฃ. ๋ฐฑ๊ทธ๋ผ์ด๋ ์งํ.
- ๋๋๋ฉด
[EXTERNAL_TASK_RESULT] ๋ฉ์์ง๊ฐ ์ turn ์์ ๋์ฐฉ โ ๊ทธ๋ ๊ฒฐ๊ณผ๋ฅผ paraphrase.
B. ์งํ ์ํฉ ํ์ธ
์ฌ์ฉ์๊ฐ ๋ฌป๊ธฐ ์ ์ status ๋ฅผ ํด๋งํ์ง ๋ง ๊ฒ. ์ฌ์ฉ์๊ฐ ๋ฌผ์ ๋๋ง ํธ์ถํ๊ณ , JSON / task_id ๋ฅผ ๋
ธ์ถํ์ง ๋ง๊ณ ์์ฐ์ด๋ก:
<your_status_tool>(task_id="...")
โ ๊ฒฐ๊ณผ์ progress_hint, elapsed_s, last_event_age_s ๋ฅผ ๋ณด๊ณ 1-2 ๋ฌธ์ฅ์ผ๋ก ๋ต
C. ์ทจ์
์ฌ์ฉ์๊ฐ ๋ช
์์ ์ผ๋ก "์ทจ์", "๊ทธ๋ง" ๋ฑ์ ํํํ๋ฉด:
<your_cancel_tool>(task_id="...")
D. ์ฐธ๊ณ ์กฐํ
์ฝ๊ธฐ ์ ์ฉ lookup ๋๊ตฌ (์ด sample ์ list_posts / get_post)๋ ์ฌ์ฉ์๊ฐ ๋ช
์์ ์ผ๋ก ์์ฒญํ ๋๋ง ํธ์ถ. ์์์ ์ฌ์ ์กฐ์ฌ๋ก ์๋ ํธ์ถํ์ง ๋ง ๊ฒ โ ์ง์ฐ๋ง ๋์ด๋จ.
์์ ๋ง์ ์ธ๋ถ ์์ skill ๋ง๋ค ๋ ์ฒดํฌ๋ฆฌ์คํธ
์ถ๊ฐ ์๋ฃ