---
name: skill-corner-post
description: כתיבת פוסט "פינת הסקיל" לערוץ הטלגרם AndroidAndAI בפורמט הקבוע - כותרת, הבעיה שהסקיל פותר, מתי להשתמש, מקור, גיטהאב והודעת ZIP נפרדת, ודחיפתו לערוץ דרך קונקטור Postproxy. השתמש בסקיל הזה תמיד כשהמשתמש מבקש "תעשה פינת סקיל", "פוסט סקיל לערוץ", "תכתוב על הסקיל X לערוץ", מזכיר "פינת הסקיל", או מעביר לינק/README/תיאור של סקיל ומבקש להפוך אותו לפוסט. השתמש בו גם אם המשתמש לא אמר במפורש "פינת הסקיל" אבל ברור שהוא רוצה להציג סקיל לקהל הערוץ. Do NOT use for other marketing or social posts, which need marketing-content or israeli-social-content, and do NOT use for creating or improving a skill, which needs skill-forge.
---

# פינת הסקיל — פוסט לערוץ טלגרם

סקיל זה מייצר פוסט מוכן להדבקה לערוץ @AndroidAndAI, בפורמט קבוע שחוזר בכל פעם.

## מה צריך לקבל מהמשתמש לפני שכותבים

אם חסר משהו מהרשימה — לבקש, לא להמציא:

1. שם הסקיל ומה הוא עושה (README, תיאור, או לינק)
2. קישור למקור (התיעוד/האתר הרשמי)
3. קישור לריפו בגיטהאב
4. האם יש קובץ ZIP מוכן, או שצריך לייצר אותו מתיקיית הסקיל

אם המשתמש נתן רק לינק — לקרוא אותו לפני הכתיבה. לא לנחש מה הסקיל עושה על סמך השם.

## מבנה הפוסט — לשמור בדיוק על הסדר הזה

```
**> פינת הסקיל**

_[כותרת — שורה אחת שאומרת מה הסקיל עושה]_


**הבעיה שהסקיל פותר**
[אימוג'י אייקון מונפש רלוונטי לתחום] [משפט פתיחה שמתאר את התחום] מביאה אתגרים שסוכנים נוטים להיכשל בהם:
- [כשל 1],
- [כשל 2],
- [כשל 3],
- ו[כשל 4].


**מתי להשתמש בסקיל הבא?**
✔️ כש[פעולה 1]
✔️ כש[פעולה 2]
✔️ כש[פעולה 3]
✔️ כש[פעולה 4]
✔️ כש[פעולה 5]


**מקור:** [כאן](URL)

**גיטהאב:** [לחץ עליי](URL)  [אימוג'י אייקון גיטהאב מונפש]


**קובץ ZIP עם קבצי הסקיל ארוזים בתוכו בהודעה הבאה**
```

מיד אחרי הפוסט, קובץ ה-ZIP נשלח כהודעה נפרדת בערוץ. ראה את סעיף הדחיפה למטה — הוא לא עובר דרך הקונקטור.

## כללי כתיבה

**הכותרת** — שורה אחת בנטוי מתחת ל"פינת הסקיל", שאומרת מה הסקיל עושה בשפה של מי שמשתמש בו, לא בשפה של מי שכתב אותו. עברית, עד כ-50 תווים, בלי נקודה בסוף ובלי שם הסקיל באנגלית. היא צריכה לעמוד לבד: מי שקורא רק אותה יודע אם הפוסט רלוונטי לו. למשל "בניית דפי נחיתה בעברית תקנית מלאה" ולא "סקיל לעיצוב".

**"הבעיה שהסקיל פותר"** — זה החלק שמוכר את הסקיל, והוא חייב להיות קונקרטי. כל כשל צריך להיות משהו שבאמת קורה ואפשר לזהות: שם ספרייה, שם API, סוג באג. לא "קשה לעבוד עם X" אלא "בחירת פריימוורק לא מתאים (grammY, Telegraf, python-telegram-bot)". 3-5 כשלים, שורה לכל אחד, פסיק בסוף וו' חיבור לפני האחרון.

**"מתי להשתמש"** — כל שורה מתחילה ב-"כש" ומתארת רגע קונקרטי בעבודה, לא תחום כללי. 4-6 שורות. הן צריכות לכסות טווח: התחלה, פרודקשן, מקרי קצה, דיפלוי.

**מונחים טכניים** — להשאיר באנגלית (webhook, RTL, deploy, framework). לא לתרגם בכוח. שמות ספריות ומוצרים תמיד באנגלית.

**אורך** — הפוסט כולו לא יעבור 1,600 תווים. אם הוא ארוך יותר, לקצר את רשימת הכשלים ולא את "מתי להשתמש".

**מה לא לעשות** — בלי הייפ ("מהפכני", "משנה חיים"), בלי סימני קריאה מרובים, בלי אימוג'ים בתוך גוף הטקסט מעבר לאלה שבתבנית.

## קריאה לפעולה

