← All skills
openai-api
87 / 100 · Low risk
Fine to try. Some of what it can do is expected: a coding skill usually runs build and test commands.
By coco-research/coco (GitHub) · coding · 628 stars · scanned at commit a9d6167
Use when implementing GPT chat, streaming, function calling, embeddings for RAG, images, audio or batch jobs, or troubleshooting 429 rate limits and API or TypeScript errors. Stateless OpenAI patterns that prevent 16 documented errors.
Works with any agent that supports SKILL.md skills.
What this skill can do
Runs commands on your computer
This is disclosed by the author in the skill's SKILL.md or README. Expected for a coding skill.
Found in 3 places.
Can call paid AI services billed to you
This is disclosed by the author in the skill's SKILL.md or README.
Found in 33 places.
Show 17 more
- skills/openai-api/SKILL.md, line 608
const response = await fetch('https://api.openai.com/v1/images/edits', { - skills/openai-api/SKILL.md, line 673
const response = await fetch('https://api.openai.com/v1/audio/speech', { - skills/openai-api/SKILL.md, line 747
const ws = new WebSocket('wss://api.openai.com/v1/realtime', { - skills/openai-api/references/top-errors.md, line 365
const response = await fetch('https://api.openai.com/v1/chat/completions', { - skills/openai-api/templates/audio-transcription.ts, line 11
import OpenAI from 'openai'; - skills/openai-api/templates/audio-transcription.ts, line 43
const response = await fetch('https://api.openai.com/v1/audio/transcriptions', { - skills/openai-api/templates/chat-completion-basic.ts, line 4
import OpenAI from 'openai'; - skills/openai-api/templates/chat-completion-nodejs.ts, line 4
import OpenAI from 'openai'; - skills/openai-api/templates/cloudflare-worker.ts, line 42
const openaiResponse = await fetch('https://api.openai.com/v1/chat/completions', { - skills/openai-api/templates/embeddings.ts, line 12
import OpenAI from 'openai'; - skills/openai-api/templates/function-calling.ts, line 4
import OpenAI from 'openai'; - skills/openai-api/templates/image-editing.ts, line 30
const response = await fetch('https://api.openai.com/v1/images/edits', { - skills/openai-api/templates/image-editing.ts, line 58
const response = await fetch('https://api.openai.com/v1/images/edits', { - skills/openai-api/templates/image-editing.ts, line 86
const response = await fetch('https://api.openai.com/v1/images/edits', { - skills/openai-api/templates/image-editing.ts, line 124
const lowResponse = await fetch('https://api.openai.com/v1/images/edits', { - skills/openai-api/templates/image-editing.ts, line 140
const highResponse = await fetch('https://api.openai.com/v1/images/edits', { - skills/openai-api/templates/image-editing.ts, line 169
const pngResponse = await fetch('https://api.openai.com/v1/images/edits', {
and 13 more places
Sends data to these websites: api.openai.com
The author does not mention this.
Found in 38 places.
Show 17 more
- skills/openai-api/SKILL.md, line 608
const response = await fetch('https://api.openai.com/v1/images/edits', { - skills/openai-api/SKILL.md, line 673
const response = await fetch('https://api.openai.com/v1/audio/speech', { - skills/openai-api/SKILL.md, line 747
const ws = new WebSocket('wss://api.openai.com/v1/realtime', { - skills/openai-api/references/top-errors.md, line 365
const response = await fetch('https://api.openai.com/v1/chat/completions', { - skills/openai-api/references/top-errors.md, line 371
const response = await fetch('/api/chat', { - skills/openai-api/templates/audio-transcription.ts, line 11
import OpenAI from 'openai'; - skills/openai-api/templates/audio-transcription.ts, line 43
const response = await fetch('https://api.openai.com/v1/audio/transcriptions', { - skills/openai-api/templates/chat-completion-basic.ts, line 4
import OpenAI from 'openai'; - skills/openai-api/templates/chat-completion-nodejs.ts, line 4
import OpenAI from 'openai'; - skills/openai-api/templates/cloudflare-worker.ts, line 14
async fetch(request: Request, env: Env): Promise<Response> { - skills/openai-api/templates/cloudflare-worker.ts, line 42
const openaiResponse = await fetch('https://api.openai.com/v1/chat/completions', { - skills/openai-api/templates/embeddings.ts, line 12
import OpenAI from 'openai'; - skills/openai-api/templates/function-calling.ts, line 4
import OpenAI from 'openai'; - skills/openai-api/templates/image-editing.ts, line 30
const response = await fetch('https://api.openai.com/v1/images/edits', { - skills/openai-api/templates/image-editing.ts, line 58
const response = await fetch('https://api.openai.com/v1/images/edits', { - skills/openai-api/templates/image-editing.ts, line 86
const response = await fetch('https://api.openai.com/v1/images/edits', { - skills/openai-api/templates/image-editing.ts, line 99
const imageResponse = await fetch(data.data[0].url);
and 18 more places
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'openai-api' ] || [ -L ~/.agents/skills/'openai-api' ]; then echo 'A skill folder named openai-api already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/coco-research/coco' "$d" && git -C "$d" checkout --quiet 'a9d616721638d6d855708508d97b7fad4aadb6a7' -- 'skills/openai-api' && mkdir -p ~/.agents/skills && cp -R "$d"/'skills/openai-api' ~/.agents/skills/'openai-api' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'openai-api' ~/.claude/skills/'openai-api' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for coco-research/coco shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/coco-research/coco/)
Score history
| Date | Version | Score |
|---|
| 2026-11-08 | a9d6167 | 87 |
| 2026-11-07 | a9d6167 | 77 |