What is Hackers' Pub?

Hackers' Pub is a place for software engineers to share their knowledge and experience with each other. It's also an ActivityPub-enabled social network, so you can follow your favorite hackers in the fediverse and get their latest posts in your feed.

0
0

[์†๋ณด] ์ •๋ถ€, ์ฟ ํŒก ๋ฐœํ‘œ ๊ฐ•๋ ฅ ๋น„ํŒโ€ฆโ€œํ™•์ธ ์•ˆ ๋œ ์ผ๋ฐฉ ์ฃผ์žฅโ€ www.hani.co.kr/arti/economy... "๊ณผ๊ธฐ์ •ํ†ต๋ถ€๋Š” ์ด๋‚  ๋ณด๋„์ž๋ฃŒ๋ฅผ ๋‚ด์–ด โ€œ๋ฏผ๊ด€ํ•ฉ๋™์กฐ์‚ฌ๋‹จ์—์„œ ์กฐ์‚ฌ ์ค‘์ธ ์‚ฌํ•ญ์„ ์ฟ ํŒก์ด ์ผ๋ฐฉ์ ์œผ๋กœ ์™ธ๋ถ€์— ์•Œ๋ฆฐ ๋ฐ ๋Œ€ํ•ด ๊ฐ•๋ ฅํžˆ ํ•ญ์˜ํ–ˆ๋‹คโ€๋ฉฐ โ€œ์ •๋ณด ์œ ์ถœ์˜ ์ข…๋ฅ˜์™€ ๊ทœ๋ชจ, ์œ ์ถœ ๊ฒฝ์œ„ ๋“ฑ์€ ํ˜„์žฌ ๋ฏผ๊ด€ํ•ฉ๋™์กฐ์‚ฌ๋‹จ์ด ๋ฉด๋ฐ€ํžˆ ์กฐ์‚ฌ ์ค‘์ธ ์‚ฌ์•ˆ์œผ๋กœ, ์ฟ ํŒก์ด ์ฃผ์žฅํ•˜๋Š” ์‚ฌํ•ญ์€ ์กฐ์‚ฌ๋‹จ์— ์˜ํ•ด ํ™•์ธ๋˜์ง€ ์•Š์•˜์Œ์„ ์•Œ๋ ค๋“œ๋ฆฐ๋‹คโ€๊ณ  ๋ฐํ˜”๋‹ค."

[์†๋ณด] ์ •๋ถ€, ์ฟ ํŒก ๋ฐœํ‘œ ๊ฐ•๋ ฅ ๋น„ํŒโ€ฆโ€œํ™•์ธ ์•ˆ ๋œ ์ผ...

0
1
0
1
0

[์†๋ณด] ์ •๋ถ€, ์ฟ ํŒก ๋ฐœํ‘œ ๊ฐ•๋ ฅ ๋น„ํŒโ€ฆโ€œํ™•์ธ ์•ˆ ๋œ ์ผ๋ฐฉ ์ฃผ์žฅโ€ www.hani.co.kr/arti/economy... "๊ณผ๊ธฐ์ •ํ†ต๋ถ€๋Š” ์ด๋‚  ๋ณด๋„์ž๋ฃŒ๋ฅผ ๋‚ด์–ด โ€œ๋ฏผ๊ด€ํ•ฉ๋™์กฐ์‚ฌ๋‹จ์—์„œ ์กฐ์‚ฌ ์ค‘์ธ ์‚ฌํ•ญ์„ ์ฟ ํŒก์ด ์ผ๋ฐฉ์ ์œผ๋กœ ์™ธ๋ถ€์— ์•Œ๋ฆฐ ๋ฐ ๋Œ€ํ•ด ๊ฐ•๋ ฅํžˆ ํ•ญ์˜ํ–ˆ๋‹คโ€๋ฉฐ โ€œ์ •๋ณด ์œ ์ถœ์˜ ์ข…๋ฅ˜์™€ ๊ทœ๋ชจ, ์œ ์ถœ ๊ฒฝ์œ„ ๋“ฑ์€ ํ˜„์žฌ ๋ฏผ๊ด€ํ•ฉ๋™์กฐ์‚ฌ๋‹จ์ด ๋ฉด๋ฐ€ํžˆ ์กฐ์‚ฌ ์ค‘์ธ ์‚ฌ์•ˆ์œผ๋กœ, ์ฟ ํŒก์ด ์ฃผ์žฅํ•˜๋Š” ์‚ฌํ•ญ์€ ์กฐ์‚ฌ๋‹จ์— ์˜ํ•ด ํ™•์ธ๋˜์ง€ ์•Š์•˜์Œ์„ ์•Œ๋ ค๋“œ๋ฆฐ๋‹คโ€๊ณ  ๋ฐํ˜”๋‹ค."

[์†๋ณด] ์ •๋ถ€, ์ฟ ํŒก ๋ฐœํ‘œ ๊ฐ•๋ ฅ ๋น„ํŒโ€ฆโ€œํ™•์ธ ์•ˆ ๋œ ์ผ...

0
0
0
1

AI ์ˆ˜์ • ์ฃผ์˜

์›๋ณธ์„ ํŠธ์œ„ํ„ฐ ๊ทธ๋ก ์ˆ˜์ •๊ธฐ๋Šฅ์œผ๋กœ ํ”„๋ฃจํ‹ฐ๊ฑฐ์—์–ด๋กœ ์Šคํƒ€์ผ๋กœ ๋ฐ”๊พผ๊ฑด๋ฐ

๋ฌด๋‹จ ์ˆ˜์ •์„ ๋ง‰์„ ๋ฐฉ๋ฒ•์ด ์—†๋Š”๊ฑฐ๋ฉด ์ง„์งœ ํฐ์ผ์ธ๋ฐ??

1

Mappy Christmas ๐ŸŽ„๐Ÿ—บ๏ธ

If you fancy a Christmas or Boxing day walk, @everydoorEvery Door OSM Editor streetcomplete.app @vespucci_editorvespucci or osm.wiki/Go_Map!! make great company for a little mapping adventure. ๐Ÿšถโ€โ™‚๏ธ๐Ÿ“๐Ÿ“ฑ

Thank you for all the awesome mapping, fixing, and improvements this year ๐ŸŽ๐Ÿฅณ

0
0
0
0

๋ฉ”๋ฆฌ ํฌ๋ฆฌ์Šค๋งˆ์Šค์ž…๋‹ˆ๋‹ค! ๐ŸŽ„ ์ธ๋ ˆ์ž…๋‹ˆ๋‹ค. ํŠธ์œ„ํ„ฐ์—์„œ ์ง€๋ธŒ๋ฆฌ์™€ ์˜ํ™”, ์• ๋‹ˆ๋ฉ”์ด์…˜์œผ๋กœ ์˜จ๊ฐ– ์ด์•ผ๊ธฐ๋ฅผ ํ•˜๋˜ ๊ทธ ์‚ฌ๋žŒ์ž…๋‹ˆ๋‹ค. ใ€Š์ง€๋ธŒ๋ฆฌ ์Šคํ† ๋ฆฌํ…”๋งใ€‹์ด๋ž€ ์ฑ…์„ ์ผ๊ณ , ์ž‘๋ฒ•์„ ๊ฐ€๋ฅด์น˜๊ฑฐ๋‚˜ ์Šคํ† ๋ฆฌ IP ๊ฐœ๋ฐœ ์ผ์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ—›์†Œ๋ฆฌ๋ฅผ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋„ ๊พธ์ค€ํžˆ ์ด์ƒํ•œ ํ—›์†Œ๋ฆฌ๋ฅผ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

0
0
1

๋ฉ”๋ฆฌ ํฌ๋ฆฌ์Šค๋งˆ์Šค์ž…๋‹ˆ๋‹ค! ๐ŸŽ„ ์ธ๋ ˆ์ž…๋‹ˆ๋‹ค. ํŠธ์œ„ํ„ฐ์—์„œ ์ง€๋ธŒ๋ฆฌ์™€ ์˜ํ™”, ์• ๋‹ˆ๋ฉ”์ด์…˜์œผ๋กœ ์˜จ๊ฐ– ์ด์•ผ๊ธฐ๋ฅผ ํ•˜๋˜ ๊ทธ ์‚ฌ๋žŒ์ž…๋‹ˆ๋‹ค. ใ€Š์ง€๋ธŒ๋ฆฌ ์Šคํ† ๋ฆฌํ…”๋งใ€‹์ด๋ž€ ์ฑ…์„ ์ผ๊ณ , ์ž‘๋ฒ•์„ ๊ฐ€๋ฅด์น˜๊ฑฐ๋‚˜ ์Šคํ† ๋ฆฌ IP ๊ฐœ๋ฐœ ์ผ์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ—›์†Œ๋ฆฌ๋ฅผ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋„ ๊พธ์ค€ํžˆ ์ด์ƒํ•œ ํ—›์†Œ๋ฆฌ๋ฅผ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

0
0
0

Lately I have noticed that when you purchase a ticket you donโ€™t get a static PDF/PNG anymore.

Increasingly often, you get a .pkpass file, which is supposed to be opened in wallet apps (like Google Wallet or any 3rd-party wallet app).

Since I donโ€™t like to share information about the events I attend with strangers on the Internet, I have decided to take a closer look at these .pkpass files.

They are just zip files that contain a background image, an icon and a pass.json with the actual information about the ticket. Nothing that canโ€™t be handled by a script rather than a 3rd-party 100 MB mobile app.

I have thus put together a simple #shell script that does exactly that.

Dependencies:

  • jq
  • zint
  • magick
  • unzip
  • curl or wget

https://gist.manganiello.tech/fabio/pkpass2png

Usage:

pkpass2png https://domain.tld/myticket.pkpass ticket.png
0

Someone replied to one of my Xmas posts asking โ€œhow I could be this positive given whatโ€™s happeningโ€ etc, since deleted.

Mate, Iโ€™ve lost several extremely close members of my family around this time of year (as so many of us have). It breaks my heart thinking about. The season also meant a lot to them. Being positive is how I honour their memory. ๐ŸŽ„

If you donโ€™t like that, please unfollow. No hard feelings.

0
2

Wรคre ich Mitglied der GLS Bank, wรผrde ich da gerne nachfragen: Wie hat die Bank sichergestellt den Willen ihrer Mitglieder mit dieser Entscheidung umzusetzen? Wurden die Mitglieder รผberhaupt gefragt bzw im Entscheidungsprozess berรผcksichtigt? Oder hat man diese Entscheidung aufgrund von รคusseren Vorgaben treffen mรผssen? Der Entscheidungsprozess und die Verantwortlichen sollten hier den Mitgliedern offen und vollstรคndig vorgelegt werden.

3/3

ADDENDUM: Ich habe mich wirklich bemรผht einen kurzen, sachlichen Thread zum Thema Transparenz bei der GLS Bank zu schreiben. Mit dem konstruktiven Vorschlag, dass die Mitglieder รผber eine ausserordentliche Generalversammlung diese Transparenz fรถrdern aber auch fordern kรถnnen. Das daraus in den Kommentaren wieder eine binรคre politische Diskussion mit Vorwรผrfen und Vermutungen wird war leider zu erwarten, aber nicht mein Ziel.

0
0

๋ฌด์ œ shared the below article:

Agent Skill๋„ Tool Use๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์ž์†ํ‚ด @jasonkim@hackers.pub

Agent Skill์€ Anthropic์ด 2025๋…„ 10์›”์— ๋ฐœํ‘œํ•œ ๊ธฐ๋Šฅ์ด๋‹ค. ๋ฐœํ‘œ ์งํ›„๋ถ€ํ„ฐ ํญ๋ฐœ์ ์ธ ๋ฐ˜์‘์„ ์–ป์–ด ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ Skill์ด ๋งŒ๋“ค์–ด์กŒ๋‹ค. 2025๋…„ 12์›” 18์ผ์— Anthropic์€ Agent Skills๋ฅผ ๋…๋ฆฝ์ ์ธ ์˜คํ”ˆ ์Šคํƒ ๋‹ค๋“œ๋กœ ๋ฐœํ‘œํ–ˆ๊ณ  ์—ฌ๋Ÿฌ ์„œ๋น„์Šค๋“ค์ด Skill์„ ์ง€์›ํ•˜๊ณ  ์žˆ๋‹ค.

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Agent Skill์ด Tool Use ์œ„์—์„œ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์•Œ์•„๋ณธ๋‹ค.

