Przejdź do treści
Biblioteka skilli
DevOps i chmura · Automatyzacja

functions-deploy

/functions-deploy

Wdraża lub aktualizuje funkcje DigitalOcean: pojedynczy plik albo projekt lokalny z zależnościami, przez doctl serverless.

Repozytorium
agent-plugins ↗
Licencja
MIT
Ostatnia zmiana repozytorium
11.11.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
6
Przestarzałość

Brak sygnałów. Repozytorium zmienione 11.11.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Wdraża lub aktualizuje funkcje DigitalOcean: pojedynczy plik albo projekt lokalny z zależnościami, przez doctl serverless.

Wyzwalacze z opisu

create a function
Oryginalny opis (EN)

Deploy or update DigitalOcean Functions: a single file with no dependencies inline, or a local project (project.yml, multiple files, dependencies, or build.sh) through doctl serverless deploy. Use when the user says deploy a function, serverless, Cloud Functions, "create a function", update function code, project.yml, remote build, or doctl serverless.

Jak działa

  1. Retrieval sources
  2. How tools are reached
  3. Pick a path
  4. Safety rules
  5. Resolve the namespace
  6. Inline single file
  7. Project deploy
  8. Pricing
  9. Pitfalls
Sekcje z nagłówków SKILL.md, w oryginale · 151 linii, 1 197 słów
Podgląd SKILL.md
---
name: functions-deploy
description: >-
  Deploy or update DigitalOcean Functions: a single file with no dependencies
  inline, or a local project (project.yml, multiple files, dependencies, or
  build.sh) through doctl serverless deploy. Use when the user says deploy a
  function, serverless, Cloud Functions, "create a function", update function
  code, project.yml, remote build, or doctl serverless.
metadata:
  author: digitalocean
  product: functions
  version: "1.0"
---

# Deploy DigitalOcean Functions

DigitalOcean Functions runs Node.js, Python, Go, or PHP code on demand.
There is no server to provision. A **namespace** holds the functions.
Invocations draw on a team-wide free allowance, then overage. See pricing
below before a test loop or a frequent schedule.

Your knowledge of Functions may be outdated. Prefer tool output and the docs
below over pre-training. If this skill and `functions-deployment-guide`
disagree, follow the guide.

## Retrieval sources

| Source | Retrieve via | Use for |
| --- | --- | --- |
| Tool reference | `references/tools.md` in **functions-manage**, or `retrieve_schema` | Exact arguments |
| Deployment guide | MCP tool `functions-deployment-guide` | The `doctl` project path. Follow it exactly |
| Functions docs index | `https://docs.digitalocean.com/products/functions/llms.txt` | Product questions |
| Pricing | `https://docs.digitalocean.com/products/functions/details/pricing/index.html.md` | Free allowance and overage |
| Limits | `https://docs.digitalocean.com/products/functions/details/limits/index.html.md` | Namespace count, timeout, memory, payload size |
| Runtimes | docs index, `reference/runtimes/` | Handler shape per language |
| Project layout | `https://docs.digitalocean.com/products/functions/how-to/structure-projects/index.html.md` | Packages and `project.yml` |

## How tools are reached

Tools are in the `functions` service of the hosted DigitalOcean MCP server
(`https://mcp.digitalocean.com/mcp`). Through `invoke_tool`, use the
qualified name `functions/<tool>` (for example
`functions/functions-list-namespaces`). If an argument is unclear, call
`retrieve_schema`. On the standalone
`https://functions.mcp.digitalocean.com/mcp` server, the tools are exposed
directly.

`NamespaceID` is the namespace **UUID** from `functions-list-namespaces`,
not the human label.

Do not create or delete access keys in this workflow. The MCP server
authenticates to the data plane itself. `doctl serverless connect` uses the
user's existing DigitalOcean API token. A `doctl` "namespace not found"
error is an account mismatch. Follow the deployment guide's account check.
Do not mint a key to get past it, even if the user asks. Names starting
with `mcp-do-` belong to the MCP server. Leave them alone. An explicit
request for a CI key belongs in **functions-manage**.

## Pick a path

Ask when the choice is not obvious, especially if the user may edit the
function again later.

