← 返回 Skills 市场
saharcarmel

I Love You Mom

作者 SaharCarmel · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
566
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install i-love-you-mom
功能描述
Automated monthly photo-to-Mixtiles pipeline. Collects photos from a WhatsApp group, curates the best ones using vision, builds a multi-photo Mixtiles cart l...
使用说明 (SKILL.md)

Mixtiles Monthly Pipeline

Automatically collect the best family photos from a WhatsApp group each month, curate them, and generate a ready-to-order Mixtiles cart link.

Configuration

These environment variables control the pipeline. Set them before running:

Variable Description Default
MIXTILES_GROUP_JID WhatsApp group JID to collect photos from (required)
MIXTILES_SEND_TO Where to send the cart link (group JID or phone number) Same as MIXTILES_GROUP_JID
MIXTILES_PHOTO_COUNT How many photos to select 4
MIXTILES_TILE_SIZE Tile size for the order RECTANGLE_12X16

Pipeline Steps

Step 1: Collect Photos

Calculate the date range for last month and download all photos from the group:

# Calculate first day of last month
YEAR_MONTH=$(date -v-1m +%Y-%m)  # macOS
AFTER_DATE="${YEAR_MONTH}-01"
OUTPUT_DIR=~/mixtiles-queue/${YEAR_MONTH}

# Run the collection script
bash \x3Cskill-dir>/scripts/collect-photos.sh "$MIXTILES_GROUP_JID" "$AFTER_DATE" "$OUTPUT_DIR"

The script outputs a JSON manifest on stdout with {id, sender, timestamp, filepath} for each downloaded photo.

Step 2: Curate with Vision

Read each downloaded photo using your vision capability. For each photo, evaluate:

Include if:

  • Real family/life moment (people, gatherings, milestones, kids, travel, pets)
  • Good image quality (clear, well-lit, in focus)
  • Unique scene (not a near-duplicate of another photo)

Exclude if:

  • Screenshot, meme, forwarded image, or link preview
  • Blurry, too dark, or very low quality
  • Near-duplicate of a better version already selected
  • Text-heavy image (WhatsApp forwards, news articles)
  • Promotional content or ads

Step 3: Select Top Photos

From the curated set, pick the top $MIXTILES_PHOTO_COUNT photos (default: 4). Prioritize:

  1. People and faces (especially kids, family gatherings)
  2. Milestone moments (birthdays, first steps, graduations)
  3. Travel and experiences
  4. Variety — don't pick 4 photos from the same event if there are others

If fewer than $MIXTILES_PHOTO_COUNT good photos exist, use whatever passes curation.

Step 4: Build Multi-Photo Cart

Use the mixtiles-it skill's script with the --batch flag:

MIXTILES_CART_SCRIPT="$(find ~/.openclaw/workspace/skills/mixtiles-it/scripts -name 'mixtiles-cart.py')"

python3 "$MIXTILES_CART_SCRIPT" \
  --batch \x3Cphoto1> \x3Cphoto2> \x3Cphoto3> \x3Cphoto4> \
  --size "${MIXTILES_TILE_SIZE:-RECTANGLE_12X16}"

This uploads each photo to Cloudinary and outputs a single Mixtiles cart URL with all photos.

Step 5: Send the Link

Send the cart link to the target chat:

SEND_TO="${MIXTILES_SEND_TO:-$MIXTILES_GROUP_JID}"

wacli send text \
  --to "$SEND_TO" \
  --message "Your monthly tiles are ready! Here are the best ${MIXTILES_PHOTO_COUNT:-4} photos from last month. Tap to customize and order: $CART_URL"

Error Handling

  • If collect-photos.sh finds 0 photos: report that no images were found for the period and skip the pipeline.
  • If fewer photos pass curation than MIXTILES_PHOTO_COUNT: use all that passed — even 1 photo is worth sending.
  • If Cloudinary upload fails for a photo: skip that photo, continue with the rest.
  • If wacli send fails: print the cart URL so the user can send it manually.

Manual Trigger

To run the pipeline outside the monthly schedule:

Run the mixtiles-monthly skill: collect photos from the family group for the past month, curate the best ones, build a multi-photo cart link, and send it.