Agent Skill์ด๋ž€?

Agent Skill์€ ์—์ด์ „ํŠธ๊ฐ€ ํŠน์ • ์ž‘์—…์„ ๋” ์ •ํ™•ํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์‹œ๋ฌธ(instructions), ์Šคํฌ๋ฆฝํŠธ(scripts), ๋ฆฌ์†Œ์Šค(resources) ๋“ฑ์„ ๋™์ ์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๊ฒŒ ๊ตฌ์„ฑ๋œ ํด๋”๋‹ค.

์—์ด์ „ํŠธ๋Š” ์ ์  ๋” ๋งŽ์€ ๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์‹ค์ œ ์—…๋ฌด๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ์ ˆ์ฐจ์  ์ง€์‹๊ณผ ์กฐ์ง๋ณ„ ๋งฅ๋ฝ์ด ํ•„์š”ํ•˜๋‹ค. PDF ์–‘์‹์„ ์ฑ„์šฐ๋Š” ๋ฐฉ๋ฒ•, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์•ˆ์ „ํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋Š” ์ˆœ์„œ, ๋ธŒ๋ผ์šฐ์ € ์ž๋™ํ™”์˜ ๋ฒ ์ŠคํŠธ ํ”„๋ž™ํ‹ฐ์Šค ๊ฐ™์€ ๊ฒƒ๋“ค์ด๋‹ค. ์ด๋Ÿฐ ์ง€์‹์„ ๋งค๋ฒˆ ํ”„๋กฌํ”„ํŠธ์— ๋ชจ๋‘ ์ž‘์„ฑํ•˜๋ฉด ์ปจํ…์ŠคํŠธ๋ฅผ ๋‚ญ๋น„ํ•˜๊ฒŒ ๋˜๊ณ  ์ผ๊ด€์„ฑ๋„ ๋–จ์–ด์ง„๋‹ค.

Agent Skill์€ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ž‘์—…์— ํ•„์š”ํ•œ ์ง€์‹์„ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋‹จ์œ„๋กœ ํŒจํ‚ค์ง•ํ•˜๊ณ  ํ•„์š”ํ•  ๋•Œ๋งŒ ๋™์ ์œผ๋กœ ๋กœ๋“œํ•œ๋‹ค.

ํšจ์œจ์ ์ธ ์ปจํ…์ŠคํŠธ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•

Agent Skill์€ ์ ์ง„์  ๊ณต๊ฐœ(Progressive Disclosure) ํŒจํ„ด์œผ๋กœ ์ปจํ…์ŠคํŠธ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค. ์ ์ง„์  ๊ณต๊ฐœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹จ๊ณ„๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„: ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋กœ๋“œ

์—์ด์ „ํŠธ๊ฐ€ ์‹œ์ž‘ํ•  ๋•Œ ๋ชจ๋“  Skill์˜ name๊ณผ description๋งŒ ๋กœ๋“œํ•œ๋‹ค. ์ด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” Claude๊ฐ€ ๊ฐ Skill์„ ์–ธ์ œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ์„ ๋งŒํผ์˜ ์ •๋ณด๋งŒ ์ œ๊ณตํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด PDF Skill์€ "PDF ํŒŒ์ผ์—์„œ ํ…์ŠคํŠธ ์ถ”์ถœ, ํผ ์ฑ„์šฐ๊ธฐ, ๋ฌธ์„œ ๋ณ‘ํ•ฉ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค"๋Š” ์„ค๋ช…๋งŒ ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ์— ํฌํ•จ๋œ๋‹ค.

๋‘ ๋ฒˆ์งธ ๋‹จ๊ณ„: SKILL.md ์ „์ฒด ๋กœ๋“œ

Claude๊ฐ€ ํ˜„์žฌ ์ž‘์—…์— ํ•ด๋‹น Skill์ด ๊ด€๋ จ ์žˆ๋‹ค๊ณ  ํŒ๋‹จํ•˜๋ฉด ์ „์ฒด SKILL.md๋ฅผ ์ปจํ…์ŠคํŠธ์— ๋กœ๋“œํ•œ๋‹ค. ์ด ๋‹จ๊ณ„์—์„œ ์ƒ์„ธํ•œ ์ง€์‹œ๋ฌธ์ด ์ถ”๊ฐ€๋œ๋‹ค. ๊ถŒ์žฅ ํฌ๊ธฐ๋Š” 5000 ํ† ํฐ ๋ฏธ๋งŒ์ด๋‹ค.

์„ธ ๋ฒˆ์งธ ๋‹จ๊ณ„ ์ด์ƒ: ์ถ”๊ฐ€ ํŒŒ์ผ ์˜จ๋””๋งจ๋“œ ๋กœ๋“œ

Skill์ด ๋ณต์žกํ•ด์ง€๋ฉด ๋ชจ๋“  ๋‚ด์šฉ์„ SKILL.md ํ•˜๋‚˜์— ๋‹ด๊ธฐ ์–ด๋ ค์›Œ์ง„๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ references/, scripts/, assets/ ํด๋”์— ์ถ”๊ฐ€ ํŒŒ์ผ์„ ๋ฒˆ๋“คํ•˜๊ณ  SKILL.md์—์„œ ์ฐธ์กฐํ•œ๋‹ค. Claude๋Š” ํ•„์š”ํ•  ๋•Œ๋งŒ ์ด ํŒŒ์ผ๋“ค์„ ํƒ์ƒ‰ํ•˜๊ณ  ๋กœ๋“œํ•œ๋‹ค.

