Καθώς τα συστήματα AI εξελίσσονται από απλή απάντηση ερωτήσεων σε αυτόνομη εκτέλεση εργασιών, η κατανόηση των **agents** και **skills** γίνεται απαραίτητη. Αυτό το κεφάλαιο εξερευνά πώς τα prompts λειτουργούν ως τα θεμελιώδη δομικά στοιχεία για AI agents, και πώς τα skills πακετάρουν την εμπειρογνωμοσύνη σε επαναχρησιμοποιήσιμα, ολοκληρωμένα σύνολα οδηγιών.

<div className="my-8 p-6 bg-muted/20 rounded-xl border">
  <div className="flex flex-col items-center gap-6">
    <div className="text-center">
      <div className="inline-flex items-center justify-center w-20 h-20 rounded-full bg-blue-100 dark:bg-blue-900/50 border-2 border-blue-300 dark:border-blue-700">
        <IconSettings className="w-10 h-10 text-blue-600 dark:text-blue-400" />
      </div>
      <p className="font-semibold mt-2 m-0!">Agent</p>
      <p className="text-xs text-muted-foreground m-0!">Αυτόνομο σύστημα AI</p>
    </div>
    <div className="flex items-center gap-2 text-muted-foreground text-sm">
      <span>τροφοδοτείται από</span>
      <span>↓</span>
    </div>
    <div className="flex flex-wrap justify-center gap-4">
      <div className="text-center">
        <div className="inline-flex items-center justify-center w-16 h-16 rounded-lg bg-purple-100 dark:bg-purple-900/50 border-2 border-purple-300 dark:border-purple-700">
          <IconStar className="w-8 h-8 text-purple-600 dark:text-purple-400" />
        </div>
        <p className="font-medium text-sm mt-2 m-0!">Skill</p>
        <p className="text-xs text-muted-foreground m-0!">Επαναχρησιμοποιήσιμη εμπειρογνωμοσύνη</p>
      </div>
      <div className="text-center">
        <div className="inline-flex items-center justify-center w-16 h-16 rounded-lg bg-purple-100 dark:bg-purple-900/50 border-2 border-purple-300 dark:border-purple-700">
          <IconStar className="w-8 h-8 text-purple-600 dark:text-purple-400" />
        </div>
        <p className="font-medium text-sm mt-2 m-0!">Skill</p>
        <p className="text-xs text-muted-foreground m-0!">Επαναχρησιμοποιήσιμη εμπειρογνωμοσύνη</p>
      </div>
      <div className="text-center">
        <div className="inline-flex items-center justify-center w-16 h-16 rounded-lg bg-purple-100 dark:bg-purple-900/50 border-2 border-purple-300 dark:border-purple-700">
          <IconStar className="w-8 h-8 text-purple-600 dark:text-purple-400" />
        </div>
        <p className="font-medium text-sm mt-2 m-0!">Skill</p>
        <p className="text-xs text-muted-foreground m-0!">Επαναχρησιμοποιήσιμη εμπειρογνωμοσύνη</p>
      </div>
    </div>
    <div className="flex items-center gap-2 text-muted-foreground text-sm">
      <span>αποτελούμενο από</span>
      <span>↓</span>
    </div>
    <div className="flex flex-wrap justify-center gap-2">
      <div className="px-3 py-2 rounded bg-amber-100 dark:bg-amber-900/50 border border-amber-300 dark:border-amber-700 flex items-center gap-1">
        <IconClipboard className="w-3 h-3 text-amber-600 dark:text-amber-400" />
        <span className="text-xs font-medium">Prompt</span>
      </div>
      <div className="px-3 py-2 rounded bg-amber-100 dark:bg-amber-900/50 border border-amber-300 dark:border-amber-700 flex items-center gap-1">
        <IconClipboard className="w-3 h-3 text-amber-600 dark:text-amber-400" />
        <span className="text-xs font-medium">Prompt</span>
      </div>
      <div className="px-3 py-2 rounded bg-amber-100 dark:bg-amber-900/50 border border-amber-300 dark:border-amber-700 flex items-center gap-1">
        <IconClipboard className="w-3 h-3 text-amber-600 dark:text-amber-400" />
        <span className="text-xs font-medium">Prompt</span>
      </div>
      <div className="px-3 py-2 rounded bg-amber-100 dark:bg-amber-900/50 border border-amber-300 dark:border-amber-700 flex items-center gap-1">
        <IconClipboard className="w-3 h-3 text-amber-600 dark:text-amber-400" />
        <span className="text-xs font-medium">Prompt</span>
      </div>
      <div className="px-3 py-2 rounded bg-amber-100 dark:bg-amber-900/50 border border-amber-300 dark:border-amber-700 flex items-center gap-1">
        <IconClipboard className="w-3 h-3 text-amber-600 dark:text-amber-400" />
        <span className="text-xs font-medium">Prompt</span>
      </div>
    </div>
    <p className="text-xs text-muted-foreground text-center m-0! mt-2">Τα Prompts είναι άτομα → Τα Skills είναι μόρια → Οι Agents είναι πλήρεις δομές</p>
  </div>
</div>

## Τι Είναι οι AI Agents;

Ένας **AI agent** είναι ένα σύστημα AI που μπορεί αυτόνομα να σχεδιάζει, εκτελεί, και επαναλαμβάνει εργασίες. Σε αντίθεση με απλές αλληλεπιδράσεις prompt-απάντησης, οι agents μπορούν:

- **Σχεδιασμός** - Ανάλυση σύνθετων στόχων σε εφαρμόσιμα βήματα
- **Εκτέλεση** - Χρήση εργαλείων και ανάληψη δράσεων στον πραγματικό κόσμο
- **Παρατήρηση** - Επεξεργασία ανατροφοδότησης από τις δράσεις τους
- **Προσαρμογή** - Ρύθμιση της προσέγγισής τους βάσει αποτελεσμάτων
- **Επιμονή** - Διατήρηση context και μνήμης σε αλληλεπιδράσεις

<div className="my-6 flex items-center justify-center p-6 bg-muted/30 rounded-lg">
  <div className="relative">
    <div className="flex items-center gap-3">
      <div className="px-4 py-3 bg-blue-100 dark:bg-blue-900/50 border border-blue-200 dark:border-blue-800 rounded-lg text-center text-sm">
        <p className="font-medium text-blue-700 dark:text-blue-300 m-0!">Στόχος</p>
      </div>
      <div className="text-muted-foreground">→</div>
      <div className="flex flex-col items-center gap-2">
        <div className="flex items-center gap-2 px-4 py-3 bg-muted/50 border border-dashed rounded-lg">
          <div className="px-3 py-2 bg-purple-100 dark:bg-purple-900/50 border border-purple-200 dark:border-purple-800 rounded text-center text-sm">
            <p className="font-medium text-purple-700 dark:text-purple-300 m-0!">Σχεδίασε</p>
          </div>
          <div className="text-muted-foreground">→</div>
          <div className="px-3 py-2 bg-amber-100 dark:bg-amber-900/50 border border-amber-200 dark:border-amber-800 rounded text-center text-sm">
            <p className="font-medium text-amber-700 dark:text-amber-300 m-0!">Εκτέλεσε</p>
          </div>
          <div className="text-muted-foreground">→</div>
          <div className="px-3 py-2 bg-teal-100 dark:bg-teal-900/50 border border-teal-200 dark:border-teal-800 rounded text-center text-sm">
            <p className="font-medium text-teal-700 dark:text-teal-300 m-0!">Παρατήρησε</p>
          </div>
          <div className="text-muted-foreground">→</div>
          <div className="px-3 py-2 bg-rose-100 dark:bg-rose-900/50 border border-rose-200 dark:border-rose-800 rounded text-center text-sm">
            <p className="font-medium text-rose-700 dark:text-rose-300 m-0!">Προσαρμόσου</p>
          </div>
        </div>
        <div className="text-xs text-muted-foreground flex items-center gap-1">
          <span>↺</span> Επανάληψη μέχρι ολοκλήρωσης
        </div>
      </div>
      <div className="text-muted-foreground">→</div>
      <div className="px-4 py-3 bg-green-100 dark:bg-green-900/50 border border-green-200 dark:border-green-800 rounded-lg text-center text-sm">
        <p className="font-medium text-green-700 dark:text-green-300 m-0!">Τέλος</p>
      </div>
    </div>
  </div>
</div>

## Prompts ως Δομικά Στοιχεία

Κάθε agent, όσο εξελιγμένος και αν είναι, χτίζεται από prompts. Όπως τα άτομα συνδυάζονται για να σχηματίσουν μόρια, και τα μόρια συνδυάζονται για να σχηματίσουν σύνθετες δομές, τα prompts συνδυάζονται για να δημιουργήσουν έξυπνη συμπεριφορά agent.

