Skip to content

Conversation

yudhissatriya
Copy link

Add Crypto Price Checker Skill

What’s This?

This PR adds the crypto_price_checker skill to IntentKit. It fetches crypto prices, market cap, 24h volume, and 24h price change (e.g., Bitcoin) using CoinGecko API.

Changes

  • Skill: crypto_price_checker in coingecko category.
  • Function: Uses CoinGecko’s free /simple/price endpoint to get data for a coin (e.g., "bitcoin") in a currency (e.g., "usd").
  • Files:
    • skills/coingecko/base.py: Base class.
    • skills/coingecko/crypto_price_checker.py: Skill logic.
    • skills/coingecko/__init__.py: Skill loader.
    • skills/coingecko/schema.json: Config schema.
    • skills/coingecko/coingecko.png: Icon.
  • Dependency: Added httpx (poetry add httpx).
  • Config: Add to agent.yaml (in root or config/):
    id: coingecko-agent
    skills:
      coingecko:
        states:
          crypto_price_checker: public

CoinGeckoBaseTool inherits from IntentKitSkill and sets the category to coingecko.

Attributes like name, description, and args_schema are populated by specific skills.

skill_store is available for data persistence (unused in this skill).
Dependency: Uses httpx for HTTP requests.

PriceCheckerInput: Defines inputs: coin_id (e.g., "bitcoin") and vs_currency (e.g., "usd", default).

CryptoPriceChecker:
name and description: Guides the LLM on when to use this skill.

args_schema: Links to PriceCheckerInput.

_arun: Main logic:
Sends a GET request to https://api.coingecko.com/api/v3/simple/price with parameters for price, market cap, volume, and price change.

Returns formatted data (e.g., price, market cap, etc.).

Handles errors like coin not found (404) or rate limit (429).
SkillStates: Defines available skills (crypto_price_checker).

Config: Requires only states (no API key needed).

get_skills: Checks active skills based on status.

get_coingecko_skill: Instantiates CryptoPriceChecker and caches it.
Specifies that the coingecko category configuration requires states.

Defines the status for crypto_price_checker (disabled, public, or private).
Activates the crypto_price_checker skill with public status.

No API key is required for the /simple/price endpoint.
@taiyangc
Copy link
Member

taiyangc commented May 3, 2025

To expedite the review process, please join https://discord.com/invite/crestal, open a support ticket to apply for an intentkit dev role. We have a discussion channel there for you to join up with the rest of the developers.

@yudhissatriya
Copy link
Author

To expedite the review process, please join https://discord.com/invite/crestal, open a support ticket to apply for an intentkit dev role. We have a discussion channel there for you to join up with the rest of the developers.

I have already opened a ticket on Discord.

@taiyangc
Copy link
Member

taiyangc commented May 3, 2025

I don't see any active ticket on this. Please re-open and be specific on the role. Thank you.

@yudhissatriya
Copy link
Author

I don't see any active ticket on this. Please re-open and be specific on the role. Thank you.

Which ticket category does Intenkit Dev fall into?

@taiyangc
Copy link
Member

taiyangc commented May 3, 2025

I don't see any active ticket on this. Please re-open and be specific on the role. Thank you.

Which ticket category does Intenkit Dev fall into?

Just pick any, I will be able to see it. Thanks.

@yudhissatriya
Copy link
Author

I don't see any active ticket on this. Please re-open and be specific on the role. Thank you.

Which ticket category does Intenkit Dev fall into?

Just pick any, I will be able to see it. Thanks.

done, please recheck again

@taiyangc
Copy link
Member

taiyangc commented May 3, 2025

I don't see any active ticket on this. Please re-open and be specific on the role. Thank you.

Which ticket category does Intenkit Dev fall into?

Just pick any, I will be able to see it. Thanks.

done, please recheck again

Still no ticket found. Could you post a screenshot of what you have?

@bluntbrain
Copy link
Contributor

is this skill needed? the DeFiLlama skills appears to use CoinGecko internally
cc @taiyangc @hyacinthus

@yudhissatriya
Copy link
Author

I don't see any active ticket on this. Please re-open and be specific on the role. Thank you.

Which ticket category does Intenkit Dev fall into?

Just pick any, I will be able to see it. Thanks.

done, please recheck again

Still no ticket found. Could you post a screenshot of what you have?

thank you i have joined intenkit dev

@yudhissatriya
Copy link
Author

is this skill needed? the DeFiLlama skills appears to use CoinGecko internally cc @taiyangc @hyacinthus

Thanks for your comment, sir. If it is not needed, I will try to create another skill.

@bluntbrain
Copy link
Contributor

bluntbrain commented May 5, 2025

is this skill needed? the DeFiLlama skills appears to use CoinGecko internally cc @taiyangc @hyacinthus

Thanks for your comment, sir. If it is not needed, I will try to create another skill.

great! @yudhissatriya
you can also take a look at this list and pick any one, I could suggest a useful one, that is looking at Twilio or Sendgrid or Mailgun integration so Agents can send messages on email, sms, or whatsapp

@yudhissatriya
Copy link
Author

great! @yudhissatriya
you can also take a look at this list and pick any one, I could suggest a useful one, that is looking at Twilio or Sendgrid or Mailgun integration so Agents can send messages on email, sms, or whatsapp

yes sir, i will try to try it.

but i ask, is it a skill that is needed by the general public?

@bluntbrain
Copy link
Contributor

great! @yudhissatriya
you can also take a look at this list and pick any one, I could suggest a useful one, that is looking at Twilio or Sendgrid or Mailgun integration so Agents can send messages on email, sms, or whatsapp

yes sir, i will try to try it.

but i ask, is it a skill that is needed by the general public?

not sure about that, we can only make the skills and then see how users react to it, how much they use it, so according to me sending alerts (can be price alerts or trade alerts) through email, sms and whatsapp can become a good use case.

But you can alwasy pick any other skill that you think can be more useful, thanks!

@yudhissatriya
Copy link
Author

not sure about that, we can only make the skills and then see how users react to it, how much they use it, so according to me sending alerts (can be price alerts or trade alerts) through email, sms and whatsapp can become a good use case.

But you can alwasy pick any other skill that you think can be more useful, thanks!

Thank you for your advice sir, I will try

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants