hermes-share

Share Hermes skills with other users — package skills as ZIP, send via any messaging platform, or create temporary expiring download links. Peer-to-peer skill transfer without ClawHub or GitHub.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "hermes-share" with this command: npx skills add almohalhel1408/hermes-share

Hermes Share — مهارة مشاركة المهارات

مهارة تمكنك من مشاركة مهارات Hermes مع أي شخص آخر، مباشرة عبر أي منصة مراسلة أو عبر رابط مؤقت.

Requirements

RequirementTypePurpose
python3BinaryRun pack_skills.py for ZIP creation & README generation
zipBinaryCreate compressed ZIP archives (built-in on macOS/Linux)
curlBinaryUpload to transfer.sh for temporary link generation
Python stdlib (zipfile, argparse, pathlib, os)LibraryAll built-in, no pip install needed
~/.hermes/skills/ directoryPathSource of skills to package

All dependencies are built-in — no pip packages, no Docker, no external services required for core functionality. curl is only needed for the temporary link delivery option.

المحفزات (Triggers)

استخدم هذه المهارة عندما يقول المستخدم:

  • "شارك مهارة X مع فلان"
  • "أرسل كل مهاراتي لصديقي"
  • "أبغى أشارك المهارات مع أحد"
  • "send/share my skills to someone"
  • أي طلب يتعلق بنقل مهارات من جهاز لآخر

الخطوات (Workflow)

المرحلة ١: تحديد المهارات المطلوبة

اسأل المستخدم (إذا ما كان محدد):

وش المهارات اللي تبغى تشاركها؟
1. مهارة وحدة (حدد الاسم)
2. مجموعة مهارات (حدد الأسماء)
3. كل المهارات اللي عندي

إذا المستخدم محدد من البداية، انتقل للمرحلة ٢ مباشرة.


المرحلة ٢: تجهيز ملفات الشرح الثنائية اللغة (Bilingual README)

⚠️ مهم: قبل حزم المهارات، اقرأ ملف SKILL.md لكل مهارة مطلوبة لتوليد شرح عربي دقيق.

٢.أ — توليد الشرح (تلقائي + يدوي)

# أولاً: شغّل السكربت لتوليد ملف الشرح الأولي (يستخرج الوصف الإنجليزي)
python3 ~/.hermes/skills/devops/hermes-share/scripts/pack_skills.py \
  --skills python-data-analysis,flutter-patterns \
  --desc-only \
  --output ~/Downloads/skills-description.txt

٢.ب — تعزيز الشرح العربي

السكربت يستخرج الوصف الإنجليزي تلقائياً. لكن للعربي:

  1. اقرأ SKILL.md لكل مهارة مطلوبة (استخدم skill_view إذا المهارة محملة)
  2. إذا المهارة فيها ar_description في الـ frontmatter → استخدمها مباشرة
  3. إذا ما فيها → اكتب شرحاً عربياً موجزاً (٢-٤ أسطر):
    • وش تسوي المهارة بالضبط
    • متى تستخدمها
    • أبرز إمكانياتها
  4. شغّل --desc-only لتوليد SKILLS_README.txt الأولي
  5. اقرأ الملف المُولَّد، وعدّل الأقسام العربية فيه
  6. اختيارياً: أضف ar_description لـ SKILL.md المهارة الأصلية عشان المرات الجاية

مرجع: references/bilingual-frontmatter.md — توثيق كامل لاتفاقية ar_description

٢.ج — حزم المهارات مع الشرح

# لمهارة واحدة (يتضمن SKILLS_README.txt تلقائياً)
python3 ~/.hermes/skills/devops/hermes-share/scripts/pack_skills.py \
  --skills python-data-analysis \
  --output ~/Downloads/hermes-skills-share.zip

# لعدة مهارات
python3 ~/.hermes/skills/devops/hermes-share/scripts/pack_skills.py \
  --skills python-data-analysis,power-bi-dax,flutter-patterns \
  --output ~/Downloads/hermes-skills-share.zip

# لكل المهارات
python3 ~/.hermes/skills/devops/hermes-share/scripts/pack_skills.py \
  --all \
  --output ~/Downloads/hermes-skills-share.zip

