jpskill.com
🛠️ 開発・MCP コミュニティ

aave-risk-assessor

AAVE V3のポジションについて、ヘルスファクターや清算リスクなどを計算し、イーサリアムとArbitrum上のリスクレベルを評価するSkill。

📜 元の英語説明(参考)

This skill should be used when the user asks about "health factor", "liquidation risk", "aave risk", "will I be liquidated", "safe to borrow", "my account health", "collateral risk", "liquidation price", or wants to assess the risk of their AAVE V3 position. Calculates health factor, LTV ratios, liquidation thresholds, and provides risk level assessments for positions on Ethereum and Arbitrum.

🇯🇵 日本人クリエイター向け解説

一言でいうと

AAVE V3のポジションについて、ヘルスファクターや清算リスクなどを計算し、イーサリアムとArbitrum上のリスクレベルを評価するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-17
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

AAVE V3 リスク評価

AAVE V3 ポジションのヘルスファクター、LTV 比率、清算リスクを含むリスク指標を評価します。

ランタイム互換性: このスキルは、インタラクティブなプロンプトに AskUserQuestion を使用します。ランタイムで AskUserQuestion が利用できない場合は、代わりに自然言語での会話を通じて同じパラメーターを収集してください。

概要

AAVE V3 ポジションのリスク指標を計算し、解釈します。

  1. ヘルスファクター (HF) - 主要な清算リスク指標
  2. LTV (Loan-to-Value) - 現在および最大の借入能力
  3. 清算しきい値 - 清算が可能になる時点
  4. リスクレベル分類 - 安全、中程度、高、危機的、清算

トリガーフレーズ

このスキルは、ユーザーが次のように発言したときに呼び出されるべきです。

  • "health factor"
  • "liquidation risk"
  • "aave risk"
  • "will I be liquidated"
  • "safe to borrow"
  • "my account health"
  • "collateral risk"
  • "liquidation price"

リスク指標

ヘルスファクター

ヘルスファクターは、ポジションの安全性を数値で表したものです。

HF = (Σ Collateral_i × LiquidationThreshold_i) / TotalDebt
ヘルスファクター リスクレベル 説明 推奨されるアクション
> 2.0 安全 ポジションは十分に担保されています 通常の運用
1.5 - 2.0 中程度 ポジションは健全ですが、監視が必要です 監視を継続
1.2 - 1.5 ポジションはリスクにさらされています 担保の追加または負債の返済を検討してください
1.0 - 1.2 危機的 ポジションは清算に近づいています 緊急: 直ちに担保を追加するか、負債を返済してください
< 1.0 清算 ポジションは清算される可能性があります ポジションは清算中または清算されます

リスクレベルの実装

function getRiskLevel(healthFactor: number): RiskLevel {
  if (healthFactor > 2.0) return 'safe';
  if (healthFactor >= 1.5) return 'moderate';
  if (healthFactor >= 1.2) return 'high';
  if (healthFactor >= 1.0) return 'critical';
  return 'liquidation';
}

type RiskLevel = 'safe' | 'moderate' | 'high' | 'critical' | 'liquidation';

const riskLevelMessages: Record<RiskLevel, string> = {
  safe: 'Your position is well-collateralized.',
  moderate: 'Your position is healthy, but continue monitoring.',
  high: 'Your position is at risk. Consider adding collateral or repaying debt.',
  critical: 'Warning: Your position is near liquidation! Add collateral or repay immediately.',
  liquidation: 'Your position is eligible for liquidation.'
};

リスク評価インターフェース

interface RiskAssessment {
  // Core metrics
  healthFactor: string;           // Current health factor (e.g., "1.85")
  maxLTV: string;                 // Maximum LTV allowed (e.g., "0.80")
  currentLTV: string;             // Current LTV ratio (e.g., "0.45")
  liquidationThreshold: string;   // Liquidation threshold (e.g., "0.825")
  liquidationPenalty: string;     // Liquidation penalty (e.g., "0.05")

  // eMode status
  eModeStatus: boolean;           // Whether eMode is enabled
  eModeCategory?: number;         // eMode category ID if enabled

  // Risk classification
  riskLevel: 'safe' | 'moderate' | 'high' | 'critical' | 'liquidation';

  // Additional metrics
  totalCollateralUSD: string;     // Total collateral value in USD
  totalDebtUSD: string;           // Total debt value in USD
  availableBorrowsUSD: string;    // Available borrowing power in USD
}

ワークフロー

ステップ 1: ウォレットアドレスの取得

コンテキストで提供されていない場合、ユーザーにウォレットアドレスを尋ねます。

入力検証:

  • アドレスは ^0x[a-fA-F0-9]{40}$ に一致する必要があります。
  • 有効なチェックサム付き Ethereum アドレスである必要があります。

ステップ 2: チェーンの決定

指定されていない場合、Ethereum または Arbitrum のどちらのチェーンを確認するか尋ねます。

ステップ 3: オンチェーンデータのクエリ

Pool コントラクトを使用してユーザーアカウントデータを取得します。

import { createPublicClient, http, parseAbi } from 'viem';
import { mainnet, arbitrum } from 'viem/chains';

const POOL_ADDRESSES = {
  1: '0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2',    // Ethereum
  42161: '0x794a61358D6845594F94dc1DB02A252b5b4814aD'  // Arbitrum
};

const poolAbi = parseAbi([
  'function getUserAccountData(address user) view returns (uint256 totalCollateralBase, uint256 totalDebtBase, uint256 availableBorrowsBase, uint256 currentLiquidationThreshold, uint256 ltv, uint256 healthFactor)'
]);

ステップ 4: リスク評価の提示

明確なリスク指標で出力をフォーマットします。

## AAVE ポジションリスク評価

### リスク概要

| メトリック | 値 | ステータス |
|------------|------|----------|
| ヘルスファクター | {healthFactor} | {riskEmoji} {riskLevel} |
| 総担保額 | ${totalCollateralUSD} | - |
| 総負債額 | ${totalDebtUSD} | - |
| 借入可能額 | ${availableBorrowsUSD} | - |

リスク絵文字:

  • 安全: ✅
  • 中程度: ℹ️
  • 高: ⚠️
  • 危機的: 🚨
  • 清算: ❌

アセット固有のリスクパラメーター

Ethereum メインネット (チェーン ID: 1)

アセット LTV 清算しきい値 清算ペナルティ
USDC 77% 80% 5%
USDT 75% 80% 5%
DAI 77% 80% 5%
WETH 80% 82.5% 5%
WBTC 73% 78% 7.5%

Arbitrum (チェーン ID: 42161)

アセット LTV 清算しきい値 清算ペナルティ
USDC 80% 85% 5%
USDT 75% 80% 5%
DAI 75% 80% 5%
WETH 80% 82.5% 5%
WBTC 73% 78% 7.5%

参照

  • references/health-factor.md - 詳細なヘルスファクターの計算
  • references/risk-thresholds.md - アセットごとの完全なリスクパラメーター
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

AAVE V3 Risk Assessor

Assess risk metrics for AAVE V3 positions including Health Factor, LTV ratios, and liquidation risk.

Runtime Compatibility: This skill uses AskUserQuestion for interactive prompts. If AskUserQuestion is not available in your runtime, collect the same parameters through natural language conversation instead.

Overview

Calculate and interpret risk metrics for AAVE V3 positions:

  1. Health Factor (HF) - Primary liquidation risk indicator
  2. LTV (Loan-to-Value) - Current and maximum borrowing capacity
  3. Liquidation Threshold - Point at which liquidation becomes possible
  4. Risk Level Classification - Safe, Moderate, High, Critical, Liquidation

Trigger Phrases

This skill should be invoked when users say:

  • "health factor"
  • "liquidation risk"
  • "aave risk"
  • "will I be liquidated"
  • "safe to borrow"
  • "my account health"
  • "collateral risk"
  • "liquidation price"

Risk Metrics

Health Factor

The Health Factor is a numeric representation of position safety:

HF = (Σ Collateral_i × LiquidationThreshold_i) / TotalDebt
Health Factor Risk Level Description Recommended Action
> 2.0 Safe Position is well-collateralized Normal operation
1.5 - 2.0 Moderate Position is healthy but monitor Continue monitoring
1.2 - 1.5 High Position is at risk Consider adding collateral or repaying debt
1.0 - 1.2 Critical Position is near liquidation Urgent: Add collateral or repay immediately
< 1.0 Liquidation Position can be liquidated Position is being or will be liquidated