์ด ํŒจํ„ด์˜ ์žฅ์ ์€ "ํ•„์š”ํ•  ๋•Œ๋งŒ ํ•„์š”ํ•œ ๋งŒํผ"์ด๋‹ค. ๋ชจ๋“  Skill์˜ ์ „์ฒด ์ง€์‹œ๋ฌธ์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋กœ๋“œํ•˜๋ฉด ์ปจํ…์ŠคํŠธ๊ฐ€ ๊ธˆ๋ฐฉ ์†Œ์ง„๋œ๋‹ค. ์ ์ง„์  ๊ณต๊ฐœ๋Š” ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉด์„œ๋„ ์—์ด์ „ํŠธ๊ฐ€ ์ ์ ˆํ•œ ์‹œ์ ์— ์ ์ ˆํ•œ Skill์„ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.

Agent Skill์˜ ๊ตฌ์กฐ

์ผ๋ฐ˜์ ์ธ Skill์˜ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

skill-name/
โ”œโ”€โ”€ SKILL.md           # ํ•„์ˆ˜: ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ + ์ง€์‹œ๋ฌธ
โ”œโ”€โ”€ scripts/           # ์„ ํƒ: ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ
โ”œโ”€โ”€ references/        # ์„ ํƒ: ์ถ”๊ฐ€ ๋ฌธ์„œ
โ””โ”€โ”€ assets/            # ์„ ํƒ: ํ…œํ”Œ๋ฆฟ, ๋ฆฌ์†Œ์Šค

SKILL.md๋งŒ ํ•„์ˆ˜์ด๊ณ  ๋‚˜๋จธ์ง€๋Š” ๋ชจ๋‘ ์„ ํƒ์ด๋‹ค. ๋‹จ์ˆœํ•œ Skill์€ SKILL.md ํ•˜๋‚˜๋งŒ์œผ๋กœ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ๊ณ  ๋ณต์žกํ•œ Skill์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šคํฌ๋ฆฝํŠธ์™€ ์ฐธ์กฐ ๋ฌธ์„œ๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•„์ˆ˜์š”์†Œ์ธ SKILL.md๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํฌ๋งท์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

---
name: pdf-processing
description: Extract text and tables from PDF files, fill forms, merge documents.
license: Apache-2.0
compatibility: Designed for Claude Code
metadata:
  author: example-org
  version: "1.0"
allowed-tools: Bash(git:*) Read
---

# PDF Processing

## When to use this skill
Use this skill when the user needs to work with PDF files...

## How to extract text
1. Use pdfplumber for text extraction...

SKILL.md๋Š” YAML frontmatter์™€ ๋งˆํฌ๋‹ค์šด ๋ณธ๋ฌธ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. YAML frontmatter์—๋Š” name๊ณผ description์ด ํ•„์ˆ˜๋กœ ํฌํ•จ๋˜์–ด์•ผ ํ•œ๋‹ค. name์€ ์ตœ๋Œ€ 64์ž์˜ ์†Œ๋ฌธ์ž์™€ ์ˆซ์ž ๊ทธ๋ฆฌ๊ณ  ํ•˜์ดํ”ˆ์œผ๋กœ๋งŒ ๊ตฌ์„ฑ๋˜๋ฉฐ ํ•˜์ดํ”ˆ์œผ๋กœ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ๋๋‚  ์ˆ˜ ์—†๋‹ค. description์€ ์ตœ๋Œ€ 1024์ž๋กœ ์ด Skill์ด ๋ฌด์—‡์„ ํ•˜๋Š”์ง€ ์–ธ์ œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ์„ค๋ช…ํ•œ๋‹ค.

license, compatibility, metadata, allowed-tools๋Š” ์„ ํƒ ํ•„๋“œ๋‹ค. ๊ฐ ์„ ํƒ ํ•„๋“œ์˜ ์—ญํ• ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • license: ๋ผ์ด์„ ์Šค ์ด๋ฆ„ ๋˜๋Š” ๋ฒˆ๋“ค๋œ ๋ผ์ด์„ ์Šค ํŒŒ์ผ์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ๋ช…์‹œํ•œ๋‹ค.
  • compatibility: ์ตœ๋Œ€ 500์ž. ํ™˜๊ฒฝ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ช…์‹œํ•œ๋‹ค. ์˜๋„ํ•œ ์ œํ’ˆ, ํ•„์š”ํ•œ ์‹œ์Šคํ…œ ํŒจํ‚ค์ง€, ๋„คํŠธ์›Œํฌ ์ ‘๊ทผ ํ•„์š” ์—ฌ๋ถ€ ๋“ฑ์„ ๊ธฐ์ˆ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "Designed for Claude Code" ๋˜๋Š” "Requires git, docker, jq, and access to the internet" ๊ฐ™์€ ํ˜•ํƒœ๋กœ ์ž‘์„ฑํ•œ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ Skill์€ ์ด ํ•„๋“œ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค.
  • metadata: ์ž„์˜์˜ ํ‚ค-๊ฐ’ ์Œ์„ ์ €์žฅํ•˜๋Š” ๋งต์ด๋‹ค. author, version ๊ฐ™์€ ์ถ”๊ฐ€ ์†์„ฑ์„ ๋‹ด๋Š”๋‹ค.
  • allowed-tools: ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋œ ์‚ฌ์ „ ์Šน์ธ ๋„๊ตฌ ๋ชฉ๋ก์ด๋‹ค. ์‹คํ—˜์  ๊ธฐ๋Šฅ์œผ๋กœ ์—์ด์ „ํŠธ ๊ตฌํ˜„์— ๋”ฐ๋ผ ์ง€์› ์—ฌ๋ถ€๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค.

YAML frontmatter ์•„๋ž˜์˜ ๋งˆํฌ๋‹ค์šด ๋ณธ๋ฌธ์ด ์‹ค์ œ ์ง€์‹œ๋ฌธ์ด ๋œ๋‹ค. ์ด ์ง€์‹œ๋ฌธ์€ Skill์ด ํ™œ์„ฑํ™”๋  ๋•Œ ์ปจํ…์ŠคํŠธ์— ์ฃผ์ž…๋˜์–ด ์—์ด์ „ํŠธ์˜ ํ–‰๋™์„ ์•ˆ๋‚ดํ•œ๋‹ค.

