health-trend-analyzer — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited health-trend-analyzer (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Analyze trends and patterns in health data over time; identify changes and correlations and provide data-driven health insights.
Use this skill when the user mentions scenarios such as:
General queries:
Specific dimensions:
Correlation analysis:
Time range:
#### Step 1: Determine the analysis time range
Extract the time range from user input, or use the default (3 months).
#### Step 2: Read health data
Read the following data sources:
// 1. Personal profile (BMI, weight)
const profile = readFile('data/profile.json');
// 2. Symptom records
const symptomFiles = glob('data/symptoms/**/*.json');
const symptoms = readAllJson(symptomFiles);
// 3. Mood records
const moodFiles = glob('data/mood/**/*.json');
const moods = readAllJson(moodFiles);
// 4. Diet records
const dietFiles = glob('data/diet/**/*.json');
const diets = readAllJson(dietFiles);
// 5. Medication logs
const medicationLogs = glob('data/medication-logs/**/*.json');
// 6. Women's-health data (if applicable)
const cycleData = readFile('data/cycle-tracker.json');
const pregnancyData = readFile('data/pregnancy-tracker.json');
const menopauseData = readFile('data/menopause-tracker.json');
// 7. Allergy history
const allergies = readFile('data/allergies.json');
// 8. Radiation records
const radiation = readFile('data/radiation-records.json');#### Step 3: Filter data
Filter data by time range:
function filterByDate(data, startDate, endDate) {
return data.filter(item => {
const itemDate = new Date(item.date || item.created_at);
return itemDate >= startDate && itemDate <= endDate;
});
}#### Step 4: Trend analysis
Analyze the trend for each data dimension:
4.1 Weight/BMI trend
4.2 Symptom patterns
4.3 Medication adherence
4.4 Lab results
4.5 Mood and sleep
#### Step 5: Correlation analysis
Identify correlations using statistical methods:
// Pearson correlation coefficient
function pearsonCorrelation(x, y) {
// Compute the correlation coefficient
// Range: -1 (negative) to 1 (positive)
}
// Use cases
- Medication start date vs. symptom frequency
- Sleep duration vs. mood score
- Weight change vs. diet records
- Exercise volume vs. mood state#### Step 6: Change detection
Identify significant changes:
// Change-point detection
function detectChangePoints(timeSeries) {
// Use statistical methods to detect significant change points
// e.g., sudden weight drop, sudden symptom increase
}
// Threshold alerts
function checkThresholds(value, thresholds) {
// Check whether approaching or exceeding dangerous thresholds
// e.g., BMI > 30, radiation dose > safe limit
}#### Step 7: Generate insights
Generate predictive insights from the results:
// Risk assessment
function assessRisks(trends) {
// Identify high-risk trends
// e.g., rapid weight loss, frequent symptoms
}
// Preventive advice
function generateRecommendations(trends, correlations) {
// Suggest preventive measures based on patterns
// e.g., improve sleep, improve medication adherence
}
// Early warning
function earlyWarnings(trends) {
// Predict before a problem becomes serious
// e.g., rising symptom frequency, persistently low mood
}#### Step 8: Generate a visual report
Generate an interactive HTML report:
For detailed output formats, see: data-sources.md
Health Trend Analysis Report
━━━━━━━━━━━━━━━━━━━━━━━━━━
Generated: 2025-12-31
Analysis period: past 3 months (2025-10-01 to 2025-12-31)
📊 Overall assessment
━━━━━━━━━━━━━━━━━━━━━━━━━━
Improving: weight management, cholesterol level
Stable: glucose control, mood state
Needs attention: medication adherence, sleep quality
📊 Weight/BMI trend
├─ Current weight: 68.5 kg
├─ Current BMI: 23.1 (normal range)
├─ 3-month change: -2.3 kg (-3.2%)
├─ Trend: 📉 gradual weight loss
└─ Assessment: ✅ positive trend, within healthy range
💊 Medication adherence
├─ Current medications: 3
├─ Overall adherence: 78%
├─ Missed doses: 8
├─ Best: Aspirin (95%)
└─ Needs improvement: Amlodipine (65%)
⚠️ Symptom patterns
├─ Most frequent: headache (12 times in 3 months)
├─ Trend: 📉 decreasing frequency (4 fewer than last period)
├─ Potential trigger: moderate correlation with sleep quality (r=0.62)
└─ Suggestion: keep improving sleep patterns
🧪 Lab-result trends
├─ Cholesterol: 240 → 210 mg/dL (improved ✅)
├─ Glucose: 5.6 → 5.4 mmol/L (stable)
├─ Last test: 30 days ago
└─ Suggestion: recheck in 3 months
😊 Mood and sleep
├─ Average mood score: 6.8/10
├─ Average sleep duration: 6.5 hours
├─ Trend: stable mood, slightly improved sleep
└─ Correlation: sleep duration strongly correlates with mood score (r=0.78)
🔗 Correlation analysis
━━━━━━━━━━━━━━━━━━━━━━━━━━
• Sleep duration ↔ mood score: strong positive (r=0.78)
• Weight change ↔ diet records: moderate (r=0.55)
• Medication adherence ↔ symptom frequency: moderate negative (r=-0.62)
💡 Risk assessment and suggestions
━━━━━━━━━━━━━━━━━━━━━━━━━━
🟢 Keep doing
• Current weight-management approach is effective
• Cholesterol level clearly improved
🟡 Needs attention
• Improve Amlodipine adherence (set reminders)
• Increase sleep duration to 7-8 hours
📅 Recheck plan
• Recheck a lipid panel in 3 months
• Reassess medication-adherence improvement in 1 month
━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ Disclaimer
This analysis is for reference only and does not replace professional medical diagnosis.
Please consult a physician for professional advice.Generates a standalone HTML file with interactive ECharts charts, including:
HTML-file features:
| Data source | File path | Content |
|---|---|---|
| Personal profile | data/profile.json | weight, height, BMI history |
| Symptom records | data/symptoms/**/*.json | symptom name, severity, duration |
| Mood records | data/mood/**/*.json | mood score, sleep quality, stress level |
| Diet records | data/diet/**/*.json | meals, foods, calories, nutrients |
| Medication logs | data/medication-logs/**/*.json | dose times, adherence records |
| Lab results | data/medical_records/**/*.json | biochemistry, reference ranges |
| Data source | File path | Content |
|---|---|---|
| Menstrual cycle | data/cycle-tracker.json | cycle length, symptom records |
| Pregnancy | data/pregnancy-tracker.json | gestational week, weight, check-ups |
| Menopause | data/menopause-tracker.json | symptoms, HRT use |
| Allergy history | data/allergies.json | allergen, severity |
| Radiation records | data/radiation-records.json | cumulative radiation dose |
For detailed data structures, see: data-sources.md
For detailed algorithms, see: algorithms.md
User: "What has changed in my health over the past 3 months?" Output: a full HTML report with trend analysis across all dimensions
User: "Analyze my symptom patterns" Output: focus on symptom frequency, triggers, trends
User: "What is my weight trend?" Output: focus on weight/BMI change and correlation with diet/exercise
User: "Is my blood-pressure medication working?" Output: correlate medication start date with BP readings and symptom improvement
For more complete examples, see: examples.md
/symptom: record a symptom/mood: record mood/diet: record diet/medication: manage medications and dose records/query: query a specific data pointThis skill uses only the following tools (no extra permissions):
data/health-reports/)~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.