<div className="my-6 grid md:grid-cols-4 gap-3 text-center text-sm">
  <div className="border rounded-lg p-4 bg-blue-50/50 dark:bg-blue-950/20 border-blue-200 dark:border-blue-900">
    <p className="font-semibold text-blue-700 dark:text-blue-300 m-0!">System Prompts</p>
    <p className="text-xs text-blue-600 dark:text-blue-400 m-0! mt-1">Ταυτότητα & Ρόλος</p>
  </div>
  <div className="border rounded-lg p-4 bg-purple-50/50 dark:bg-purple-950/20 border-purple-200 dark:border-purple-900">
    <p className="font-semibold text-purple-700 dark:text-purple-300 m-0!">Planning Prompts</p>
    <p className="text-xs text-purple-600 dark:text-purple-400 m-0! mt-1">Πώς να Σκέφτεσαι</p>
  </div>
  <div className="border rounded-lg p-4 bg-amber-50/50 dark:bg-amber-950/20 border-amber-200 dark:border-amber-900">
    <p className="font-semibold text-amber-700 dark:text-amber-300 m-0!">Tool Prompts</p>
    <p className="text-xs text-amber-600 dark:text-amber-400 m-0! mt-1">Πώς να Ενεργείς</p>
  </div>
  <div className="border rounded-lg p-4 bg-rose-50/50 dark:bg-rose-950/20 border-rose-200 dark:border-rose-900">
    <p className="font-semibold text-rose-700 dark:text-rose-300 m-0!">Recovery Prompts</p>
    <p className="text-xs text-rose-600 dark:text-rose-400 m-0! mt-1">Πώς να Ανακάμπτεις</p>
  </div>
</div>

Αυτοί οι τύποι prompts στοιβάζονται μαζί για να σχηματίσουν πλήρη συμπεριφορά agent:

### System Prompts (Η Ταυτότητα του Agent)

Το θεμελιώδες prompt που καθιερώνει ποιος είναι ο agent και πώς συμπεριφέρεται:

```markdown
Είσαι βοηθός αξιολόγησης κώδικα. Ο ρόλος σου είναι να:
- Αναλύεις κώδικα για bugs, ζητήματα ασφάλειας, και προβλήματα απόδοσης
- Προτείνεις βελτιώσεις ακολουθώντας βέλτιστες πρακτικές
- Εξηγείς τη συλλογιστική σου ξεκάθαρα
- Είσαι εποικοδομητικός και εκπαιδευτικός στην ανατροφοδότηση

Έχεις πρόσβαση σε εργαλεία για ανάγνωση αρχείων, αναζήτηση κώδικα, και εκτέλεση τεστ.
```

### Planning Prompts (Πώς να Σκέφτεσαι)

Οδηγίες που καθοδηγούν τη συλλογιστική και τη διαδικασία σχεδιασμού του agent:

```markdown
Πριν αναλάβεις δράση, πάντα:
1. Κατανόησε το πλήρες αίτημα
2. Ανάλυσέ το σε μικρότερα, επαληθεύσιμα βήματα
3. Αναγνώρισε ποια εργαλεία θα χρειαστείς
4. Εξέτασε ακραίες περιπτώσεις και πιθανά ζητήματα
5. Εκτέλεσε βήμα προς βήμα, επαληθεύοντας καθώς προχωράς
```

### Tool-Use Prompts (Πώς να Ενεργείς)

Καθοδήγηση για το πότε και πώς να χρησιμοποιείς διαθέσιμα εργαλεία:

```markdown
Όταν χρειάζεσαι να κατανοήσεις μια βάση κώδικα:
- Χρησιμοποίησε grep_search για εύρεση συγκεκριμένων μοτίβων
- Χρησιμοποίησε read_file για εξέταση περιεχομένων αρχείου
- Χρησιμοποίησε list_dir για εξερεύνηση δομής καταλόγου
- Πάντα επαλήθευε την κατανόησή σου πριν κάνεις αλλαγές
```

### Recovery Prompts (Πώς να Χειρίζεσαι Αποτυχίες)

Οδηγίες για όταν τα πράγματα πάνε στραβά:

```markdown
Αν μια ενέργεια αποτύχει:
1. Ανάλυσε το μήνυμα σφάλματος προσεκτικά
2. Εξέτασε εναλλακτικές προσεγγίσεις
3. Ζήτα διευκρίνιση αν η εργασία είναι ασαφής
4. Ποτέ μην επαναλαμβάνεις την ίδια αποτυχημένη ενέργεια χωρίς αλλαγές
```

<Callout type="info" title="Η Στοίβα Prompts">
Η συμπεριφορά ενός agent αναδύεται από στρώματα prompts που δουλεύουν μαζί. Το system prompt θέτει το θεμέλιο, τα planning prompts καθοδηγούν τη συλλογιστική, τα tool prompts επιτρέπουν δράση, και τα recovery prompts χειρίζονται αποτυχίες. Μαζί, δημιουργούν συνεκτική, ικανή συμπεριφορά.
</Callout>

## Τι Είναι τα Skills;

Αν τα prompts είναι τα άτομα, **τα skills είναι τα μόρια**—επαναχρησιμοποιήσιμα δομικά στοιχεία που δίνουν στους agents συγκεκριμένες δυνατότητες.

Ένα **skill** είναι ένα ολοκληρωμένο, φορητό πακέτο οδηγιών που δίνει σε έναν AI agent εμπειρογνωμοσύνη σε έναν συγκεκριμένο τομέα ή εργασία. Τα skills είναι τα επαναχρησιμοποιήσιμα blocks των agents: τα χτίζεις μια φορά, και κάθε agent μπορεί να τα χρησιμοποιήσει.

<Callout type="tip" title="Skills = Επαναχρησιμοποιήσιμα Blocks Agents">
Γράψε ένα skill για αξιολόγηση κώδικα μια φορά. Τώρα κάθε coding agent—είτε για Python, JavaScript, ή Rust—μπορεί αμέσως να γίνει εμπειρογνώμονας αξιολόγησης κώδικα φορτώνοντας αυτό το skill. Τα skills σε αφήνουν να χτίζεις δυνατότητες agents σαν τουβλάκια LEGO.
</Callout>

### Ανατομία ενός Skill

Ένα καλά σχεδιασμένο skill συνήθως περιλαμβάνει:

<div className="my-6 grid md:grid-cols-2 gap-4">
  <div className="border rounded-lg p-4 bg-muted/30">
    <p className="font-semibold text-sm m-0! mb-2">📄 SKILL.md (Απαιτείται)</p>
    <p className="text-sm text-muted-foreground m-0!">Το κύριο αρχείο οδηγιών. Περιέχει την κεντρική εμπειρογνωμοσύνη, οδηγίες, και συμπεριφορές που ορίζουν το skill.</p>
  </div>
  <div className="border rounded-lg p-4 bg-muted/30">
    <p className="font-semibold text-sm m-0! mb-2">📚 Έγγραφα Αναφοράς</p>
    <p className="text-sm text-muted-foreground m-0!">Υποστηρικτική τεκμηρίωση, παραδείγματα, και πλαίσιο που ο agent μπορεί να αναφέρεται ενώ εργάζεται.</p>
  </div>
  <div className="border rounded-lg p-4 bg-muted/30">
    <p className="font-semibold text-sm m-0! mb-2">🔧 Scripts & Εργαλεία</p>
    <p className="text-sm text-muted-foreground m-0!">Βοηθητικά scripts, πρότυπα, ή ρυθμίσεις εργαλείων που υποστηρίζουν τη λειτουργικότητα του skill.</p>
  </div>
  <div className="border rounded-lg p-4 bg-muted/30">
    <p className="font-semibold text-sm m-0! mb-2">⚙️ Ρυθμίσεις</p>
    <p className="text-sm text-muted-foreground m-0!">Ρυθμίσεις, παράμετροι, και επιλογές προσαρμογής για προσαρμογή του skill σε διαφορετικά πλαίσια.</p>
  </div>
</div>

### Παράδειγμα: Skill Αξιολόγησης Κώδικα

Δες πώς θα μπορούσε να μοιάζει ένα skill αξιολόγησης κώδικα:

<div className="my-6 border rounded-lg overflow-hidden bg-muted/20">
  <div className="px-3 py-2 bg-muted/50 border-b flex items-center gap-2">
    <span className="text-sm">📁</span>
    <span className="text-sm font-medium">code-review-skill/</span>
  </div>
  <div className="p-3 space-y-1 text-sm font-mono">
    <div className="flex items-center gap-2 px-2 py-1 rounded hover:bg-muted/50">
      <span>📄</span>
      <span className="font-medium">SKILL.md</span>
      <span className="text-muted-foreground text-xs ml-auto">Βασικές οδηγίες αξιολόγησης</span>
    </div>
    <div className="flex items-center gap-2 px-2 py-1 rounded hover:bg-muted/50">
      <span>📄</span>
      <span>security-checklist.md</span>
      <span className="text-muted-foreground text-xs ml-auto">Μοτίβα ασφάλειας</span>
    </div>
    <div className="flex items-center gap-2 px-2 py-1 rounded hover:bg-muted/50">
      <span>📄</span>
      <span>performance-tips.md</span>
      <span className="text-muted-foreground text-xs ml-auto">Οδηγός βελτιστοποίησης</span>
    </div>
    <div className="mt-2 border-t pt-2">
      <div className="flex items-center gap-2 px-2 py-1">
        <span>📁</span>
        <span className="font-medium">language-specific/</span>
      </div>
      <div className="ml-6 space-y-1">
        <div className="flex items-center gap-2 px-2 py-1 rounded hover:bg-muted/50">
          <span>📄</span>
          <span>python.md</span>
          <span className="text-muted-foreground text-xs ml-auto">Βέλτιστες πρακτικές Python</span>
        </div>
        <div className="flex items-center gap-2 px-2 py-1 rounded hover:bg-muted/50">
          <span>📄</span>
          <span>javascript.md</span>
          <span className="text-muted-foreground text-xs ml-auto">Μοτίβα JavaScript</span>
        </div>
        <div className="flex items-center gap-2 px-2 py-1 rounded hover:bg-muted/50">
          <span>📄</span>
          <span>rust.md</span>
          <span className="text-muted-foreground text-xs ml-auto">Οδηγίες Rust</span>
        </div>
      </div>
    </div>
  </div>