์ฒซ๋ฒˆ์งธ ๋‹จ๊ณ„์—์„œ๋Š” frontmatter์˜ name๊ณผ description๋งŒ ์‚ฌ์šฉ๋œ๋‹ค. ์ด ์ •๋ณด๋กœ ์—์ด์ „ํŠธ๋Š” ์–ธ์ œ ์ด Skill์„ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•˜๋Š”์ง€ ํŒ๋‹จํ•œ๋‹ค. ๋‘๋ฒˆ์งธ ๋‹จ๊ณ„์—์„œ SKILL.md ์ „์ฒด๊ฐ€ ๋กœ๋“œ๋˜๊ณ  ์„ธ๋ฒˆ์งธ ๋‹จ๊ณ„์—์„œ ๋งˆํฌ๋‹ค์šด ๋ณธ๋ฌธ์˜ ์ง€์‹œ๋ฌธ์— ๋”ฐ๋ผ scripts/ ํด๋”์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ references/ ํด๋”์˜ ์ถ”๊ฐ€ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•œ๋‹ค.

dev-browser๋กœ ์‚ดํŽด๋ณด๋Š” ์‹ค์ œ Skill ๋™์ž‘

์ด์ œ Skill์ด ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์‹ค์ œ ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด ์‚ดํŽด๋ณด์ž. ์ด ์˜ˆ์‹œ๋Š” Use Claude Code with Chrome์— ์žˆ๋Š” ์‚ฌ์šฉ ์˜ˆ์‹œ๋ฅผ dev-browser Skill์„ ์‚ฌ์šฉํ•ด ํ…Œ์ŠคํŠธํ•˜๊ณ  ๋ถ„์„ํ•œ ๊ฒƒ์ด๋‹ค.

์‚ฌ์šฉํ•œ ํ”„๋กฌํ”„ํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

Go to code.claude.com/docs, click on the search box,
type "hooks", and tell me what results appear

์ด ์š”์ฒญ์€ tools ๋ฐฐ์—ด๊ณผ ํ•จ๊ป˜ ์ „์†ก๋˜๋ฉฐ Skill๋„ tools ๋ฐฐ์—ด์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. Claude API ์š”์ฒญ ๊ตฌ์กฐ์— ๋Œ€ํ•ด์„œ๋Š” ์ด์ „ ๊ธ€์„ ์ฐธ๊ณ ํ•œ๋‹ค.

{
  "name": "Skill",
  "description": "Execute a skill within the main conversation\n\n<skills_instructions>...",
  "input_schema": {
    "type": "object",
    "properties": {
      "skill": {
        "type": "string",
        "description": "The skill name. E.g., \"commit\", \"review-pr\", or \"pdf\""
      },
      "args": {
        "type": "string",
        "description": "Optional arguments for the skill"
      }
    },
    "required": ["skill"]
  }
}

Skill ๋„๊ตฌ์˜ description์—๋Š” <available_skills> ์„น์…˜์ด ํฌํ•จ๋˜์–ด ์žˆ์–ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  Skill์˜ ๋ชฉ๋ก๊ณผ ์„ค๋ช…์ด ๋“ค์–ด์žˆ๋‹ค.

<available_skills>
<skill>
<n>dev-browser:dev-browser</n>
<description>
Browser automation with persistent page state. Use when users ask to 
navigate websites, fill forms, take screenshots, extract web data, 
test web apps, or automate browser workflows. Trigger phrases include 
"go to [url]", "click on", "fill out the form", "take a screenshot"...
</description>
<location>plugin</location>
</skill>
</available_skills>

์‚ฌ์šฉ์ž์˜ ์š”์ฒญ "Go to code.claude.com/docs, click on the search box..."๊ฐ€ dev-browser์˜ description์— ์žˆ๋Š” ํŠธ๋ฆฌ๊ฑฐ ํ”„๋ ˆ์ด์ฆˆ "go to [url]", "click on"๊ณผ ๋งค์นญ๋œ๋‹ค. ์—์ด์ „ํŠธ๋Š” ์ด ๋งค์นญ์„ ๋ฐœ๊ฒฌํ•˜๊ณ  Skill ๋„๊ตฌ๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค.

{
  "type": "tool_use",
  "id": "toolu_017StpNdwovc4Lm8tGfK9XnA",
  "name": "Skill",
  "input": {
    "skill": "dev-browser:dev-browser",
    "args": "Go to code.claude.com/docs, click on the search box, type \"hooks\", and tell me what results appear"
  }
}

skill ํ•„๋“œ์— plugin name์„ ํฌํ•จํ•œ qualified name(plugin-name:skill-name)์ด ์‚ฌ์šฉ๋˜๊ณ  args์—๋Š” ์‚ฌ์šฉ์ž์˜ ์›๋ณธ ์š”์ฒญ์ด ๊ทธ๋Œ€๋กœ ์ „๋‹ฌ๋˜์—ˆ๋‹ค.

Skill ๋„๊ตฌ์˜ tool_result๋กœ SKILL.md ์ „์ฒด ๋‚ด์šฉ์ด ๋ฐ˜ํ™˜๋œ๋‹ค.

Launching skill: dev-browser:dev-browser

Base directory for this skill: /Users/dev-test/.claude/plugins/cache/
dev-browser-marketplace/dev-browser/58c332a7c61a/skills/dev-browser

# Dev Browser Skill

Browser automation that maintains page state across script executions. 
Write small, focused scripts to accomplish tasks incrementally...

## Setup

First, start the dev-browser server using the startup script:

```bash
./skills/dev-browser/server.sh &
```

## Writing Scripts

Execute scripts inline using heredocs:

```bash
cd skills/dev-browser && npx tsx <<'EOF'
import { connect } from "@/client.js";
const client = await connect();
const page = await client.page("homepage");
// Your automation code here
await client.disconnect();
EOF
```

ARGUMENTS: Go to code.claude.com/docs, click on the search box...

