dify

Use when managing a self-hosted Dify instance, checking feature feasibility, or orchestrating apps, prompts, datasets, and knowledge-base operations via the dify-manager MCP server.

3,891 stars

Best use case

dify is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use when managing a self-hosted Dify instance, checking feature feasibility, or orchestrating apps, prompts, datasets, and knowledge-base operations via the dify-manager MCP server.

Teams using dify should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/dify-orchestrator/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/arn0ld87/dify-orchestrator/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/dify-orchestrator/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How dify Compares

Feature / AgentdifyStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use when managing a self-hosted Dify instance, checking feature feasibility, or orchestrating apps, prompts, datasets, and knowledge-base operations via the dify-manager MCP server.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Dify Orchestrator (Self-Hosted)

Fokussierter Skill fuer den operativen Umgang mit einer self-hosted Dify-Instanz: Apps, Datasets, Prompts, Uploads, Retrieval-Checks und Machbarkeitsbewertung.

**Arbeitsbereich:** Instanzbetrieb und Dify-Management
**Nicht zustaendig:** Workflow-DSL authoring oder Import-Editing. Dafuer den Skill [`../dify-workflow/SKILL.md`](../dify-workflow/SKILL.md) verwenden.

## Trigger Conditions

Use when:
- Creating, listing, inspecting, or deleting Dify apps
- Updating prompts for chat/completion style apps
- Creating or linking datasets
- Uploading files into datasets
- Searching an existing knowledge base
- Running a health check on a self-hosted Dify setup
- Checking whether a requested Dify feature is supported on the deployed version

## Scope Boundaries

Nutze **diesen** Skill fuer:
- App-Orchestrierung
- Prompt- und Dataset-Operationen
- Knowledge-Base-Management
- Management-API und Console-API Ablaufe
- Betriebsnahe Entscheidungen und Machbarkeitspruefung

Nutze **`dify-workflow`** fuer:
- Workflow-DSL schreiben oder editieren
- Node-/Edge-Strukturen aendern
- Import-/Export-basierte Workflow-Migration
- YAML-Validierung fuer Workflow-Dateien

## Expert Domains

Dieser Skill soll langfristig ein echter self-hosted-Dify-Experte fuer diese Bereiche werden:

- App-Typen und ihre Einsatzgrenzen
- Prompt-, Dataset- und Knowledge-Base-Operationen
- self-hosted API-/Console-/Management-Abgrenzung
- Feature-Machbarkeit gegen aktuelle Docs und Releases
- Plugin-/Provider-Aussagen nur mit belastbarer Quelle oder Instanztest

## Rapid Triage

Bleibe in **`dify`**, wenn der User vor allem nach diesen Dingen fragt:

- "Erstelle oder aendere eine App"
- "Verknuepfe ein Dataset"
- "Passe den Prompt an"
- "Pruefe Retrieval oder die Knowledge Base"
- "Ist Feature X in meiner Dify-Version verfuegbar?"

Das sind in der Regel **Management-Operationen** an App, Prompt oder Dataset, nicht Workflow-DSL-Aenderungen.

Wechsle zu **`dify-workflow`**, sobald mindestens eines davon zutrifft:

- der User liefert exportiertes Workflow-JSON/YAML
- es geht um Nodes, Edges, Handles, Branches oder Variablen-Syntax
- der Fehler liegt beim Import oder in der DSL-Struktur
- der Wunsch laesst sich nur per Workflow-Edit statt per Management-Operation loesen

## Operating Principles

1. **Version first**: Vor riskanten Aussagen Release Notes und offizielle Dify-Doku pruefen.
2. **Management before DSL**: Wenn das Ziel per App-/Dataset-/Prompt-Operation loesbar ist, nicht unnötig in Workflow-DSL abtauchen.
3. **Export before workflow edits**: Sobald die Anfrage Workflow-JSON/YAML betrifft, an `dify-workflow` uebergeben.
4. **Secrets stay out of content**: Keine API-Keys in Prompts, Beispielen, Logs oder Skill-Doku.
5. **Least surprise**: Vor destruktiven Schritten den Impact klar benennen.

## Available MCP Tools

Der kanonische MCP-Server liegt unter `/Users/alexanderschneider/mcp-servers/dify-manager`.

### App Management

