Agent Skills και SKILL.md: προοδευτική αποκάλυψη, μετρημένη
Πέντε πραγματικά skills με 128.374 token οδηγιών πιάνουν 253 token context. Κόψτε τις περιγραφές και ο agent σταματά να τα βρίσκει.
Σε αυτή τη σελίδα
Πάρτε ένα project με εγκατεστημένα πέντε δημοσιευμένα 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Εκατόν είκοσι οκτώ χιλιάδες token οδηγιών, παραδειγμάτων και κανόνων — περισσότερα από όσα χωρούν σε ένα context window 128.000 token — και το πάγιο κόστος του να είναι διαθέσιμα και τα πέντε είναι 253 token, δύο δέκατα του ενός τοις εκατό. Τίποτα άλλο σε αυτό το μάθημα δεν έχει αυτό το σχήμα. Ένας ορισμός εργαλείου πληρώνεται σε κάθε αίτημα είτε χρησιμοποιηθεί είτε όχι, και το Κεφάλαιο 26 μέτρησε έναν MCP server στα 1.619 token πριν κάνει οτιδήποτε: τριάντα δύο φορές τη μέση γραμμή επιπέδου 1 στον παραπάνω πίνακα.
Αυτό το κεφάλαιο αφορά τον μηχανισμό που παράγει αυτή την αναλογία, τους δύο τρόπους με τους οποίους σπάει, και το ερώτημα που ο μηχανισμός επιβάλλει και σχεδόν κανείς δεν απαντά: με δεδομένο ένα κομμάτι γνώσης, σε ποιο από τέσσερα μέρη ανήκει.
Γιατί αυτό το κεφάλαιο δεν έχει γλώσσα προγραμματισμού
Σύνδεσμος στην ενότητα: Γιατί αυτό το κεφάλαιο δεν έχει γλώσσα προγραμματισμούΤο Κεφάλαιο 14 έθεσε τον κανόνα για το δεύτερο μισό αυτού του μαθήματος — συνδέσεις, retries και ακύρωση είναι TypeScript — και δήλωσε πέντε εξαιρέσεις. Αυτή είναι μία από αυτές, και ο λόγος δεν είναι προτίμηση.
Ένα skill είναι ένα αρχείο Markdown. Όχι ένα αρχείο που ρυθμίζει ένα πρόγραμμα, όχι ένα αρχείο που ένα πρόγραμμα μεταγλωττίζει: ένα έγγραφο που το μοντέλο διαβάζει, με τον ίδιο τρόπο που διαβάζει το μήνυμα που πληκτρολογήσατε. Το να δοθεί σε αυτό το κεφάλαιο μια γλώσσα προγραμματισμού θα σήμαινε ότι δεν έχει γίνει κατανοητή η μορφή, και αυτή η παρανόηση είναι η πιο συνηθισμένη για τα skills. Όλα παρακάτω είναι Markdown και YAML, συν ένα μικρό shell script που υπάρχει ακριβώς για να δείξει πού ανήκει και πού δεν ανήκει ο κώδικας μέσα σε ένα skill.
Ο λογαριασμός που λύνει, και είναι η αριθμητική του Κεφαλαίου 16
Σύνδεσμος στην ενότητα: Ο λογαριασμός που λύνει, και είναι η αριθμητική του Κεφαλαίου 16Να μια πραγματική οδηγία: πώς γράφει μια εταιρεία τα release notes της. Είναι διαδικασία, όχι προτίμηση — έχει μια διατεταγμένη σειρά βημάτων, μια ταξινόμηση, μια φωνή, ένα template και ένα script που συλλέγει την ακατέργαστη ύλη.
Βάλτε τα όλα στο system prompt, όπως κάνουν οι περισσότερες ομάδες, και αναλαμβάνει η αριθμητική του Κεφαλαίου 16. Ένα system prompt είναι πρόθεμα, και ένα πρόθεμα πληρώνεται σε κάθε κλήση. Μετρημένο με o200k_base πάνω στον φάκελο που γράφτηκε για αυτό το κεφάλαιο:
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Είκοσι τέσσερις φορές φθηνότερο όταν χρησιμοποιείται, τριάντα επτά φορές φθηνότερο όταν δεν χρησιμοποιείται. Οι τιμές είναι του Κεφαλαίου 16: $2,00 ανά εκατομμύριο input token.
Τώρα η ειλικρινής ένσταση, γιατί ένα κεφάλαιο που θα την παρέλειπε θα ήταν διαφήμιση. Το prompt caching κλείνει σχεδόν όλο το χάσμα χρημάτων. Ένα system prompt είναι σταθερό και βρίσκεται πρώτο, κάτι που το κάνει τον καλύτερο υποψήφιο για cache που υπάρχει· στα $0,20 ανά εκατομμύριο για cached input, τα ίδια 68.640 token κοστίζουν $0,0168 αντί για $0,1373. Ακόμη τρεις φορές το skill, αλλά όχι πλέον άλλη τάξη μεγέθους.
Τα χρήματα δεν ήταν ποτέ το ισχυρότερο επιχείρημα. Αυτό είναι:
Το caching κάνει ένα μόνιμο πρόθεμα φθηνότερο. Δεν το κάνει μικρότερο.
Στη στροφή 40, η έκδοση με system prompt εξακολουθεί να έχει 1.716 token πολιτικής release notes μέσα στο παράθυρο κατά τη διάρκεια μιας συνομιλίας για κάτι εντελώς άλλο, ανταγωνιζόμενη για αυτό που το Κεφάλαιο 24 ονόμασε attention budget του μοντέλου. Η έκδοση με skill έχει 46. Κάντε cache το λάθος πράγμα και έχετε αγοράσει έκπτωση σε έναν περισπασμό.
Γραμμένο ως τύπος, με στροφές, τα metadata, το σώμα, όλο το πακέτο και το σύνολο των συνοδευτικών αρχείων που πράγματι διαβάστηκαν:
Ολόκληρο αυτό το κεφάλαιο είναι η διαφορά ανάμεσα στο να πολλαπλασιάζετε τον δεύτερο όρο με και στο να τον πολλαπλασιάζετε με ένα ή με μηδέν.
Τι είναι πραγματικά ένα skill
Σύνδεσμος στην ενότητα: Τι είναι πραγματικά ένα skillΈνα skill είναι ένας κατάλογος. Η προδιαγραφή είναι αρκετά σύντομη ώστε να δηλωθεί πλήρως:
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 likeΤο SKILL.md πρέπει να ξεκινά με YAML frontmatter, και απαιτούνται ακριβώς δύο πεδία: name και description.1 Τέσσερα ακόμη είναι προαιρετικά και δεν ορίζονται άλλα:
| Πεδίο | Απαιτείται | Περιορισμός |
|---|---|---|
name | ναι | 1–64 χαρακτήρες, πεζά γράμματα, ψηφία και ενωτικά· χωρίς αρχικό, τελικό ή διπλό ενωτικό· πρέπει να ταιριάζει με το όνομα του καταλόγου |
description | ναι | 1–1024 χαρακτήρες, μη κενό· λέει τι κάνει το skill και πότε να χρησιμοποιείται |
license | όχι | όνομα άδειας ή το όνομα ενός συνοδευτικού αρχείου άδειας |
compatibility | όχι | έως 500 χαρακτήρες: προοριζόμενο προϊόν, απαιτούμενα πακέτα, πρόσβαση δικτύου |
metadata | όχι | ελεύθερος χάρτης από string keys σε string values, για τα δικά σας εργαλεία |
allowed-tools | όχι | λίστα προεγκεκριμένων εργαλείων χωρισμένων με κενά· επισημαίνεται ως πειραματικό |
Να το skill για release notes, πλήρες, με το σώμα του κάτω από τριάντα γραμμές:
---
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.Διαβάστε τι είναι αυτό το σώμα. Δεν είναι η πολιτική — είναι ένας πίνακας περιεχομένων με σειρά ενεργειών. Η πολιτική ζει σε τρία αρχεία που κατονομάζει και δεν περιλαμβάνει. Και το πρώτο βήμα αναθέτει δουλειά σε ένα script, επειδή ο κώδικας ενός script δεν μπαίνει ποτέ στο context window: μόνο η έξοδός του μπαίνει.2
Τρία επίπεδα, και τι κοστίζει το καθένα
Σύνδεσμος στην ενότητα: Τρία επίπεδα, και τι κοστίζει το καθέναΤο μοντέλο φόρτωσης έχει όνομα και τρία στάδια. Η προδιαγραφή τα δηλώνει με συνημμένο token budget:1
- Metadata, περίπου 100 token:
nameκαιdescription, φορτώνονται κατά την εκκίνηση για κάθε εγκατεστημένο skill. - Οδηγίες, συνιστώμενες κάτω από 5.000 token: το σώμα του
SKILL.md, φορτώνεται όταν ενεργοποιείται το skill. - Πόροι, όπως χρειάζεται: συνοδευτικά αρχεία, φορτώνονται μόνο όταν κάτι τα απαιτεί.
Η τεκμηρίωση αναφοράς βάζει μια τέταρτη στήλη στον ίδιο πίνακα — πότε φορτώνεται, κόστος σε token, περιεχόμενο — και η σειρά που έχει σημασία είναι η τρίτη: κανένα μέχρι να προσπελαστεί.3 Εκεί βρίσκεται και η πρόταση που συνοψίζει όλο το κεφάλαιο:
Τα αρχεία δεν καταναλώνουν context μέχρι να προσπελαστούν, οπότε τα Skills μπορούν να περιλαμβάνουν εκτενή τεκμηρίωση API, μεγάλα datasets ή εκτενή παραδείγματα. Δεν υπάρχει ποινή context για συνοδευτικό περιεχόμενο που δεν χρησιμοποιείται.3
Ο μετρημένος πίνακας στην αρχή αυτού του κεφαλαίου είναι αυτός ο ισχυρισμός ελεγμένος πάνω σε πέντε skills που κανείς δεν έγραψε για αυτό το άρθρο. Δύο σειρές αξίζει να διαβαστούν η μία απέναντι στην άλλη.
Το next-best-practices έχει σώμα 966 token που συνδέει σε δεκαεννέα αρχεία με 19.374 token. Ζητήστε του να διορθώσει ένα hydration error και ο agent διαβάζει το σώμα συν το hydration-error.md: 1.409 token από 20.340, συντελεστής δεκατέσσερα, και τα άλλα δεκαοκτώ αρχεία δεν ανοίγονται ποτέ.
Το next-cache-components έχει σώμα 2.334 token και κανένα συνοδευτικό αρχείο. Είναι έγκυρο skill και καλογραμμένο, και δεν έχει επίπεδο 3 να αποκαλύψει. Αυτό είναι το ειλικρινές όριο της τεχνικής: η προοδευτική αποκάλυψη είναι εξοικονόμηση μόνο αν υπάρχει κάτι να αναβληθεί. Ένα skill του οποίου η γνώση δεν αποσυντίθεται πληρώνει ολόκληρο το σώμα του κατά την ενεργοποίηση, και ο μόνος μοχλός που απομένει είναι να μην ενεργοποιηθεί.
Σπάστε το: η περιγραφή είναι ολόκληρη η διεπαφή
Σύνδεσμος στην ενότητα: Σπάστε το: η περιγραφή είναι ολόκληρη η διεπαφήΤο επίπεδο 1 είναι μια απόφαση δρομολόγησης που λαμβάνεται από μία πρόταση. Τίποτα άλλο σε ένα skill δεν επηρεάζει αν θα ανοιχτεί ποτέ — ούτε η ποιότητα του σώματος, ούτε τα παραδείγματα, ούτε τα scripts. Άρα η περιγραφή δεν είναι τεκμηρίωση. Είναι η επιφάνεια query, και μπορεί να είναι λάθος.
Η προδιαγραφή το λέει με τη μορφή ενός καλού και ενός κακού παραδείγματος, και το κακό είναι τέσσερις λέξεις: description: Helps with PDFs.1 Αυτό αξίζει να μετρηθεί αντί απλώς να γίνει αποδεκτό.
Έξι skills, το καθένα με μια εύλογη περιγραφή που λέει τι κάνει και πότε να χρησιμοποιείται. Είκοσι τέσσερα αιτήματα, τέσσερα ανά skill, διατυπωμένα όπως θα τα διατύπωνε ένας άνθρωπος και χωρίς ποτέ να κατονομάζουν το skill. Το μοντέλο βλέπει τις έξι γραμμές στο system prompt του και πρέπει να απαντήσει με ένα όνομα ή με NONE. Greedy decoding, ώστε να αναπαράγεται. Έπειτα τα ίδια είκοσι τέσσερα αιτήματα με τα ίδια έξι skills, και οι περιγραφές κομμένες πίσω στο γυμνό θέμα τους.
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 24Διαβάστε πρώτα τα διαστήματα, όπως επέμεινε το Κεφάλαιο 4 και θα επιμείνει ξανά το Κεφάλαιο 29: επικαλύπτονται, και είκοσι τέσσερις περιπτώσεις δεν μπορούν να κατατάξουν δύο συστήματα μόνο από τα συγκεντρωτικά τους. Η ζευγαρωμένη σύγκριση είναι αυτό που το κρίνει, και είναι το όργανο του Κεφαλαίου 15: από τις δέκα περιπτώσεις όπου οι δύο βραχίονες διαφώνησαν, εννέα πήγαν στις πλούσιες περιγραφές και μία στις λεπτές. Αυτό τεκμηριώνεται στο συνηθισμένο κατώφλι.
Τώρα διαβάστε την τελευταία γραμμή, που είναι το πραγματικό εύρημα. Με λεπτές περιγραφές το μοντέλο απάντησε NONE σε εννέα από είκοσι τέσσερα αιτήματα. Όχι το λάθος skill: κανένα skill. Να τέσσερα από αυτά, αυτολεξεί:
"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Ένα τέλειο skill sql-review ήταν εγκατεστημένο, με σώμα και παραδείγματα και checklist, και δεν άνοιξε ποτέ, τρεις φορές στη σειρά, στις τρεις ερωτήσεις για τις οποίες είχε γραφτεί. Τα επίπεδα 2 και 3 είναι άσχετα για ένα skill που το επίπεδο 1 δεν φτάνει ποτέ.
Το κόστος της διόρθωσης: 214 token, η διαφορά ανάμεσα σε 295 και 81, απλωμένη σε έξι skills. Αυτό είναι το εύρημα του Κεφαλαίου 18 που φτάνει από την άλλη πλευρά. Εκεί, αλλάζοντας μόνο την περιγραφή ενός εργαλείου, η μορφοποίηση ημερομηνίας πήγε από 2 σωστά στα 24 σε 24 στα 24. Εδώ, αλλάζοντας μόνο την περιγραφή ενός skill, η ενεργοποίηση πηγαίνει από 10 στα 24 σε 18. Και στις δύο περιπτώσεις η φθηνότερη διόρθωση στο σύστημα είναι μια πρόταση, και και στις δύο περιπτώσεις η πρόταση πρέπει να κατονομάζει το trigger και όχι μόνο το θέμα: όχι τι είναι το πράγμα, αλλά τι θα έχει μόλις πει ο χρήστης όταν εφαρμόζεται.
Μία επιφύλαξη που αυτό το κεφάλαιο οφείλει στα δικά του πρότυπα. Αυτό είναι ένα μοντέλο μισού δισεκατομμυρίου παραμέτρων, και ένα frontier model δρομολογεί πολύ καλύτερα από 75 %. Διαβάστε τον μηχανισμό, όχι το μέγεθος: το σήμα δρομολόγησης έχει μήκος μία πρόταση όποιο μοντέλο κι αν το διαβάζει, και κανένα μοντέλο δεν μπορεί να επιλέξει με βάση πληροφορίες που δεν βάλατε σε αυτή την πρόταση.
Σπάστε το ξανά: η έξοδος κινδύνου που κοστίζει 26.362 token
Σύνδεσμος στην ενότητα: Σπάστε το ξανά: η έξοδος κινδύνου που κοστίζει 26.362 tokenΗ δεύτερη αστοχία είναι το αντίθετο της πρώτης. Το skill βρίσκεται, τα επίπεδα είναι σωστά χωρισμένα, και ο agent τα διαβάζει όλα ούτως ή άλλως.
Το vercel-react-best-practices είναι ένα πραγματικά καλοφτιαγμένο skill. Το σώμα του των 1.670 token είναι ένας πίνακας προτεραιότητας οκτώ κατηγοριών και μια γρήγορη αναφορά που κατονομάζει 70 αρχεία κανόνων, μία γραμμή το καθένα. Οι κανόνες είναι στον δίσκο δίπλα του: 70 αρχεία, το μικρότερο 132 token, διάμεσος 319, το μεγαλύτερο 1.052. Κάντε του μία ερώτηση για barrel imports και το ειλικρινές κόστος είναι το σώμα συν ένα αρχείο — κάτω από 2.400 token απέναντι σε πακέτο 53.670.
Έπειτα η τελευταία γραμμή του σώματος λέει αυτό:
## Full Compiled Document
For the complete guide with all rules expanded: `AGENTS.md`Το AGENTS.md είναι 26.362 token. Είναι τα 70 αρχεία κανόνων ενωμένα: το άθροισμά τους είναι 25.784, και η διαφορά είναι οι επικεφαλίδες ανάμεσά τους. Άρα το skill προσφέρει στον agent μια επιλογή ανάμεσα στο να διαβάσει έναν μέσο κανόνα των 319 token και στο να διαβάσει το ίδιο περιεχόμενο, όλο, στην ογδοντατριπλάσια τιμή — και προσφέρει αυτή την επιλογή σε μια πρόταση χωρίς συνημμένο κόστος και χωρίς συνθήκη για το πότε αξίζει να την πάρει.
Αυτό δεν είναι bug και το αρχείο δεν είναι λάθος· ένα μεταγλωττισμένο έγγραφο είναι πραγματικά χρήσιμο σε άνθρωπο, και σε agent που έχει κληθεί να ελέγξει ολόκληρη codebase. Είναι ένα αρχείο επιπέδου 3 με πρόσκληση επιπέδου 2, και το μάθημα γενικεύεται πέρα από αυτό το ένα skill: κάθε διαδρομή έξω από ένα SKILL.md πρέπει να λέει τι κοστίζει και πότε αξίζει, επειδή το μοντέλο δεν έχει τρόπο να ξέρει ότι ένα όνομα αρχείου είναι ογδόντα τρεις φορές ακριβότερο από το όνομα αρχείου από πάνω του.
Ο ίδιος φάκελος φέρει ένα μικρότερο μάθημα για την παλαίωση. Το σώμα λέει «70 κανόνες σε 8 κατηγορίες» και παραθέτει 70· ο κατάλογος rules/ περιέχει 72 αρχεία, από τα οποία δύο είναι scaffolding (_template.md και _sections.md)· και το sidecar metadata.json λέει «40+ κανόνες». Τρεις μετρήσεις του ίδιου συνόλου σε έναν φάκελο, μία σωστή, μία αριθμητική, και μία απομεινάρι προηγούμενης έκδοσης. Ένα skill είναι έγγραφο, και τα έγγραφα σαπίζουν ακριβώς όπως ένα σχόλιο κώδικα που έχει κάνει drift από τον κώδικα δίπλα του — με τη διαφορά ότι αυτό διαβάζεται από μια μηχανή που δεν θα σηκώσει φρύδι.
Τα πεδία που προσθέτει η υλοποίηση αναφοράς, και η παγίδα φορητότητας
Σύνδεσμος στην ενότητα: Τα πεδία που προσθέτει η υλοποίηση αναφοράς, και η παγίδα φορητότηταςΗ ανοιχτή προδιαγραφή ορίζει έξι πεδία frontmatter. Η υλοποίηση αναφοράς, Claude Code, δέχεται είκοσι.2 Πέντε ομάδες αξίζει να τις ξέρετε με το όνομά τους, επειδή εκεί η μορφή παύει να είναι μόνο έγγραφο:
Άδεια και επίκληση. Το allowed-tools προεγκρίνει εργαλεία για τη στροφή που επικαλέστηκε το skill και η παραχώρηση καθαρίζεται στο επόμενο μήνυμα· το disallowed-tools τα αφαιρεί. Το disable-model-invocation εμποδίζει το μοντέλο να το φορτώσει μόνο του, μετατρέποντας το skill σε εντολή που εκτελεί ένας άνθρωπος. Το user-invocable: false κάνει το αντίθετο: κρυφό από ανθρώπους, διαθέσιμο μόνο στο μοντέλο, για background knowledge.
Απομόνωση και κόστος. Το context: fork εκτελεί το skill σε ξεχωριστό sub-agent context με δικό του παράθυρο — το όριο sub-agent του Κεφαλαίου 25 ως μία γραμμή YAML — με το agent να επιλέγει ποιο είδος και το background να αποφασίζει αν η στροφή περιμένει. Τα model και effort αλλάζουν ποιο μοντέλο τρέχει όσο το skill είναι ενεργό, μόνο για εκείνη τη στροφή.
Ορίσματα (arguments, argument-hint) αφήνουν έναν άνθρωπο να περάσει τιμές που αντικαθίστανται στο σώμα, και αυτό είναι που κάνει ένα skill χρησιμοποιήσιμο ως slash command. Το scoping (paths) περιορίζει την ενεργοποίηση σε αρχεία που ταιριάζουν με glob. Και το dynamic context injection είναι αυτό που αλλάζει το νοητικό μοντέλο: μια γραμμή της μορφής !`git diff HEAD` τρέχει πριν σταλεί το σώμα, και η έξοδός της αντικαθίσταται στο κείμενο. Το έγγραφο είναι template, και μέρος του υπολογίζεται τη στιγμή της ανάγνωσης.
Τώρα η παγίδα, και δηλώνεται στην ίδια τεκμηρίωση: έξω από το Claude Code — στο web product, μέσω του Skills API, στη συσκευασία — επιτρέπονται μόνο τα έξι καθορισμένα πεδία, και οποιοδήποτε άλλο πεδίο είναι σκληρό σφάλμα κατά το upload.2 Άρα ένα skill που λειτουργεί τέλεια σε ένα προϊόν αποτυγχάνει να εγκατασταθεί σε ένα άλλο του ίδιου vendor, και αποτυγχάνει στο frontmatter αντί σε οτιδήποτε θα μπορούσατε να ελέγξετε διαβάζοντας το πεζό κείμενο. Αν θέλετε ένα skill να είναι φορητό, τα έξι πεδία είναι όλος ο προϋπολογισμός. Αν δεν θέλετε, πείτε το στο compatibility, που υπάρχει ακριβώς γι’ αυτό.
Ο πίνακας για τον οποίο υπάρχει αυτό το κεφάλαιο
Σύνδεσμος στην ενότητα: Ο πίνακας για τον οποίο υπάρχει αυτό το κεφάλαιοΤέσσερα πράγματα συγχέονται συνεχώς μεταξύ τους, και η σύγχυση δεν είναι λεξιλογική σχολαστικότητα: η λάθος επιλογή κοστίζει χρήματα σε κάθε στροφή ή σας κοστίζει μια εγγύηση που νομίζατε ότι είχατε.
| System prompt | Skill | Εργαλείο | MCP server | |
|---|---|---|---|---|
| Τι είναι | κείμενο σε κάθε αίτημα | ένας φάκελος του οποίου η ρίζα είναι ένα SKILL.md | ένα JSON Schema συν ένα endpoint στον κώδικά σας | μια διεργασία ή υπηρεσία που μιλά ένα protocol |
| Τι κάνει το μοντέλο | το διαβάζει, πάντα | το διαβάζει, όταν αποφασίσει ότι η περιγραφή ταιριάζει | το καλεί, και περιμένει το αποτέλεσμά σας | το καλεί, μέσω του host, ένας client ανά server |
| Τι κοστίζει | όλο το μήκος του, κάθε στροφή, για πάντα | περίπου 50 token τη στροφή· το σώμα μία φορά, αν χρησιμοποιηθεί | το schema του, κάθε στροφή· εκτέλεση όταν καλείται | κάθε schema συν το instructions του server, κάθε στροφή |
| Τι μπορεί να εγγυηθεί | τίποτα — είναι συμβουλή | τίποτα — είναι συμβουλή που το μοντέλο μπορεί να παραλείψει | όλα όσα επιβάλλει ο κώδικάς σας πριν ενεργήσει | όλα όσα επιβάλλει ο server |
| Ποιος το γράφει | εσείς | εσείς, ένας συνάδελφος ή ένας vendor | εσείς | κάποιος άλλος, για πολλούς hosts |
| Κεφάλαιο | 15 | αυτό | 18 | 26 και 27 |
Οι δύο σειρές με έντονα είναι ολόκληρη η διάκριση. Ένα skill διαβάζεται· ένα εργαλείο invoked. Ένα skill είναι πεζό κείμενο που φτάνει στο context window και ανταγωνίζεται για attention με όλα τα άλλα εκεί μέσα· το μοντέλο μπορεί να το ακολουθήσει, να το διαβάσει λάθος ή να το αγνοήσει, και τίποτα στο σύστημα δεν το αντιλαμβάνεται. Ένα εργαλείο είναι μια κλήση που φεύγει εντελώς από τα χέρια του μοντέλου: ο κώδικάς σας λαμβάνει ορίσματα, τα επικυρώνει, ελέγχει δικαιώματα και αποφασίζει. Το Κεφάλαιο 18 το έθεσε ως το μοντέλο να προτείνει και ο κώδικάς σας να διαθέτει, και αυτή η διαίρεση είναι ακριβώς αυτό που δεν έχει ένα skill.
Άρα έξι πραγματικές περιπτώσεις, λυμένες:
«Απαντήστε στη γλώσσα του χρήστη. Μην δηλώνετε ποτέ τιμή που δεν σας έχει δοθεί.»
Σύνδεσμος στην ενότητα: «Απαντήστε στη γλώσσα του χρήστη. Μην δηλώνετε ποτέ τιμή που δεν σας έχει δοθεί.»System prompt. Εφαρμόζεται σε κάθε στροφή, είναι περιορισμός και όχι διαδικασία, και έχει μήκος δύο προτάσεις. Κάτι που εφαρμόζεται πάντα δεν έχει τίποτα να αποκαλύψει προοδευτικά, και το να πληρώνετε για μια γραμμή discovery σε κάθε στροφή ώστε να αποφύγετε να πληρώνετε για δύο προτάσεις σε κάθε στροφή δεν είναι εξοικονόμηση.
«Πώς γράφουμε release notes εδώ.»
Σύνδεσμος στην ενότητα: «Πώς γράφουμε release notes εδώ.»Skill. Διαδικαστικό, χρειάζεται ίσως σε μία στροφή στις σαράντα, αποσυντίθεται σε φωνή, ταξινόμηση και παραδείγματα, και είναι πεζό κείμενο που θα επεξεργαστεί άνθρωπος. Αυτό είναι το σχήμα για το οποίο σχεδιάστηκε η μορφή, και η παραπάνω μέτρηση είναι αυτό που εξοικονομεί.
«Αναζήτησε μια παραγγελία με το αναγνωριστικό της στη βάση δεδομένων της αποθήκης.»
Σύνδεσμος στην ενότητα: «Αναζήτησε μια παραγγελία με το αναγνωριστικό της στη βάση δεδομένων της αποθήκης.»Εργαλείο. Υπάρχει deterministic function πίσω του και το μοντέλο δεν πρέπει να αυτοσχεδιάσει το query. Το να το γράψετε ως skill — ένα έγγραφο που εξηγεί πώς να γίνει query στην αποθήκη — δίνει στο μοντέλο το schema και ελπίζει. Ένα schema συν ένα endpoint του δίνει απάντηση.
«Διάβασε και γράψε issues στον tracker μας, από κάθε agent product που χρησιμοποιεί η εταιρεία.»
Σύνδεσμος στην ενότητα: «Διάβασε και γράψε issues στον tracker μας, από κάθε agent product που χρησιμοποιεί η εταιρεία.»MCP server. Η δυνατότητα δεν είναι δική σας, τη χρειάζονται αρκετοί hosts, και έχει ιστορία authentication. Αυτό είναι το πρόβλημα με το οποίο άνοιξε το Κεφάλαιο 26, ένα protocol είναι η απάντηση σε αυτό, και το Κεφάλαιο 27 στέλνει ένα δύο φορές. Ένα skill δεν μπορεί να ανακαλυφθεί από host που δεν έχει δει ποτέ το filesystem σας — που είναι ακριβώς το κενό που κλείνει η δουλειά προτυποποίησης στο τέλος αυτού του κεφαλαίου.
«Το brand manual τετρακοσίων σελίδων.»
Σύνδεσμος στην ενότητα: «Το brand manual τετρακοσίων σελίδων.»Κανένα από τα τέσσερα. Είναι γνώση προς αναζήτηση, όχι διαδικασία προς ακολούθηση, και ανήκει σε ένα index που αναζητά ο agent: Κεφάλαιο 19. Το να το συσκευάσετε ως επίπεδο 3 επιτρέπεται και είναι δελεαστικό και λάθος, επειδή το μοντέλο θα έπρεπε να μαντέψει ποιο από σαράντα αρχεία κρατά την απάντηση μόνο από τα ονόματά τους. Αυτό που είναι καλό skill είναι η δισέλιδη διαδικασία που λέει στον agent πότε να αναζητήσει εκείνο το index, τι σημαίνει χαμηλό similarity score, και πώς να παραθέτει αυτό που βρίσκει.
«Ποτέ μην κάνεις refund πάνω από διακόσια ευρώ χωρίς άνθρωπο.»
Σύνδεσμος στην ενότητα: «Ποτέ μην κάνεις refund πάνω από διακόσια ευρώ χωρίς άνθρωπο.»Ένα εργαλείο με approval gate, και ποτέ skill. Αυτή είναι η περίπτωση που έχει σημασία. Γραμμένο σε ένα SKILL.md, το όριο είναι μια πρόταση που το μοντέλο διαβάζει και συνήθως σέβεται· γραμμένο στο εργαλείο refund, είναι ένας κλάδος που τρέχει πριν κινηθούν χρήματα. Ένα όριο που θα σας εξέθετε αν παραβιαζόταν δεν είναι τεκμηρίωση. Ο κανόνας, άξιος απομνημόνευσης: αν η συνέπεια της αγνόησης της οδηγίας είναι χειρότερη από μια κακομορφοποιημένη απάντηση, η οδηγία δεν ανήκει σε έγγραφο.
Από εσωτερική ορολογία σε standard, με τους αριθμούς
Σύνδεσμος στην ενότητα: Από εσωτερική ορολογία σε standard, με τους αριθμούςΗ ιστορία είναι σύντομη, ασυνήθιστα καλά χρονολογημένη, και είναι το μέρος που σχεδόν κανείς δεν λέει.
Τα Agent Skills δημοσιεύτηκαν στις 16 Οκτωβρίου 2025 ως λειτουργία ενός vendor, ορισμένη σε εκείνη την ανακοίνωση ως «οργανωμένοι φάκελοι οδηγιών, scripts και πόρων που οι agents μπορούν να ανακαλύπτουν και να φορτώνουν δυναμικά για να αποδίδουν καλύτερα σε συγκεκριμένες εργασίες», με τα τρία επίπεδα περιγραφόμενα μέσα από μια αναλογία που αξίζει να κρατήσουμε: «σαν ένα καλά οργανωμένο εγχειρίδιο που ξεκινά με έναν πίνακα περιεχομένων, μετά συγκεκριμένα κεφάλαια, και τέλος ένα λεπτομερές παράρτημα».4
Στις 18 Δεκεμβρίου 2025 η ίδια σελίδα ενημερώθηκε για να ανακοινώσει τη μορφή ως ανοιχτό standard, με δική της προδιαγραφή στο agentskills.io, governance ανοιχτό σε συνεισφορές, και validator αναφοράς.3 Διαβασμένο στις 7 Σεπτεμβρίου 2026, το showcase πελατών του standard απαριθμεί σαράντα έξι προϊόντα — editors, terminals, cloud platforms και mobile runtimes, συμπεριλαμβανομένων των first-party coding agents των Anthropic, OpenAI, Google και Mistral — το καθένα με σύνδεσμο στη δική του τεκμηρίωση εγκατάστασης.1
Η σύγκλιση με το MCP γίνεται ανοιχτά, με αριθμούς που μπορείτε να ελέγξετε:
| Τι είναι | Άνοιξε | Κατάσταση στις 7 Σεπ 2026 | |
|---|---|---|---|
| SEP-2076 | Agent Skills as a First-Class MCP Primitive: νέες μέθοδοι skills/list και skills/get, capability skills, notification list_changed | 13 Ιανουαρίου 2026 | έκλεισε, 24 Φεβρουαρίου 2026 |
| Skills Over MCP working group | ορίζει πώς τα skills «ανακαλύπτονται, διανέμονται και καταναλώνονται μέσω MCP»· συνεδριάζει εβδομαδιαία· δεκαεπτά καταγεγραμμένα μέλη, δύο από αυτά leads | interest group 1 Φεβρουαρίου 2026· working group 16 Απριλίου 2026 | ενεργό |
| SEP-2640 | Skills Extension, Extensions Track: σύμβαση resource skill://, extension identifier io.modelcontextprotocol/skills, discovery μέσω skills/list και content μέσω resources/read | 23 Απριλίου 2026 | υπό review |
Το ενδιαφέρον μέρος είναι το κλείσιμο, όχι οι προτάσεις. Το SEP-2076 ζήτησε ένα τέταρτο primitive δίπλα σε tools, resources και prompts. Το working group που σχηματίστηκε από αυτό αποφάσισε ότι η απάντηση ήταν όχι: τα skills κινούνται πάνω στο resources primitive που ήδη υπάρχει, ως opt-in extension.5 Το Κεφάλαιο 26 μέτρησε το ίδιο ένστικτο στο changelog του ίδιου του protocol, όπου sampling, roots και logging αποσύρθηκαν αντί να διατηρηθούν. Ένας οργανισμός standard που αφαιρεί μια πρόταση που συνέταξε συμπεριφέρεται σωστά, και ο λόγος να ειπωθεί αυτή η ιστορία με τους αριθμούς μπροστά είναι ότι οι περιλήψεις που θα διαβάσετε αλλού εξακολουθούν να περιγράφουν τα skills ως MCP primitive.
Πού πάει αυτό μετά
Σύνδεσμος στην ενότητα: Πού πάει αυτό μετάΜπορείτε πλέον να γράψετε ένα SKILL.md, να το χωρίσετε σε τρία επίπεδα που πληρώνουν τον εαυτό τους, να διαβάσετε το frontmatter του skill κάποιου άλλου και να ξέρετε ποια πεδία δεν θα επιβιώσουν αν ανέβουν κάπου αλλού, και να απαντήσετε στο ερώτημα γύρω από το οποίο χτίστηκε όλο το κεφάλαιο — system prompt, skill, tool ή server — με λόγο αντί για συνήθεια.
Αυτό που δεν μπορείτε να κάνετε είναι να πείτε αν το δικό σας λειτουργεί.
Κάθε ισχυρισμός σε αυτό το κεφάλαιο που είχε σημασία ήταν μέτρηση, και εκείνος που είχε τη μεγαλύτερη σημασία ήταν accuracy: 18 στα 24 απέναντι σε 10 στα 24, με ένα διάστημα για το καθένα και ένα paired test ανάμεσά τους, επειδή δύο συγκεντρωτικά που επικαλύπτονται δεν αποφασίζουν τίποτα. Αυτό το όργανο ήταν δανεισμένο. Η περιγραφή ενός skill είναι routing key, το σώμα του είναι μια διαδικασία που το μοντέλο μπορεί να ακολουθήσει ή όχι, και και τα δύο είναι ιδιότητες που μπορείτε να μάθετε μόνο τρέχοντας το πράγμα πολλές φορές και βαθμολογώντας τι επέστρεψε — δηλαδή golden set, grader που γράψατε πριν την εκτέλεση, και metric που ρωτά αν λειτούργησε κάθε φορά αντί για τουλάχιστον μία φορά.
Το Κεφάλαιο 29 είναι αυτό, και ανοίγει με τον αριθμό από τον οποίο εξαρτάται η μέθοδος αυτού του κεφαλαίου: ένας agent που πετυχαίνει επτά στις δέκα φαίνεται σαν 70 %, και το pass^10 του — η πιθανότητα να πετύχει και στις δέκα — είναι μηδέν. Μετρά επίσης τρεις graders στα ίδια διακόσια transcripts και παίρνει 0 %, 13 % και 26 % χωρίς να αναγεννήσει ούτε ένα token. Πριν εμπιστευτείτε την πρόταση που μόλις γράψατε σε ένα description, χρειάζεστε το όργανο που μπορεί να σας πει ότι είναι χειρότερη από εκείνη που αντικαταστήσατε.
Πηγές και μέθοδος
Σύνδεσμος στην ενότητα: Πηγές και μέθοδοςΚάθε μέτρηση token σε αυτό το κεφάλαιο παράχθηκε τοπικά με tiktoken 0.14.0 και το encoding o200k_base, στις 7 Σεπτεμβρίου 2026: πάνω στα πέντε third-party skills που παρατίθενται στην αρχή αυτού του κεφαλαίου, και πάνω στο skill release-notes που γράφτηκε για αυτό το κεφάλαιο, του οποίου το πλήρες κείμενο αναπαράγεται εν μέρει παραπάνω. Το επίπεδο 1 μετριέται ως η μονή γραμμή - name: description που ένας host αποδίδει στο system prompt· το επίπεδο 2 είναι το σώμα του SKILL.md μετά το frontmatter· το επίπεδο 3 είναι κάθε άλλο αρχείο στον φάκελο. Τα κόστη χρησιμοποιούν τις μετρημένες τιμές του Κεφαλαίου 16 για gpt-5.6-terra, $2,00 ανά εκατομμύριο input token και $0,20 ανά εκατομμύριο cached input token, εφαρμοσμένες σε αυτές τις μετρήσεις — είναι αριθμητική πάνω σε μετρημένα token, όχι παρατηρήσεις ζωντανού λογαριασμού. Δεν κλήθηκε καμία paid API για να γραφτεί αυτό το κεφάλαιο.
Το πείραμα ενεργοποίησης έτρεξε το Qwen/Qwen2.5-0.5B-Instruct σε half precision σε μία consumer GPU, greedy decoding, 24 αιτήματα σε έξι skills, δύο φορές — μία με περιγραφές που δηλώνουν τι κάνει το skill και πότε εφαρμόζεται, μία με τις περιγραφές κομμένες σε γυμνό θέμα, στο ύφος του ίδιου του «κακού παραδείγματος» της προδιαγραφής. Τα διαστήματα είναι Wilson στο 95 %· η paired comparison είναι two-sided exact sign test πάνω στις δέκα discordant cases· το Wilson interval είναι του Κεφαλαίου 4 και το exact paired sign test του Κεφαλαίου 15, και τα δύο επαναχρησιμοποιημένα χωρίς αλλαγές. Διαβάστε τα μεγέθη ως ιδιότητα ενός πολύ μικρού μοντέλου και τη μέθοδο ως μεταφέρσιμη.
Τα πέντε skills που μετρήθηκαν εδώ είναι third-party packages, όχι γραμμένα για αυτό το κεφάλαιο: next-best-practices και next-cache-components από vercel-labs/next-skills, και vercel-composition-patterns, vercel-react-best-practices και vercel-react-native-skills από vercel-labs/agent-skills. Οι εσωτερικές μετρήσεις τους — 70 αρχεία κανόνων, AGENTS.md στα 26.362 token, metadata.json με ημερομηνία Ιανουάριο 2026 και ισχυρισμό «40+ κανόνες» — διαβάστηκαν από τα αρχεία στον δίσκο στις 7 Σεπτεμβρίου 2026 και είναι ιδιότητες εκείνης της δημοσιευμένης έκδοσης, όχι κριτικές προς τους συντάκτες τους: κάθε μία από αυτές είναι το είδος drift που εμφανίζεται σε οποιοδήποτε δέντρο τεκμηρίωσης επεξεργάζεται συχνότερα από όσο μετριέται.
Παραπομπές
Σύνδεσμος στην ενότητα: Παραπομπές-
Agent Skills Specification και Overview,
agentskills.io/specificationκαιagentskills.io, διαβάστηκαν στις 7 Σεπτεμβρίου 2026. Πηγή της διάταξης καταλόγου· του πίνακα frontmatter που αναπαράγεται παραπάνω με κάθε περιορισμό (name1–64 χαρακτήρες και αντιστοίχιση με τον κατάλογο,description1–1024 χαρακτήρες,compatibilityέως 500,allowed-toolsεπισημασμένο ως πειραματικό)· των καλών και κακών παραδειγμάτωνdescription· της περιγραφής προοδευτικής αποκάλυψης τριών σταδίων με το token budget της (metadata περίπου 100 token, οδηγίες κάτω από 5.000 προτεινόμενα, πόροι όπως χρειάζεται) και της συμβουλής να κρατάτε τοSKILL.mdκάτω από 500 γραμμές· της σημείωσης ότι «ο agent θα φορτώσει ολόκληρο αυτό το αρχείο μόλις αποφασίσει να ενεργοποιήσει ένα skill»· των συμβάσεωνscripts/,references/καιassets/· της εντολήςskills-ref validate· της δήλωσης ότι η μορφή «αναπτύχθηκε αρχικά από την Anthropic, κυκλοφόρησε ως ανοιχτό standard, και έχει υιοθετηθεί από αυξανόμενο αριθμό agent products»· και του client showcase, που απαριθμούσε σαράντα έξι προϊόντα την ημερομηνία ανάγνωσης. ↩ ↩2 ↩3 ↩4 -
Skills στην τεκμηρίωση του Claude Code,
code.claude.com/docs/en/skills, διαβάστηκε στις 7 Σεπτεμβρίου 2026. Πηγή του πλήρους πίνακα πεδίων που χρησιμοποιείται στην ενότητα «τα πεδία που προσθέτει η υλοποίηση αναφοράς» —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 με το!`command`να τρέχει πριν σταλεί το σώμα, του κανόνα ότι μια παραχώρησηallowed-toolsκαθαρίζεται στο επόμενο μήνυμα, και της σημείωσης compliance ότι έξω από το Claude Code γίνονται δεκτά μόνο τα έξι καθορισμένα πεδία και οποιοδήποτε άλλο προκαλεί hard error σε upload ή packaging. ↩ ↩2 ↩3 -
Agent Skills overview,
platform.claude.com/docs/en/agents-and-tools/agent-skills/overview, διαβάστηκε στις 7 Σεπτεμβρίου 2026. Πηγή του πίνακα επιπέδων με τις τέσσερις στήλες του (Level 1 metadata, πάντα, περίπου 100 token ανά skill· Level 2 instructions, όταν γίνεται triggered, κάτω από 5k token· Level 3+ resources, όπως χρειάζεται, κανένα μέχρι να προσπελαστεί)· της πρότασης που παρατίθεται πλήρως για το bundled content που δεν έχει context penalty· του «μέχρι να γίνει triggered ένα Skill, μόνο το όνομα και η περιγραφή του καταλαμβάνουν context»· της δήλωσης ότι ο κώδικας ενός script δεν μπαίνει ποτέ στο context window και μπαίνει μόνο η έξοδός του· και της ενότητας security, που σας λέει να χρησιμοποιείτε skills μόνο από trusted sources και προειδοποιεί ότι ένα malicious skill «μπορεί να κατευθύνει το Claude να invoke tools ή να execute code με τρόπους που δεν ταιριάζουν με τον δηλωμένο σκοπό του Skill» — το θέμα του Κεφαλαίου 30, που φτάνει μέσω εγγράφου αντί μέσω περιγραφής εργαλείου. ↩ ↩2 ↩3 -
Anthropic, Equipping agents for the real world with Agent Skills, 16 Οκτωβρίου 2025,
anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills, διαβάστηκε στις 7 Σεπτεμβρίου 2026. Πηγή του ορισμού που παρατίθεται παραπάνω, της αναλογίας πίνακα περιεχομένων/κεφαλαίων/παραρτήματος, των τριών επιπέδων όπως περιγράφηκαν αρχικά, και του framing ότι οι agents χρειάζονται «πιο composable, scalable και portable τρόπους» για να τους δοθεί domain expertise. Η συνοδευτική ανακοίνωση προϊόντος στοclaude.com/blog/skillsφέρει την ημερομηνία δημοσίευσης 16 Οκτωβρίου 2025 και την ενημέρωση της 18ης Δεκεμβρίου 2025 που εισήγαγε organization-wide management και το ανοιχτό standard. ↩ -
Skills Over MCP Charter,
modelcontextprotocol.io/community/working-groups/skills-over-mcp, διαβάστηκε στις 7 Σεπτεμβρίου 2026. Πηγή της mission statement που παρατίθεται παραπάνω, των ημερομηνιών changelog (interest group σχηματίστηκε 1 Φεβρουαρίου 2026, αρχικό charter 14 Απριλίου 2026, μετατράπηκε σε working group 16 Απριλίου 2026, SEP-2640 συνδέθηκε 25 Απριλίου 2026), της ηγεσίας και των δεκαεπτά καταγεγραμμένων μελών, του εβδομαδιαίου ρυθμού συναντήσεων, και του κριτηρίου επιτυχίας που ονομάζει το draft Skills Extension ως «formal extension using existing Resources primitives». Το SEP-2076, Agent Skills as a First-Class MCP Primitive,github.com/modelcontextprotocol/modelcontextprotocol/pull/2076, άνοιξε στις 13 Ιανουαρίου 2026 και έκλεισε στις 24 Φεβρουαρίου 2026· πρότεινεskills/list,skills/get, ένα server capabilityskillsκαι notificationskills/list_changed, και όρισε ένα skill ως «named bundle of instructions plus references to tools, prompts, and resources that together teach an agent how to perform a domain-specific workflow». Το SEP-2640, Skills Extension,.../pull/2640, άνοιξε στις 23 Απριλίου 2026 στο Extensions Track και φέρει τη σύμβαση resourceskill://και το extension identifierio.modelcontextprotocol/skills. Το Κεφάλαιο 26 παραθέτει το ίδιο working group ανάμεσα στα optional extensions του protocol. ↩