mcpField
W
wellally-tech

wellally-tech

github.com/huiferデータ・データベース963353 回インストール15 週間前に更新
リポジトリ

wellally-tech について

wellally-techは、個人の健康管理システム向けのデジタルヘルス連携スキルです。複数のサービスやファイルからデータを取り込み、WellAlly.techのナレッジベースの記事検索や健康データに基づく推薦に利用します。

主な機能

  1. 01Apple Health、Fitbit、Ouraのデータ取り込み
  2. 02CSV/JSONデータのマッピングと検証
  3. 03データをローカルJSON形式に変換
  4. 04健康テーマ別の記事検索
  5. 05健康データに基づく記事推薦

活用シーン

  1. 01複数サービスの健康記録の集約
  2. 02独自のCSVまたはJSONデータの取り込み
  3. 03睡眠や慢性疾患の情報検索
  4. 04健康データに応じた記事の提案

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/huifer/wellally-health --skill wellally-tech

インストール後、Claude Code で/wellally-techを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

data-sources.md
knowledge-base/
chronic-disease.md
fitness.md
index.md
mental-health.md
nutrition.md
sleep.md

詳細

WellAlly デジタルヘルス連携

複数のデジタルヘルスデータソースを連携し、WellAlly.tech のナレッジベースに接続することで、個人向け健康管理システムにデータをインポートし、ナレッジを参照できるようにします。

主な機能

1. デジタルヘルスデータのインポート
  • Apple Health(HealthKit):XML/ZIP ファイルの解析
  • Fitbit:OAuth2 API 連携と CSV インポート
  • Oura Ring:API v2 によるデータ同期
  • 汎用インポート:フィールドマッピングによる CSV/JSON ファイルのインポート
2. WellAlly.tech ナレッジベース連携
  • カテゴリ別記事インデックス:栄養、フィットネス、睡眠、メンタルヘルス、慢性疾患の管理
  • インテリジェントな推奨:ユーザーの健康データに基づいて関連する記事を推奨
  • URL 参照:WellAlly.tech プラットフォームへの直接リンクを提供
3. データの標準化
  • 形式変換:外部データをローカルの JSON 形式に変換
  • フィールドマッピング:異なるプラットフォームのデータフィールドをインテリジェントにマッピング
  • データ検証:インポートしたデータの完全性と正確性を確保
4. インテリジェントな記事の推奨
  • 健康状態の分析:ユーザーの健康データに基づいて分析
  • 関連性のマッチング:ユーザーの健康状態に最も関連性の高い記事を推奨
  • カテゴリ別ナビゲーション:健康に関するトピック別にナレッジベースの記事を整理

使用方法

起動条件

次のような状況についてユーザーから尋ねられた場合に、このスキルを使用します。

データのインポート:

  • ✅ 「Apple Health から健康データをインポートして」
  • ✅ 「Fitbit デバイスを接続して」
  • ✅ 「Oura Ring のデータを同期して」
  • ✅ 「健康データの CSV ファイルをインポートして」
  • ✅ 「フィットネストラッカー/スマートウォッチのデータをインポートする方法は?」

ナレッジベースの検索:

  • ✅ 「WellAlly プラットフォームの高血圧に関する記事」
  • ✅ 「健康管理に役立つ読み物をいくつかおすすめして」
  • ✅ 「私の健康データに基づいて記事をおすすめして」
  • ✅ 「WellAlly ナレッジベースの睡眠に関する記事」
  • ✅ 「血圧を改善する方法は?(ナレッジベースを確認して)」

データ管理:

  • ✅ 「利用可能な健康データソースを教えて」
  • ✅ 「異なるプラットフォームの健康データを統合して」
  • ✅ 「インポートした外部データを表示して」
実行手順
ステップ 1:ユーザーの意図を特定する

ユーザーが何を求めているかを判断します。

  1. データのインポート:外部の健康プラットフォームからデータをインポートする
  2. ナレッジベースの検索:WellAlly.tech 関連の記事を検索する
  3. 推奨の取得:健康データに基づいて記事を推奨する
  4. データ管理:インポートした外部データを表示または管理する
ステップ 2:データインポートのワークフロー

ユーザーがデータのインポートを希望する場合:

2.1 データソースを特定する

const dataSource = identifySource(userInput);
// Possible returns: "apple-health", "fitbit", "oura", "generic-csv", "generic-json"

