Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/digitalocean-labs/do-app-platform-skillsnpx agentmods add skills/digitalocean-labs/do-app-platform-skills/ai-servicesWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/digitalocean-labs/do-app-platform-skills/ai-services)<a href="https://agentmods.dev/skills/digitalocean-labs/do-app-platform-skills/ai-services"><img src="https://agentmods.dev/badge/skills/digitalocean-labs/do-app-platform-skills/ai-services/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/digitalocean-labs/do-app-platform-skills/ai-services"><img src="https://agentmods.dev/badge/skills/digitalocean-labs/do-app-platform-skills/ai-services.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00043 | $0.01206 |
| Opus 5 | $0.00022 | $0.00603 |
| Sonnet 5 | $0.00009 | $0.00241 |
| Haiku 4.5 | $0.00004 | $0.00121 |
Grade A, and why
ai-services scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 174 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AI Services Skill
Configure DigitalOcean Gradient AI Platform for App Platform applications.
Tip: This is one specialized skill in the App Platform library. For complex multi-step projects, consider using the planner skill to generate a staged approach. For an overview of all available skills, see the root SKILL.md.
Quick Decision
What do you need?
├── Simple LLM API calls → Serverless Inference
│ OpenAI-compatible API, no agent management
│
└── Full AI agents → Agent Development Kit (ADK)
Knowledge bases, RAG, guardrails, multi-agent routing
| Need | Solution | Reference |
|---|---|---|
| Call LLM models directly | Serverless Inference | serverless-inference.md |
| Build agents with knowledge bases | ADK | agent-development-kit.md |
| Content filtering / guardrails | ADK | agent-development-kit.md |
| Multi-agent workflows | ADK | agent-development-kit.md |
Credential Handling
Model access keys follow the standard credential hierarchy:
- GitHub Secrets (recommended): User creates key → adds to GitHub Secrets → app spec references
- App Platform Secrets: Set via
doctl apps updatewithtype: SECRET
# App Spec pattern
envs:
- key: MODEL_ACCESS_KEY
scope: RUN_TIME
type: SECRET
value: ${MODEL_ACCESS_KEY} # From GitHub Secrets
Key creation: Control Panel → Serverless Inference → Model Access Keys
Keys shown only once after creation—store securely.
Quick Start: Serverless Inference
# .do/app.yaml
services:
- name: api
envs:
- key: MODEL_ACCESS_KEY
scope: RUN_TIME
type: SECRET
value: ${MODEL_ACCESS_KEY}
- key: INFERENCE_ENDPOINT
value: https://inference.do-ai.run
# Python SDK (OpenAI-compatible)
from openai import OpenAI
import os
client = OpenAI(
base_url=os.environ["INFERENCE_ENDPOINT"] + "/v1",
api_key=os.environ["MODEL_ACCESS_KEY"],
)
response = client.chat.completions.create(
model="llama3.3-70b-instruct",
messages=[{"role": "user", "content": "Hello!"}],
)
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 174 lines · 43 tokens per session scan A 37a4e5a02cc6
ai-services is a skill published in the GitHub repository digitalocean-labs/do-app-platform-skills (36 stars, last pushed 4d ago), licensed MIT. It adds 43 tokens to every session and 1,206 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
digitalocean
Use when deploying or operating a workload on DigitalOcean — Droplet vs App Platform vs Functions, doctl, app spec YAML, Managed Postgres/MySQL/Valkey on the VPC, S3-compatible Spaces + CDN. NOT host-agnostic CI/CD or rollback strategy (that is deployment), NOT a bare Hetzner VPS (that is hetzner), NOT another managed…
llm-deployment
Use when lLM deployment and serving — vLLM, Ollama, TGI, llama.cpp. Model quantization, GPU optimization, API serving. Use when working with llm deployment.
imaging-data-commons
Query and download public cancer imaging data from NCI Imaging Data Commons using idc-index. Use for accessing large-scale radiology (CT, MR, PET) and pathology datasets for AI training or research. No authentication required. Query by metadata, visualize in browser, check licenses.
LQF_Machine_Learning_Expert_Guide
LQF Machine Learning Expert Guide - Routed skill for ML/Statistical Modeling with Critical Discussion Mode. Triggers on: machine learning, modeling, prediction, training, classification, regression, clustering, deep learning, neural network, model evaluation, feature engineering, hyperparameter tuning, overfitting…
embedding-strategies
Select and optimize embedding models for semantic search and RAG applications. Use when choosing embedding models, implementing chunking strategies, or optimizing embedding quality for specific domains.
perplexity-search
Perform AI-powered web searches with real-time information using Perplexity models via LiteLLM and OpenRouter. This skill should be used when conducting web searches for current information, finding recent scientific literature, getting grounded answers with source citations, or accessing information beyond the model…