安全使用建议
This skill broadly does what it says (download images from a WhatsApp group, pick the best ones, build a Mixtiles cart and send it), but there are a few things to check before installing or enabling it: - Verify the wacli binary: ensure it's the trusted WhatsApp CLI you expect and that its authentication/session is limited to the account you intend to use. The skill will access group messages and media via wacli. - Provide an explicit environment configuration: set MIXTILES_GROUP_JID and MIXTILES_SEND_TO deliberately. Note the registry metadata did not declare these vars — treat that as a gap and confirm the values before running. - Inspect the mixtiles-it script (the one this skill calls) before use: it uploads photos to Cloudinary to build the cart. Confirm what credentials that script uses and whether uploads are private or stored externally. If you do not trust external cloud uploads for family photos, do not run until you review/modify mixtiles-it. - Be aware of data flow: photos are downloaded locally, then uploaded externally (Cloudinary) and a cart link is sent to the WhatsApp group. Make sure all participants are OK with this sharing. - Test non-destructively: run the collect-photos.sh manually with a safe group or test group and inspect the JSON manifest and downloaded files first. Confirm behavior and error handling match expectations. If you need higher assurance, request the owner to update the registry metadata to list the required env vars and to declare the dependency on the mixtiles-it skill (and any Cloudinary credentials) so you know exactly what secrets/config will be used.
功能分析
Type: OpenClaw Skill Name: i-love-you-mom Version: 1.0.0 The OpenClaw skill 'i-love-you-mom' (mixtiles-monthly) is classified as benign. Its purpose is to automate the collection, curation, and ordering of photos for Mixtiles from a WhatsApp group. The `SKILL.md` provides clear instructions to the AI agent, without any evidence of prompt injection designed to mislead or harm. The `collect-photos.sh` script uses `wacli` and `jq` to interact with WhatsApp and process JSON, which are standard tools for OpenClaw skills. All file operations are confined to a user-owned directory (`~/mixtiles-queue`), and there are no attempts at data exfiltration, malicious execution, persistence, or obfuscation. The skill's actions are fully aligned with its stated purpose.
能力评估
Purpose & Capability
The skill's name/description match the actual behavior: it uses wacli to fetch images from a WhatsApp group, curates them, and calls an external mixtiles-it script to upload to Cloudinary and build a cart. Required binaries (wacli, jq, python3) are appropriate. However, the registry metadata lists no required environment variables while SKILL.md documents required variables (MIXTILES_GROUP_JID, MIXTILES_SEND_TO, etc.), which is an inconsistency.
Instruction Scope
SKILL.md stays on-task (collect, curate, package, send). The script only reads/downloads group image messages via wacli and writes files to an output dir. Two points to note: (1) the skill relies on the agent's vision capability to inspect images (expected for curation), and (2) it explicitly locates and runs another skill's script (~/.openclaw/.../mixtiles-it/scripts/mixtiles-cart.py), which means it will access files from a different skill in the workspace. There are no hidden external endpoints in the included files, but the downstream mixtiles-it script will upload images to Cloudinary (external upload) — users should review that script/behavior before use.
Install Mechanism
This is an instruction-only skill with no install spec. That minimizes install-time risk — nothing is downloaded or written by an installer. The runtime requires local binaries (wacli, jq, python3), which is standard for this workflow.
Credentials
SKILL.md requires several environment variables (MIXTILES_GROUP_JID, MIXTILES_SEND_TO, MIXTILES_PHOTO_COUNT, MIXTILES_TILE_SIZE) but the registry lists none; this registry/manifest mismatch is a configuration consistency issue. The skill does not declare or request credentials explicitly, but it depends on wacli which in practice requires an authenticated WhatsApp session (not documented). Also the skill will cause images to be uploaded to Cloudinary via the external mixtiles-it script — that implies use of additional credentials/config not declared here. Overall, credential and environment requirements are under-documented.
Persistence & Privilege
The skill does not request persistent or elevated platform privileges (always:false). It does reference and execute another skill's script inside the workspace, but it does not modify other skills' configurations. Autonomous invocation is allowed (default) which is normal; combine this with the above concerns about data access when deciding whether to allow autonomous runs.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install i-love-you-mom
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /i-love-you-mom 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release: automated monthly photo-to-Mixtiles pipeline from WhatsApp group photos
元数据
Slug i-love-you-mom
版本 1.0.0
许可证
累计安装 0
当前安装数 0
历史版本数 1
常见问题

I Love You Mom 是什么?

Automated monthly photo-to-Mixtiles pipeline. Collects photos from a WhatsApp group, curates the best ones using vision, builds a multi-photo Mixtiles cart l... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 566 次。

如何安装 I Love You Mom?

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

I Love You Mom 是免费的吗?

是的,I Love You Mom 完全免费(开源免费),可自由下载、安装和使用。

I Love You Mom 支持哪些平台?

I Love You Mom 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 I Love You Mom?

由 SaharCarmel(@saharcarmel)开发并维护,当前版本 v1.0.0。

💬 留言讨论