Claude-code-plugins-plus-skills cohere-hello-world
install
source · Clone the upstream repo
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/saas-packs/cohere-pack/skills/cohere-hello-world" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-skills-cohere-hello-world && rm -rf "$T"
manifest:
plugins/saas-packs/cohere-pack/skills/cohere-hello-world/SKILL.mdsource content
Cohere Hello World
Overview
Three minimal working examples: Chat completion, text embedding, and search reranking. Each demonstrates a core Cohere API v2 endpoint.
Prerequisites
- Completed
setupcohere-install-auth
package installedcohere-ai
environment variable setCO_API_KEY
Instructions
Example 1: Chat Completion
import { CohereClientV2 } from 'cohere-ai'; const cohere = new CohereClientV2(); async function chat() { const response = await cohere.chat({ model: 'command-a-03-2025', messages: [ { role: 'system', content: 'You are a helpful coding assistant.' }, { role: 'user', content: 'Explain what a closure is in JavaScript in 2 sentences.' }, ], }); console.log(response.message?.content?.[0]?.text); } chat().catch(console.error);
Example 2: Text Embedding
async function embed() { const response = await cohere.embed({ model: 'embed-v4.0', texts: ['Cohere builds enterprise AI', 'LLMs power modern search'], inputType: 'search_document', embeddingTypes: ['float'], }); const vectors = response.embeddings.float; console.log(`Generated ${vectors.length} embeddings`); console.log(`Dimensions: ${vectors[0].length}`); } embed().catch(console.error);
Example 3: Search Reranking
async function rerank() { const response = await cohere.rerank({ model: 'rerank-v3.5', query: 'What is machine learning?', documents: [ 'Machine learning is a subset of artificial intelligence.', 'The weather today is sunny and warm.', 'Deep learning uses neural networks with many layers.', 'I enjoy cooking Italian food on weekends.', ], topN: 2, }); for (const result of response.results) { console.log(`[${result.relevanceScore.toFixed(3)}] ${result.index}`); } } rerank().catch(console.error);
Example 4: Streaming Chat
async function streamChat() { const stream = await cohere.chatStream({ model: 'command-a-03-2025', messages: [ { role: 'user', content: 'Write a haiku about APIs.' }, ], }); for await (const event of stream) { if (event.type === 'content-delta') { process.stdout.write(event.delta?.message?.content?.text ?? ''); } } console.log(); // newline } streamChat().catch(console.error);
Python Equivalents
import cohere co = cohere.ClientV2() # Chat response = co.chat( model="command-a-03-2025", messages=[{"role": "user", "content": "Hello, Cohere!"}], ) print(response.message.content[0].text) # Embed response = co.embed( model="embed-v4.0", texts=["Hello world", "Goodbye world"], input_type="search_document", embedding_types=["float"], ) print(f"Vectors: {len(response.embeddings.float)}") # Rerank response = co.rerank( model="rerank-v3.5", query="best programming language", documents=["Python is versatile", "Rust is fast", "SQL manages data"], top_n=2, ) for r in response.results: print(f"[{r.relevance_score:.3f}] doc {r.index}")
Output
- Chat: Text response from Command A model
- Embed: Float vectors (1024 dimensions for v4)
- Rerank: Sorted documents with relevance scores (0.0-1.0)
- Stream: Token-by-token text output via SSE
Error Handling
| Error | Cause | Solution |
|---|---|---|
| Missing model param | Always pass in API v2 |
| Missing for embed | Add |
| Bad CO_API_KEY | Check key at dashboard.cohere.com |
| Too many trial requests | Wait 60s or upgrade key |
Resources
Next Steps
Proceed to
cohere-local-dev-loop for development workflow setup.