tool_result์—๋Š” SKILL.md์— ์žˆ๋Š” ๋ชจ๋“  ์ง€์‹œ๋ฌธ์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ARGUMENTS์—๋Š” ์›๋ณธ ์‚ฌ์šฉ์ž ์š”์ฒญ์ด ์ฒจ๋ถ€๋˜์–ด ์žˆ์–ด ์—์ด์ „ํŠธ๊ฐ€ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด์ œ ์—์ด์ „ํŠธ๋Š” SKILL.md์˜ ์ง€์‹œ๋ฌธ์„ ์ฝ๊ณ  ์ˆœ์„œ๋Œ€๋กœ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋จผ์ € Setup ์„น์…˜์— ๋”ฐ๋ผ ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•œ๋‹ค.

{
  "type": "tool_use",
  "name": "Bash",
  "input": {
    "command": "cd /Users/dev-test/.claude/plugins/cache/dev-browser-marketplace/dev-browser/58c332a7c61a/skills/dev-browser && ./server.sh &",
    "description": "Start dev-browser server"
  }
}

์„œ๋ฒ„๊ฐ€ ์ค€๋น„๋˜๋ฉด SKILL.md์˜ ์ธ๋ผ์ธ ์ฝ”๋“œ ํ…œํ”Œ๋ฆฟ์„ ์ฐธ๊ณ ํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ € ์ž๋™ํ™” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•œ๋‹ค.

{
  "type": "tool_use",
  "name": "Bash",
  "input": {
    "command": "cd /Users/dev-test/.claude/plugins/cache/dev-browser-marketplace/dev-browser/58c332a7c61a/skills/dev-browser && npx tsx <<'EOF'\nimport { connect, waitForPageLoad } from \"@/client.js\";\n\nconst client = await connect();\nconst page = await client.page(\"claude-docs\");\nawait page.setViewportSize({ width: 1280, height: 800 });\n\nawait page.goto(\"https://docs.anthropic.com/en/docs/claude-code\");\nawait waitForPageLoad(page);\n\nconsole.log(\"Current URL:\", page.url());\nconst snapshot = await client.getAISnapshot(\"claude-docs\");\nconsole.log(snapshot);\n\nawait client.disconnect();\nEOF",
    "description": "Navigate to Claude Code docs"
  }
}

์—์ด์ „ํŠธ๋Š” SKILL.md์˜ ์ฝ”๋“œ ํ…œํ”Œ๋ฆฟ์„ ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ํ…œํ”Œ๋ฆฟ ๊ตฌ์กฐ(import, connect, heredoc ํŒจํ„ด)๋ฅผ ๋”ฐ๋ฅด๋˜ ์ž‘์—…์— ๋งž๊ฒŒ ์ฆ‰์„์—์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. page.goto() URL์ด๋‚˜ selectSnapshotRef() ref ID ๋“ฑ์„ ๋™์ ์œผ๋กœ ๊ฒฐ์ •ํ•œ๋‹ค.

SKILL.md๊ฐ€ ๋ช…์‹œํ•œ Workflow Loop ํŒจํ„ด์— ๋”ฐ๋ผ Write a script โ†’ Run it โ†’ Evaluate โ†’ Decide โ†’ Repeat ๊ณผ์ •์ด ๋ฐ˜๋ณต๋œ๋‹ค. ํŽ˜์ด์ง€ ํƒ์ƒ‰ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ โ†’ ARIA ์Šค๋ƒ…์ƒท ํ™•์ธ โ†’ ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํด๋ฆญ โ†’ ๊ฒ€์ƒ‰์–ด ์ž…๋ ฅ โ†’ ๊ฒฐ๊ณผ ํ™•์ธ ์ˆœ์„œ๋กœ ์ง„ํ–‰๋œ๋‹ค.

์ „์ฒด ํ๋ฆ„์„ ์ •๋ฆฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

User: "Go to code.claude.com/docs... Use dev-browser"
        โ”‚
        โ–ผ
LLM: available_skills์—์„œ ๋งค์นญ ๋ฐœ๊ฒฌ
     description์— "go to", "click on" ํŠธ๋ฆฌ๊ฑฐ ํฌํ•จ
        โ”‚
        โ–ผ
tool_use: Skill
  skill: "dev-browser:dev-browser"
  args: "Go to code.claude.com/docs..."
        โ”‚
        โ–ผ
tool_result: SKILL.md ์ „์ฒด + Base directory + ARGUMENTS
        โ”‚
        โ–ผ
LLM: SKILL.md ์ง€์‹œ๋ฌธ ํ•ด์„
     "First, start the dev-browser server"
        โ”‚
        โ–ผ
tool_use: Bash (./server.sh &)  โ”€โ”€โ–บ tool_result: "Server ready"
        โ”‚
        โ–ผ
LLM: heredoc ํ…œํ”Œ๋ฆฟ ์ฐธ๊ณ ํ•˜์—ฌ ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ
     page.goto(), getAISnapshot() ํ™œ์šฉ
        โ”‚
        โ–ผ
tool_use: Bash (npx tsx <<'EOF'...)
        โ”‚
        โ–ผ
tool_result: snapshot ์ถœ๋ ฅ (ARIA ํŠธ๋ฆฌ)
        โ”‚
        โ–ผ
(๋ฐ˜๋ณต: ํด๋ฆญ, ์ž…๋ ฅ, ์Šคํฌ๋ฆฐ์ƒท ๋“ฑ)

Skill ๋„๊ตฌ์˜ ์—ญํ• ์€ SKILL.md ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ํ•ด์„ํ•˜๊ณ  ์ „์ฒด ๋‚ด์šฉ์„ tool_result๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ๋ฟ์ด๋‹ค. ์‹ค์ œ ๋Šฅ๋ ฅ์€ ์—์ด์ „ํŠธ๊ฐ€ SKILL.md๋ฅผ ์ฝ๊ณ  ์ง€์‹œ๋ฌธ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๋„๊ตฌ๋“ค์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋ฐœํ˜„๋œ๋‹ค.

Agent Skill๊ณผ Subagent

Subagent์™€ Agent Skill์€ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค.

