sickn33/antigravity-awesome-skills/emergency-card

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

生成紧急情况下快速访问的医疗信息摘要卡片。当用户需要旅行、就诊准备、紧急情况或询问"紧急信息"、"医疗卡片"、"急救信息"时使用此技能。提取关键信息(过敏、用药、急症、植入物),支持多格式输出(JSON、文本、二维码),用于急救或快速就医。

Install

npx vskill@latest install sickn33/antigravity-awesome-skills/emergency-card

SKILL.md

紧急医疗信息卡生成器

生成紧急情况下快速访问的医疗信息摘要,用于急救或就医。

核心功能

1. 紧急信息提取

从用户的健康数据中提取最关键的信息:

  • 严重过敏:优先提取4级(过敏性休克)和3级过敏
  • 当前用药:活跃药物的名称、剂量、频率
  • 急症情况:需要紧急处理的医疗状况
  • 植入物:心脏起搏器、支架等(影响检查和治疗)
  • 紧急联系人:快速联系的家属信息
2. 信息优先级排序

按照医疗紧急程度对信息排序:

  1. P0 - 危急信息:过敏性休克、严重药物过敏、危及生命的疾病
  2. P1 - 重要信息:当前用药、慢性病、植入物
  3. P2 - 一般信息:血型、年龄、体重、最近检查
3. 多格式输出

支持多种输出格式以适应不同场景:

  • HTML格式:可打印网页,使用Tailwind CSS和Lucide图标(推荐)
  • JSON格式:结构化数据,便于系统集成
  • 文本格式:简洁可读,适合打印携带
  • PDF格式:专业打印,适合长期保存
HTML格式(新增)

生成独立的HTML文件,包含:

  • 内嵌静态CSS,无外部CDN请求
  • 内嵌静态图标或纯文字,无外部脚本
  • 响应式设计
  • 打印优化
  • 多种尺寸变体(A4、钱包卡、大字版)
  • 自动卡片类型检测(标准、儿童、老年、严重过敏)

使用方式:

bash
# 生成标准卡片
python scripts/generate_emergency_card.py
# 指定卡片类型
python scripts/generate_emergency_card.py standard
python scripts/generate_emergency_card.py child
python scripts/generate_emergency_card.py elderly
python scripts/generate_emergency_card.py severe
# 指定打印尺寸
python scripts/generate_emergency_card.py standard a4 # A4标准
python scripts/generate_emergency_card.py standard wallet # 钱包卡
python scripts/generate_emergency_card.py standard large # 大字版(老年)

输出文件:emergency-cards/emergency-card-{variant}-{YYYY-MM-DD}.html

4. 离线可用
  • 支持手机保存(相册、文件)
  • 支持打印携带(钱包、包)
  • 支持云端备份(可选)

使用说明

触发条件

当用户提到以下场景时,使用此技能:

  • ✅ "生成紧急医疗信息卡"
  • ✅ "我需要旅行,如何快速提供医疗信息"
  • ✅ "把我的过敏信息整理成卡片"
  • ✅ "紧急情况急救信息"
  • ✅ "就医准备资料"
  • ✅ "医疗信息摘要"
执行步骤
步骤 1: 读取用户基础数据

从以下数据源读取信息:

javascript
// 1. 用户档案
const profile = readFile('data/profile.json');
// 2. 过敏史
const allergies = readFile('data/allergies.json');
// 3. 当前用药
const medications = readFile('data/medications/medications.json');
// 4. 辐射记录
const radiation = readFile('data/radiation-records.json');
// 5. 手术记录(查找植入物)
const surgeries = glob('data/手术记录/**/*.json');
// 6. 出院小结(查找急症)
const dischargeSummaries = glob('data/出院小结/**/*.json');
步骤 2: 提取关键信息
2.1 基础信息
javascript
const basicInfo = {
name: profile.basic_info?.name || "未设置",
age: calculateAge(profile.basic_info?.birth_date),
gender: profile.basic_info?.gender || "未设置",
blood_type: profile.basic_info?.blood_type || "未知",
weight: `${profile.basic_info?.weight} ${profile.basic_info?.weight_unit}`,
height: `${profile.basic_info?.height} ${profile.basic_info?.height_unit}`,
bmi: profile.calculated?.bmi,
emergency_contacts: profile.emergency_contacts || []
};
2.2 严重过敏
javascript
// 过滤出3-4级严重过敏
const criticalAllergies = allergies.allergies
.filter(a => a.severity_level >= 3 && a.current_status.status === 'active')
.map(a => ({
allergen: a.allergen.name,
severity: `过敏${getSeverityLabel(a.severity_level)}(${a.severity_level}级)`,
reaction: a.reaction_description,
diagnosed_date: a.diagnosis_date
}));
2.3 慢性疾病诊断(新增)
javascript
// 从慢性病管理数据中提取诊断信息
const chronicConditions = [];
// 高血压
try {
const hypertensionData = readFile('data/hypertension-tracker.json');
if (hypertensionData.hypertension_management?.diagnosis_date) {
chronicConditions.push({
condition: '高血压',
diagnosis_date: hypertensionData.hypertension_management.diagnosis_date,
classification: hypertensionData.hypertension_management.classification,
current_bp: hypertensionData.hypertension_management.average_bp,
risk_level: hypertensionData.hypertension_management.cardiovascular_risk?.risk_level
});
}
} catch (e) {
// 将缺失/读取失败记录为未确认,不解释为无疾病
}
// 糖尿病
try {
const diabetesData = readFile('data/diabetes-tracker.json');
if (diabetesData.diabetes_management?.diagnosis_date) {
chronicConditions.push({
condition: ({type_1: '1型糖尿病', type_2: '2型糖尿病'})[diabetesData.diabetes_management.type] || '糖尿病类型未确认',
diagnosis_date: diabetesData.diabetes_management.diagnosis_date,
duration_years: diabetesData.diabetes_management.duration_years,
hba1c: diabetesData.diabetes_management.hba1c?.history?.[0]?.value,
control_status: '仅列已记录的临床评估,不由单项布尔值判定控制状态'
});
}
} catch (e) {
// 将缺失/读取失败记录为未确认,不解释为无疾病
}
// COPD
try {
const copdData = readFile('data/copd-tracker.json');
if (copdData.copd_management?.diagnosis_date) {
chronicConditions.push({
condition: '慢阻肺(COPD)',
diagnosis_date: copdData.copd_management.diagnosis_date,
gold_grade: `GOLD ${copdData.copd_management.gold_grade}级`,
cat_score: copdData.copd_management.symptom_assessment?.cat_score?.total_score,
exacerbations_last_year: copdData.copd_management.exacerbations?.last_year
});
}
} catch (e) {
// 将缺失/读取失败记录为未确认,不解释为无疾病
}
2.4 当前用药
javascript
// 只包含活跃的药物
const currentMedications = medications.medications
.filter(m => m.active === true)
.map(m => ({
name: m.name,
dosage: `${m.dosage.value}${m.dosage.unit}`,
frequency: getFrequencyLabel(m.frequency),
instructions: m.instructions,
warnings: m.warnings || []
}));
2.4 医疗状况

从出院小结中提取诊断信息:

javascript
const medicalConditions = dischargeSummaries
.flatMap(ds => {
const data = readFile(ds.file_path);
return data.diagnoses || [];
})
.map(d => ({
condition: d.condition,
diagnosis_date: d.date,
status: d.status || "未知"
}));
2.5 植入物

从手术记录中提取植入物信息:

javascript
const implants = surgeries
.flatMap(s => {
const data = readFile(s.file_path);
return data.procedure?.implants || [];
})
.map(i => ({
type: i.type,
implant_date: i.date,
hospital: i.hospital,
notes: i.notes
}));
2.6 近期辐射暴露
javascript
const recentRadiation = {
total_dose_last_year: calculateTotalDose(radiation.records, 'last_year'),
last_exam: radiation.records[radiation.records.length - 1]
};
步骤 3: 生成信息卡片

按照优先级组织信息:

javascript
const emergencyCard = {
version: "1.0",
generated_at: new Date().toISOString(),
basic_info: basicInfo,
critical_allergies: criticalAllergies.sort(bySeverityDesc),
current_medications: currentMedications,
medical_conditions: [...medicalConditions, ...chronicConditions], // 合并急症和慢性病
implants: implants,
recent_radiation_exposure: recentRadiation,
disclaimer: "此信息卡仅供参考,不替代专业医疗诊断",
data_source: "my-his个人健康信息系统",
chronic_conditions: chronicConditions // 单独字段便于访问
};
步骤 4: 格式化输出
JSON格式

直接输出结构化JSON数据。

文本格式

生成易读的文本卡片:

╔═══════════════════════════════════════════════════════════╗
║ 紧急医疗信息卡 ║
╠═══════════════════════════════════════════════════════════╣
║ 姓名:张三 年龄:35岁 ║
║ 血型:A+ 体重:70kg ║
╠═══════════════════════════════════════════════════════════╣
║ 🆘 严重过敏 ║
║ ─────────────────────────────────────────────────────── ║
║ • 青霉素 - 过敏性休克(4级)🆘 ║
║ 反应:呼吸困难、喉头水肿、意识丧失 ║
╠═══════════════════════════════════════════════════════════╣
║ 💊 当前用药 ║
║ ─────────────────────────────────────────────────────── ║
║ • 氨氯地平 5mg - 每日1次(高血压) ║
║ • 二甲双胍 1000mg - 每日2次(糖尿病) ║
╠═══════════════════════════════════════════════════════════╣
║ 🏥 慢性疾病 ║
║ ─────────────────────────────────────────────────────── ║
║ • 高血压(2023-01-01诊断,1级,控制中) ║
║ 平均血压:132/82 mmHg ║
║ • 2型糖尿病(2022-05-10诊断,HbA1c 6.8%) ║
║ 控制状态:良好 ║
║ • 慢阻肺(2020-03-15诊断,GOLD 2级) ║
║ CAT评分:18分 ║
╠═══════════════════════════════════════════════════════════╣
║ 🏥 其他疾病 ║
║ ─────────────────────────────────────────────────────── ║
║ (其他急症或手术诊断,如有) ║
╠═══════════════════════════════════════════════════════════╣
║ 📿 植入物 ║
║ ─────────────────────────────────────────────────────── ║
║ • 心脏起搏器(2022-06-10植入) ║
║ 医院:XX医院 ║
║ 注意:定期复查,携带植入物型号/设备卡;MRI由专业团队核对MR Safe/MR Conditional及条件后决定 ║
╠═══════════════════════════════════════════════════════════╣
║ 📞 紧急联系人 ║
║ ─────────────────────────────────────────────────────── ║
║ • 李四(配偶)- 138****1234 ║
╠═══════════════════════════════════════════════════════════╣
║ ⚠️ 免责声明 ║
║ 此信息卡仅供参考,不替代专业医疗诊断 ║
║ 生成时间:2025-12-31 12:34:56 ║
╚═══════════════════════════════════════════════════════════╝
二维码格式

将JSON数据转换为二维码图片:

javascript
const qrCode = generateQRCode(JSON.stringify(emergencyCard));
emergencyCard.qr_code = qrCode;
步骤 5: 保存文件

根据用户选择的格式保存文件:

javascript
// JSON格式
saveFile('emergency-card.json', JSON.stringify(emergencyCard, null, 2));
// 文本格式
saveFile('emergency-card.txt', generateTextCard(emergencyCard));
// 二维码格式
saveFile('emergency-card-qr.png', emergencyCard.qr_code);
步骤 6: 输出确认信息
✅ 紧急医疗信息卡已生成
文件位置:data/emergency-cards/emergency-card-2025-12-31.json
生成时间:2025-12-31 12:34:56
包含信息:
━━━━━━━━━━━━━━━━━━━━━━━━━━
✓ 基础信息(姓名、年龄、血型)
✓ 严重过敏(1项4级过敏)
✓ 当前用药(2种药物)
✓ 医疗状况(2种疾病)
✓ 植入物(1项)
✓ 紧急联系人(1人)
💡 使用建议:
━━━━━━━━━━━━━━━━━━━━━━━━━━
• 将JSON文件保存到手机云盘
• 将二维码保存到手机相册
• 打印文本版随身携带
• 旅行前更新信息
⚠️ 注意事项:
━━━━━━━━━━━━━━━━━━━━━━━━━━
• 此信息卡仅供参考,不替代专业医疗诊断
• 定期更新(建议每3个月或健康信息变化后)
• 如有严重过敏,请随身携带过敏急救卡