# إذا تبغى بدون ملف الشرح:
python3 ~/.hermes/skills/devops/hermes-share/scripts/pack_skills.py \
  --skills X \
  --no-desc \
  --output ~/Downloads/hermes-skills-share.zip

📄 كل حزمة ZIP تحتوي تلقائياً على:

  • install.sh — سكربت التثبيت التلقائي
  • SKILLS_README.txt — شرح ثنائي اللغة (عربي + إنجليزي) لكل مهارة ⭐
  • مجلدات المهارات نفسها

ملاحظة أمنية مهمة: السكربت يستبعد تلقائياً أي ملفات تحتوي على:

  • مفاتيح API (يصنفها بـ [SANITIZED])
  • توكنات
  • ملفات .env
  • مجلد memory/
  • بيانات الجلسات sessions/

المرحلة ٣: اختيار طريقة الإرسال

اسأل المستخدم عن طريقة الإرسال المفضلة:

كيف تبغى ترسل المهارات؟
1. عبر المنصة الحالية (اللي نتكلم منها دلوقتي)
2. عبر منصة ثانية (واتساب، تيليجرام، ديسكورد...)
3. رابط مؤقت (ينتهي بعد مدة تحددها)

الخيار أ: الإرسال عبر المنصة الحالية

أرفق الملف مباشرة في الرد:

MEDIA:/Users/abdurrahmanjahfali/Downloads/hermes-skills-share.zip

مع رسالة ترحيبية من قالب templates/share_message.md.

الخيار ب: الإرسال عبر منصة أخرى

إذا المستخدم يبي يرسل عبر منصة ثانية، استخدم منصات Hermes المتاحة. مثلاً للواتساب إذا كان مربوط:

أرسل الملف للشخص على المنصة المحددة مع تعليمات التثبيت

الخيار ج: رابط مؤقت (Expiring Link)

استخدم transfer.sh لإنشاء رابط مؤقت:

# رابط ينتهي بعد ٢٤ ساعة (افتراضي)
curl --upload-file ~/Downloads/hermes-skills-share.zip https://transfer.sh/hermes-skills-$(date +%Y%m%d).zip

# رابط ينتهي بعد ٣ أيام
curl -H "Max-Days: 3" --upload-file ~/Downloads/hermes-skills-share.zip https://transfer.sh/hermes-skills-$(date +%Y%m%d).zip

# رابط ينتهي بعد عدد معين من التحميلات (مثلاً ٥ تحميلات)
curl -H "Max-Downloads: 5" --upload-file ~/Downloads/hermes-skills-share.zip https://transfer.sh/hermes-skills-$(date +%Y%m%d).zip

إذا transfer.sh ما اشتغل (может يكون محظور)، استخدم البدائل:

  • file.io: curl -F "file=@~/Downloads/hermes-skills-share.zip" https://file.io
  • 0x0.st: curl -F "file=@~/Downloads/hermes-skills-share.zip" https://0x0.st

المرحلة ٤: تعليمات التثبيت للطرف الآخر

أرسل رسالة تحتوي على تعليمات التثبيت. استخدم قالب templates/share_message.md واملأ المتغيرات.

الطرف الآخر يحتاج فقط إلى:

# ١. فك الملف المضغوط
unzip hermes-skills-share.zip -d ~/Downloads/hermes-skills-temp/

# ٢. تشغيل سكربت التثبيت التلقائي
bash ~/Downloads/hermes-skills-temp/install.sh

سكربت install.sh (المتضمن تلقائياً داخل كل ZIP) يتولى:

  • نسخ المهارات إلى ~/.hermes/skills/
  • التحقق من عدم وجود تعارضات
  • إظهار ملخص بالمهارات المثبتة

تنبيهات ومحاذير

  1. 🔴 ملف .env لا يُشارك أبداً — السكربت يستبعده تلقائياً
  2. 🔴 الذاكرة الخاصة لا تُشارك — مجلد memory/ مستبعد
  3. 🟡 حجم الملف — بعض المهارات فيها ملفات كبيرة (نماذج، صور). إذا تجاوز 50MB، اسأل المستخدم قبل الإرسال
  4. 🟡 المهارات المدفوعة/الخاصة — تأكد من صلاحية مشاركة المهارة قبل إرسالها
  5. 🟢 المهارات المركّبة من ClawHub — الطرف الآخر يقدر يثبتها مباشرة من ClawHub بدل المشاركة اليدوية (أسهل)
  6. 🟡 transfer.sh — أقصى حجم 10GB، الروابط تنتهي بعد 14 يوم كحد أقصى