Subagent๋Š” ์ปจํ…์ŠคํŠธ ๋ถ„๋ฆฌ๊ฐ€ ํ•„์š”ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ํƒ์ƒ‰์ด๋‚˜ ๋ถ„์„ ๊ณผ์ •์ด ๋ฉ”์ธ ๋Œ€ํ™”๋ฅผ ์˜ค์—ผ์‹œํ‚ค๋ฉด ์•ˆ ๋  ๋•Œ ์ ํ•ฉํ•˜๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ฝ”๋“œ๋ฒ ์ด์Šค ์ „์ฒด๋ฅผ ํƒ์ƒ‰ํ•ด์•ผ ํ•˜๋Š”๋ฐ ๊ทธ ๊ณผ์ •์˜ ๋ชจ๋“  ํŒŒ์ผ ๋‚ด์šฉ์ด ๋ฉ”์ธ ์ปจํ…์ŠคํŠธ์— ์Œ“์ด๋ฉด ๊ธˆ๋ฐฉ ์ปจํ…์ŠคํŠธ๊ฐ€ ์†Œ์ง„๋œ๋‹ค. Subagent๋Š” ๋…๋ฆฝ์ ์ธ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ์—์„œ ์ž‘์—…ํ•˜๊ณ  ๊ฒฐ๊ณผ๋งŒ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋˜ํ•œ ๊ฐ€๋ฒผ์šด ๋ชจ๋ธ(Haiku)๋กœ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ๋ฌด๊ฑฐ์šด ๋ชจ๋ธ(Opus)๋กœ ๊นŠ์ด ๋ถ„์„ํ•˜๋Š” ์„ ํƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

Agent Skill์€ ์ ˆ์ฐจ์  ์ง€์‹์ด ํ•„์š”ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. PDF ํผ ์ฑ„์šฐ๊ธฐ๋‚˜ ๋ธŒ๋ผ์šฐ์ € ์ž๋™ํ™”์ฒ˜๋Ÿผ "์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋Š”์ง€"์— ๋Œ€ํ•œ ๋ฒ ์ŠคํŠธ ํ”„๋ž™ํ‹ฐ์Šค๊ฐ€ ์žˆ๋Š” ์ž‘์—…์— ์ ํ•ฉํ•˜๋‹ค. Skill์€ ํ˜„์žฌ ์ปจํ…์ŠคํŠธ๋ฅผ ๊ณต์œ ํ•˜๋ฉด์„œ ์ง€์‹œ๋ฌธ๋งŒ ์ถ”๊ฐ€๋กœ ์ฃผ์ž…ํ•œ๋‹ค. ๋ณ„๋„์˜ ๋ฉ”์‹œ์ง€ ๋ฃจํ”„๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๋Š”๋‹ค.

Agent Skill๊ณผ MCP

MCP์™€ Agent Skill๋„ ์—ญํ• ์ด ๋‹ค๋ฅด๋‹ค.

MCP๋Š” ์™ธ๋ถ€ ์‹œ์Šคํ…œ๊ณผ์˜ ์—ฐ๋™์ด ํ•„์š”ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ๋ธŒ๋ผ์šฐ์ €, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ์™ธ๋ถ€ API์ฒ˜๋Ÿผ ์—์ด์ „ํŠธ ๋‚ด๋ถ€์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•˜๊ธฐ ์–ด๋ ค์šด ๋„๊ตฌ๊ฐ€ ํ•„์š”ํ•  ๋•Œ ์ ํ•ฉํ•˜๋‹ค. MCP ์„œ๋ฒ„๋Š” ์™ธ๋ถ€ ํ”„๋กœ์„ธ์Šค์—์„œ ์‹คํ–‰๋˜๊ณ  ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ํ†ต์‹ ํ•œ๋‹ค. ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์—ฌ๋Ÿฌ ์—์ด์ „ํŠธ์—์„œ ๊ณต์œ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

Agent Skill์€ ๋„๊ตฌ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ๊ฐ€๋ฅด์น  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. MCP๊ฐ€ "์–ด๋–ค ๋„๊ตฌ๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ์ง€"๋ฅผ ์•Œ๋ ค์ค€๋‹ค๋ฉด Skill์€ "๊ทธ ๋„๊ตฌ๋ฅผ ์–ด๋–ป๊ฒŒ ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š”์ง€"๋ฅผ ๊ฐ€๋ฅด์นœ๋‹ค. ์‹ค์ œ๋กœ mcp-builder๋ผ๋Š” Skill์€ MCP ์„œ๋ฒ„๋ฅผ ๋” ์ž˜ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์ง€์‹์„ ์ œ๊ณตํ•œ๋‹ค. Skill์ด MCP๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ณด์™„ํ•˜๋Š” ๊ด€๊ณ„๋‹ค.

๋งˆ๋ฌด๋ฆฌ

์ง€๊ธˆ๊นŒ์ง€ Agent Skill์ด Tool Use ์œ„์—์„œ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์•˜๋‹ค.

Skill ๋„๊ตฌ๊ฐ€ tools ๋ฐฐ์—ด์— ์ •์˜๋˜์–ด ์žˆ๊ณ  tool_use โ†’ tool_result ์‚ฌ์ดํด์„ ๊ฑฐ์นœ๋‹ค. ์ด๋Š” Subagent(Task ๋„๊ตฌ)๋‚˜ MCP(mcp__xxx ๋„๊ตฌ)์™€ ๋™์ผํ•œ ํŒจํ„ด์ด๋‹ค.

tools ๋ฐฐ์—ด
โ”œโ”€โ”€ ๋‚ด์žฅ ๋„๊ตฌ (Bash, Read, Glob...)
โ”‚   โ””โ”€โ”€ Host ๋‚ด๋ถ€์—์„œ ์ง์ ‘ ์‹คํ–‰
โ”‚
โ”œโ”€โ”€ Task ๋„๊ตฌ (Subagent)
โ”‚   โ””โ”€โ”€ ์ƒˆ ๋ฉ”์‹œ์ง€ ๋ฃจํ”„์—์„œ LLM ์‘๋‹ต ๋ฐ˜ํ™˜
โ”‚
โ”œโ”€โ”€ mcp__xxx ๋„๊ตฌ (MCP)
โ”‚   โ””โ”€โ”€ ์™ธ๋ถ€ ์„œ๋ฒ„์˜ ์‹คํ–‰ ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜
โ”‚
โ””โ”€โ”€ Skill ๋„๊ตฌ (Skills)
    โ””โ”€โ”€ SKILL.md ๋กœ๋“œ ํ›„ ํ›„์† ๋„๊ตฌ ์‚ฌ์šฉ ์•ˆ๋‚ด

