This skill provides a standardized pipeline to help users organize contacts and groups in IM software that lacks categorization features. The overall approach is to form structured data assets through interface screenshots - OCR recognition - merging and analysis, and to assist with cleanup and archiving.
Core Concepts
- Everything (full set): A base list containing all contacts/groups (usually from OCR of the original screenshots).
- Primary Category: Coarse-grained categories, such as "All Contacts" and "All Groups".
- Secondary Category: Fine-grained categories, such as "Important Groups" and "High-Value Discussions".
- Funnel Analysis: By comparing the full set with categories at each level, identify items that are "uncategorized" and "incompletely categorized".
Directory Specification
When using this skill, please follow this lifecycle in the working directory:
01-raw: Stores the original screenshots (user input).02-cropped: Stores the cropped and compressed images (generated by script).03-ocr: Stores the OCR-recognized YAML fragments (generated by LLM).04-merged: Stores the merged category files (generated by script).05-classified: Workspace for manually adjusting categories (user operation).06-report: Stores analysis reports and action recommendations (generated by script).
Workflow
1. Preparation and Cropping (Crop)
First, the user places the screenshots into 01-rawaccording to the existing category folders. For example, 01-raw/everything,01-raw/working-groups , etc.
Then, ask the user for the cropping parameters (left, top, width, height) to remove irrelevant UI elements and keep only the contact list area. Use the following command to crop the images:
# 用法: python crop.py <工作目录> <子目录名> <左> <上> <宽> <高>
# 示例: 裁切 'everything' 文件夹中的图片
python <path/to/skill>/scripts/crop.py . "everything" 0 200 1000 2000
You need to repeat this step for each subdirectory until all screenshots are cropped, with the results saved in 02-cropped/<子目录> .
2. Compression (Compress)
Compress the images in place to reduce the transfer size. You need to execute the following command for each subdirectory:
# 用法: python compress.py <工作目录> <子目录名>
python <path/to/skill>/scripts/compress.py . "everything"
3. Recognition (OCR)
Use a multimodal model to recognize the images in 02-cropped . The prompt for this step is defined in scripts/ocr.md . Read and execute it.
Save the results to 03-ocr/<子目录>/<文件名>.yaml。
4. Merge
Merge the fragmented YAML into a complete file.
# 用法: python merge.py <工作目录>
python <path/to/skill>/scripts/merge.py .
This step will generate a summary file such as 04-merged in everything.yaml .
5. Classification and Analysis (Classify & Analyze)
-
Manual Classification: The Agent needs to copy the contents of
04-mergedto05-classified. Remind the user that the category structure can be adjusted as needed. -
Agent Analysis:
# 用法: python analyze.py <工作目录>
python <path/to/skill>/scripts/analyze.py .
The script will:
- Scan the
05-classifiedfiles ineverything, inject thegroupsattribute, and identify the group category to which each item belongs. - Compare
everythingwith each secondary category to identify uncategorized items. - Generate
06-report/uncategorized_people.yaml(global funnel: uncategorized people). - Generate
06-report/uncategorized_groups.yaml(global funnel: uncategorized groups).
6. Closed-Loop Cleanup (Action)
Based on the reports in 06-report :
- Clean up: Delete unclassified and worthless items in the IM software.
- Archive: For unclassified but valuable items, manually add them to the correct secondary category.