الملفات المساعدة

الملفالوظيفة
scripts/pack_skills.pyحزم المهارات في ZIP مع تنظيف تلقائي للبيانات الحساسة
scripts/install_skills.shسكربت التثبيت التلقائي للطرف الآخر (يُدمج داخل ZIP)
templates/share_message.mdقالب رسالة المشاركة مع تعليمات التثبيت
references/bilingual-frontmatter.mdاتفاقية ar_description للشروح الثنائية اللغة

مثال كامل للتنفيذ

المستخدم: "يا سليمان، أرسل مهارات python-data-analysis و flutter-patterns لصديقي على التيليجرام"

التنفيذ:

# ١. تجهيز الحزمة
python3 ~/.hermes/skills/devops/hermes-share/scripts/pack_skills.py \
  --skills python-data-analysis,flutter-patterns \
  --output ~/Downloads/hermes-skills-share.zip

# ٢. إرسال عبر المنصة
# MEDIA:/Users/abdurrahmanjahfali/Downloads/hermes-skills-share.zip
# + رسالة تعليمات التثبيت

المستخدم: "أبغى رابط مؤقت لكل مهاراتي ينتهي بعد ٤٨ ساعة"

التنفيذ:

# ١. تجهيز كل المهارات
python3 ~/.hermes/skills/devops/hermes-share/scripts/pack_skills.py \
  --all \
  --output ~/Downloads/all-hermes-skills.zip

# ٢. رفع للرابط المؤقت
curl -H "Max-Days: 2" --upload-file ~/Downloads/all-hermes-skills.zip \
  https://transfer.sh/all-hermes-skills.zip
# الناتج: https://transfer.sh/xxxxx/all-hermes-skills.zip

صيانة السكربت (Maintenance Notes)

pack_skills.py — argparse هيكلية

عند تعديل السكربت، انتبه إلى:

  • --list، --skills، --all في مجموعة mutually_exclusive_group بدون required=True — هذا يسمح بتمرير --list بدون --skills أو --all.
  • لا تضف --list خارج المجموعة الحصرية — سيسبب تعارض conflicting option string.
  • إذا أضفت flag جديد، تأكد من منطق if args.list: قبل منطق if args.all: في main().

التحقق بعد التعديل

# ١. عرض المهارات (اختبار --list)
python3 ~/.hermes/skills/devops/hermes-share/scripts/pack_skills.py --list

# ٢. حزم مهارة وحدة
python3 ~/.hermes/skills/devops/hermes-share/scripts/pack_skills.py \
  --skills hermes-share --output /tmp/test-pack.zip

# ٣. فحص محتويات ZIP
unzip -l /tmp/test-pack.zip

# ٤. تنظيف
rm /tmp/test-pack.zip

Embedded Files

Why embedded? ClawHub's publish filter only includes .md and .py files. Shell scripts and templates are embedded here so they're always accessible.

install_skills.sh

<details> <summary>📋 install_skills.sh — Auto-installer for recipients (click to expand)</summary>
#!/usr/bin/env bash
# ============================================================
#  Hermes Skills — Auto-Installer
#  المهارات المرسلة عبر hermes-share
# ============================================================
#  طريقة الاستخدام:
#    1. فك الملف المضغوط
#    2. شغّل: bash install.sh
# ============================================================

set -e

HERMES_SKILLS="${HERMES_HOME:-$HOME/.hermes}/skills"
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"

GREEN='\033[0;32m'
YELLOW='\033[1;33m'
CYAN='\033[0;36m'
RED='\033[0;31m'
NC='\033[0m'

echo ""
echo -e "${CYAN}🜔  Hermes Skills Installer${NC}"
echo -e "${CYAN}==========================${NC}"
echo ""

if [[ ! -d "$HERMES_SKILLS" ]]; then
    echo -e "${YELLOW}📁 Creating skills directory: $HERMES_SKILLS${NC}"
    mkdir -p "$HERMES_SKILLS"
