refly

Par refly-ai · refly

Compétence de base pour l'écosystème Refly : crée, découvre et exécute des compétences spécifiques à un domaine liées à des workflows. Achemine l'intention de l'utilisateur vers les compétences de domaine correspondantes via des symlinks, et délègue l'exécution au backend Refly. À utiliser lorsque l'utilisateur demande à : créer des compétences, exécuter des workflows, automatiser des tâches en plusieurs étapes ou gérer des pipelines. Déclencheurs : refly, skill, workflow, run skill, create skill, automation, pipeline. Prérequis : @refly/cli installé et authentifié.

npx skills add https://github.com/refly-ai/refly --skill refly

Refly

Règles

  1. CLI uniquement - Utilise refly <command>, ne jamais appeler l'API directement.
  2. Fais confiance au JSON - Fais uniquement confiance au JSON du CLI (ok, payload, error, hint).
  3. Pas d'IDs fabriquées - Ne jamais inventer d'IDs workflow/run/node.
  4. Pas de tokens - Ne jamais imprimer ou demander de tokens d'authentification.
  5. Arrête en cas d'erreur - Si ok=false, arrête et affiche hint.

Commandes disponibles

Commande Format ID Description
refly status - Vérifier l'état d'authentification et de connexion
refly login - S'authentifier avec Refly
refly skill list - Lister toutes les compétences disponibles dans la marketplace
refly skill installations - Lister tes compétences installées (récupère l'installationId ici)
refly skill run --id <installationId> --input '<json>' skpi-xxx Exécuter une compétence installée, retourne runId (we-xxx)
refly workflow status <runId> --watch we-xxx Suivre l'état d'exécution du workflow
refly workflow detail <runId> we-xxx Obtenir les détails de l'exécution du workflow
refly workflow toolcalls <runId> --files --latest we-xxx Obtenir les fichiers du dernier toolcall
refly file download <fileId> -o <path> df-xxx Télécharger un fichier

Conseil : Récupère installationId (skpi-xxx) depuis refly skill installations.

Options des commandes

Commande Option Description
workflow status --watch Interroger jusqu'à la fin du workflow
workflow status --interval <ms> Intervalle d'interrogation en millisecondes (défaut : 5000)
workflow toolcalls --files Retourner une sortie simplifiée avec seulement les fichiers et contenu
workflow toolcalls --latest Avec --files, retourner seulement les fichiers du toolcall le plus récent
workflow toolcalls --raw Désactiver l'assainissement de sortie (afficher les sorties d'outils complètes)

Recommandé : Utilise --files --latest pour obtenir les fichiers de la sortie finale sans traiter tous les toolcalls.

Catégories de compétences & Modèles d'exécution

Choisis le modèle d'exécution en fonction du type de sortie de la compétence :

Catégorie Compétences Sortie Modèle
Génération de fichiers image, video, audio skills Fichiers (png/mp4/mp3) Exécuter → Attendre → Télécharger → Ouvrir
Texte/Données search, research, report skills Contenu texte Exécuter → Attendre → Extraire contenu
Action email, messaging, integration skills Confirmation de statut Exécuter → Attendre → Confirmer

Modèle A : Compétences de génération de fichiers

À utiliser pour : nano-banana-pro, fal-image, fal-video, fal-audio, seedream-image, kling-video, wan-video

# Étape 1 : Exécuter et capturer RUN_ID
RESULT=$(refly skill run --id <installationId> --input '<json>')
RUN_ID=$(echo "$RESULT" | jq -r '.payload.workflowExecutions[0].id')

# Étape 2 : Attendre la fin
refly workflow status "$RUN_ID" --watch --interval 30000

# Étape 3 : Obtenir les fichiers et télécharger sur le Bureau
FILES=$(refly workflow toolcalls "$RUN_ID" --files --latest | jq -r '.payload.files[]')
echo "$FILES" | jq -c '.' | while read -r file; do
  FILE_ID=$(echo "$file" | jq -r '.fileId')
  FILE_NAME=$(echo "$file" | jq -r '.name')
  if [ -n "$FILE_ID" ] && [ "$FILE_ID" != "null" ]; then
    refly file download "$FILE_ID" -o "$HOME/Desktop/${FILE_NAME}"
    open "$HOME/Desktop/${FILE_NAME}"
  fi