בסוף הפוסט, אחרי שורת ה-ZIP, להוסיף שורה שמזמינה תגובות. לגוון בין הפוסטים — למשל: "השתמשתם? ספרו לי מה עבד ומה לא", "יש לכם סקיל שאתם רוצים שאפרסם? כתבו לי", "איזה סקיל תרצו לראות כאן בשבוע הבא?".

## ייצור ה-ZIP

אם המשתמש נתן תיקיית סקיל וצריך לארוז אותה:

```bash
cd <parent-dir> && zip -r <skill-name>.zip <skill-name>/ -x "*.DS_Store" "*/__pycache__/*" "*.git/*"
```

שם הקובץ = שם הסקיל בדיוק, kebab-case, סיומת .zip. לוודא שהתיקייה בתוך ה-ZIP ולא רק הקבצים.

## דחיפה לערוץ דרך Postproxy

הערוץ מחובר כקונקטור, ואפשר לפרסם ישירות. להראות למשתמש את הטקסט הסופי ולקבל אישור לפני הפרסום — פרסום לערוץ הוא פעולה שקשה לבטל.

**היעד.** `profiles_list` מחזיר את הפרופיל `Android & Ai` בפלטפורמת telegram. `profiles_placements` על אותו פרופיל מחזיר שני יעדים באותו שם: הערוץ (`chat_type: channel`, שם משתמש AndroidAndAI) והקבוצה המקושרת (`chat_type: supergroup`). לפרסם לערוץ. לאמת את המזהים בקריאה ולא לשמור אותם בזיכרון — הם משתנים.

**פורמט.** להעביר את הטקסט ל-HTML ולא ל-MarkdownV2. ה-escaping של MarkdownV2 שובר עברית עם סוגריים, מקפים ונקודות. ההמרה:

| בתבנית | ב-HTML |
|---|---|
| `**> פינת הסקיל**` | `<blockquote><b>פינת הסקיל</b></blockquote>` |
| `**טקסט**` | `<b>טקסט</b>` |
| `_כותרת_` | `<i>כותרת</i>` |
| `[טקסט](URL)` | `<a href="URL">טקסט</a>` |

**escaping.** לפני שמוסיפים תגיות, להבריח בטקסט עצמו `&` ל-`&amp;`, ואז `<` ל-`&lt;` ו-`>` ל-`&gt;`. הסדר חשוב — אחרת ה-`&` של הישויות שיצרת יקודד שוב. זה לא תיאורטי: פוסט על סקיל RTL מזכיר `<bdi>`, ושם מוצר מכיל `&`. תו אחד לא מוברח מפיל את כל ההודעה, לא רק את המילה. את התגיות שאתה מוסיף בעצמך (`<b>`, `<a>`) לא מבריחים.

**הקריאה.** `post_publish` מקבל `content` ו-`profiles` — מזהה הפרופיל מ-`profiles_list`, ובלעדיו הקריאה נכשלת. תחת `platforms.telegram`: `chat_id` של הערוץ, `parse_mode: HTML`, ו-`disable_link_preview: true` — אחרת הלינק לגיטהאב מייצר כרטיס תצוגה מקדימה בתחתית הפוסט. להריץ קודם עם `require_confirmation: true` כדי לראות מה נשלח, ואז שוב בלי. לתת `idempotency_key` שכולל את שם הסקיל והתאריך, כדי ששליחה חוזרת לא תכפיל את הפוסט.

**אחרי הפרסום.** הסטטוס הראשון שחוזר הוא `pending`, וזו קבלה לתור ולא פרסום. לוודא ב-`post_status` שהיעד של telegram יצא מ-`pending` ושיש לו URL לפוסט, ורק אז לדווח שהפוסט עלה. אם הוא נשאר `pending` או חזר עם שגיאה — להגיד את זה למשתמש כמו שהוא, ולא להניח שזה עניין של זמן.

**ה-ZIP לא עובר דרך Postproxy** — שדה המדיה מקבל תמונות ווידאו בלבד, וגם אילו קיבל: ברגע שמצורפת מדיה, מגבלת הטקסט של טלגרם יורדת מ-4,096 ל-1,024 תווים, כלומר מתחת לאורך של הפוסט. למסור את הקובץ למשתמש שישלח אותו ידנית בהודעה שאחרי הפוסט, ולומר לו את זה במפורש כדי שהשורה "בהודעה הבאה" לא תישאר בלי המשך.

## בדיקה לפני מסירה

- כל המקטעים קיימים ובסדר הנכון
- הכותרת עומדת לבד ואינה חוזרת על מה שכתוב בסקשן הבעיה
- שני הקישורים אמיתיים ולא placeholder
- אין שורות שבורות באמצע משפט (טלגרם שובר לבד לפי רוחב המסך)
- שמות הספריות נכתבו נכון בדיוק
- הפוסט מתחת ל-1,600 תווים

למסור למשתמש את הטקסט הסופי כבלוק אחד להעתקה, בלי הערות באמצע.
