agentsclimarketplace

Asi1 builder

Skill pinkpixel-dev/skills-collection-1/SKILLS/asi1-builder

Complete reference and build guide for ASI:One (ASI1) — the AI platform by Fetch.ai built for agentic, Web3-native applications. Use this skill IMMEDIATELY and ALWAYS when the user mentions ASI1, ASI:One, Fetch.ai AI API, building with ASI1, integrating ASI:One, asking about ASI1 models, tool calling with ASI1, ASI1 image generation, ASI1 agentic LLM, Agentverse, uagents, Agent Chat Protocol, structured output with ASI1, or OpenAI-compatible wrappers for ASI1. Also trigger when the user says things like "use ASI1 instead of OpenAI", "build an app with ASI:One", "ASI1 API", or references docs.asi1.ai. This skill covers everything needed to build production apps - setup, all models, all API features, tool calling, image gen, agentic orchestration, structured data, session management, streaming, LangChain integration, uagents / Agent Chat Protocol, and TypeScript/Node.js patterns.From its SKILL.md

Install
npx -y skills add pinkpixel-dev/skills-collection-1 --skill asi1-builder

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

7.9 KB, ~1.9k tokens by cl100k_base, as published. Nobody here has run it

ASI:One (ASI1) Builder Skill

ASI:One is an intelligent AI platform by Fetch.ai that unifies LLM inference, agentic orchestration (via the Agentverse marketplace), image generation, tool calling, and Web3-native features behind a single OpenAI-compatible API.

Base URL: https://api.asi1.ai/v1 API Key header: Authorization: Bearer $ASI_ONE_API_KEY Docs: https://docs.asi1.ai


Models

ASI1 uses one model string that auto-activates capabilities based on context and parameters:

Model StringUse When
asi1Default — full agentic orchestration, Agentverse discovery, all capabilities
asi1-miniTool calling, image gen, lower latency general use
asi1-fastTool calling, lowest latency, real-time applications
asi1-extendedTool calling, deep reasoning, complex analysis

Key specs:

  • Context window: up to 128,000 tokens
  • Streaming: supported on all models
  • OpenAI SDK: fully compatible (swap base_url only)

Auto-Activated Capabilities (asi1)

CapabilityWhat it does
Agentic ReasoningDiscovers & orchestrates agents from Agentverse marketplace
Extended ReasoningMulti-step analysis, chain-of-thought
Fast InferenceLow-latency path for simple tasks
Tool CallingExternal function/API integration
VisualizationCharts & graphs from data
Web3 NativeSmart contracts, tokenomics, on-chain reasoning

Quick Start

cURL

curl -X POST https://api.asi1.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ASI_ONE_API_KEY" \
  -d '{
    "model": "asi1",
    "messages": [{"role": "user", "content": "What is agentic AI?"}]
  }'

TypeScript / Node.js (OpenAI SDK)

import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env.ASI_ONE_API_KEY!,
  baseURL: 'https://api.asi1.ai/v1',
});

const response = await client.chat.completions.create({
  model: 'asi1',
  messages: [
    { role: 'system', content: 'Be precise and concise.' },
    { role: 'user', content: 'Explain agentic AI.' },
  ],
  temperature: 0.7,
  max_tokens: 1000,
});

console.log(response.choices[0].message.content);

Python (OpenAI SDK)

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_ASI_ONE_API_KEY",
    base_url="https://api.asi1.ai/v1"
)

response = client.chat.completions.create(
    model="asi1",
    messages=[
        {"role": "system", "content": "Be precise and concise."},
        {"role": "user", "content": "What is agentic AI?"}
    ],
    temperature=0.2,
    max_tokens=1000,
)
print(response.choices[0].message.content)

Response Structure

Standard OpenAI fields + ASI:One-specific fields:

{
  "id": "...",
  "choices": [{
    "finish_reason": "stop",
    "index": 0,
    "message": {
      "content": "...",
      "role": "assistant",
      "tool_calls": null
    }
  }],
  "usage": {
    "completion_tokens": 149,
    "prompt_tokens": 2105,
    "total_tokens": 2254
  },
  "executable_data": [],    // ASI:One — agent manifests/tool calls from Agentverse
  "intermediate_steps": [], // ASI:One — multi-step reasoning traces
  "thought": [],            // ASI:One — model reasoning process
  "metadata": { "weight_version": "default" }
}

API Parameters Reference

Chat Completions — POST /v1/chat/completions

Headers:

  • Authorization: Bearer <api_key> (required)
  • x-session-id: <uuid> (required for agentic model session persistence)

Body:

ParameterTypeRequiredNotes
modelstringasi1, asi1-mini, asi1-fast, asi1-extended
messagesarrayStandard chat array
streambooleanSSE streaming
temperaturefloat0–2
max_tokensintegerMax response tokens
top_pfloatNucleus sampling
frequency_penaltyfloat-2.0 to 2.0
presence_penaltyfloat-2.0 to 2.0
toolsarrayTool definitions for function calling
tool_choicestring/object"auto", "required", "none", or {type, function}
parallel_tool_callsbooleanDefault true
response_formatobjectFor structured JSON output
web_searchbooleanEnable built-in web search
agent_addressstringTarget specific Agentverse agent
planner_modebooleanEnable ASI Planner
study_modebooleanEnable study/research mode

Feature Deep-Dives

For detailed implementation docs, see the reference files:

  • references/tool-calling.md — Tool definitions, execution cycle, strict mode, parallel calls
  • references/image-generation.md — Image gen endpoint, sizes, prompting, batch patterns
  • references/agentic-llm.md — Session management, async polling, Agentverse integration
  • references/structured-data.md — JSON schema output, Pydantic/LangChain patterns
  • references/agent-chat-protocol.md — uagents, Chat Protocol, inter-agent messaging (Python)
  • references/openai-compat.md — Full OpenAI SDK compatibility, LangChain, streaming, web search

Read the relevant reference file(s) based on what the user needs to build.


TypeScript Patterns (Quick Reference)

Streaming

const stream = await client.chat.completions.create({
  model: 'asi1',
  messages: [{ role: 'user', content: 'Tell me about Web3' }],
  stream: true,
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? '');
}

Session-based Agentic Calls

import { v4 as uuidv4 } from 'uuid';

const sessionId = uuidv4();

const response = await client.chat.completions.create(
  {
    model: 'asi1',
    messages: [{ role: 'user', content: 'Check flight arrivals at Delhi airport' }],
    stream: true,
  },
  {
    headers: { 'x-session-id': sessionId },
  }
);

Web Search Enabled

const response = await client.chat.completions.create({
  model: 'asi1',
  messages: [{ role: 'user', content: 'Latest AI research 2025' }],
  // @ts-ignore — ASI:One-specific extra body field
  extra_body: { web_search: true },
});

Getting an API Key

  1. Sign up at https://asi1.ai/
  2. Navigate to the Developer Section
  3. Click Create New → name it → save the key

Set it as env var: ASI_ONE_API_KEY=your_key_here


Key Gotchas

  • Always use x-session-id header when using asi1 model for multi-turn agentic tasks
  • Tool calling is supported on asi1-mini, asi1-fast, asi1-extended (not base asi1 alone)
  • Image generation uses a separate endpoint: POST /v1/image/generate
  • Structured output: set strict: true AND additionalProperties: false AND list all fields in required
  • Tool result content must be JSON-stringified (a string, not an object)
  • Preserve exact tool_call_id values when sending tool results back
  • For async Agentverse agent tasks: poll with follow-up messages ("Any update?") until response changes

What ships with it: 6 files

43.8 KB alongside SKILL.md

Keep looking

Skills are one crate of 326,401. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.