Risk Level Implementation

function getRiskLevel(healthFactor: number): RiskLevel {
  if (healthFactor > 2.0) return 'safe';
  if (healthFactor >= 1.5) return 'moderate';
  if (healthFactor >= 1.2) return 'high';
  if (healthFactor >= 1.0) return 'critical';
  return 'liquidation';
}

type RiskLevel = 'safe' | 'moderate' | 'high' | 'critical' | 'liquidation';

const riskLevelMessages: Record<RiskLevel, string> = {
  safe: 'Your position is well-collateralized.',
  moderate: 'Your position is healthy, but continue monitoring.',
  high: 'Your position is at risk. Consider adding collateral or repaying debt.',
  critical: 'Warning: Your position is near liquidation! Add collateral or repay immediately.',
  liquidation: 'Your position is eligible for liquidation.'
};

Risk Assessment Interface

interface RiskAssessment {
  // Core metrics
  healthFactor: string;           // Current health factor (e.g., "1.85")
  maxLTV: string;                 // Maximum LTV allowed (e.g., "0.80")
  currentLTV: string;             // Current LTV ratio (e.g., "0.45")
  liquidationThreshold: string;   // Liquidation threshold (e.g., "0.825")
  liquidationPenalty: string;     // Liquidation penalty (e.g., "0.05")

  // eMode status
  eModeStatus: boolean;           // Whether eMode is enabled
  eModeCategory?: number;         // eMode category ID if enabled

  // Risk classification
  riskLevel: 'safe' | 'moderate' | 'high' | 'critical' | 'liquidation';

  // Additional metrics
  totalCollateralUSD: string;     // Total collateral value in USD
  totalDebtUSD: string;           // Total debt value in USD
  availableBorrowsUSD: string;    // Available borrowing power in USD
}

Workflow

Step 1: Get Wallet Address

If not provided in context, ask the user for their wallet address.

Input validation:

  • Address must match ^0x[a-fA-F0-9]{40}$
  • Must be a valid checksummed Ethereum address

Step 2: Determine Chain

If not specified, ask which chain to check: Ethereum or Arbitrum.

Step 3: Query On-Chain Data

Use the Pool contract to get user account data:

import { createPublicClient, http, parseAbi } from 'viem';
import { mainnet, arbitrum } from 'viem/chains';

const POOL_ADDRESSES = {
  1: '0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2',    // Ethereum
  42161: '0x794a61358D6845594F94dc1DB02A252b5b4814aD'  // Arbitrum
};

const poolAbi = parseAbi([
  'function getUserAccountData(address user) view returns (uint256 totalCollateralBase, uint256 totalDebtBase, uint256 availableBorrowsBase, uint256 currentLiquidationThreshold, uint256 ltv, uint256 healthFactor)'
]);

Step 4: Present Risk Assessment

Format the output with clear risk indicators:

## AAVE Position Risk Assessment

### Risk Summary

| Metric | Value | Status |
|--------|-------|--------|
| Health Factor | {healthFactor} | {riskEmoji} {riskLevel} |
| Total Collateral | ${totalCollateralUSD} | - |
| Total Debt | ${totalDebtUSD} | - |
| Available to Borrow | ${availableBorrowsUSD} | - |

Risk Emojis:

  • Safe: ✅
  • Moderate: ℹ️
  • High: ⚠️
  • Critical: 🚨
  • Liquidation: ❌

Asset-Specific Risk Parameters

Ethereum Mainnet (Chain ID: 1)

Asset LTV Liquidation Threshold Liquidation Penalty
USDC 77% 80% 5%
USDT 75% 80% 5%
DAI 77% 80% 5%
WETH 80% 82.5% 5%
WBTC 73% 78% 7.5%

Arbitrum (Chain ID: 42161)

Asset LTV Liquidation Threshold Liquidation Penalty
USDC 80% 85% 5%
USDT 75% 80% 5%
DAI 75% 80% 5%
WETH 80% 82.5% 5%
WBTC 73% 78% 7.5%

References

  • references/health-factor.md - Detailed Health Factor calculation
  • references/risk-thresholds.md - Complete risk parameters by asset