2.2 外部データを読み込む データソースの種類に応じて、適切なインポートスクリプトを使用します。

// Apple Health
const appleHealthData = readAppleHealthExport(exportPath);

// Fitbit
const fitbitData = fetchFitbitData(dateRange);

// Oura Ring
const ouraData = fetchOuraData(dateRange);

// Generic CSV/JSON
const genericData = readGenericFile(filePath, mappingConfig);

2.3 データのマッピングと変換 外部データをローカル形式にマッピングします。

// Example: Apple Health steps mapping
function mapAppleHealthSteps(appleRecord) {
  return {
    date: formatDateTime(appleRecord.startDate),
    steps: parseInt(appleRecord.value),
    source: "Apple Health",
    device: appleRecord.sourceName
  };
}

// Save to local file
saveToLocalFile("data/fitness/activities.json", mappedData);

2.4 データを検証する

function validateImportedData(data) {
  // Check required fields
  // Validate data types
  // Check data ranges
  // Ensure correct time format

  return {
    valid: true,
    errors: [],
    warnings: []
  };
}

2.5 インポートレポートを生成する

const importReport = {
  source: dataSource,
  import_date: new Date().toISOString(),
  records_imported: {
    steps: 1234,
    weight: 30,
    heart_rate: 1200,
    sleep: 90
  },
  date_range: {
    start: "2025-01-01",
    end: "2025-01-22"
  },
  validation: validationResults
};
ステップ 3:ナレッジベース検索のワークフロー

ユーザーがナレッジベースの検索を希望する場合:

3.1 検索トピックを特定する

const topic = identifyTopic(userInput);
// Possible returns: "nutrition", "fitness", "sleep", "mental-health", "chronic-disease", "hypertension", "diabetes", etc.

3.2 関連記事を検索する ナレッジベースのインデックスから関連記事を検索します。

function searchKnowledgeBase(topic) {
  // Read knowledge base index
  const kbIndex = readFile('.claude/skills/wellally-tech/knowledge-base/index.md');

  // Find matching articles
  const articles = kbIndex.categories.filter(cat =>
    cat.tags.includes(topic) || cat.keywords.includes(topic)
  );

  return articles;
}

3.3 記事のリンクを返す

const results = {
  topic: topic,
  articles: [
    {
      title: "Hypertension Monitoring and Management",
      url: "https://wellally.tech/knowledge-base/chronic-disease/hypertension-monitoring",
      category: "Chronic Disease Management",
      description: "Learn how to effectively monitor and manage blood pressure"
    },
    {
      title: "Blood Pressure Lowering Strategies",
      url: "https://wellally.tech/knowledge-base/chronic-disease/bp-lowering-strategies",
      category: "Chronic Disease Management",
      description: "Improve blood pressure levels through lifestyle changes"
    }
  ],
  total_found: 2
};
ステップ 4:インテリジェントな推奨のワークフロー

ユーザーがパーソナライズされた推奨を希望する場合:

4.1 ユーザーの健康データを読み込む

// Read relevant health data
const profile = readFile('data/profile.json');
const bloodPressure = glob('data/blood-pressure/**/*.json');
const sleepRecords = glob('data/sleep/**/*.json');
const weightHistory = profile.weight_history || [];

4.2 健康状態を分析する

function analyzeHealthStatus(data) {
  const status = {
    concerns: [],
    good_patterns: []
  };

  // Analyze blood pressure
  if (data.blood_pressure?.average > 140/90) {
    status.concerns.push({
      area: "blood_pressure",
      severity: "high",
      condition: "Hypertension",
      value: data.blood_pressure.average
    });
  }

  // Analyze sleep
  if (data.sleep?.average_duration < 6) {
    status.concerns.push({
      area: "sleep",
      severity: "medium",
      condition: "Sleep Deprivation",
      value: data.sleep.average_duration + " hours"
    });
  }

  // Analyze weight trend
  if (data.weight?.trend === "increasing") {
    status.concerns.push({
      area: "weight",
      severity: "medium",
      condition: "Weight Gain",
      value: data.weight.change + " kg"
    });
  }

  // Identify good patterns
  if (data.steps?.average > 8000) {
    status.good_patterns.push({
      area: "activity",
      description: "Daily average steps over 8000",
      value: data.steps.average
    });
  }

  return status;
}

4.3 関連記事を推奨する