done

Modèle B : Compétences texte/données

À utiliser pour : jina, perplexity, weather-report, exa, research skills

# Étape 1 : Exécuter et capturer RUN_ID
RESULT=$(refly skill run --id <installationId> --input '<json>')
RUN_ID=$(echo "$RESULT" | jq -r '.payload.workflowExecutions[0].id')

# Étape 2 : Attendre la fin
refly workflow status "$RUN_ID" --watch --interval 30000

# Étape 3 : Extraire le contenu texte des toolcalls
CONTENT=$(refly workflow toolcalls "$RUN_ID" --files --latest | jq -r '.payload.nodes[].content')
echo "$CONTENT"

Modèle C : Compétences d'action

À utiliser pour : send-email, slack, microsoft-teams, zoom, calendar, CRM integrations

# Étape 1 : Exécuter et capturer RUN_ID
RESULT=$(refly skill run --id <installationId> --input '<json>')
RUN_ID=$(echo "$RESULT" | jq -r '.payload.workflowExecutions[0].id')

# Étape 2 : Attendre la fin
refly workflow status "$RUN_ID" --watch --interval 30000

# Étape 3 : Confirmer le statut de l'action
STATUS=$(refly workflow detail "$RUN_ID" | jq -r '.payload.status')
echo "Action completed with status: $STATUS"

Types d'ID : | Format ID | Exemple | Utilisé pour | |-----------|---------|----------| | skpi-xxx | skpi-h9kpmts9ho1kl9l1sohaloeu | skill run --id uniquement | | we-xxx | we-abc123def456 | workflow status, workflow detail, workflow toolcalls | | c-xxx | c-g6emwcpi1wpalsz6j4gyi3d9 | URL du navigateur uniquement | | df-xxx | df-b3yxyelshtwsbxbrkmcqxmx9 | file download | | skpe-xxx | skpe-qga5lpyv59yjzz2ghz2iv9bu | ⚠️ Ne PAS utiliser pour les commandes workflow |

Comportement requis :

  • skill run retourne RUN_ID (we-xxx) dans .payload.workflowExecutions[0].id
  • Utilise we-xxx pour toutes les commandes workflow (status, detail, toolcalls)
  • Choisis le modèle d'exécution (A/B/C) selon la catégorie de compétence
  • Compétences fichiers : Télécharger vers ~/Desktop/ et open pour montrer à l'utilisateur
  • Compétences texte : Extraire .payload.nodes[].content pour la sortie texte
  • Compétences action : Confirmer .payload.status pour l'achèvement

Structure des répertoires

~/.refly/skills/
├── base/                       # Fichiers de compétence de base (cible du symlink)
│   ├── SKILL.md
│   └── rules/
│       ├── execution.md
│       ├── workflow.md
│       ├── node.md
│       ├── file.md
│       └── skill.md
└── <skill-name>/               # Répertoires de compétences spécialisées
    └── SKILL.md

~/.claude/skills/
├── refly → ~/.refly/skills/base/           # Symlink de compétence de base
└── <skill-name> → ~/.refly/skills/<name>/  # Symlinks de compétences spécialisées

Routage

Intention de l'utilisateur -> correspond à la compétence spécialisée (nom/déclencheur) dans ~/.claude/skills/ -> lire SKILL.md de la compétence spécialisée -> exécuter via refly skill run -> retourner le résultat vérifié par CLI.

Références

  • rules/execution.md - Modèles d'exécution de compétences et gestion des erreurs
  • rules/workflow.md - Référence des commandes workflow
  • rules/node.md - Référence des commandes node
  • rules/file.md - Référence des commandes file
  • rules/skill.md - Référence des commandes Skill personnalisées

Skills similaires