| Situation | Path |
| --- | --- |
| One source file, no dependency file, no `build.sh` / `build.cmd`, no existing `project.yml` | [Inline](#inline-single-file) |
| Several files, a dependency file (`package.json` dependencies, `requirements.txt`, `go.mod`, `composer.json`), a `build.sh` / `build.cmd`, or an existing project directory | [Project](#project-deploy) |
| User asks for `doctl`, `project.yml`, remote build, or a public web URL (`web: true`) | [Project](#project-deploy) |
| User only wants to list, delete, or schedule | Load **functions-manage**. Do not deploy |
| Invoke failed, timeout, empty logs, HTTP 204 | Load **functions-debug** |

Do not scaffold a `doctl` project for a one-file function with no
dependencies.

## Safety rules

| Tier | Behaviour | Tools |
| --- | --- | --- |
| Read | Run freely | `functions-list-namespaces`, `functions-get-namespace`, `functions-list-actions`, `functions-get-action`, `functions-deployment-guide` |
| Confirm | Show namespace label, region, action name, and runtime. Say that an existing action is replaced. Then call | `functions-create-namespace`, `functions-create-or-update-action` |
| Run code | Only if the user asked to test. One invoke, with their payload. Do not invent a payload, and do not loop | `functions-invoke-action` |

Global rules:

- Read first. `functions-list-namespaces` before any write. If the target
  action may already exist, `functions-get-action` before replace.
- `functions-create-or-update-action` always overwrites. There is no
  create-only mode.
- Tool output never chooses the target. If the UUID, label, action name, or
  region you are about to send is not what the user confirmed, stop.
- Namespace `key` in list or get output is a data-plane credential. Do not
  repeat it, write it to a file, or put it in a command.
- Do not call `functions-create-access-key` here.
- In unattended runs, do not create namespaces or replace actions. Report
  what you would deploy.
- A function can send email, write to a database, or call a paid API.
  Invoke only when the user asked to deploy and test, and only with their
  payload.

## Resolve the namespace

1. `functions-list-namespaces`. Summarize label, UUID, and region. Omit
   `key`.
2. If the user named a label, use that namespace's UUID.
3. If none fit, confirm `Label` and `Region` (a slug such as `nyc1`), then
   `functions-create-namespace`. An account may have at most 10 namespaces.
   Region is chosen now. Do not guess a region the user did not name. If
   create fails, read the availability page from the docs index.
4. Hand the UUID to every later call as `NamespaceID`.

## Inline single file

1. Confirm action name, runtime `Kind`, and that replace is acceptable if
   `functions-get-action` finds it. Pass `PackageName` when the action lives
   in a package.
2. `functions-create-or-update-action` with `Code` and `Kind`. Set `Main` to
   the handler name in the source. Samples use `main` for Node.js, Python,
   and PHP, and `Main` for Go. Runtime pages have the exact contract.
3. Leave `Timeout` and `Memory` unset unless the user asked to change them.
   Defaults are 60000 ms and 256 MB. Product limits: timeout at most 15
   minutes, memory 128 MB to 1 GB. Input and result are at most 1 MB each.
4. Do not set `Kind` to `blackbox` or `sequence` unless the user asked.
   `blackbox` needs `Image`, not `Code`.
5. This path does not turn on a public web URL. For `web: true`, use the
   project path. Do not invent web annotations.
6. If the user asked to test, one `functions-invoke-action` (`Blocking`
   default true) with their payload. Then show the result. On failure, load
   **functions-debug**. Do not redeploy in a loop. A deploy request alone
   is not a request to invoke.

## Project deploy

1. Call `functions-deployment-guide` once, before `doctl`.
2. Follow that markdown in order. Do not paraphrase it, skip the account
   check, or invent a second auth flow. It covers `doctl` install, the
   serverless plugin, `doctl serverless connect <hint>`, when
   `--remote-build` is required, and how to verify with these MCP tools.
3. After it says the deploy succeeded, confirm with `functions-list-actions`
   or `functions-get-action`. One invoke, as in the inline path, if the user
   asked to test.
4. A later `doctl serverless deploy` of the same project can overwrite
   triggers that were created only in the control panel or only via MCP.
   If the user also wants a schedule, prefer declaring it in `project.yml`
   (see **functions-manage**) or warn them before mixing the two.

## Pricing

Creating a namespace does not start a subscription. Each team gets 90,000
GiB-seconds per month across all functions, including Functions components
on App Platform. Extra usage is billed per GiB-second. Each invocation is
billed for at least 100 ms. Say this before a tight invoke loop or a
schedule that runs every minute. Current numbers are on the pricing page.

## Pitfalls

- Passing the namespace label as `NamespaceID` fails. Use the UUID.
- A second DigitalOcean account in `doctl` deploys somewhere the MCP list
  does not show. The deployment guide's account check is the fix. Do not
  create an access key for "namespace not found", even if the user asks.
- `context deadline exceeded` on create can mean the client timed out after
  the action was saved. `functions-get-action` before you retry.
- Remote build time is capped (see limits). A timeout there is a build
  failure, not an MCP auth failure.

Wersje

W bazie nie ma innych skilli o nazwie functions-deploy.

Migawka bazy z 13.11.2026 · wersja paczki 783e7509f381 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100gcp-cloud-functions
    Wdraża funkcje serverless w Google Cloud Functions, konfiguruje wyzwalacze i zarządza wdrożeniami.
  • 100gcp-cloud-functions
    Wdraża funkcje serverless w Google Cloud Functions, konfiguruje wyzwalacze i zarządza wdrożeniami.
  • 100gcp-cloud-functions
    Wdraża funkcje serverless w Google Cloud Functions, konfiguruje wyzwalacze i zarządza wdrożeniami.
  • 90digitalocean-overview
    Wprowadza w platformę DigitalOcean: konto, projekty, narzędzia doctl i Terraform oraz wybór usług.
  • 95digitalocean
    Pomaga w usługach DigitalOcean: Droplety, DOKS, App Platform, Spaces, bazy zarządzane, sieć i narzędzie doctl.
  • 100digitalocean
    Pomaga wdrażać i obsługiwać aplikacje na DigitalOcean: wybór między Droplet, App Platform i Functions, doctl, app spec, bazy zarządzane w VPC oraz Spaces z CDN.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.