function recommendArticles(healthStatus) {
  const recommendations = [];

  for (const concern of healthStatus.concerns) {
    const articles = findArticlesForCondition(concern.condition);
    recommendations.push({
      condition: concern.condition,
      severity: concern.severity,
      articles: articles
    });
  }

  return recommendations;
}

4.4 推奨レポートを生成する

const recommendationReport = {
  generated_at: new Date().toISOString(),
  health_status: healthStatus,
  recommendations: recommendations,
  total_articles: recommendations.reduce((sum, r) => sum + r.articles.length, 0)
};

出力形式

データインポートの出力
✅ Data Import Successful

Data Source: Apple Health
Import Time: 2025-01-22 14:30:00

Import Records Statistics:
━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 Step Records: 1,234 records
⚖️ Weight Records: 30 records
❤️ Heart Rate Records: 1,200 records
😴 Sleep Records: 90 records

Data Time Range: 2025-01-01 to 2025-01-22
━━━━━━━━━━━━━━━━━━━━━━━━━━

💾 Data Saved To:
• data/fitness/activities.json (steps)
• data/profile.json (weight history)
• data/fitness/heart-rate.json (heart rate)
• data/sleep/sleep-records.json (sleep)

⚠️  Validation Warnings:
• 3 step records missing timestamps, used default values
• 1 weight record abnormal (<20kg), skipped

💡 Next Steps:
• Use /health-trend to analyze imported data
• Use /wellally-tech for personalized article recommendations
ナレッジベース検索の出力
📚 WellAlly Knowledge Base Search Results

Search Topic: Hypertension Management
Articles Found: 2

━━━━━━━━━━━━━━━━━━━━━━━━━━

1. Hypertension Monitoring and Management
   Category: Chronic Disease Management
   Link: https://wellally.tech/knowledge-base/chronic-disease/hypertension-monitoring
   Description: Learn how to effectively monitor and manage blood pressure

2. Blood Pressure Lowering Strategies
   Category: Chronic Disease Management
   Link: https://wellally.tech/knowledge-base/chronic-disease/bp-lowering-strategies
   Description: Improve blood pressure levels through lifestyle modifications

━━━━━━━━━━━━━━━━━━━━━━━━━━

🔗 Related Topics:
• Diabetes Management
• Cardiovascular Health
• Medication Adherence