Agent Skill์€ ๋‹ค๋ฅธ ๋„๊ตฌ ์‚ฌ์šฉ์„ ์•ˆ๋‚ดํ•˜๋Š” ๋ฉ”ํƒ€ ๋„๊ตฌ๋‹ค. tool_result๋กœ ์ง€์‹œ๋ฌธ์„ ์ปจํ…์ŠคํŠธ์— ์ฃผ์ž…ํ•˜๊ณ  ์ดํ›„ Bash, Read ๊ฐ™์€ ๋‹ค๋ฅธ ๋„๊ตฌ๋“ค์˜ ์‚ฌ์šฉ์„ ์•ˆ๋‚ดํ•œ๋‹ค. ๊ฒฐ๊ตญ Skill โ†’ Bash โ†’ Read... ํ˜•ํƒœ์˜ ๋„๊ตฌ ์ฒด์ด๋‹์ด ๋ฐœ์ƒํ•œ๋‹ค.

Subagent์™€ MCP๊ฐ€ "๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€"๋ฅผ ํ™•์žฅํ•œ๋‹ค๋ฉด Skills๋Š” "์–ด๋–ป๊ฒŒ ์ž˜ ํ•  ๊ฒƒ์ธ๊ฐ€"๋ฅผ ํ™•์žฅํ•œ๋‹ค.

Read more โ†’
6

Xใ‹ใ‚‰้€ƒใ’ใฆใใพใ—ใŸโ€ฆใ‚ˆใ‚ใ—ใใŠใญใŒใ„ใ—ใพใ™๏ผ
ใจใ‚Šใ‚ใˆใš่ฉฆใ—ใซใƒกใƒชใƒผใ‚ฏใƒชใ‚นใƒžใ‚นโ€ฆ๏ผ
๐Ÿ˜Š

2
0
0
0
0

ใฟใคใ‘ใ‚‹ ใฎใƒญใƒผใƒซไธ€่ฆงใซSuper New Userใ‚’่ฟฝๅŠ ใ—ใŸใฎใงใ€้ŽๅŽป24ๆ™‚้–“ไปฅๅ†…ใซ็™ป้Œฒใ•ใ‚ŒใŸใƒฆใƒผใ‚ถใƒผใฎใ‚ฟใ‚คใƒ ใƒฉใ‚คใƒณใŒ่ฆ‹ใ‚Œใ‚‹ใ‚ˆใ†ใซใชใ‚Šใพใ—ใŸใ€‚

่กจ็คบใ•ใ‚Œใชใ„ๅ ดๅˆใฏใƒšใƒผใ‚ธใ‚’ๆ›ดๆ–ฐใ—ใฆใฟใฆใใ ใ•ใ„ใ€‚
https://misskey.io/explore

1

้ซชใ‚’ๅˆ‡ใ‚Šใพใ—ใŸใ€‚ใตใ‚ใตใ‚ใ“ใ„ใฌใŒใตใ‚ใฃใตใ‚ใ“ใ„ใฌใซใชใฃใŸใจใŠใ‚‚ใˆใฐใ‚ˆใ‚ใ—ใ„๏ผ

1
2
1
0

ไปŠMisskeyใฎใƒ•ใƒญใƒณใƒˆใ‚จใƒณใƒ‰ใฎๅ…ฑ้€š้ƒจๅˆ†ใ‚’ใพใจใ‚็›ดใ™ไฝœๆฅญใ‚’ใ‚„ใฃใฆใ‚‹โ€‹:blob_bongo_cat_keyboard:โ€‹

๏ผˆใ‚คใƒกใƒผใ‚ธใ‚จใƒ•ใ‚งใ‚ฏใƒˆใƒปๅŸ‹ใ‚่พผใฟใ‚ธใ‚งใƒใƒฌใƒผใ‚ฟใƒผใฎใƒฌใ‚คใ‚ขใ‚ฆใƒˆใ‚’ๅ…ฑ้€šใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใซๆŠœใๅ‡บใ™๏ผ‹Formใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใ‚’ใƒ€ใ‚คใ‚ขใƒญใ‚ฐใ‹ใ‚‰ๅˆ†้›ข๏ผ‹ใ‚ฆใ‚ฃใ‚ธใ‚งใƒƒใƒˆใฎ่จญๅฎš็”ป้ขใฎๆ”น่‰ฏ๏ผ‰

0
1
1

2์ฐ ๋ž˜๋””์ปฌ ํŽ˜๋ฏธ๋‹ˆ์ŠคํŠธ๋ผ๋Š” ์‚ฌ๋žŒ๋“ค์€ ํŽ˜๋ฏธ๋‹ˆ์ŠคํŠธ๋„ ์•„๋‹ˆ๋ผ๋‹ˆ๊นŒ.. ๊ทธ๋“ค์€ ๊ทธ์ € ํ•จ์ •์นด๋“œ๋“ค์ผ ๋ฟ์ž„. ํ˜์˜ค์™€ ์„ ๋™๊ณผ ๋ฐ˜์ง€์„ฑ์˜ ์–ธ์–ด๋ฅผ ์ง€๋‹ˆ๋ฉด์„œ.

0
1
0
0
0

์ง€๊ธˆ ์ œ์ผ ๋‚œ๊ฐํ•œ ์ ์€ ํŠธ์œ„ํ„ฐ์—์„œ ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ฐฑ์—…์„ ํ•˜๋ ค๋Š”๋ฐ ๋ฐฑ์—… ํŽ˜์ด์ง€ ์ž์ฒด๊ฐ€ ๋ง›์ด ๊ฐ€๋ฒ„๋ ธ๋‹ค๋Š” ๊ฑด๋ฐ. ๋‚˜๋งŒ ๊ทธ๋Ÿฐ ๊ฑด์ง€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์€ ์–ธ๊ธ‰ ์ž์ฒด๋ฅผ ํ•˜์งˆ ์•Š๋„ค.

0
1
0
0
2
0