</div>

Το αρχείο `SKILL.md` ορίζει τη συνολική προσέγγιση:

```markdown
---
name: code-review
description: Ολοκληρωμένη αξιολόγηση κώδικα με ανάλυση ασφάλειας, απόδοσης, και στυλ
---

# Skill Αξιολόγησης Κώδικα

Είσαι εμπειρογνώμονας αξιολογητής κώδικα. Όταν αξιολογείς κώδικα:

## Διαδικασία
1. **Κατανόηση Πλαισίου** - Τι κάνει αυτός ο κώδικας; Ποιο πρόβλημα λύνει;
2. **Έλεγχος Ορθότητας** - Λειτουργεί; Υπάρχουν λογικά σφάλματα;
3. **Σάρωση Ασφάλειας** - Αναφέρσου στο security-checklist.md για κοινές ευπάθειες
4. **Αξιολόγηση Απόδοσης** - Έλεγξε το performance-tips.md για ευκαιρίες βελτιστοποίησης
5. **Στυλ & Συντηρησιμότητα** - Είναι ο κώδικας αναγνώσιμος και συντηρήσιμος;

## Μορφή Εξόδου
Παρέχε ανατροφοδότηση σε κατηγορίες:
- 🔴 **Κρίσιμο** - Πρέπει να διορθωθεί πριν το merge
- 🟡 **Προτεινόμενο** - Συνιστώμενες βελτιώσεις
- 🟢 **Καλό να έχεις** - Προαιρετικές βελτιώσεις

Πάντα εξήγα *γιατί* κάτι είναι πρόβλημα, όχι μόνο *τι* είναι λάθος.
```

## Skills vs. Απλά Prompts

<div className="my-6 grid md:grid-cols-2 gap-4">
  <div className="border rounded-lg bg-muted/30">
    <p className="text-sm font-semibold px-4 pt-3 m-0!">Απλό Prompt</p>
    <div className="text-sm p-4 pt-2 space-y-2">
      <p className="m-0!">Μεμονωμένη οδηγία</p>
      <p className="m-0!">Μιας χρήσης</p>
      <p className="m-0!">Περιορισμένο πλαίσιο</p>
      <p className="m-0!">Γενική προσέγγιση</p>
      <p className="m-0!">Χωρίς υποστηρικτικό υλικό</p>
    </div>
  </div>
  <div className="border rounded-lg bg-primary/5 border-primary/20">
    <p className="text-sm font-semibold px-4 pt-3 m-0!">Skill</p>
    <div className="text-sm p-4 pt-2 space-y-2">
      <p className="m-0!">Ολοκληρωμένο σύνολο οδηγιών</p>
      <p className="m-0!">Επαναχρησιμοποιήσιμο σε projects</p>
      <p className="m-0!">Πλούσιο πλαίσιο με αναφορές</p>
      <p className="m-0!">Τομεακή εμπειρογνωμοσύνη</p>
      <p className="m-0!">Υποστηρικτικά έγγραφα, scripts, ρυθμίσεις</p>
    </div>
  </div>
</div>

## Χτίζοντας Αποτελεσματικά Skills

### 1. Όρισε την Εμπειρογνωμοσύνη Ξεκάθαρα

Ξεκίνα με σαφή περιγραφή του τι επιτρέπει το skill:

```markdown
---
name: api-design
description: Σχεδίαση RESTful APIs ακολουθώντας βέλτιστες πρακτικές της βιομηχανίας, 
  συμπεριλαμβανομένης εκδοσιοποίησης, χειρισμού σφαλμάτων, και προτύπων τεκμηρίωσης
---
```