💡 Tips:
Click links to visit [WellAlly.tech](https://www.wellally.tech/) platform for full articles
インテリジェントな推奨の出力
💡 Article Recommendations Based on Your Health Data

Generated Time: 2025-01-22 14:30:00

━━━━━━━━━━━━━━━━━━━━━━━━━━

🔴 Attention Needed: Blood Pressure Management
━━━━━━━━━━━━━━━━━━━━━━━━━━
Current Status: Average blood pressure 142/92 mmHg (elevated)

Recommended Articles:
1. Hypertension Monitoring and Management
   https://wellally.tech/knowledge-base/chronic-disease/hypertension-monitoring

2. Blood Pressure Lowering Strategies
   https://wellally.tech/knowledge-base/chronic-disease/bp-lowering-strategies

3. Antihypertensive Medication Adherence Guide
   https://wellally.tech/knowledge-base/chronic-disease/medication-adherence

━━━━━━━━━━━━━━━━━━━━━━━━━━

🟡 Attention Needed: Sleep Improvement
━━━━━━━━━━━━━━━━━━━━━━━━━━
Current Status: Average sleep duration 5.8 hours (insufficient)

Recommended Articles:
1. Sleep Hygiene Basics
   https://wellally.tech/knowledge-base/sleep/sleep-hygiene

2. Improve Sleep Quality
   https://wellally.tech/knowledge-base/sleep/sleep-quality-improvement

━━━━━━━━━━━━━━━━━━━━━━━━━━

🟢 Keep Up: Daily Activity
━━━━━━━━━━━━━━━━━━━━━━━━━━
Current Status: Daily average steps 9,234 (good)

Related Reading:
1. Maintain Active Lifestyle
   https://wellally.tech/knowledge-base/fitness/active-lifestyle

━━━━━━━━━━━━━━━━━━━━━━━━━━

Summary: 5 related articles recommended
Visit [WellAlly.tech](https://www.wellally.tech/) Knowledge Base for full content

データソース

外部データソース
データソース種類インポート方法データ内容
Apple HealthファイルインポートXML/ZIP の解析歩数、体重、心拍数、睡眠、ワークアウト
FitbitAPI/CSVOAuth2 または CSVアクティビティ、心拍数、睡眠、体重
Oura RingAPIOAuth2睡眠ステージ、レディネス、心拍変動
汎用 CSVファイルインポートフィールドマッピングカスタム健康データ
汎用 JSONファイルインポートフィールドマッピングカスタム健康データ
ローカルデータファイル
ファイルパスデータ内容ソースの対応関係
data/profile.jsonプロフィール、体重の履歴Apple Health、Fitbit、Oura
data/fitness/activities.json歩数、アクティビティデータApple Health、Fitbit、Oura
data/fitness/heart-rate.json心拍数の記録Apple Health、Fitbit、Oura
data/sleep/sleep-records.json睡眠の記録Apple Health、Fitbit、Oura
data/fitness/recovery.json回復データOura Ring(レディネス)

WellAlly.tech ナレッジベース

ナレッジベースの構成

栄養と食事(knowledge-base/nutrition.md)

  • 食事管理のガイドライン
  • 食品の栄養に関する質問
  • 食事の推奨事項
  • 特別な食事のニーズ

フィットネスと運動(knowledge-base/fitness.md)

  • 運動記録のベストプラクティス
  • アクティビティの推奨事項
  • 運動データの解釈
  • トレーニングプラン

睡眠の健康(knowledge-base/sleep.md)

  • 睡眠の質の分析
  • 睡眠改善の戦略
  • 睡眠障害の概要
  • 睡眠衛生

メンタルヘルス(knowledge-base/mental-health.md)

  • ストレス管理のテクニック
  • 気分の記録の解釈
  • メンタルヘルスのリソース
  • マインドフルネスの実践

慢性疾患の管理(knowledge-base/chronic-disease.md)

  • 高血圧のモニタリング
  • 糖尿病の管理
  • COPD のケア
  • 服薬の遵守
記事の推奨マッピング
const articleMapping = {
  "Hypertension": [
    "chronic-disease/hypertension-monitoring",
    "chronic-disease/bp-lowering-strategies"
  ],
  "Diabetes": [
    "chronic-disease/diabetes-management",
    "nutrition/diabetic-diet"
  ],
  "Sleep Deprivation": [
    "sleep/sleep-hygiene",
    "sleep/sleep-quality-improvement"
  ],
  "Weight Gain": [
    "nutrition/healthy-diet",
    "nutrition/calorie-management"
  ],
  "High Stress": [
    "mental-health/stress-management",
    "mental-health/mindfulness"
  ]
};

インテグレーションガイド

Apple Health のインポート

エクスポート手順:

  1. iPhone で「ヘルスケア」アプリを開きます
  2. 右上のプロフィールアイコンをタップします
  3. 一番下までスクロールし、「すべてのヘルスケアデータを書き出す」をタップします
  4. エクスポートが完了するまで待ち、共有方法を選択します
  5. エクスポートされた ZIP ファイルを保存します

インポート手順:

python scripts/import_apple_health.py ~/Downloads/apple_health_export.zip
Fitbit のインテグレーション

API インテグレーション:

  1. Fitbit Developer Platform でアプリを作成します
  2. CLIENT_ID と CLIENT_SECRET を取得します
  3. OAuth 認証フローを実行します
  4. アクセストークンを保存します

データのインポート:

python scripts/import_fitbit.py --api --days 30

CSV のインポート:

python scripts/import_fitbit.py --csv fitbit_export.csv
Oura Ring のインテグレーション

API インテグレーション:

  1. Oura Developer Platform でアプリを作成します
  2. Personal Access Token を取得します
  3. インポートスクリプトでトークンを設定します

データのインポート:

python scripts/import_oura.py --date-range 2025-01-01 2025-01-22
汎用 CSV/JSON のインポート

CSV のインポート:

python scripts/import_generic.py health_data.csv --mapping mapping_config.json

マッピング設定の例(mapping_config.json):

{
  "date": "Date",
  "steps": "Step Count",
  "weight": "Weight (kg)",
  "heart_rate": "Resting Heart Rate"
}

セキュリティとプライバシー

必ず遵守すること
  • ❌ データを外部サーバーにアップロードしないでください(API 同期を除く)
  • ❌ API の認証情報をコードにハードコードしないでください
  • ❌ ユーザーのアクセストークンを共有しないでください
  • ✅ インポートしたデータはすべてローカルのみに保存します
  • ✅ OAuth の認証情報は暗号化して保存します
  • ✅ ユーザーの明示的な許可を得てからインポートします
データの検証
  • ✅ インポートしたデータの型と範囲を検証します
  • ✅ 異常値(例:負の歩数)を除外します
  • ✅ データソースの情報を保持します
  • ✅ タイムゾーンの変換を処理します
エラー処理

ファイル読み込みの失敗:

  • 「ファイルを読み取れません。ファイルパスと形式を確認してください」と出力します
  • 正しいファイル形式の例を提示します
  • データを再エクスポートするよう提案します

API 呼び出しの失敗:

  • 「API 呼び出しに失敗しました。ネットワーク接続と認証情報を確認してください」と出力します
  • OAuth の再認証方法を案内します
  • CSV のインポート方法に切り替えます

データ検証の失敗:

  • 「データ形式が正しくありません。無効なレコードをスキップしました」と出力します
  • スキップしたレコード数を記録します
  • 有効なデータの処理を続行します

関連コマンド

  • /health-trend:健康状態の傾向を分析します(インポートしたデータを使用)
  • /sleep:睡眠データを記録します
  • /diet:食事データを記録します
  • /fitness:運動データを記録します
  • /profile:個人プロフィールを管理します

技術的な実装

ツールの制限

このスキルでは、以下のツールのみを使用します。

  • Read:外部データファイルと設定を読み取ります
  • Grep:データパターンを検索します
  • Glob:データファイルを検索します
  • Write:インポートしたデータをローカルの JSON ファイルに保存します
Python の依存関係

インポートスクリプトで必要になる可能性のある Python パッケージ:

# Apple Health
import xml.etree.ElementTree as ET
import zipfile

# Fitbit/Oura
import requests

# Generic Import
import csv
import json
パフォーマンスの最適化
  • 差分読み込み:指定した期間内のデータのみをインポートします
  • データの重複排除:同じ日のデータを重複してインポートしないようにします
  • バッチ書き込み:パフォーマンス向上のため、データをまとめて保存します
  • エラー復旧:中断した箇所から再開できるようにします

使用例

例 1:Apple Health データをインポートする

ユーザー:「Apple Health からフィットネストラッカーのデータをインポートして」 出力:インポートのワークフローを実行し、インポートレポートを生成します

例 2:ナレッジベースを検索する

ユーザー:「WellAlly プラットフォームの睡眠に関する記事」 出力:睡眠関連のナレッジベース記事へのリンクを返します

例 3:パーソナライズされたおすすめを取得する

ユーザー:「自分の健康データに基づいて記事をおすすめして」 出力:健康データを分析し、関連する記事をおすすめします

例 4:一般的な CSV をインポートする

ユーザー:「この CSV 健康データファイル health.csv をインポートして」 出力:CSV を解析してフィールドをマッピングし、ローカルに保存します

拡張性

新しいデータソースの追加
  1. integrations/ ディレクトリに新しい連携ガイドを作成します
  2. scripts/ ディレクトリに新しいインポートスクリプトを作成します
  3. data-sources.md のドキュメントを更新します
  4. SKILL.md に使用方法を追加します
新しいナレッジベースカテゴリの追加
  1. knowledge-base/ ディレクトリに新しいカテゴリファイルを作成します
  2. 関連記事へのリンクを追加します
  3. knowledge-base/index.md を更新します
  4. 記事のおすすめのマッピングを更新します

参考リソース

よくある質問

Q:インポートしたデータによって既存のデータは上書きされますか? A:いいえ。インポートしたデータは既存のデータに追加され、上書きされません。重複データは自動的に排除されます。

Q:複数のプラットフォームからデータをインポートできますか? A:はい。Apple Health、Fitbit、Oura など複数のプラットフォームから同時にデータをインポートでき、システムがすべてのデータを統合します。

Q:WellAlly.tech のナレッジベース記事はオフラインで利用できますか? A:いいえ。ナレッジベース記事は URL を通じて参照するため、WellAlly.tech プラットフォームにアクセスするにはネットワーク接続が必要です。

Q:API 認証情報はどこに保存されますか? A:API 認証情報は暗号化されてローカルの設定ファイルに保存され、サーバーにはアップロードされません。

コメント