```javascript
dify-manager:list_dify_apps({limit: 20})
dify-manager:create_dify_app({name, mode, description, icon})
dify-manager:get_dify_app({app_id})
dify-manager:update_dify_prompt({app_id, system_prompt, opening_statement})
dify-manager:delete_dify_app({app_id})
```

### Dataset And Knowledge Base

```javascript
dify-manager:list_dify_datasets({limit: 20})
dify-manager:create_dify_dataset({name, description, indexing_technique, doc_form})
dify-manager:link_dataset_to_app({app_id, dataset_id})
dify-manager:add_document_to_dataset({dataset_id, file_path, indexing_technique, doc_form})
dify-manager:search_knowledge_base({query, dataset_names, limit, score_threshold})
```

### Monitoring

```javascript
dify-manager:get_dify_stats()
```

## Expert References

- [`references/app_types.md`](references/app_types.md): belastbare Regeln fuer Chatbot, Text Generator, Agent, Chatflow und Workflow
- [`references/app_type_decision_guide.md`](references/app_type_decision_guide.md): Entscheidungslogik und Anti-Patterns fuer die App-Typ-Auswahl
- [`references/plugins_and_providers.md`](references/plugins_and_providers.md): workspace-scoped Plugins, Provider-Logik, self-hosted OAuth und Trigger-Besonderheiten
- [`references/version_notes.md`](references/version_notes.md): aktuelle Versionssignale fuer Plugin-System, Trigger und Workflow-Engine
- [`references/knowledge_retrieval.md`](references/knowledge_retrieval.md): aktuelle Retrieval-Regeln fuer Knowledge Bases, Rerank, Top K und self-hosted Bildsuche
- [`references/self_hosted_operations.md`](references/self_hosted_operations.md): Betriebsregeln fuer API-/Console-Trennung, Secrets, Smoke-Checks und Trigger-/OAuth-Realitaet
- [`references/plugin_integration_patterns.md`](references/plugin_integration_patterns.md): Datasources, Agent Strategies, Trigger und Extensions als Integrationsmuster

## Preflight Checklist

Vor jeder Schreib- oder Loeschoperation kurz verifizieren:

1. Ist klar, welcher Endpunkt betroffen ist: `DIFY_MGMT_API_URL`, `DIFY_API_URL` oder `DIFY_CONSOLE_API_URL`?
2. Passt die geplante Operation zum App-Typ und zur API-Oberflaeche?
3. Sind App-ID, Dataset-ID oder Dateipfad gegen den Ist-Zustand geprueft?
4. Ist bei potenziell destruktiven Schritten wie `delete_dify_app(...)` der Impact klar benannt?
5. Gibt es direkt danach einen lesenden Check oder Smoke-Check?

Loeschoperationen nie sofort ausfuehren: erst Impact benennen, dann ausdrueckliche Bestaetigung einholen, danach den Smoke-Check planen.

## Self-Hosted Operations Discipline

1. Management-, Runtime- und Console-Pfade nicht vermischen.
2. Secrets nur als lokale Konfiguration oder Secret-Store denken, nie als Skill-Inhalt.
3. Nach App-, Prompt-, Dataset- oder Trigger-Aenderungen immer einen lesenden Folge-Check oder Smoke-Check nennen.
4. Cloud-Komfort nie stillschweigend fuer self-hosted annehmen.

## External Verification

Bei unsicheren oder versionsabhaengigen Fragen:

1. Offizielle Dify-Doku pruefen
2. GitHub Releases von `langgenius/dify` pruefen
3. Erst dann konkrete Aussage oder Umsetzungsplan geben

Typische Kandidaten fuer Verifikation:
- neue Features
- Limits oder Storage-Verhalten
- Plugin-/Provider-Support
- Console-API-Verhalten
- Unterschiede zwischen Chat, Completion, Workflow, Advanced Chat

Primaerquellen und Ausbau-Backlog liegen unter `../../../research/`.

## Recommended Interaction Pattern

### Phase 1: Request Triage

Frueh unterscheiden:
- Geht es um App-/Dataset-Verwaltung? Dann hier bleiben.
- Geht es um Workflow-DSL? Dann zu `dify-workflow`.
- Geht es um Versions-/Feature-Fragen? Erst Docs/Release Notes pruefen.

Praktische Handover-Formulierung:

```text
Das ist keine reine App- oder Dataset-Operation mehr. Ich wechsle auf `dify-workflow`, weil hier eine Workflow-DSL-Aenderung mit export-first, minimalem Edit und erfolgreichem Re-Import auf derselben Zielinstanz noetig ist.
```

### Phase 2: Current State Check

Vor Aenderungen nach Bedarf:

```text
1. list_dify_apps()
2. list_dify_datasets()
3. get_dify_stats()
4. get_dify_app(app_id) bei bestehenden Apps
```

### Phase 3: Safe Execution

- Kleine Schritte statt Massenmutation
- IDs und Namen vor Schreiboperationen verifizieren
- Bei Batch-Operationen Fortschritt und Anzahl nennen
- Bei potenziell destruktiven Schritten explizit warnen

### Phase 4: Verification

Nach Aenderungen:
- App-/Dataset-Zustand erneut lesen
- Falls Prompt geaendert wurde: App-Details oder UI-Test empfehlen
- Falls Uploads erfolgt sind: Retrieval oder UI-Pruefung empfehlen

Minimaler Abschluss pro Schreiboperation:

1. Zielobjekt erneut lesen
2. IDs/Namen gegen Erwartung pruefen
3. naechsten operativen Smoke-Check nennen

## Common Tasks

### New Chat Assistant

1. Anwendungsfall klaeren
2. Als **New Chat Assistant** behandeln und `create_dify_app(...)` ausfuehren
3. optional `create_dify_dataset(...)`
4. `link_dataset_to_app(...)`
5. `update_dify_prompt(...)`
6. Upload- und Testschritte nennen

### Health Check

1. `get_dify_stats()`
2. `list_dify_apps()`
3. `list_dify_datasets()`
4. Probleme benennen:
   - leere Datasets
   - unverknuepfte Datasets
   - alte oder inaktive Apps
   - Prompt-Duplikate

### Knowledge Base Check

1. Ziel-Dataset identifizieren
2. optional Datei per `add_document_to_dataset(...)` hochladen
3. `search_knowledge_base(...)` mit realistischen Queries ausfuehren
4. Retrieval-Qualitaet und naechste Schritte zusammenfassen

### Retrieval Triage

1. Query, Ziel-Knowledge-Base und Retrieval-Settings getrennt betrachten.
2. Bei mehreren Knowledge Bases nicht blind eine einzige Ursache annehmen.
3. Top K, Score Threshold, Rerank und Metadatenfilter als eigene Hebel behandeln.
4. Bei bildbasiertem Retrieval self-hosted Limits und multimodale Knowledge Bases mitdenken.

### Feature Feasibility Check

1. Gewuenschtes Feature konkret benennen
2. App-Typ und Dify-Bereich klaeren: Chatbot, Text Generator, Agent, Chatflow, Workflow, Plugin oder Provider
3. Offizielle Doku und Releases pruefen
4. Keine blinde Zusage machen, bevor die Quellenlage klar ist
5. Aussage klar markieren:
   - bestaetigt
   - nicht bestaetigt
   - aus Quellen nur indirekt ableitbar

### Self-Hosted Operations Triage

1. Vor jeder risikohaften Aussage erst klaeren, welche Oberflaeche wirklich betroffen ist.
2. Trigger-/OAuth-Themen immer mit Domain, Callback, `TRIGGER_URL` und Admin-Rechten denken.
3. Secrets, Delete-Impact und Smoke-Checks in jeder operativen Antwort mitfuehren.

### App-Type Triage

1. Mehrturnige, speichernde, dialogische Logik eher als `Chatflow` denken.
2. Einmalige Automation oder Batch-Logik eher als `Workflow` denken.
3. Chatbot, Text Generator und Agent gegen die aktuelle Produktlogik pruefen, statt sie reflexartig als beste Wahl anzunehmen.
4. Unterschiede fuer Memory, Startvariablen, `Answer` und `End` aus `references/app_types.md` ziehen.
5. Anti-Patterns und vereinfachte Oberflaechen mit `references/app_type_decision_guide.md` abfedern.

### Plugin And Provider Triage

1. Plugins als workspace-scoped Komponenten denken.
2. Nicht so tun, als seien Provider fest eingebaut; Modelle und Tools sind plugin-basiert.
3. Bei self-hosted Trigger- oder OAuth-Fragen aktiv nach Admin-Rechten, Domain und Callback-Setup denken.
4. Vor Aussagen zu Plugin-Verfuegbarkeit oder Upgrade-Verhalten Doku, Releases und offizielle Plugin-Quellen pruefen.
5. Datasources, Agent Strategies, Trigger und Extensions bewusst auseinanderhalten.