### 2. Δόμησε τη Γνώση Ιεραρχικά

Οργάνωσε πληροφορίες από γενικές σε ειδικές:

```markdown
# Skill Σχεδίασης API

## Βασικές Αρχές
- Οι πόροι πρέπει να είναι ουσιαστικά, όχι ρήματα
- Χρησιμοποίησε μεθόδους HTTP σημασιολογικά
- Εκδοσιοποίησε τα APIs σου από την πρώτη μέρα

## Λεπτομερείς Οδηγίες
[Πιο ειδικοί κανόνες...]

## Υλικό Αναφοράς
- Δες `rest-conventions.md` για συμβάσεις ονομασίας
- Δες `error-codes.md` για τυπικές απαντήσεις σφαλμάτων
```

### 3. Συμπεριέλαβε Συγκεκριμένα Παραδείγματα

Οι αφηρημένοι κανόνες γίνονται σαφείς με παραδείγματα:

```markdown
## Ονομασία Endpoints

✅ Καλό:
- GET /users/{id}
- POST /orders
- DELETE /products/{id}/reviews/{reviewId}

❌ Αποφυγή:
- GET /getUser
- POST /createNewOrder
- DELETE /removeProductReview
```

### 4. Παρέχε Πλαίσια Αποφάσεων

Βοήθησε τον agent να κάνει επιλογές σε ασαφείς καταστάσεις:

```markdown
## Πότε να Χρησιμοποιείς Pagination

Χρησιμοποίησε pagination όταν:
- Η συλλογή μπορεί να υπερβεί τα 100 στοιχεία
- Το μέγεθος απάντησης επηρεάζει την απόδοση
- Ο client μπορεί να μη χρειάζεται όλα τα στοιχεία

Χρησιμοποίησε πλήρη απάντηση όταν:
- Η συλλογή είναι πάντα μικρή (<20 στοιχεία)
- Ο client συνήθως χρειάζεται τα πάντα
- Η πραγματικού χρόνου συνέπεια είναι κρίσιμη
```

### 5. Πρόσθεσε Μοτίβα Ανάκαμψης

Πρόβλεψε τι μπορεί να πάει στραβά:

```markdown
## Κοινά Ζητήματα

**Πρόβλημα**: Ο client χρειάζεται πεδία που δεν είναι στην τυπική απάντηση
**Λύση**: Υλοποίησε επιλογή πεδίων: GET /users?fields=id,name,email

**Πρόβλημα**: Χρειάζονται αλλαγές που σπάνε συμβατότητα
**Λύση**: Δημιούργησε νέα έκδοση, απόσυρε την παλιά με χρονοδιάγραμμα
```

## Σύνθεση Skills

Οι agents γίνονται ισχυροί όταν πολλαπλά skills δουλεύουν μαζί. Εξέτασε πώς τα skills μπορούν να συμπληρώνουν το ένα το άλλο:

<div className="my-6 flex flex-wrap items-center justify-center gap-4 p-6 bg-muted/30 rounded-lg">
  <div className="px-4 py-2 bg-blue-100 dark:bg-blue-900/50 border border-blue-200 dark:border-blue-800 rounded-lg text-sm font-medium text-blue-700 dark:text-blue-300">
    Αξιολόγηση Κώδικα
  </div>
  <div className="text-xl">+</div>
  <div className="px-4 py-2 bg-purple-100 dark:bg-purple-900/50 border border-purple-200 dark:border-purple-800 rounded-lg text-sm font-medium text-purple-700 dark:text-purple-300">
    Έλεγχος Ασφάλειας
  </div>
  <div className="text-xl">+</div>
  <div className="px-4 py-2 bg-green-100 dark:bg-green-900/50 border border-green-200 dark:border-green-800 rounded-lg text-sm font-medium text-green-700 dark:text-green-300">
    Τεκμηρίωση
  </div>
  <div className="text-xl">=</div>
  <div className="px-4 py-2 bg-amber-100 dark:bg-amber-900/50 border border-amber-200 dark:border-amber-800 rounded-lg text-sm font-medium text-amber-700 dark:text-amber-300">
    Πλήρης Agent Ποιότητας Κώδικα
  </div>
</div>

Όταν συνθέτεις skills, βεβαιώσου ότι δεν συγκρούονται. Τα skills πρέπει να είναι:

- **Αρθρωτά** - Κάθε skill χειρίζεται έναν τομέα καλά
- **Συμβατά** - Τα skills δεν πρέπει να δίνουν αντικρουόμενες οδηγίες
- **Με προτεραιότητα** - Όταν τα skills επικαλύπτονται, όρισε ποιο έχει προτεραιότητα

## Κοινοποίηση και Ανακάλυψη Skills

Τα skills έχουν τη μεγαλύτερη αξία όταν μοιράζονται. Πλατφόρμες όπως το [prompts.chat](https://prompts.chat/skills) σου επιτρέπουν να:

- **Ανακαλύψεις** skills που δημιουργήθηκαν από την κοινότητα για κοινές εργασίες
- **Κατεβάσεις** skills απευθείας στα projects σου
- **Μοιραστείς** τη δική σου εμπειρογνωμοσύνη ως επαναχρησιμοποιήσιμα skills
- **Επαναλάβεις** σε skills βάσει χρήσης πραγματικού κόσμου

<Callout type="tip" title="Ξεκίνα με Skills Κοινότητας">
Πριν χτίσεις ένα skill από το μηδέν, έλεγξε αν κάποιος έχει ήδη λύσει το πρόβλημά σου. Τα skills κοινότητας είναι δοκιμασμένα στη μάχη και συχνά καλύτερα από το να ξεκινάς από το μηδέν.
</Callout>

## Το Οικοσύστημα Agent-Skill

Η σχέση μεταξύ agents και skills δημιουργεί ένα ισχυρό οικοσύστημα:

<div className="my-6 p-6 bg-muted/30 rounded-lg border">
  <div className="text-center mb-4">
    <span className="text-sm font-semibold text-muted-foreground">AI Agent</span>
  </div>
  <div className="flex flex-wrap justify-center gap-3 mb-4">
    <div className="px-4 py-3 bg-blue-100 dark:bg-blue-900/50 border border-blue-200 dark:border-blue-800 rounded-lg text-center">
      <p className="font-medium text-blue-700 dark:text-blue-300 text-sm m-0!">Αξιολόγηση Κώδικα</p>
      <p className="text-xs text-blue-600 dark:text-blue-400 m-0!">Skill 1</p>
    </div>
    <div className="px-4 py-3 bg-purple-100 dark:bg-purple-900/50 border border-purple-200 dark:border-purple-800 rounded-lg text-center">
      <p className="font-medium text-purple-700 dark:text-purple-300 text-sm m-0!">Σχεδίαση API</p>
      <p className="text-xs text-purple-600 dark:text-purple-400 m-0!">Skill 2</p>
    </div>
    <div className="px-4 py-3 bg-teal-100 dark:bg-teal-900/50 border border-teal-200 dark:border-teal-800 rounded-lg text-center">
      <p className="font-medium text-teal-700 dark:text-teal-300 text-sm m-0!">Συγγραφή Tests</p>
      <p className="text-xs text-teal-600 dark:text-teal-400 m-0!">Skill 3</p>
    </div>
  </div>
  <div className="flex justify-center mb-3">
    <div className="text-muted-foreground">↓</div>
  </div>
  <div className="flex justify-center">
    <div className="px-6 py-4 bg-amber-100 dark:bg-amber-900/50 border border-amber-200 dark:border-amber-800 rounded-lg text-center">
      <p className="font-semibold text-amber-700 dark:text-amber-300 text-sm m-0!">Βασικά Prompts</p>
      <p className="text-xs text-amber-600 dark:text-amber-400 m-0!">Σχεδιασμός • Εργαλεία • Ανάκαμψη • Μνήμη</p>
    </div>
  </div>
</div>

Ο agent παρέχει το πλαίσιο εκτέλεσης—σχεδιασμός, χρήση εργαλείων, και μνήμη—ενώ τα skills παρέχουν τομεακή εμπειρογνωμοσύνη. Αυτός ο διαχωρισμός σημαίνει:

- **Τα skills είναι φορητά** - Το ίδιο skill δουλεύει με διαφορετικούς agents
- **Οι agents είναι επεκτάσιμοι** - Πρόσθεσε νέες δυνατότητες προσθέτοντας skills
- **Η εμπειρογνωμοσύνη είναι κοινοποιήσιμη** - Ειδικοί τομέων μπορούν να συνεισφέρουν skills χωρίς να χτίζουν πλήρεις agents

## Βέλτιστες Πρακτικές

### Για Χτίσιμο Skills

1. **Ξεκίνα ειδικά, μετά γενίκευσε** - Χτίσε ένα skill για την ακριβή περίπτωση χρήσης σου πρώτα, μετά αφαίρεσε
2. **Συμπεριέλαβε περιπτώσεις αποτυχίας** - Τεκμηρίωσε τι δεν μπορεί να κάνει το skill και πώς να το χειριστείς
3. **Εκδοσιοποίησε τα skills σου** - Παρακολούθησε αλλαγές ώστε οι agents να μπορούν να εξαρτώνται από σταθερές εκδόσεις
4. **Δοκίμασε με πραγματικές εργασίες** - Επαλήθευσε skills έναντι πραγματικής δουλειάς, όχι μόνο θεωρίας

### Για Χρήση Skills με Agents

1. **Διάβασε το skill πρώτα** - Κατανόησε τι κάνει ένα skill πριν το αναπτύξεις
2. **Προσάρμοσε στοχαστικά** - Παράκαμψε προεπιλογές skill μόνο όταν είναι απαραίτητο
3. **Παρακολούθησε την απόδοση** - Παρακολούθησε πόσο καλά αποδίδουν τα skills στο πλαίσιό σου
4. **Συνεισφέρε βελτιώσεις** - Όταν βελτιώνεις ένα skill, σκέψου να το μοιραστείς πίσω

<Callout type="info" title="Το Μέλλον είναι Συνθέσιμο">
Καθώς οι AI agents γίνονται πιο ικανοί, η ικανότητα σύνθεσης, κοινοποίησης, και προσαρμογής skills θα γίνει μια βασική ικανότητα. Οι prompt engineers του αύριο δεν θα γράφουν απλά prompts—θα αρχιτεκτονούν οικοσυστήματα skills που κάνουν τους AI agents γνήσιους ειδικούς σε συγκεκριμένους τομείς.
</Callout>

<Quiz 
  question="Ποια είναι η βασική διαφορά μεταξύ ενός απλού prompt και ενός skill;"
  options={[
    "Τα skills είναι μεγαλύτερα από τα prompts",
    "Τα skills είναι επαναχρησιμοποιήσιμα, πακέτα πολλαπλών αρχείων που δίνουν στους agents τομεακή εμπειρογνωμοσύνη",
    "Τα skills δουλεύουν μόνο με συγκεκριμένα μοντέλα AI",
    "Τα skills δεν απαιτούν κανένα prompt"
  ]}
  correctIndex={1}
  explanation="Τα skills είναι ολοκληρωμένα, φορητά πακέτα που συνδυάζουν πολλαπλά prompts, έγγραφα αναφοράς, scripts, και ρυθμίσεις. Είναι επαναχρησιμοποιήσιμα δομικά στοιχεία που μπορούν να προστεθούν σε οποιονδήποτε agent για να του δώσουν συγκεκριμένες δυνατότητες."
/>

<Quiz 
  question="Τι είναι ο βρόχος agent;"
  options={[
    "Μια τεχνική αποσφαλμάτωσης για σφάλματα AI",
    "Σχεδίασε → Εκτέλεσε → Παρατήρησε → Προσαρμόσου, επαναλαμβανόμενο μέχρι να επιτευχθεί ο στόχος",
    "Ένας τρόπος να αλυσοδέσεις πολλαπλά prompts μαζί",
    "Μια μέθοδος για εκπαίδευση νέων μοντέλων AI"
  ]}
  correctIndex={1}
  explanation="Οι AI agents δουλεύουν σε έναν συνεχή βρόχο: σχεδιάζουν πώς να προσεγγίσουν μια εργασία, εκτελούν ενέργειες, παρατηρούν τα αποτελέσματα, και προσαρμόζουν την προσέγγισή τους βάσει ανατροφοδότησης—επαναλαμβάνοντας μέχρι να ολοκληρωθεί ο στόχος."
/>

<Quiz 
  question="Γιατί τα skills περιγράφονται ως 'επαναχρησιμοποιήσιμα blocks agents';"
  options={[
    "Επειδή μπορούν να χρησιμοποιηθούν μόνο μια φορά",
    "Επειδή είναι γραμμένα σε γλώσσα προγραμματισμού blocks",
    "Επειδή οποιοσδήποτε agent μπορεί να φορτώσει ένα skill για να αποκτήσει αυτή τη δυνατότητα αμέσως",
    "Επειδή τα skills αντικαθιστούν την ανάγκη για agents"
  ]}
  correctIndex={2}
  explanation="Τα skills είναι φορητά πακέτα εμπειρογνωμοσύνης. Γράψε ένα skill αξιολόγησης κώδικα μια φορά, και οποιοσδήποτε coding agent μπορεί να γίνει εμπειρογνώμονας αξιολογητής κώδικα φορτώνοντας αυτό το skill—σαν τουβλάκια LEGO που κουμπώνουν σε οποιαδήποτε δομή."
/>
