Skip to content
Back to skills

429 Guide F412902d

ASecurity

Welcome to Dify plugin development! This guide will help you get started quickly.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
ai-agentspythongobashtestingdebugginggitapidocumentation

Works with

  • api

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 429-guide_f412902d --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 429 Guide F412902d?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 429 Guide F412902d
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-429-guide-f412902d/badge)](https://www.skillsdirectory.com/skills/tools-only-429-guide-f412902d)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
# Dify Plugin Development Guide

Welcome to Dify plugin development! This guide will help you get started quickly.

## Plugin Types

Dify plugins extend three main capabilities:

| Type | Description | Example |
|------|-------------|---------|
| **Tool** | Perform specific tasks | Google Search, Stable Diffusion |
| **Model** | AI model integrations | OpenAI, Anthropic |
| **Endpoint** | HTTP services | Custom APIs, integrations |

You can create:
- **Tool**: Tool provider with optional endpoints (e.g., Discord bot)
- **Model**: Model provider only
- **Extension**: Simple HTTP service

## Setup

### Requirements
- Python 3.11+
- Dependencies: `pip install -r requirements.txt`

## Development Process

<details>
<summary><b>1. Manifest Structure</b></summary>

Edit `manifest.yaml` to describe your plugin:

```yaml
version: 0.1.0                  # Required: Plugin version
type: plugin                    # Required: plugin or bundle
author: YourOrganization        # Required: Organization name
label:                          # Required: Multi-language names
  en_US: Plugin Name
  zh_Hans: 插件名称
created_at: 2023-01-01T00:00:00Z # Required: Creation time (RFC3339)
icon: assets/icon.png           # Required: Icon path

# Resources and permissions
resource:
  memory: 268435456            # Max memory (bytes)
  permission:
    tool:
      enabled: true            # Tool permission
    model:
      enabled: true            # Model permission
      llm: true
      text_embedding: false
      # Other model types...
    # Other permissions...

# Extensions definition
plugins:
  tools:
    - tools/my_tool.yaml       # Tool definition files
  models:
    - models/my_model.yaml     # Model definition files
  endpoints:
    - endpoints/my_api.yaml    # Endpoint definition files

# Runtime metadata
meta:
  version: 0.0.1               # Manifest format version
  arch:
    - amd64
    - arm64
  runner:
    language: python
    version: "3.12"
    entrypoint: main
```

**Restrictions:**
- Cannot extend both tools and models
- Must have at least one extension
- Cannot extend both models and endpoints
- Limited to one supplier per extension type
</details>

<details>
<summary><b>2. Implementation Examples</b></summary>

Study these examples to understand plugin implementation:

- [OpenAI](https://github.com/langgenius/dify-plugin-sdks/tree/main/python/examples/openai) - Model provider
- [Google Search](https://github.com/langgenius/dify-plugin-sdks/tree/main/python/examples/google) - Tool provider
- [Neko](https://github.com/langgenius/dify-plugin-sdks/tree/main/python/examples/neko) - Endpoint group
</details>

<details>
<summary><b>3. Testing & Debugging</b></summary>

1. Copy `.env.example` to `.env` and configure:
   ```
   INSTALL_METHOD=remote
   REMOTE_INSTALL_URL=debug.dify.ai:5003
   REMOTE_INSTALL_KEY=your-debug-key
   ```

2. Run your plugin: 
   ```bash
   python -m main
   ```

3. Refresh your Dify instance to see the plugin (marked as "debugging")
</details>

<details>
<summary><b>4. Publishing</b></summary>

#### Manual Packaging
```bash
dify-plugin plugin package ./YOUR_PLUGIN_DIR
```

#### Automated GitHub Workflow

Configure GitHub Actions to automate PR creation:

1. Create a Personal Access Token for your forked repository
2. Add it as `PLUGIN_ACTION` secret in your source repo
3. Create `.github/workflows/plugin-publish.yml`

When you create a release, the action will:
- Package your plugin
- Create a PR to your fork

[Detailed workflow documentation](https://docs.dify.ai/plugins/publish-plugins/plugin-auto-publish-pr)
</details>

## Privacy Policy

If publishing to the Marketplace, provide a privacy policy in [PRIVACY.md](PRIVACY.md).

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.