Agent Skills اور SKILL.md: progressive disclosure، پیمائش کے ساتھ
پانچ حقیقی skills کی 128,374 token ہدایات context کے صرف 253 tokens لیتی ہیں؛ description گھٹائیں تو agent انہیں ڈھونڈنا چھوڑ دیتا ہے۔
اس صفحے پر
ایک ایسا project لیں جس میں پانچ published skills انسٹال ہیں۔ ان کی لاگت یہ ہے۔
ls .claude/skills/next-best-practices next-cache-components vercel-composition-patterns
vercel-react-best-practices vercel-react-native-skillsskill level 1 level 2 level 3 files
next-best-practices 40 966 19,374 19
next-cache-components 28 2,334 0 0
vercel-composition-patterns 59 533 10,667 13
vercel-react-best-practices 68 1,670 53,670 75
vercel-react-native-skills 58 950 37,957 41
------ ------- --------
total 253 6,453 121,668ہدایات، مثالوں اور قواعد کے ایک لاکھ اٹھائیس ہزار tokens — اتنے کہ 128,000-token context window میں بھی پورے نہ آئیں — اور پانچوں کو دستیاب رکھنے کی مستقل لاگت 253 tokens ہے، یعنی ایک فیصد کا دو دسواں حصہ۔ اس کورس میں کسی اور چیز کی شکل ایسی نہیں۔ tool definition ہر request پر ادا کی جاتی ہے، چاہے استعمال ہو یا نہ ہو، اور باب 26 نے ایک MCP server کو کچھ بھی کرنے سے پہلے 1,619 tokens پر ناپا تھا: اوپر کی table میں اوسط level-1 line سے بتیس گنا۔
یہ باب اس mechanism کے بارے میں ہے جو یہ ratio پیدا کرتا ہے، ان دو طریقوں کے بارے میں جن سے یہ ٹوٹتا ہے، اور اس سوال کے بارے میں جسے یہ mechanism لازمی بنا دیتا ہے مگر تقریباً کوئی جواب نہیں دیتا: knowledge کا ایک ٹکڑا ہو تو وہ چار جگہوں میں سے کس میں رہتا ہے۔
اس باب کی کوئی programming language کیوں نہیں
اس حصے کا لنک: اس باب کی کوئی programming language کیوں نہیںباب 14 نے اس کورس کے دوسرے نصف کے لیے قاعدہ مقرر کیا — connections، retries اور cancellation TypeScript ہیں — اور پانچ exceptions کا اعلان کیا۔ یہ ان میں سے ایک ہے، اور وجہ پسند ناپسند نہیں۔
skill ایک Markdown فائل ہے۔ ایسی فائل نہیں جو program کو configure کرے، نہ ایسی فائل جسے program compile کرے: ایک document جسے model پڑھتا ہے، بالکل ویسے ہی جیسے وہ آپ کا ٹائپ کیا ہوا message پڑھتا ہے۔ اس باب کو programming language دینا format کو نہ سمجھنے کے برابر ہوتا، اور skills کے بارے میں سب سے عام غلط فہمی یہی ہے۔ نیچے سب کچھ Markdown اور YAML ہے، ساتھ ایک چھوٹا shell script جس کا مقصد ہی یہ دکھانا ہے کہ skill کے اندر code کہاں ہونا چاہیے اور کہاں نہیں۔
جو bill یہ حل کرتا ہے، اور یہ باب 16 کی arithmetic ہے
اس حصے کا لنک: جو bill یہ حل کرتا ہے، اور یہ باب 16 کی arithmetic ہےیہ ایک حقیقی instruction ہے: ایک کمپنی اپنے release notes کیسے لکھتی ہے۔ یہ preference نہیں بلکہ procedure ہے — اس میں steps کی ترتیب، taxonomy، voice، template اور raw material اکٹھا کرنے والا script ہے۔
اس سب کو system prompt میں ڈال دیں، جیسے اکثر teams کرتی ہیں، تو باب 16 کی arithmetic شروع ہو جاتی ہے۔ system prompt ایک prefix ہے، اور prefix کی قیمت ہر call پر ادا ہوتی ہے۔ اس باب کے لیے لکھے گئے folder پر o200k_base سے measured:
whole thing pasted into the system prompt 1,716 x 40 = 68,640 input tokens $0.1373
as a skill, activated once on turn 12 46 x 40
+ 324 (SKILL.md body)
+ 665 (two reference files read)
= 2,829 input tokens $0.0057
as a skill, never activated at all 46 x 40 = 1,840 input tokens $0.0037استعمال ہو تو چوبیس گنا سستا، استعمال نہ ہو تو سینتیس گنا سستا۔ rates باب 16 کی ہیں: input tokens کے فی million $2.00۔
اب دیانت دار اعتراض، کیونکہ جو باب اسے چھوڑ دے وہ اشتہار بن جاتا۔ prompt caching پیسوں کا فرق تقریباً بند کر دیتی ہے۔ system prompt stable ہوتا ہے اور سب سے پہلے بیٹھتا ہے، اس لیے وہ بہترین cache candidate ہے؛ cached input کے فی million $0.20 پر وہی 68,640 tokens $0.1373 کے بجائے $0.0168 بنتے ہیں۔ پھر بھی skill سے تین گنا، مگر اب magnitude کا الگ order نہیں۔
پیسہ کبھی سب سے مضبوط دلیل نہیں تھا۔ یہ ہے:
Caching مستقل prefix کو سستا بناتی ہے۔ اسے چھوٹا نہیں بناتی۔
Turn 40 پر system-prompt version میں اب بھی release-note policy کے 1,716 tokens window میں بیٹھے ہوتے ہیں، ایک ایسی conversation کے دوران جو کسی اور چیز کے بارے میں ہے، اور وہ اس چیز کے لیے مقابلہ کر رہے ہوتے ہیں جسے باب 24 نے model کا attention budget کہا تھا۔ skill version میں 46 ہیں۔ غلط چیز کو cache کریں تو آپ نے distraction پر discount خرید لیا۔
Formula کے طور پر، turns، metadata، body، پورا bundle اور اصل میں پڑھی گئی bundled files کا set ہو تو:
یہ پورا باب دوسرے term کو سے multiply کرنے اور اسے ایک یا صفر سے multiply کرنے کے فرق کے بارے میں ہے۔
skill اصل میں کیا ہے
اس حصے کا لنک: skill اصل میں کیا ہےskill ایک directory ہے۔ specification اتنی مختصر ہے کہ مکمل بیان کی جا سکتی ہے:
release-notes/
├── SKILL.md # required: YAML frontmatter + Markdown instructions
├── scripts/ # optional: executable code
├── references/ # optional: documentation read on demand
├── assets/ # optional: templates, schemas, examples
└── ... # anything else you likeSKILL.md کا آغاز YAML frontmatter سے ہونا لازم ہے، اور بالکل دو fields required ہیں: name اور description۔1 چار مزید optional ہیں اور کوئی اور defined نہیں:
| Field | Required | Constraint |
|---|---|---|
name | yes | 1–64 characters، lowercase letters، digits اور hyphens؛ شروع، آخر یا double hyphen نہیں؛ directory name سے match کرنا لازم |
description | yes | 1–1024 characters، non-empty؛ بتاتا ہے skill کیا کرتی ہے اور اسے کب استعمال کرنا ہے |
license | no | licence کا نام، یا bundled licence file کا نام |
compatibility | no | 500 characters تک: intended product، required packages، network access |
metadata | no | string keys سے string values کا free map، آپ کی اپنی tooling کے لیے |
allowed-tools | no | pre-approved tools کی space-separated list؛ experimental marked |
یہ release-notes skill ہے، مکمل، body تیس lines سے کم:
---
name: release-notes
description: Write the release notes for a tagged version in this company's house style. Use when preparing a release, drafting a changelog entry, or when someone asks for the notes for a version number or a tag.
allowed-tools: Bash(git log:*) Bash(git tag:*) Read
---
# Release notes
## Procedure
1. Run `scripts/collect.sh <previous-tag> <new-tag>`. It prints one line per merged
pull request: number, title, author and the labels.
2. Drop every line whose labels contain `internal`, `ci` or `chore`.
3. Put each surviving line into exactly one of the four categories in
[references/categories.md](references/categories.md). A change that seems to fit two
belongs in the higher one; the order in that file is the order of precedence.
4. Rewrite each line as a sentence in the voice defined in
[references/voice.md](references/voice.md). The pull request title is a note to
the team; the release note is a note to a stranger.
5. Check the result against [references/examples.md](references/examples.md).
## The one rule that is not negotiable
Every note says what a person can now do, or what stopped happening to them. If a
sentence can only be understood by someone who has read the diff, it is not finished.دیکھیں وہ body کیا ہے۔ یہ policy نہیں — یہ table of contents ہے جس میں order of operations ہے۔ policy ان تین files میں رہتی ہے جن کے نام یہ لیتا ہے مگر انہیں شامل نہیں کرتا۔ اور step one کام ایک script کے حوالے کرتا ہے، کیونکہ script کا code کبھی context window میں داخل ہی نہیں ہوتا: صرف اس کا output داخل ہوتا ہے۔2
تین levels، اور ہر ایک کی لاگت
اس حصے کا لنک: تین levels، اور ہر ایک کی لاگتLoading model کا ایک نام اور تین stages ہیں۔ specification انہیں token budget کے ساتھ بیان کرتی ہے:1
- Metadata، تقریباً 100 tokens:
nameاورdescription، ہر installed skill کے لیے startup پر loaded۔ - Instructions، recommended under 5,000 tokens:
SKILL.mdbody، skill activate ہونے پر loaded۔ - Resources، ضرورت کے مطابق: bundled files، صرف تب loaded جب کوئی چیز انہیں require کرے۔
Reference documentation اسی table پر چوتھا column رکھتی ہے — when loaded، token cost، content — اور جو row اہم ہے وہ تیسری ہے: access ہونے تک کچھ نہیں۔3 وہ sentence بھی وہیں ہے جو پورے باب کا خلاصہ ہے:
Files context consume نہیں کرتیں جب تک accessed نہ ہوں، اس لیے Skills comprehensive API documentation، large datasets، یا extensive examples شامل کر سکتی ہیں۔ bundled content کے لیے کوئی context penalty نہیں جو استعمال نہ ہو۔3
اس باب کے شروع کی measured table اسی claim کو پانچ ایسی skills کے خلاف check کرتی ہے جو کسی نے اس article کے لیے نہیں لکھیں۔ دو rows کو ایک دوسرے کے مقابل پڑھنا چاہیے۔
next-best-practices کی 966-token body ہے جو انیس files کو link کرتی ہے جن میں 19,374 tokens ہیں۔ اس سے hydration error fix کرنے کو کہیں تو agent body plus hydration-error.md پڑھتا ہے: 20,340 میں سے 1,409 tokens، fourteen کا factor، اور باقی اٹھارہ files کبھی نہیں کھلتیں۔
next-cache-components کی 2,334-token body ہے اور کوئی bundled files بالکل نہیں۔ یہ valid skill ہے اور اچھی لکھی ہوئی ہے، اور اس کے پاس disclose کرنے کے لیے level 3 نہیں۔ technique کی دیانت دار حد یہی ہے: progressive disclosure saving صرف اس وقت ہے جب defer کرنے کو کچھ ہو۔ ایسی skill جس کا knowledge decompose نہیں ہوتا activation پر اپنی پوری body ادا کرتی ہے، اور صرف ایک lever رہ جاتا ہے: اسے activate نہ کرنا۔
اسے توڑیں: description ہی پوری interface ہے
اس حصے کا لنک: اسے توڑیں: description ہی پوری interface ہےLevel 1 ایک routing decision ہے جو ایک sentence سے بنتا ہے۔ skill کے بارے میں اور کچھ بھی اثر نہیں ڈالتا کہ وہ کبھی کھولی جائے گی یا نہیں — نہ body کا معیار، نہ examples، نہ scripts۔ اس لیے description documentation نہیں۔ یہ query surface ہے، اور یہ غلط ہو سکتی ہے۔
Specification اسے ایک اچھی مثال اور ایک بری مثال کی صورت میں کہتی ہے، اور بری مثال چار words کی ہے: description: Helps with PDFs.1 اسے accept کرنے کے بجائے measure کرنا چاہیے۔
چھ skills، ہر ایک کے لیے plausible description جو بتاتی ہے کہ وہ کیا کرتی ہے اور کب استعمال کرنی ہے۔ چوبیس requests، ہر skill کے لیے چار، اس طرح phrased جیسے کوئی شخص کہے گا اور کبھی skill کا نام نہیں لیا گیا۔ model اپنے system prompt میں چھ lines دیکھتا ہے اور اسے ایک name یا NONE سے جواب دینا ہے۔ Greedy decoding، so it reproduces۔ پھر وہی چوبیس requests، وہی چھ skills، مگر descriptions کو گھٹا کر bare subject بنا دیا گیا۔
rich - sql-review: Review a SQL migration for locks, missing indexes and unsafe
defaults before it runs on the production database. Use when someone adds
or changes a migration, an index, or a table column.
thin - sql-review: Helps with SQL.rich 295 tokens of level 1 for six skills 18/24 correct = 75.0 % [55.1, 88.0]
thin 81 tokens of level 1 for six skills 10/24 correct = 41.7 % [24.5, 61.2]
paired: rich only 9, thin only 1, two-sided sign test p = 0.0215
answered NONE: rich 1 of 24, thin 9 of 24Intervals پہلے پڑھیں، جیسے باب 4 نے insist کیا تھا اور باب 29 پھر کرے گا: وہ overlap کرتے ہیں، اور چوبیس cases صرف aggregate پر دو systems rank نہیں کر سکتے۔ Paired comparison فیصلہ کرتی ہے، اور یہ باب 15 کا instrument ہے: جن دس cases میں دونوں arms disagree ہوئے، نو rich descriptions کو گئے اور ایک thin descriptions کو۔ یہ usual threshold پر established ہے۔
اب آخری line پڑھیں، جو اصل finding ہے۔ thin descriptions کے ساتھ model نے چوبیس requests میں سے نو پر NONE جواب دیا۔ غلط skill نہیں: کوئی skill نہیں۔ ان میں سے چار verbatim یہ ہیں:
"Check this migration before I run it against production." -> release-notes
"Will this CREATE INDEX lock writes?" -> NONE
"Is this ALTER TABLE safe to deploy at peak traffic?" -> NONE
"Is 'seamless and powerful' allowed in the app store listing?" -> next-best-practicesایک perfect sql-review skill installed تھی، body اور examples اور checklist کے ساتھ، اور وہ کبھی نہیں کھولی گئی، مسلسل تین بار، انہی تین سوالات پر جن کے لیے وہ لکھی گئی تھی۔ Levels 2 اور 3 اس skill کے لیے irrelevant ہیں جس تک level 1 پہنچتا ہی نہیں۔
اسے fix کرنے کی cost: 214 tokens، 295 اور 81 کا فرق، چھ skills پر پھیلا ہوا۔ یہ باب 18 کی finding ہے جو دوسری طرف سے آ رہی ہے۔ وہاں صرف tool کی description بدلنے سے date formatting 24 میں سے 2 correct سے 24 میں سے 24 ہو گئی۔ یہاں صرف skill کی description بدلنے سے activation 24 میں سے 10 سے 18 ہو جاتی ہے۔ دونوں cases میں system کا سب سے سستا fix ایک sentence ہے، اور دونوں cases میں sentence کو trigger کا نام لینا ہوتا ہے، صرف subject کا نہیں: چیز کیا ہے نہیں، بلکہ user نے ابھی کیا کہا ہوگا جب یہ apply ہوتی ہے۔
ایک caveat جو یہ باب اپنے standards کو owe کرتا ہے۔ یہ half-billion-parameter model ہے، اور frontier model 75 % سے کہیں بہتر route کرتا ہے۔ mechanism پڑھیں، magnitude نہیں: routing signal ایک sentence لمبا ہے چاہے اسے جو بھی model پڑھے، اور کوئی model ایسی information پر select نہیں کر سکتا جو آپ نے اس sentence میں ڈالی ہی نہیں۔
دوبارہ توڑیں: وہ escape hatch جس کی لاگت 26,362 tokens ہے
اس حصے کا لنک: دوبارہ توڑیں: وہ escape hatch جس کی لاگت 26,362 tokens ہےدوسری failure پہلی کی الٹ ہے۔ skill مل جاتی ہے، levels صحیح split ہیں، اور agent پھر بھی ساری چیز پڑھ لیتا ہے۔
vercel-react-best-practices واقعی اچھی built skill ہے۔ اس کی 1,670-token body آٹھ categories کی priority table ہے اور ایک quick reference ہے جس میں 70 rule files کے نام ہیں، ہر ایک کے لیے ایک line۔ rules اسی کے ساتھ disk پر ہیں: 70 files، smallest 132 tokens، median 319، largest 1,052۔ barrel imports کے بارے میں ایک سوال کریں تو honest cost body plus ایک file ہے — 53,670 کے bundle کے مقابل under 2,400 tokens۔
پھر body کی last line یہ کہتی ہے:
## Full Compiled Document
For the complete guide with all rules expanded: `AGENTS.md`AGENTS.md 26,362 tokens ہے۔ یہ 70 rule files concatenated ہیں: ان کا sum 25,784 ہے، اور فرق ان کے بیچ headings کا ہے۔ یوں skill agent کو ایک choice دیتی ہے: 319 tokens کا ایک median rule پڑھنا یا وہی content، سارا، تراسی گنا قیمت پر پڑھنا — اور یہ choice ایک ایسے sentence میں دیتی ہے جس کے ساتھ کوئی cost attached نہیں اور نہ کوئی condition کہ اسے کب لینا ہے۔
یہ bug نہیں اور file غلط نہیں؛ compiled document واقعی human کے لیے مفید ہے، اور ایسے agent کے لیے بھی جس سے پوری codebase audit کرنے کو کہا گیا ہو۔ یہ level-3 file ہے جس کی level-2 invitation ہے، اور سبق اس ایک skill سے آگے generalise ہوتا ہے: SKILL.md سے نکلنے والا ہر path کہے کہ اس کی cost کیا ہے اور کب worth it ہے، کیونکہ model کے پاس یہ جاننے کا کوئی طریقہ نہیں کہ ایک filename اس کے اوپر والے filename سے تراسی گنا زیادہ expensive ہے۔
اسی folder میں staleness کا چھوٹا سبق بھی ہے۔ body کہتی ہے «70 rules across 8 categories» اور 70 list کرتی ہے؛ rules/ directory میں 72 files ہیں، جن میں سے دو scaffolding ہیں (_template.md اور _sections.md)؛ اور sidecar metadata.json کہتا ہے «40+ rules»۔ ایک ہی set کے تین counts ایک folder میں، ایک درست، ایک arithmetic، اور ایک پچھلے version سے بچا ہوا۔ skill ایک document ہے، اور documents بالکل اسی طرح rot ہوتے ہیں جیسے کوئی code comment جو اپنے ساتھ والے code سے drift ہو چکا ہو — فرق صرف یہ ہے کہ اسے ایک machine پڑھتی ہے جو eyebrow نہیں اٹھائے گی۔
وہ fields جو reference implementation add کرتی ہے، اور portability trap
اس حصے کا لنک: وہ fields جو reference implementation add کرتی ہے، اور portability trapOpen specification چھ frontmatter fields define کرتی ہے۔ Reference implementation، Claude Code، بیس accept کرتی ہے۔2 پانچ groups کو نام سے جاننا worth it ہے، کیونکہ وہیں format صرف document رہنا چھوڑتا ہے:
Permission اور invocation۔ allowed-tools ان tools کو اس turn کے لیے pre-approve کرتا ہے جس نے skill invoke کی اور grant اگلے message پر clear ہو جاتا ہے؛ disallowed-tools انہیں remove کرتا ہے۔ disable-model-invocation model کو اسے خود load کرنے سے روکتا ہے، جس سے skill ایک command بن جاتی ہے جسے شخص run کرتا ہے۔ user-invocable: false الٹ کرتا ہے: لوگوں سے hidden، صرف model کو available، background knowledge کے لیے۔
Isolation اور cost۔ context: fork skill کو الگ sub-agent context میں، اپنی window کے ساتھ run کرتا ہے — باب 25 کی sub-agent boundary YAML کی ایک line کے طور پر — جہاں agent type choose کرتا ہے اور background decide کرتا ہے کہ turn wait کرے گا یا نہیں۔ model اور effort بدلتے ہیں کہ skill active ہونے کے دوران، صرف اس turn کے لیے، کون سا model run کرتا ہے۔
Arguments (arguments، argument-hint) ایک شخص کو values pass کرنے دیتے ہیں جو body میں substitute ہوتی ہیں، یہی چیز skill کو slash command کے طور پر usable بناتی ہے۔ Scoping (paths) activation کو glob سے match ہونے والی files تک limit کرتا ہے۔ اور dynamic context injection وہ ہے جو mental model بدل دیتا ہے: !`git diff HEAD` کی form والی line body بھیجے جانے سے پہلے run ہوتی ہے، اور اس کا output text میں substitute ہوتا ہے۔ document ایک template ہے، اور اس کا ایک حصہ read time پر computed ہے۔
اب trap، اور یہ اسی documentation میں stated ہے: Claude Code کے باہر — web product پر، Skills API کے ذریعے، packaging میں — صرف چھ specified fields allowed ہیں، اور کوئی بھی دوسرا field upload پر hard error ہے۔2 لہٰذا ایک skill جو ایک product میں perfectly کام کرتی ہے، اسی vendor کے دوسرے product میں install ہونے میں fail ہو جاتی ہے، اور failure frontmatter پر ہوتی ہے نہ کہ کسی ایسی چیز پر جسے آپ prose پڑھ کر test کر سکیں۔ اگر آپ skill کو portable بنانا چاہتے ہیں تو چھ fields ہی پورا budget ہیں۔ اگر نہیں، تو compatibility میں کہہ دیں، جو اسی کے لیے موجود ہے۔
وہ table جس کے لیے یہ باب موجود ہے
اس حصے کا لنک: وہ table جس کے لیے یہ باب موجود ہےچار چیزیں مسلسل ایک دوسرے سے confuse ہوتی ہیں، اور confusion vocabulary pedantry نہیں: غلط choice ہر turn پر پیسے خرچ کرتی ہے، یا آپ سے وہ guarantee چھین لیتی ہے جو آپ سمجھتے تھے آپ کے پاس ہے۔
| System prompt | Skill | Tool | MCP server | |
|---|---|---|---|---|
| یہ کیا ہے | ہر request میں text | ایسا folder جس کی root SKILL.md ہے | JSON Schema plus آپ کے code میں endpoint | protocol بولتا ہوا process یا service |
| model کیا کرتا ہے | اسے پڑھتا ہے، ہمیشہ | اسے پڑھتا ہے، جب وہ decide کرے کہ description match کرتی ہے | اسے call کرتا ہے، اور آپ کے result کا wait کرتا ہے | host کے ذریعے call کرتا ہے، ہر server کے لیے ایک client |
| اس کی cost کیا ہے | اس کی پوری length، ہر turn، ہمیشہ | تقریباً 50 tokens فی turn؛ body ایک بار، اگر استعمال ہو | اس کا schema، ہر turn؛ execution جب call ہو | ہر schema plus server کا instructions، ہر turn |
| یہ کیا guarantee کر سکتا ہے | کچھ نہیں — یہ advice ہے | کچھ نہیں — یہ advice ہے جسے model skip کر سکتا ہے | ہر وہ چیز جو آپ کا code action سے پہلے enforce کرے | ہر وہ چیز جو server enforce کرے |
| اسے کون لکھتا ہے | آپ | آپ، colleague، یا vendor | آپ | کوئی اور، بہت سے hosts کے لیے |
| Chapter | 15 | یہ | 18 | 26 اور 27 |
Bold والی دو rows پوری distinction ہیں۔ skill پڑھی جاتی ہے؛ tool invoke ہوتا ہے۔ skill prose ہے جو context window میں آتا ہے اور وہاں موجود ہر چیز کے ساتھ attention کے لیے compete کرتا ہے؛ model اسے follow کر سکتا ہے، misread کر سکتا ہے، یا ignore کر سکتا ہے، اور system میں کوئی چیز notice نہیں کرتی۔ tool ایک call ہے جو model کے ہاتھوں سے نکل جاتی ہے: آپ کا code arguments receive کرتا ہے، validate کرتا ہے، permissions check کرتا ہے اور decide کرتا ہے۔ باب 18 نے اسے یوں کہا تھا کہ model propose کرتا ہے اور آپ کا code dispose کرتا ہے، اور یہی division skill کے پاس نہیں۔
تو چھ real cases، resolved:
«user کی language میں answer کریں۔ کبھی ایسا price نہ بتائیں جو آپ کو دیا نہ گیا ہو۔»
اس حصے کا لنک: «user کی language میں answer کریں۔ کبھی ایسا price نہ بتائیں جو آپ کو دیا نہ گیا ہو۔»System prompt۔ یہ ہر turn پر apply ہوتا ہے، procedure کے بجائے constraint ہے، اور دو sentences لمبا ہے۔ جو چیز ہمیشہ apply ہوتی ہے اس کے پاس progressively disclose کرنے کو کچھ نہیں، اور ہر turn پر discovery line کی قیمت ادا کرنا تاکہ ہر turn پر دو sentences کی قیمت نہ دینی پڑے، saving نہیں۔
«یہاں ہم release notes کیسے لکھتے ہیں۔»
اس حصے کا لنک: «یہاں ہم release notes کیسے لکھتے ہیں۔»Skill۔ Procedural، شاید چالیس میں ایک turn پر needed، voice، taxonomy اور examples میں decomposable، اور prose جسے شخص edit کرے گا۔ یہ وہ shape ہے جس کے لیے format design کیا گیا تھا، اور اوپر کی measurement یہی saving دکھاتی ہے۔
«warehouse database میں identifier سے order look up کریں۔»
اس حصے کا لنک: «warehouse database میں identifier سے order look up کریں۔»Tool۔ اس کے پیچھے deterministic function ہے اور model کو query improvise نہیں کرنی چاہیے۔ اسے skill کے طور پر لکھنا — warehouse query کرنے کا document — model کو schema دے کر امید لگانا ہے۔ schema plus endpoint اسے answer دیتا ہے۔
«ہمارے tracker میں issues read اور write کریں، company کے ہر agent product سے۔»
اس حصے کا لنک: «ہمارے tracker میں issues read اور write کریں، company کے ہر agent product سے۔»MCP server۔ capability آپ کی نہیں، کئی hosts کو چاہیے، اور authentication story ہے۔ یہ وہ problem ہے جس سے باب 26 شروع ہوا، protocol اس کا answer ہے، اور باب 27 اسے دو بار ship کرتا ہے۔ skill ایسے host سے discover نہیں ہو سکتی جس نے آپ کا filesystem کبھی دیکھا ہی نہیں — یہی وہ gap ہے جسے اس باب کے آخر میں standards work بند کر رہا ہے۔
«چار سو صفحات کا brand manual۔»
اس حصے کا لنک: «چار سو صفحات کا brand manual۔»چاروں میں سے کوئی نہیں۔ یہ look up کرنے والا knowledge ہے، follow کرنے والا procedure نہیں، اور اسے ایسے index میں ہونا چاہیے جسے agent search کرے: باب 19۔ اسے level 3 کے طور پر bundle کرنا permitted بھی ہے، tempting بھی، اور غلط بھی، کیونکہ model کو صرف file names سے guess کرنا پڑے گا کہ چالیس files میں سے answer کس میں ہے۔ جو اچھی skill ہے وہ دو-page procedure ہے جو agent کو بتائے کہ اس index کو کب search کرنا ہے، low similarity score کا کیا مطلب ہے، اور جو ملے اسے cite کیسے کرنا ہے۔
«human کے بغیر دو سو euros سے زیادہ کبھی refund نہ کریں۔»
اس حصے کا لنک: «human کے بغیر دو سو euros سے زیادہ کبھی refund نہ کریں۔»approval gate والا tool، اور کبھی skill نہیں۔ یہ وہ case ہے جو اہم ہے۔ SKILL.md میں لکھا جائے تو limit ایک sentence ہے جسے model پڑھتا ہے اور عموماً respect کرتا ہے؛ refund tool میں لکھا جائے تو یہ branch ہے جو کسی بھی money move سے پہلے run ہوتی ہے۔ ایسی limit جس کے cross ہونے پر آپ کو شرمندگی ہو، documentation نہیں۔ یاد رکھنے والا قاعدہ: اگر instruction ignore ہونے کا consequence badly formatted answer سے worse ہے، تو instruction document میں نہیں رہتی۔
house jargon سے standard تک، numbers کے ساتھ
اس حصے کا لنک: house jargon سے standard تک، numbers کے ساتھHistory مختصر ہے، unusually well dated، اور یہی وہ حصہ ہے جو تقریباً کوئی نہیں بتاتا۔
Agent Skills کو 16 October 2025 کو ایک vendor کے feature کے طور پر publish کیا گیا، اس announcement میں انہیں «organized folders of instructions, scripts, and resources that agents can discover and load dynamically to perform better at specific tasks» define کیا گیا، اور تین levels کو ایک ایسی analogy سے سمجھایا گیا جسے رکھنا چاہیے: «like a well-organized manual that starts with a table of contents, then specific chapters, and finally a detailed appendix»۔4
18 December 2025 کو اسی page کو update کیا گیا کہ format ایک open standard ہے، جس کی اپنی specification agentskills.io پر ہے، governance contributions کے لیے open ہے، اور reference validator ہے۔3 7 September 2026 کو پڑھنے پر standard کے client showcase میں چھیالیس products listed تھے — editors، terminals، cloud platforms اور mobile runtimes، بشمول Anthropic، OpenAI، Google اور Mistral کے first-party coding agents — ہر ایک اپنی setup documentation کو link کرتا تھا۔1
MCP کے ساتھ convergence open میں ہو رہی ہے، ایسے numbers کے ساتھ جنہیں آپ check کر سکتے ہیں:
| یہ کیا ہے | Opened | 7 Sep 2026 پر state | |
|---|---|---|---|
| SEP-2076 | Agent Skills as a First-Class MCP Primitive: نئے skills/list اور skills/get methods، skills capability، list_changed notification | 13 January 2026 | closed، 24 February 2026 |
| Skills Over MCP working group | define کرتا ہے کہ skills کو MCP کے ذریعے کیسے «discovered, distributed, and consumed» کیا جاتا ہے؛ weekly meet کرتا ہے؛ سترہ listed members، ان میں دو leads | interest group 1 February 2026؛ working group 16 April 2026 | active |
| SEP-2640 | Skills Extension، Extensions Track: skill:// resource convention، extension identifier io.modelcontextprotocol/skills، discovery بذریعہ skills/list اور content بذریعہ resources/read | 23 April 2026 | in review |
دلچسپ چیز proposals نہیں بلکہ closure ہے۔ SEP-2076 نے tools، resources اور prompts کے ساتھ ایک چوتھے primitive کی درخواست کی۔ اس سے بننے والے working group نے decide کیا کہ answer no تھا: skills پہلے سے موجود resources primitive پر، opt-in extension کے طور پر، ride کرتی ہیں۔5 باب 26 نے protocol کے اپنے changelog میں یہی instinct measure کی، جہاں sampling، roots اور logging کو رکھے رکھنے کے بجائے deprecate کیا گیا۔ standards body جو اپنی authored proposal کو remove کرتی ہے اچھا behave کر رہی ہے، اور اس story کو numbers سامنے رکھ کر بتانے کی وجہ یہ ہے کہ جو summaries آپ کہیں اور پڑھیں گے وہ اب بھی skills کو MCP primitive بتاتی ہیں۔
یہ آگے کہاں جاتا ہے
اس حصے کا لنک: یہ آگے کہاں جاتا ہےاب آپ SKILL.md لکھ سکتے ہیں، اسے تین levels میں split کر سکتے ہیں جو اپنی cost ادا کرتے ہیں، کسی اور کی skill کا frontmatter پڑھ کر جان سکتے ہیں کہ کون سے fields کہیں اور upload ہونے سے survive نہیں کریں گے، اور وہ سوال جس کے گرد یہ پورا باب بنایا گیا تھا — system prompt، skill، tool، یا server — habit کے بجائے reason کے ساتھ answer کر سکتے ہیں۔
جو آپ نہیں کر سکتے وہ یہ بتانا ہے کہ آپ کی چیز کام کرتی ہے یا نہیں۔
اس باب میں جو ہر claim اہم تھا وہ measurement تھا، اور سب سے اہم accuracy تھی: 24 میں سے 18 بمقابلہ 24 میں سے 10، ہر ایک پر interval اور ان کے درمیان paired test کے ساتھ، کیونکہ دو overlapping aggregates کچھ decide نہیں کرتے۔ وہ instrument borrowed تھا۔ skill کی description routing key ہے، اس کی body procedure ہے جسے model follow کر بھی سکتا ہے اور نہیں بھی، اور یہ دونوں properties صرف چیز کو کئی بار run کر کے اور واپس آنے والی چیز کو score کر کے معلوم ہوتی ہیں — یعنی golden set، grader جو آپ نے run سے پہلے لکھا، اور وہ metric جو پوچھتا ہے کہ کیا یہ ہر بار کام ہوا نہ کہ کم از کم ایک بار۔
باب 29 یہی ہے، اور یہ اس number سے کھلتا ہے جس پر اس باب کا method depend کرتا ہے: ایک agent جو دس میں سے سات بار succeed کرتا ہے 70 % دکھتا ہے، اور اس کا pass^10 — یعنی دسوں میں کامیاب ہونے کا chance — zero ہے۔ یہ ایک ہی دو سو transcripts پر تین graders بھی measure کرتا ہے اور ایک بھی token regenerate کیے بغیر 0 %، 13 % اور 26 % حاصل کرتا ہے۔ description میں ابھی لکھی ہوئی sentence پر trust کرنے سے پہلے، آپ کو وہ instrument چاہیے جو بتا سکے کہ یہ اس sentence سے worse ہے جسے آپ نے replace کیا۔
Sources and method
اس حصے کا لنک: Sources and methodاس باب میں ہر token count locally tiktoken 0.14.0 اور o200k_base encoding سے، 7 September 2026 کو produce کیا گیا: اس باب کے شروع میں listed پانچ third-party skills پر، اور اس باب کے لیے لکھی گئی release-notes skill پر، جس کا complete text اوپر part میں reproduced ہے۔ Level 1 کو single line - name: description کے طور پر measure کیا گیا جسے host system prompt میں render کرتا ہے؛ level 2 frontmatter کے بعد SKILL.md body ہے؛ level 3 folder کی ہر other file ہے۔ Costs باب 16 کی measured rates for gpt-5.6-terra استعمال کرتی ہیں، input tokens کے فی million $2.00 اور cached input tokens کے فی million $0.20، ان counts پر applied — یہ measured tokens پر arithmetic ہیں، live bill کی observations نہیں۔ اس باب کو لکھنے کے لیے کوئی paid API call نہیں کی گئی۔
Activation experiment نے ایک consumer GPU پر half precision میں Qwen/Qwen2.5-0.5B-Instruct run کیا، greedy decoding، چھ skills پر 24 requests، دو بار — ایک بار ایسی descriptions کے ساتھ جو state کرتی ہیں skill کیا کرتی ہے اور کب apply ہوتی ہے، ایک بار descriptions کو specification کی اپنی «poor example» style میں bare subject تک cut کر کے۔ Intervals 95 % پر Wilson ہیں؛ paired comparison دس discordant cases پر two-sided exact sign test ہے؛ Wilson interval باب 4 کا ہے اور exact paired sign test باب 15 کا، دونوں unchanged reused۔ Magnitudes کو بہت چھوٹے model کی property سمجھیں اور method کو transferable۔
یہاں measured پانچ skills third-party packages ہیں، اس باب کے لیے نہیں لکھی گئیں: next-best-practices اور next-cache-components from vercel-labs/next-skills، اور vercel-composition-patterns، vercel-react-best-practices اور vercel-react-native-skills from vercel-labs/agent-skills۔ ان کے internal counts — 70 rule files، AGENTS.md at 26,362 tokens، metadata.json dated January 2026 and claiming «40+ rules» — 7 September 2026 کو disk پر files سے read کیے گئے اور اس published version کی properties ہیں، authors کی criticism نہیں: ان میں سے ہر ایک اسی قسم کا drift ہے جو کسی بھی documentation tree میں آتا ہے جسے count کرنے سے زیادہ edit کیا جاتا ہے۔
حوالہ جات
اس حصے کا لنک: حوالہ جات-
Agent Skills Specification اور Overview،
agentskills.io/specificationاورagentskills.io، read 7 September 2026۔ directory layout کا source؛ frontmatter table جو اوپر ہر constraint کے ساتھ reproduced ہے (name1–64 characters اور directory سے matching،description1–1024 characters،compatibilityup to 500،allowed-toolsmarked experimental)؛ اچھی اور poordescriptionexamples؛ token budget کے ساتھ three-stage progressive-disclosure description (metadata about 100 tokens، instructions under 5,000 recommended، resources as needed) اورSKILL.mdکو under 500 lines رکھنے کا advice؛ یہ note کہ «the agent will load this entire file once it's decided to activate a skill»؛scripts/،references/اورassets/conventions؛skills-ref validatecommand؛ یہ statement کہ format «was originally developed by Anthropic, released as an open standard, and has been adopted by a growing number of agent products»؛ اور client showcase، جس نے reading date پر چھیالیس products list کیے تھے۔ ↩ ↩2 ↩3 ↩4 -
Claude Code documentation میں Skills،
code.claude.com/docs/en/skills، read 7 September 2026۔ «fields the reference implementation adds» section میں used full field table کا source —when_to_use،argument-hint،arguments،disable-model-invocation،user-invocable،allowed-tools،disallowed-tools،model،effort،context،agent،background،hooks،paths،shell،metadata،license،compatibility— dynamic context injection کی description کا جس میں!`command`body بھیجے جانے سے پہلے run ہوتا ہے، اس rule کا کہallowed-toolsgrant اگلے message پر clear ہوتا ہے، اور compliance note کا کہ Claude Code کے باہر صرف چھ specified fields accepted ہیں اور کوئی بھی دوسرا upload یا packaging میں hard error cause کرتا ہے۔ ↩ ↩2 ↩3 -
Agent Skills overview،
platform.claude.com/docs/en/agents-and-tools/agent-skills/overview، read 7 September 2026۔ level table کا source اپنے چار columns کے ساتھ (Level 1 metadata، always، about 100 tokens per skill؛ Level 2 instructions، when triggered، under 5k tokens؛ Level 3+ resources، as needed، none until accessed)؛ bundled content کے context penalty نہ رکھنے کے بارے میں مکمل quoted sentence کا؛ «until a Skill is triggered, only its name and description occupy context» کا؛ اس statement کا کہ script کا code کبھی context window میں داخل نہیں ہوتا اور صرف output ہوتا ہے؛ اور security section کا، جو کہتا ہے کہ skills صرف trusted sources سے use کریں اور warn کرتا ہے کہ malicious skill «can direct Claude to invoke tools or execute code in ways that don't match the Skill's stated purpose» — باب 30 کا subject، tool description کے بجائے document کے ذریعے آتا ہوا۔ ↩ ↩2 ↩3 -
Anthropic، Equipping agents for the real world with Agent Skills، 16 October 2025،
anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills، read 7 September 2026۔ اوپر quoted definition کا source، table-of-contents/chapters/appendix analogy کا، اصل described تین levels کا، اور اس framing کا کہ agents کو domain expertise دینے کے لیے «more composable, scalable, and portable ways» درکار ہیں۔ Companion product announcement atclaude.com/blog/skillspublication date 16 October 2025 اور update 18 December 2025 رکھتا ہے جس نے organisation-wide management اور open standard introduce کیا۔ ↩ -
Skills Over MCP Charter،
modelcontextprotocol.io/community/working-groups/skills-over-mcp، read 7 September 2026۔ اوپر quoted mission statement کا source، changelog dates کا (interest group formed 1 February 2026، initial charter 14 April 2026، converted to a working group 16 April 2026، SEP-2640 linked 25 April 2026)، leadership اور سترہ listed members کا، weekly meeting cadence کا، اور success criterion کا جو draft Skills Extension کو «a formal extension using existing Resources primitives» کہتا ہے۔ SEP-2076، Agent Skills as a First-Class MCP Primitive،github.com/modelcontextprotocol/modelcontextprotocol/pull/2076، 13 January 2026 کو opened اور 24 February 2026 کو closed ہوا؛ اس نےskills/list،skills/get،skillsserver capability اورskills/list_changednotification propose کیے، اور skill کو «a named bundle of instructions plus references to tools, prompts, and resources that together teach an agent how to perform a domain-specific workflow» define کیا۔ SEP-2640، Skills Extension،.../pull/2640، 23 April 2026 کو Extensions Track پر opened ہوا اورskill://resource convention اور extension identifierio.modelcontextprotocol/skillsرکھتا ہے۔ باب 26 اسی working group کو protocol کی optional extensions میں list کرتا ہے۔ ↩