数据源

主要数据源
  • data/profile.json:用户基础信息、血型、紧急联系人
  • data/allergies.json:过敏史和严重程度分级
  • data/medications/medications.json:当前用药计划和剂量
慢性病数据源(新增)
  • data/hypertension-tracker.json:高血压管理数据(诊断日期、分级、血压控制、靶器官损害、心血管风险)
  • data/diabetes-tracker.json:糖尿病管理数据(类型、HbA1c、血糖控制、并发症筛查)
  • data/copd-tracker.json:COPD管理数据(GOLD分级、CAT评分、急性加重史、肺功能)
辅助数据源
  • data/radiation-records.json:近期辐射暴露记录
  • data/手术记录//*.json**:手术植入物信息
  • data/出院小结//*.json**:医疗诊断信息
可选数据源
  • data/index.json:全局数据索引

安全性原则

必须遵循
  • ❌ 不添加用药建议(仅列出当前用药)
  • ❌ 不提供诊断结论(仅列出已知诊断)
  • ❌ 不给出治疗建议(不替代医生)
  • ❌ 标注免责声明(仅供参考)
信息准确度
  • ✅ 仅提取已记录的信息(不推测或推断)
  • ✅ 标注信息来源和更新时间
  • ✅ 建议定期更新信息
隐私保护
  • ✅ 敏感信息可选隐藏
  • ✅ 电话号码部分隐藏(如:138****1234)
  • ✅ 所有数据仅保存在本地

错误处理

数据缺失
  • 过敏数据缺失:输出"未记录过敏史"
  • 用药数据缺失:输出"未记录当前用药"
  • 植入物数据缺失:输出"未记录/未知植入物状态"
文件读取失败
  • 无法读取profile.json:使用默认值(姓名:未设置)
  • 无法读取allergies.json:跳过过敏信息
  • 继续生成其他信息:不因单个文件失败而中断
二维码生成失败
  • 降级为文本格式输出
  • 提示用户手动记录信息

示例输出

完整示例请参考相关文档。

测试数据

测试数据请参考相关文档。

格式说明

详细格式请参考相关文档。

When to Use

Use this skill when tackling tasks related to its primary domain or functionality as described above.

Limitations

  • Use this skill only when the task clearly matches the scope described above.
  • Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  • Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.

可用性与信息核验

本包没有 generate_emergency_card.py、健康数据库、二维码/PDF生成器或readFile等适配器;示例是伪代码,不可声称自动生成、记录或完成测试。先确定用户授权的数据路径与输出位置,仅读取所需信息。严重程度3/4级是源系统字段,非通用医学分级;未知/既往严重过敏不得因active或缺失评分被静默排除。每条用药保留原始单位、途径、最后核对日期与来源,不猜频率/剂量。显示未知与读取错误并让用户/临床人员核对后打印。样例患者及剂量是虚构,不能移入真实卡片。

卡片是既有信息摘要,不提供急症分诊或治疗;若用户正在经历紧急症状,优先提示联系当地急救服务。血型不得据卡片直接决定输血。仅凭起搏器不能一律禁MRI,参见FDA植入物MRI说明。二维码是可被任何扫描者读取的明文,不保证保密;先选择必要字段并检查容量/离线可读性。不要上传到公共二维码/CDN服务;云备份另行授权,不能同时保证所有数据仅本地。真实急救联系人号码需在用户同意的私有版本保留可拨打号码;示例掩码不能用于求助。HTML需转义所有健康文本并禁外部脚本。

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
22,269
Repository forks
3,849
Repository npm downloads, 7 days
11,772
7-day trend score
71

Stars and forks are for the whole GitHub repository, not this skill alone. Downloads are for the repository's npm package. Refreshed 17 Mar 2026, 7 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/sickn33/antigravity-awesome-skills/emergency-card/badge)](https://verified-skill.com/skills/sickn33/antigravity-awesome-skills/emergency-card)

Something wrong with this skill or its page? Tell us.