fi

INSTALLED=0
SKIPPED=0
FAILED=0

for skill_dir in "$SCRIPT_DIR"/*/; do
    skill_name=$(basename "$skill_dir")
    [[ ! -d "$skill_dir" ]] && continue
    [[ "$skill_name" == "install.sh" ]] && continue

    if [[ ! -f "$skill_dir/SKILL.md" ]]; then
        echo -e "${YELLOW}⚠️  $skill_name — no SKILL.md, skipping...${NC}"
        SKIPPED=$((SKIPPED + 1))
        continue
    fi

    target="$HERMES_SKILLS/$skill_name"
    existing=$(find "$HERMES_SKILLS" -name "$skill_name" -type d -maxdepth 4 2>/dev/null | head -1)

    if [[ -n "$existing" ]]; then
        echo -e "${YELLOW}⏭️  $skill_name — already exists in: $(basename $(dirname $existing))/"
        echo -e "    To update: delete old skill first then reinstall${NC}"
        SKIPPED=$((SKIPPED + 1))
    else
        skill_md="$skill_dir/SKILL.md"
        category=""
        if [[ -f "$skill_md" ]]; then
            category_line=$(head -20 "$skill_md" | grep -i "category:" | head -1 || true)
            if [[ -n "$category_line" ]]; then
                category=$(echo "$category_line" | sed 's/.*category:[[:space:]]*//i' | xargs)
            fi
        fi

        if [[ -n "$category" && "$category" != "general" ]]; then
            target="$HERMES_SKILLS/$category/$skill_name"
        fi

        echo -e "📦 ${GREEN}Installing${NC} $skill_name..."
        mkdir -p "$(dirname "$target")"
        cp -r "$skill_dir" "$target"
        echo -e "   ${GREEN}✓ Done${NC}"
        INSTALLED=$((INSTALLED + 1))
    fi
done

echo ""
echo -e "${CYAN}==========================${NC}"
echo -e "${GREEN}✓ Installed: $INSTALLED skill(s)${NC}"
if [[ $SKIPPED -gt 0 ]]; then
    echo -e "${YELLOW}⏭️  Skipped: $SKIPPED (already exist)${NC}"
fi
echo ""

if [[ $INSTALLED -gt 0 ]]; then
    echo -e "${CYAN}📋 Verify:${NC}"
    echo "   hermes skills list"
    echo ""
    echo -e "${CYAN}💡 Load new skills:${NC}"
    echo "   /reset"
fi
echo ""
</details>

share_message.md

<details> <summary>📨 share_message.md — Message template for recipients (click to expand)</summary>
# 🜔 Hermes Skills — Skill Share

Hello! {{sender_name}} sent you {{skills_count}} Hermes skill(s) 🎉

---

## 📦 Skills Included

{{skills_list}}

---

## 🚀 Installation (2 steps)

**1. Extract the ZIP:**
```bash
unzip {{zip_filename}} -d ~/Downloads/hermes-skills-temp/

2. Run the auto-installer:

bash ~/Downloads/hermes-skills-temp/install.sh

✅ After Install

Verify:

hermes skills list

Start a fresh session:

hermes --continue
# or in-session: /reset

📝 Notes

  • Skills are copied to ~/.hermes/skills/ automatically
  • If a skill already exists, it will be skipped (not overwritten)
  • No API keys or sensitive data are included — automatically sanitized

🔗 Download Link

{{download_link}}

{{expiry_info}}


Sent via Hermes Share 🜔 — {{date}}


</details>

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

devops

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.

Repository SourceNeeds Review
393K131.6Kanthropics
Coding

remotion-best-practices

Use this skills whenever you are dealing with Remotion code to obtain the domain-specific knowledge.

Repository Source
300.7K3.1Kremotion-dev
Coding

github-actions-docs

Use when users ask how to write, explain, customize, migrate, secure, or troubleshoot GitHub Actions workflows, workflow syntax, triggers, matrices, runners, reusable workflows, artifacts, caching, secrets, OIDC, deployments, custom actions, or Actions Runner Controller, especially when they need official GitHub documentation, exact links, or docs-grounded YAML guidance.

Repository Source
124K50xixu-me