### Version-Sensitive Feature Triage

1. Trigger, Event-Driven-Workflows und neue Engine-/Knowledge-Funktionen nicht pauschal als ueberall vorhanden zusagen.
2. Release-Kontext aktiv nennen, wenn ein Feature juenger oder besonders aenderungsanfällig ist.
3. Bei self-hosted immer zwischen "in Dify-Doku beschrieben" und "auf deiner Instanz sicher verfuegbar" unterscheiden.

## Prompt Guidance

Wenn ein Prompt neu erstellt oder ueberarbeitet wird, strukturiere ihn mindestens nach:

- Rolle
- Geltungsbereich
- Antwortstil
- Sicherheitsregeln
- Fallback-Verhalten

Kurzes Muster:

```text
Du bist [Rolle].
Antworte nur im Rahmen von [Scope].
Stil: [kurz/praezise/freundlich/...].
Wenn Informationen fehlen oder die Antwort unsicher ist, sage das klar.
```

## Safety Notes

- `update_dify_prompt(...)` funktioniert nicht fuer alle App-Typen gleich; bei Workflow-/Advanced-Chat-Faellen keine falsche Sicherheit suggerieren.
- Keine geheimen Zugangsdaten in Skill-Beispielen oder Testdaten verwenden.
- Grosse Dataset-Uploads schrittweise angehen und danach Retrieval pruefen.
- Loeschoperationen nur nach klarer Bestatigung ausfuehren.
- Loeschoperationen immer mit Impact-Hinweis und nachfolgendem Smoke-Check rahmen.
- Keine Workflow-Loesungen vorschlagen, wenn eine reine Management-Operation ausreicht.

## Useful References

- Dify Docs: `https://docs.dify.ai/`
- GitHub Repository: `https://github.com/langgenius/dify`
- Releases: `https://github.com/langgenius/dify/releases`

Related Skills

dify-workflow

3891
from openclaw/skills

Use when creating, editing, debugging, or validating Dify workflow DSL for self-hosted Dify. Start from an exported workflow of the target instance, edit minimally, and verify by re-importing.

---

3891
from openclaw/skills

name: article-factory-wechat

Content & Documentation

humanizer

3891
from openclaw/skills

Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.

Content & Documentation

find-skills

3891
from openclaw/skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

General Utilities

tavily-search

3891
from openclaw/skills

Use Tavily API for real-time web search and content extraction. Use when: user needs real-time web search results, research, or current information from the web. Requires Tavily API key.

Data & Research

baidu-search

3891
from openclaw/skills

Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.

Data & Research

agent-autonomy-kit

3891
from openclaw/skills

Stop waiting for prompts. Keep working.

Workflow & Productivity

Meeting Prep

3891
from openclaw/skills

Never walk into a meeting unprepared again. Your agent researches all attendees before calendar events—pulling LinkedIn profiles, recent company news, mutual connections, and conversation starters. Generates a briefing doc with talking points, icebreakers, and context so you show up informed and confident. Triggered automatically before meetings or on-demand. Configure research depth, advance timing, and output format. Walking into meetings blind is amateur hour—missed connections, generic small talk, zero leverage. Use when setting up meeting intelligence, researching specific attendees, generating pre-meeting briefs, or automating your prep workflow.

Workflow & Productivity

self-improvement

3891
from openclaw/skills

Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.

Agent Intelligence & Learning

botlearn-healthcheck

3891
from openclaw/skills

botlearn-healthcheck — BotLearn autonomous health inspector for OpenClaw instances across 5 domains (hardware, config, security, skills, autonomy); triggers on system check, health report, diagnostics, or scheduled heartbeat inspection.

DevOps & Infrastructure

linkedin-cli

3891
from openclaw/skills

A bird-like LinkedIn CLI for searching profiles, checking messages, and summarizing your feed using session cookies.

Content & Documentation

notebooklm

3891
from openclaw/skills

Google NotebookLM 非官方 Python API 的 OpenClaw Skill。支持内容生成(播客、视频、幻灯片、测验、思维导图等)、文档管理和研究自动化。当用户需要使用 NotebookLM 生成音频概述、视频、学习材料或管理知识库时触发。

Data & Research