← 返回 Skills 市场
terellison

iMessage & Signal Analyzer

作者 Terry Ellison · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
672
总下载
0
收藏
1
当前安装
1
版本数
在 OpenClaw 中安装
/install imessage-signal-analyzer
功能描述
Analyze iMessage (macOS) and Signal conversation history to reveal relationship dynamics — message volume, initiation patterns, silence gaps, tone samples, a...
使用说明 (SKILL.md)

iMessage & Signal Analyzer

Analyze iMessage (macOS) and Signal conversations to produce relationship reports.

Prerequisites

macOS (iMessage)

iMessage data is stored locally on macOS. Depending on your security settings, you may need to grant Full Disk Access:

Option 1: Run the script directly with Python (no special permissions needed if you have read access to ~/Library/Messages/chat.db)

Option 2: If you get a permission error, grant Full Disk Access:

  • Open System Settings → Privacy & Security → Full Disk Access
  • Click + and add Python or your terminal app

Linux / Windows (Signal only)

  • iMessage is not available on Linux/Windows
  • Signal analysis works via exported JSON

Signal (All Platforms)

  • Install signal-cli: brew install signal-cli (macOS) or see https://github.com/AsamK/signal-cli
  • Link your device: signal-cli link and scan QR code
  • Export messages: signal-cli export --output ~/signal_export.json

Usage

iMessage Analysis

python3 skills/message-analyzer/scripts/analyze.py imessage \x3Cphone_or_handle>

Examples:

python3 skills/message-analyzer/scripts/analyze.py imessage "+15551234567"
python3 skills/message-analyzer/scripts/analyze.py imessage "+15551234567" --limit 500

Signal Analysis

First, export your Signal data (one-time):

signal-cli export --output ~/signal_export.json

Then analyze:

python3 skills/message-analyzer/scripts/analyze.py signal ~/signal_export.json \x3Cphone_or_name>

Examples:

python3 skills/message-analyzer/scripts/analyze.py signal ~/signal_export.json "+15551234567"
python3 skills/message-analyzer/scripts/analyze.py signal ~/signal_export.json "+15559876543"

Finding a Contact's Number

iMessage

If you have a name but not a number:

DB=$(ls ~/Library/Application\ Support/AddressBook/Sources/*/AddressBook-v22.abcddb 2>/dev/null | head -1)
sqlite3 "$DB" "SELECT ZFIRSTNAME, ZLASTNAME FROM ZABCDRECORD WHERE ZFIRSTNAME LIKE '%Name%';"

If AddressBook returns no results, ask the user for the number.

Signal

Signal exports include phone numbers in the JSON. Search by name or number.

Key Data Caveats

iMessage

  • Your sent messages may only exist from the current device's setup date — older sent messages are lost when switching devices. This skews initiation stats.
  • Binary messages (attributedBody) are partially decoded — some formatting artifacts like +@ prefixes may appear in samples; these are normal.
  • Multiple handles: One contact may have 2–3 duplicate handles (iMessage + SMS + RCS). The script aggregates them automatically.

Signal

  • Export required: You must export Signal data first using signal-cli export
  • Media: Exported JSON contains message text; media (images, files) is not included
  • Reactions: Emoji reactions are included as separate message entries

Analysis Output

The script produces:

  • Total message count (you vs. them)
  • Date range
  • Messages per year with volume bar
  • Conversation initiation breakdown (new convo = gap > 4 hours)
  • Notable silences (>30 days)
  • Sample messages by year
  • Most recent 10 messages

Interpreting Results

After running the script, synthesize findings conversationally:

  • Volume patterns: When was the friendship most active? Any notable surges or drops?
  • Initiation skew: Who reaches out first? (Note: your sent messages may be missing from old periods)
  • Gaps: Were long silences mutual drift or explainable (device switch, platform change, life event)?
  • Tone/content: What do the sample messages reveal about the relationship's energy?
  • Context from user: Always ask the user to fill in context gaps

Present the analysis conversationally, not just as raw numbers. Offer a genuine take on the relationship dynamic.

安全使用建议
This skill appears to do exactly what it claims: local analysis of iMessage and Signal exports. It does require reading sensitive local files (~/Library/Messages/chat.db and your Address Book) and may need Full Disk Access for Python/Terminal on macOS; be careful about granting that. The included script does not make network calls or require external credentials, but review the script yourself if you can and run it locally rather than giving any remote agent blanket permission. If you want extra safety, export Signal data manually, run the script offline, avoid granting Full Disk Access to generic/unknown Python binaries, and disable autonomous invocation for this skill so it cannot run without your explicit command.
功能分析
Type: OpenClaw Skill Name: imessage-signal-analyzer Version: 1.0.0 The skill is classified as suspicious due to a file path traversal vulnerability in `scripts/analyze.py`. The `analyze_signal` function takes a `json_path` argument directly from command-line input (`sys.argv[2]`) and uses `os.path.expanduser()` before opening the file. This allows an attacker to specify a path like `../../../etc/passwd` to read arbitrary files on the system, potentially exposing sensitive data. While this is a significant vulnerability, there is no clear evidence of intentional malicious behavior such as data exfiltration, persistence, or unauthorized remote control. The `SKILL.md` also contains a `sqlite3` command for AddressBook lookup that could be vulnerable to SQL injection if the AI agent's execution environment does not properly sanitize user input, but the prompt itself does not contain a malicious payload.
能力评估
Purpose & Capability
Name/description, SKILL.md, and the included Python script all focus on analyzing iMessage (macOS) and Signal exports. The script reads ~/Library/Messages/chat.db and Signal export JSONs and performs local analysis; no unrelated services, binaries, or credentials are requested.
Instruction Scope
Runtime instructions are consistent with the task: grant Full Disk Access to read chat.db if needed, use signal-cli to export Signal data, and run the provided analyze.py script. The instructions and script only read local message/contact files and print analysis; they do not instruct sending data to external endpoints.
Install Mechanism
There is no install spec (instruction-only with a bundled script). The README suggests installing signal-cli via brew/GitHub, which is reasonable for Signal exports. No downloads or archive extraction are performed by the skill itself.
Credentials
The skill requires no environment variables, credentials, or config paths in metadata. It legitimately may require Full Disk Access on macOS to read the Messages DB and requires a user-run signal-cli export for Signal; these are proportionate to its stated functionality.
Persistence & Privilege
The skill is not set to always:true and does not request persistent system changes. However, it reads highly sensitive local data (messages/contacts). Because the agent can invoke skills autonomously by default, consider the privacy implications of allowing autonomous runs that could open the Messages DB if Full Disk Access is granted.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install imessage-signal-analyzer
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /imessage-signal-analyzer 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Clean release with fake example data
元数据
Slug imessage-signal-analyzer
版本 1.0.0
许可证
累计安装 1
当前安装数 1
历史版本数 1
常见问题

iMessage & Signal Analyzer 是什么?

Analyze iMessage (macOS) and Signal conversation history to reveal relationship dynamics — message volume, initiation patterns, silence gaps, tone samples, a... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 672 次。

如何安装 iMessage & Signal Analyzer?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install imessage-signal-analyzer」即可一键安装,无需额外配置。

iMessage & Signal Analyzer 是免费的吗?

是的,iMessage & Signal Analyzer 完全免费(开源免费),可自由下载、安装和使用。

iMessage & Signal Analyzer 支持哪些平台?

iMessage & Signal Analyzer 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 iMessage & Signal Analyzer?

由 Terry Ellison(@terellison)开发并维护,当前版本 v1.0.0。

💬 留言讨论