### Install IntentKit Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/README.md Install the package using pip. ```bash pip install intentkit ``` -------------------------------- ### Run Development Server Source: https://github.com/crestalnetwork/intentkit/blob/main/DEVELOPMENT.md Start the API server or background services. ```bash # Run the API server in development mode uvicorn app.api:app --reload # There are many other services, like autonomous agent scheduler, you can try them later # python -m app.autonomous ``` -------------------------------- ### Start the Stack Source: https://github.com/crestalnetwork/intentkit/blob/main/docs/content/en/deployment/docker-compose.md Launch the services in detached mode. ```bash docker compose up -d ``` -------------------------------- ### Configure Environment Variables Source: https://github.com/crestalnetwork/intentkit/blob/main/docs/content/en/deployment/docker-compose.md Create the .env file from the provided example template. ```bash cp .env.example .env ``` -------------------------------- ### Token Price Response Example Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/token/README.md Example JSON response for the token_price skill, showing current price and 24-hour change. ```json { "tokenName": "Pepe", "tokenSymbol": "PEPE", "tokenLogo": "https://cdn.moralis.io/eth/0x6982508145454ce325ddbe47a25d4ec3d2311933.png", "tokenDecimals": "18", "usdPrice": 0.000012302426023896, "usdPriceFormatted": "0.000012302426023896", "24hrPercentChange": "-3.7369101031758394", "exchangeName": "Uniswap v3", "tokenAddress": "0x6982508145454ce325ddbe47a25d4ec3d2311933" } ``` -------------------------------- ### Configure Local Environment Source: https://github.com/crestalnetwork/intentkit/blob/main/DEVELOPMENT.md Copy the example environment file to local configuration. ```bash cp example.env .env # Edit .env with your configuration # OPENAI_API_KEY and DB_* are required ``` -------------------------------- ### Install Docker Prerequisites (macOS) Source: https://github.com/crestalnetwork/intentkit/blob/main/docs/content/en/deployment/local.md Installs Docker, colima, and docker-compose on macOS using Homebrew. Ensure Docker plugins are discoverable by configuring `~/.docker/config.json`. ```bash brew update brew install colima docker-compose docker-buildx ``` ```json { "cliPluginsExtraDirs": [ "/opt/homebrew/lib/docker/cli-plugins" ] } ``` ```bash colima start ``` -------------------------------- ### Synchronize Dependencies Source: https://github.com/crestalnetwork/intentkit/blob/main/DEVELOPMENT.md Install project dependencies using uv. ```bash uv sync ``` -------------------------------- ### Use Cases Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/venice_image/image_generation/README.md Examples of how the IntentKit API can be utilized. ```APIDOC ## Use Cases - **Art & Design:** Instantly create drafts, mood boards, or finished art for any assignment. - **Marketing/Content:** Rapid visual ideation for blog posts, social media, ads, covers, etc. - **Ideation/Research:** Visualize concepts, inventions, or speculative scenarios quickly. - **Education:** Generate visual teaching content on demand. - **Character/Concept Design:** Leverage anime/artistic models for avatars, OC creation, comics. ``` -------------------------------- ### Start Docker Services Source: https://github.com/crestalnetwork/intentkit/blob/main/DEVELOPMENT.md Launch the application services using Docker Compose. ```bash docker compose up ``` -------------------------------- ### Python Tool Execution Example Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/venice_image/image_upscale/README.md Demonstrates how to invoke the image_upscale tool using an agent. ```python result = await agent.send_tool( "image_upscale", { "image_url": "https://somehost.com/image.png", "scale": 2, "replication": 0.4 } ) upscaled_url = result["result"] ``` -------------------------------- ### Usage Example: Execute Same-Chain Swap Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/lifi/README.md Initiate a token swap on the same blockchain. ```text "Swap 0.1 ETH for USDC on Base" ``` -------------------------------- ### Run Discord Service Source: https://github.com/crestalnetwork/intentkit/blob/main/docs/content/en/advanced/discord.md Starts the Discord integration service using either uv or Docker. ```bash # Using uv uv run python -m app.discord # Or with Docker docker-compose up intent-discord ``` -------------------------------- ### Token Analytics Response Example Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/token/README.md Example JSON response for the token_analytics skill, detailing buy/sell volumes and buyer/seller counts. ```json { "tokenAddress": "0x6982508145454ce325ddbe47a25d4ec3d2311933", "totalBuyVolume": { "5m": "", "1h": 43678.642005116264, "6h": 129974.13379912674, "24h": 4583254.969119737 }, "totalSellVolume": { "5m": 147.69184595604904, "1h": 393.0296489666009, "6h": 257421.35479601548, "24h": 4735908.689740969 }, "totalBuyers": { "5m": "", "1h": 33, "6h": 115, "24h": 547 }, "totalSellers": { "5m": 1, "1h": 2, "6h": 78, "24h": 587 } } ``` -------------------------------- ### Initialize IntentKit Agent Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/README.md Basic setup for initializing a new agent instance with a configuration object. ```python from intentkit.core.agent import Agent from intentkit.config.config import Config # Initialize configuration config = Config() # Create an agent agent = Agent(config=config) # Your agent is ready to use! ``` -------------------------------- ### Input Configuration JSON Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/venice_image/image_upscale/README.md Example of the required JSON structure for the image_upscale tool input. ```json { "image_url": "https://example.com/photo.jpg", "scale": 4, "replication": 0.5 } ``` -------------------------------- ### Usage Example: Execute Cross-Chain Transfer Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/lifi/README.md Initiate a cross-chain token transfer. ```text "Execute a transfer of 100 USDC from Ethereum to Polygon" ``` -------------------------------- ### Expected Execution Response Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/lifi/README.md Example of a successful token swap execution response. ```text **Token Swap Executed Successfully** Transaction successful! Transaction Hash: 0xe7d026c7598699909794df9f7858e48cc56c03e4d428f5cc62f51c1979617fd1 Network: Base Explorer: https://basescan.org/tx/0xe7d026c7598699909794df9f7858e48cc56c03e4d428f5cc62f51c1979617fd1 Token: USDC → ETH Amount: 2.2019 **Status:** Completed (same-chain swap) ``` -------------------------------- ### Firecrawl Skills - Agent Setup Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/firecrawl/README.md Instructions for creating an agent with Firecrawl skills. ```APIDOC ## Step 1: Create an Agent with Firecrawl Skills 1. **Create a new agent** via the API or UI with the following skills: ```json { "skills": [ "firecrawl_scrape", "firecrawl_crawl", "firecrawl_query_indexed_content", "firecrawl_clear_indexed_content" ] } ``` 2. **Note the agent ID** for testing ``` -------------------------------- ### Fetch Chain Portfolio Response Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/moralis/README.md Example output detailing native tokens, ERC-20 holdings, and active token approvals. ```text I've analyzed your holdings on Ethereum (Chain ID: 1) for address 0x742d35Cc6634C0532925a3b844Bc454e4438f44e. Portfolio on Ethereum: - Total Value: $8,934.21 Native Token: - ETH: 1.53 ETH ($5,823.45) ERC-20 Tokens: 1. USDT: 2,500.00 USDT ($2,500.00) 2. AAVE: 3.45 AAVE ($610.76) 3. LINK: 0.01 LINK ($0.25) Token Approvals: 1. USDT approved to Uniswap Router (0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D) - Unlimited approval (high risk) 2. AAVE approved to AAVE lending pool (0x7d2768dE32b0b80b7a3454c06BdAc94A69DDc7A9) - Amount: 10 AAVE ``` -------------------------------- ### Fetch Wallet Portfolio Response Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/moralis/README.md Example output showing a summary of net worth and top holdings across chains. ```text I've analyzed the wallet portfolio for address 0x742d35Cc6634C0532925a3b844Bc454e4438f44e across multiple chains. Portfolio Summary: - Total Net Worth: $12,567.82 - Ethereum: $8,934.21 - BSC: $2,456.78 - Polygon: $1,176.83 Top Holdings: 1. ETH (Ethereum): 1.53 ETH ($5,823.45) 2. USDT (Ethereum): 2,500.00 USDT ($2,500.00) 3. BNB (BSC): 4.25 BNB ($1,870.25) 4. MATIC (Polygon): 1,100.00 MATIC ($880.00) 5. AAVE (Ethereum): 3.45 AAVE ($610.76) Would you like me to provide more details about any specific token or chain? ``` -------------------------------- ### Fetch NFT Portfolio Response Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/moralis/README.md Example output listing NFT holdings categorized by chain and collection. ```text I've found the following NFTs for address 0x742d35Cc6634C0532925a3b844Bc454e4438f44e: Total NFTs: 7 (Ethereum: 4, Polygon: 3) Ethereum NFTs: 1. CryptoPunk #8291 - Collection: CryptoPunks - Token ID: 8291 - Contract: 0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB - Traits: Mohawk, Earring - Floor Price: 72.5 ETH 2. Bored Ape Yacht Club #2534 - Collection: Bored Ape Yacht Club - Token ID: 2534 - Contract: 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D - Traits: Red Fur, 3D Glasses, Hat - Floor Price: 38.2 ETH [2 more NFTs...] Polygon NFTs: 1. Sandbox Land (-12, 40) - Collection: Sandbox - Token ID: 43215 - Contract: 0x5CC5B05a8A13E3fBDB0BB9FcCd98D38e50F90c38 [2 more NFTs...] ``` -------------------------------- ### Usage Example: Execute with Custom Slippage Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/lifi/README.md Execute a token transfer with a specified slippage tolerance. ```text "Transfer 500 DAI from Arbitrum to Optimism with 1% slippage" ``` -------------------------------- ### Multi-Table Casino Configuration Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/casino/README.md Example output showing an agent managing multiple concurrent gaming tables. ```text Agent: Welcome to the Nation Casino! I'm managing 3 tables: - Table 1: Blackjack (6-deck shoe) - Table 2: Poker Tournament - Table 3: Craps with side bets Which table interests you? ``` -------------------------------- ### Initialize Project Directory Source: https://github.com/crestalnetwork/intentkit/blob/main/DEVELOPMENT.md Create and enter a new directory for the project. ```bash mkdir intentkit && cd intentkit ``` -------------------------------- ### Enso Get Best Yield Skill Example Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/enso/README.md Example query and response structure for the `enso_get_best_yield` skill, which finds the highest yield options for a specified token on a given network. Default parameters are USDC on Base. ```json { "best_options": [ { "protocol_name": "Protocol Name", "token_name": "Token Name", "apy": 12.5, "tvl": 5000000, "underlying_tokens": ["USDC"] } // Additional results... ], "token_symbol": "USDC", "chain_name": "Base" } ``` -------------------------------- ### Get Smart Stats API Request Example Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/elfa/README.md Retrieve key social media metrics for a given username, including engagement ratios and follower counts. The '@' symbol is optional. ```http GET /v2/account/smart-stats?username=elonmusk ``` ```http GET /v2/account/smart-stats?username=VitalikButerin ``` -------------------------------- ### Download Deployment Files Source: https://github.com/crestalnetwork/intentkit/blob/main/docs/content/en/deployment/docker-compose.md Download the necessary configuration files and set execution permissions for the entrypoint script. ```bash curl -O https://raw.githubusercontent.com/crestalnetwork/intentkit/main/deployment/docker-compose.yml curl -O https://raw.githubusercontent.com/crestalnetwork/intentkit/main/deployment/caddy-entrypoint.sh curl -O https://raw.githubusercontent.com/crestalnetwork/intentkit/main/.env.example chmod +x caddy-entrypoint.sh ``` -------------------------------- ### Get Trending Tokens API Request Example Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/elfa/README.md Retrieve a ranked list of the most discussed crypto tokens based on smart mentions count. Uses page and pageSize for pagination. ```http GET /v2/aggregations/trending-tokens?timeWindow=24h&minMentions=50&page=1&pageSize=50 ``` -------------------------------- ### Get Top Mentions API Request Example Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/elfa/README.md Query tweets mentioning a specific stock or crypto ticker, ranked by view count. Raw tweet content is removed in V2. ```http GET /v2/data/top-mentions?ticker=BTC&timeWindow=24h&page=1&pageSize=10 ``` -------------------------------- ### Initialize Deployment Directory Source: https://github.com/crestalnetwork/intentkit/blob/main/docs/content/en/deployment/docker-compose.md Create a new directory for the project and navigate into it. ```bash mkdir intentkit cd intentkit ``` -------------------------------- ### Deploy IntentKit with Docker Compose Source: https://context7.com/crestalnetwork/intentkit/llms.txt Initializes the project directory, downloads configuration files, and starts the service stack including PostgreSQL and Redis. ```bash # Create project directory mkdir intentkit && cd intentkit # Download required files curl -O https://raw.githubusercontent.com/crestalnetwork/intentkit/main/docker-compose.yml curl -O https://raw.githubusercontent.com/crestalnetwork/intentkit/main/example.env # Configure environment mv example.env .env # Edit .env and set OPENAI_API_KEY (or another LLM provider key) # Start services (PostgreSQL, Redis, API server, Frontend) docker compose up # Test the example agent curl "http://127.0.0.1:8000/debug/example/chat?q=Hello" ``` -------------------------------- ### HTTP GET Request Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/http/README.md Make HTTP GET requests to fetch data from web APIs and websites. ```APIDOC ## GET /api/resource ### Description Make HTTP GET requests to fetch data from web APIs and websites. ### Method GET ### Endpoint /api/resource ### Parameters #### Query Parameters - **url** (string) - Required - The URL to send the GET request to - **headers** (dict) - Optional - Custom headers to include in the request - **params** (dict) - Optional - Query parameters to include in the request - **timeout** (float) - Optional - Request timeout in seconds (default: 30) ### Request Example ```json { "url": "https://api.example.com/users", "timeout": 10 } ``` ### Response #### Success Response (200) - **data** (any) - The response data from the API #### Response Example ```json { "users": [ {"id": 1, "name": "John Doe"} ] } ``` ``` -------------------------------- ### Build IntentKit Locally Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/README.md Commands for building source and wheel distributions using uv. ```bash # Build both source and wheel distributions uv build # Build only wheel uv build --wheel # Build only source distribution uv build --sdist ``` -------------------------------- ### Test Prompt: Get Quote for Token Swap Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/lifi/README.md Use this prompt to get a quote for swapping tokens on the same chain. ```text now get me quote to swap my usdc to eth on the same chain that is base mainnet ``` -------------------------------- ### Image Vision Error Output Example Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/venice_image/image_vision/README.md An example of an error response from the image_vision tool, indicating a failure to process the provided image URL. ```json { "success": false, "error": "Failed to fetch or validate image from URL: https://example.com/broken.jpg", "result": null } ``` -------------------------------- ### Download Docker Configuration Source: https://github.com/crestalnetwork/intentkit/blob/main/DEVELOPMENT.md Fetch the docker-compose and environment template files. ```bash # Download docker-compose.yml curl -O https://raw.githubusercontent.com/crestalnetwork/intentkit/main/docker-compose.yml # Download example environment file curl -O https://raw.githubusercontent.com/crestalnetwork/intentkit/main/example.env ``` -------------------------------- ### Configure Environment Variables Source: https://github.com/crestalnetwork/intentkit/blob/main/docs/content/en/deployment/docker-swarm.md Copy the example environment file and edit it to set necessary variables like OPENAI_API_KEY. Optional variables for database and AWS S3 can also be configured. ```bash cp .env.example deployment/.env ``` -------------------------------- ### GET /.well-known/acp.json Source: https://github.com/crestalnetwork/intentkit/blob/main/agent_docs/todo/99-acp-agentic-commerce.md Discover merchant capabilities and protocol configuration. ```APIDOC ## GET /.well-known/acp.json ### Description Merchant capability discovery. ### Method GET ### Endpoint /.well-known/acp.json ``` -------------------------------- ### Configure Skill Category Initialization Source: https://context7.com/crestalnetwork/intentkit/llms.txt Sets up the __init__.py for a skill category to manage configuration schemas and conditional skill availability. ```python # intentkit/skills/myservice/__init__.py from typing import TypedDict, NotRequired from intentkit.config.config import config as system_config from intentkit.skills.base import SkillConfig, SkillState from intentkit.skills.myservice.base import MyServiceBaseTool from intentkit.skills.myservice.get_data import MyServiceGetData from intentkit.skills.myservice.search import MyServiceSearch _cache: dict[str, MyServiceBaseTool] = {} class SkillStates(TypedDict): get_data: SkillState search: SkillState class Config(SkillConfig): """Configuration for MyService skills.""" states: SkillStates api_key: NotRequired[str] # Per-agent API key (optional) async def get_skills( config: "Config", is_private: bool, **_, ) -> list[MyServiceBaseTool]: """Get enabled MyService skills based on configuration.""" skills = [] for skill_name, state in config["states"].items(): if state == "disabled": continue if state == "public" or (state == "private" and is_private): if skill_name == "get_data": if "get_data" not in _cache: _cache["get_data"] = MyServiceGetData() skills.append(_cache["get_data"]) elif skill_name == "search": if "search" not in _cache: _cache["search"] = MyServiceSearch() skills.append(_cache["search"]) return skills def available() -> bool: """Check if MyService skills are available based on system config.""" # Return True if system-level API key is configured # Skills can also work with per-agent keys return bool(system_config.myservice_api_key) ``` -------------------------------- ### GET /checkout_sessions/{id} Source: https://github.com/crestalnetwork/intentkit/blob/main/agent_docs/todo/99-acp-agentic-commerce.md Retrieve the current state of a checkout session. ```APIDOC ## GET /checkout_sessions/{id} ### Description Retrieve the state of a checkout session. ### Method GET ### Endpoint /checkout_sessions/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the checkout session. ``` -------------------------------- ### Configure Environment Variables Source: https://github.com/crestalnetwork/intentkit/blob/main/DEVELOPMENT.md Prepare the .env file for service configuration. ```bash # Rename example.env to .env mv example.env .env # Edit .env file and add your configuration # Make sure to set OPENAI_API_KEY ``` -------------------------------- ### Get Agent by Slug Source: https://context7.com/crestalnetwork/intentkit/llms.txt Retrieve agent details using its human-readable slug. ```bash curl "http://localhost:8000/agents/trader" ``` -------------------------------- ### GET /{address}/nft Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/portfolio/README.md Retrieves NFTs owned by a specific wallet address. ```APIDOC ## GET /{address}/nft ### Description Get NFTs owned by a wallet address. ### Method GET ### Endpoint https://deep-index.moralis.io/api/v2.2/{address}/nft ### Parameters #### Path Parameters - **address** (string) - Required - The blockchain wallet address to query. #### Query Parameters - **chain** (string) - Optional - The chain to query (default: eth). ``` -------------------------------- ### GET /wallets/{address}/defi/positions Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/portfolio/README.md Retrieves DeFi positions for a specific wallet. ```APIDOC ## GET /wallets/{address}/defi/positions ### Description Get DeFi positions for a wallet. ### Method GET ### Endpoint https://deep-index.moralis.io/api/v2.2/wallets/{address}/defi/positions ### Parameters #### Path Parameters - **address** (string) - Required - The blockchain wallet address to query. ``` -------------------------------- ### GET /wallets/{address}/stats Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/portfolio/README.md Provides statistics about NFTs, collections, and transactions. ```APIDOC ## GET /wallets/{address}/stats ### Description Provides statistics about NFTs, collections, and transactions. ### Method GET ### Endpoint https://deep-index.moralis.io/api/v2.2/wallets/{address}/stats ### Parameters #### Path Parameters - **address** (string) - Required - The blockchain wallet address to query. ``` -------------------------------- ### GET /wallets/{address}/profitability/summary Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/portfolio/README.md Provides an overview of wallet profitability metrics. ```APIDOC ## GET /wallets/{address}/profitability/summary ### Description Provides overview of wallet profitability metrics. ### Method GET ### Endpoint https://deep-index.moralis.io/api/v2.2/wallets/{address}/profitability/summary ### Parameters #### Path Parameters - **address** (string) - Required - The blockchain wallet address to query. ``` -------------------------------- ### Get Account Details Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/cookiefun/README.md Retrieves detailed information about a specified Twitter account. ```APIDOC ## Get Account Details ### Description Retrieves detailed information about a Twitter account including followers, following, posts, metrics, and engagement data. ### Method GET ### Endpoint /accounts/{username_or_userId} ### Parameters #### Path Parameters - **username** (string) - Required - The username of the Twitter account (e.g., "elonmusk"). - **userId** (string) - Required - The user ID of the Twitter account (e.g., "1234567890"). ### Request Example None ### Response #### Success Response (200) - **accountDetails** (object) - Detailed information about the Twitter account. ``` -------------------------------- ### Get Sectors Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/cookiefun/README.md Retrieves a list of all available sectors within the CookieFun system. ```APIDOC ## Get Sectors ### Description Returns a list of all available sectors in the CookieFun system. ### Method GET ### Endpoint /sectors ### Parameters None ### Request Example None ### Response #### Success Response (200) - **sectors** (array) - A list of available sectors. ``` -------------------------------- ### Run Sync Script Source: https://github.com/crestalnetwork/intentkit/blob/main/agent_docs/skill_development.md Execute the synchronization script to discover tools and generate the necessary schema and wrapper files. ```bash source .venv/bin/activate python scripts/sync_mcp_schemas.py ``` -------------------------------- ### Configure IntentKit via Environment Variables Source: https://context7.com/crestalnetwork/intentkit/llms.txt Set up IntentKit for production by configuring essential environment variables. This includes core settings, authentication, LLM provider API keys, database credentials, Redis connection details, and AWS S3 storage configuration. ```bash # Core Configuration ENV=production DEBUG=false APP_DOMAIN=agents.example.com TLS_EMAIL=admin@example.com # Authentication BASIC_AUTH_USER=admin BASIC_AUTH_PASSWORD=secure_password # LLM Providers (at least one required) OPENAI_API_KEY=sk-... ANTHROPIC_API_KEY=sk-ant-... GOOGLE_API_KEY=AIza... OPENROUTER_API_KEY=sk-or-... DEEPSEEK_API_KEY=sk-... XAI_API_KEY=xai-... # Database (PostgreSQL) DB_HOST=localhost DB_PORT=5432 DB_USERNAME=intentkit DB_PASSWORD=secure_db_password DB_NAME=intentkit DB_AUTO_MIGRATE=true # Redis REDIS_HOST=localhost REDIS_PORT=6379 REDIS_PASSWORD=redis_password # AWS S3 (or compatible storage) AWS_S3_BUCKET=intentkit-assets AWS_S3_ENDPOINT_URL=https://s3.amazonaws.com AWS_S3_REGION_NAME=us-east-1 AWS_S3_ACCESS_KEY_ID=AKIA... AWS_S3_SECRET_ACCESS_KEY=... AWS_S3_CDN_URL=https://cdn.example.com ``` -------------------------------- ### Navigate to Integrations Directory Source: https://github.com/crestalnetwork/intentkit/blob/main/docs/plans/2026-03-26-rich-media-messaging-plan.md Change the current directory to 'integrations' to perform module consolidation tasks. ```bash cd integrations ``` -------------------------------- ### Expected Quote Response Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/lifi/README.md Example of a successful token transfer quote response. ```text ### Token Transfer Quote **From:** 2.2019 USDC on Base **To:** 0.00100259 ETH on Base **Minimum Received:** 0.00097251 ETH **Bridge/Exchange:** sushiswap **Value:** $2.2017 → $2.2067 **Estimated Time:** 30 seconds **Gas Cost:** - SEND: 0.00001005 ETH ($0.0221) - **Total Gas:** ~$0.0221 ``` -------------------------------- ### Define Skill Initialization Function Source: https://github.com/crestalnetwork/intentkit/blob/main/agent_docs/skill_development.md The __init__.py file must export this function to return a list of available tools for the skill category. ```python async def get_skills( config: "Config", is_private: bool, **_, ) -> list[OpenAIBaseTool] ``` -------------------------------- ### Run Tests and Linting Source: https://github.com/crestalnetwork/intentkit/blob/main/docs/plans/2026-04-13-skill-validation.md Commands to verify skill listing logic and enforce code style. ```bash pytest tests/core/test_skill_listing.py -v ``` ```bash ruff format intentkit/core/manager/service.py tests/core/test_skill_listing.py && ruff check --fix intentkit/core/manager/service.py tests/core/test_skill_listing.py ``` -------------------------------- ### Fetch Wallet Portfolio Prompts Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/moralis/README.md Natural language prompts for querying total portfolio value across multiple chains. ```text What's my portfolio value across all chains for address 0x742d35Cc6634C0532925a3b844Bc454e4438f44e? ``` ```text Show me the total value of my crypto holdings for 0x742d35Cc6634C0532925a3b844Bc454e4438f44e across Ethereum and BSC ``` -------------------------------- ### Get Skill Execution History Source: https://context7.com/crestalnetwork/intentkit/llms.txt Retrieve the history of skill executions for a specific agent. ```bash curl "http://localhost:8000/agents/my-trading-agent/skill/history" ``` -------------------------------- ### Python Image Generation Tool Usage Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/venice_image/image_generation/README.md Example of how to use the image generation tool with specific parameters. Ensure the agent and tool name are correctly configured. ```python result = await agent.send_tool( "image_generation_fluently_xl", { "prompt": "A futuristic cityscape at sunset, neon lights, flying cars, cinematic", "style_preset": "Cinematic", "width": 1280, "height": 704 } ) url = result["image_url"] ``` -------------------------------- ### GET /:address/erc20/transfers Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/token/README.md Retrieves the ERC20 token transfer history for a specific wallet address. ```APIDOC ## GET /:address/erc20/transfers ### Description Get ERC20 token transfers for a specific wallet address. ### Method GET ### Endpoint /:address/erc20/transfers ### Parameters #### Path Parameters - **address** (string) - Required - The wallet address to query. ``` -------------------------------- ### GET /wallets/{address}/profitability Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/portfolio/README.md Delivers detailed profitability by token with buy/sell prices. ```APIDOC ## GET /wallets/{address}/profitability ### Description Delivers detailed profitability by token with buy/sell prices. ### Method GET ### Endpoint https://deep-index.moralis.io/api/v2.2/wallets/{address}/profitability ### Parameters #### Path Parameters - **address** (string) - Required - The blockchain wallet address to query. ``` -------------------------------- ### Verify Build Source: https://github.com/crestalnetwork/intentkit/blob/main/docs/plans/2026-03-26-rich-media-messaging-plan.md Commands to verify the build for Telegram and WeChat components. ```bash cd integrations go build ./cmd/telegram go build ./cmd/wechat ``` -------------------------------- ### GET /wallets/{address}/swaps Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/portfolio/README.md Lists all swap-related transactions (buy/sell) for trade analysis. ```APIDOC ## GET /wallets/{address}/swaps ### Description Lists all swap-related transactions (buy/sell) for trade analysis. ### Method GET ### Endpoint https://deep-index.moralis.io/api/v2.2/wallets/{address}/swaps ### Parameters #### Path Parameters - **address** (string) - Required - The blockchain wallet address to query. #### Query Parameters - **chain** (string) - Optional - The chain to query (default: eth). ``` -------------------------------- ### Build and Commit Commands Source: https://github.com/crestalnetwork/intentkit/blob/main/docs/plans/2026-03-26-rich-media-messaging-plan.md Commands to verify the build and commit the changes to the repository. ```bash cd integrations && go build ./cmd/telegram ``` ```bash git add integrations/telegram/ integrations/shared/ git commit -m "feat: telegram rich media sender with SSE streaming and callback queries" ``` -------------------------------- ### Publish IntentKit to PyPI Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/README.md Commands for building and publishing the package to PyPI or Test PyPI. ```bash # Build and publish to PyPI uv build uv publish # Publish to Test PyPI uv publish --publish-url https://test.pypi.org/legacy/ ``` -------------------------------- ### Success Response JSON Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/venice_image/image_upscale/README.md Example of a successful response containing the URL to the upscaled image. ```json { "success": true, "result": "https://s3.storage.example/venice_image/image_upscale/1a2b3c....png" } ``` -------------------------------- ### Move Main Go Files to Cmd Directory Source: https://github.com/crestalnetwork/intentkit/blob/main/docs/plans/2026-03-26-rich-media-messaging-plan.md Organize main application entry points by moving them into 'cmd' subdirectories for better structure. ```bash mkdir -p integrations/cmd/telegram integrations/cmd/wechat mv integrations/telegram/main.go integrations/cmd/telegram/main.go mv integrations/wechat/main.go integrations/cmd/wechat/main.go ``` -------------------------------- ### Initialize Docker Swarm Source: https://github.com/crestalnetwork/intentkit/blob/main/docs/content/en/deployment/docker-swarm.md Initialize a new Docker Swarm cluster. Skip this if a swarm cluster is already set up. ```bash docker swarm init ``` -------------------------------- ### Usage Example: Amount Calculation Source: https://github.com/crestalnetwork/intentkit/blob/main/intentkit/skills/lifi/README.md Calculate the expected amount of a token after a cross-chain transfer. ```text "How much MATIC would I get if I transfer 50 USDC from Ethereum to Polygon?" ```