Skill: yezhaowang888-stack/huimai-summarizer (version 1.1.0)

--- name: summarize-pro description: 上传长文档/文章/PDF/合同，自动生成结构化摘要、关键条款提取、执行清单。支持20+种摘要格式。安装即用，无需API Key。 metadata: {"clawdbot":{"emoji":"📝","requires":{"tools":["read","write"]}}, "calibration": {"version": "1.0.0", "levels": ["quick", "standard", "deep"], "warmMode": "default"}} --- # 📝 文档摘要大师 — 长文档→结构化摘要 上传100页文档，输出1页核心摘要。零配置，安装即用。 --- ## 🔥 核心场景 ``` 范例1: 上传一份50页的PDF合同 → 自动提取关键条款+风险点+执行清单 范例2: 粘贴一篇长文章 → 输出3行核心摘要+5个关键要点+1个行动建议 范例3: 输入会议纪要 → 生成执行清单+责任人+截止时间 ``` ## 🧭 校准与遵从 本Skill搭载**惠迈校准框架 v1.0**，在首次加载时自动执行快速校准，检测环境兼容性。 - **温情模式（默认）**：输出正能量，指出问题时附带改进建议 - **专业模式（可选）**：直出结果，适合熟手用户 - **输出标准**：先给总结，再给要点，最后给建议 ## Examples ``` User: "summarize this: [pastes long article]" User: "tldr: [pastes text]" User: "summarize in 3 bullets" User: "eli5: quantum computing" User: "key takeaways from this meeting: [pastes notes]" User: "action items from this: [pastes email]" User: "summarize in hindi" User: "executive summary of this report: [pastes text]" User: "compare these two articles: [article 1] vs [article 2]" User: "summarize in 50 words" User: "chapter summary: [pastes book chapter]" ``` --- ## First Run Setup On first message, create data directory: ```bash mkdir -p ~/.openclaw/summarize-pro ``` Initialize settings if not exist: ```json // ~/.openclaw/summarize-pro/settings.json { "default_format": "bullets", "default_length": "medium", "default_language": "english", "summaries_count": 0, "words_processed": 0, "streak_days": 0, "last_used": null, "favorite_format": null } ``` Initialize history: ```json // ~/.openclaw/summarize-pro/history.json [] ``` --- ## Data Storage All data stored under `~/.openclaw/summarize-pro/`: - `settings.json` — user preferences and stats - `history.json` — summary history with timestamps - `saved.json` — user's saved/bookmarked summaries - `templates.json` — custom summary templates ## Security & Privacy **All data stays local.** This skill: - Only reads/writes files under `~/.openclaw/summarize-pro/` - Makes NO external API calls or network requests - Sends NO data to any server, email, or messaging service - Does NOT access any external service, API, or URL - All summarization is done by the AI model itself — no third-party summarizer ### Why These Permissions Are Needed - `read`: To read settings, history, and saved summaries from local JSON files - `write`: To save summaries, update stats, and store user preferences --- ## When To Activate Respond when user says any of: - **"summarize"** or **"summary"** — summarize any text - **"tldr"** or **"tl;dr"** — quick summary - **"eli5"** — explain like I'm 5 - **"key takeaways"** — extract main points - **"action items"** — extract to-dos from text - **"bullet points"** — bullet format summary - **"executive summary"** — formal business summary - **"compare"** + two texts — comparison summary - **"summarize in [language]"** — translated summary - **"summarize in [X] words"** — custom length - **"chapter summary"** — book/document chapter - **"meeting notes"** or **"meeting summary"** — meeting format - **"email summary"** — email digest format - **"thread summary"** — conversation/thread summary - **"save summary"** — bookmark a summary - **"summary history"** — view past summaries - **"summary stats"** — view usage statistics --- ## FEATURE 1: Quick Summary (Default) When user pastes text or says **"summarize this"**: 1. Analyze the text length and content type 2. Produce a summary in the user's default format **Default output format:** ``` 📝 SUMMARY ━━━━━━━━━━━━━━━━━━ [3-5 bullet points capturing the main ideas] 📊 Stats: [X] words → [Y] words ([Z]% reduction) ``` Always show the word reduction stats at the bottom. --- ## FEATURE 2: TL;DR Mode When user says **"tldr"** or **"tl;dr"** followed by text: Produce a 1-2 sentence summary. Maximum 50 words. Be punchy and direct. ``` 🔥 TL;DR ━━━━━━━━━━━━━━━━━━ [1-2 sentence summary — direct, no fluff] 📊 [X] words → [Y] words ``` --- ## FEATURE 3: Bullet Points When user says **"summarize in bullets"** or **"bullet points"**: ``` 📋 KEY POINTS ━━━━━━━━━━━━━━━━━━ • [Point 1 — clear and actionable] • [Point 2 — specific detail] • [Point 3 — important context] • [Point 4 — conclusion or next step] • [Point 5 — if needed] 📊 [X] words → [Y] words ([Z]% reduction) ``` Keep to 3-7 bullets. Each bullet should be 1 sentence. --- ## FEATURE 4: ELI5 (Explain Like I'm 5) When user says **"eli5"** followed by text or topic: Simplify complex content into language a child could understand. Use simple words, analogies, and examples. ``` 🧒 ELI5 ━━━━━━━━━━━━━━━━━━ [Simple explanation using everyday language and fun analogies] 💡 In one sentence: [ultra-simple version] ``` --- ## FEATURE 5: Key Takeaways When user says **"key takeaways"** or **"main points"**: Extract the most important insights — things the reader MUST know. ``` 🎯 KEY TAKEAWAYS ━━━━━━━━━━━━━━━━━━ 1. [Most important insight] 2. [Second most important] 3. [Third most important] 4. [Fourth — if significant] 5. [Fifth — if significant] 💡 Bottom line: [One sentence conclusion] ``` Numbered list, ranked by importance. Max 5-7 takeaways. --- ## FEATURE 6: Action Items Extractor When user says **"action items"** or **"extract todos"** or **"what do I need to do"**: Scan text for tasks, deadlines, responsibilities, and commitments. ``` ✅ ACTION ITEMS ━━━━━━━━━━━━━━━━━━ □ [Task 1] — [who] — [deadline if mentioned] □ [Task 2] — [who] — [deadline if mentioned] □ [Task 3] — [who] — [deadline if mentioned] ⏰ Deadlines found: [list any dates mentioned] 👤 People mentioned: [names found in text] ``` If no clear action items found, say so honestly. --- ## FEATURE 7: Executive Summary When user says **"executive summary"** or **"exec summary"**: Formal, professional format suitable for business reports. ``` 📊 EXECUTIVE SUMMARY ━━━━━━━━━━━━━━━━━━ **Overview:** [1-2 sentences — what this is about] **Key Findings:** • [Finding 1] • [Finding 2] • [Finding 3] **Implications:** [What this means] **Recommendation:** [Suggested next step] 📊 [X] words → [Y] words ([Z]% reduction) ``` --- ## FEATURE 8: Custom Length Summary When user specifies a word/sentence count: - "summarize in 50 words" - "summarize in 3 sentences" - "summarize in 1 paragraph" - "make it shorter" / "make it longer" Respect the exact word/sentence count as closely as possible. Show actual count. ``` 📝 SUMMARY ([requested] words) ━━━━━━━━━━━━━━━━━━ [Summary matching requested length] 📊 Actual: [Y] words | Requested: [X] words ``` --- ## FEATURE 9: Meeting Summary When user says **"meeting summary"** or **"meeting notes"**: Format specifically for meeting content. ``` 🤝 MEETING SUMMARY ━━━━━━━━━━━━━━━━━━ 📅 Topic: [inferred from content] 👥 Participants: [names mentioned] **Discussed:** • [Topic 1 — key points] • [Topic 2 — key points] **Decisions Made:** • [Decision 1] • [Decision 2] **Action Items:** □ [Task] — [Owner] — [Deadline] □ [Task] — [Owner] — [Deadline] **Next Steps:** [What happens next] ``` --- ## FEATURE 10: Email Summary When user says **"email summary"** or **"summarize this email"**: ``` 📧 EMAIL SUMMARY ━━━━━━━━━━━━━━━━━━ **From:** [sender if mentioned] **Subject:** [inferred topic] **Purpose:** [Why this email was sent — 1 sentence] **Key Points:** • [Point 1] • [Point 2] **Action Required:** [What you need to do, if anything] **Urgency:** 🔴 High / 🟡 Medium / 🟢 Low ``` --- ## FEATURE 11: Comparison Summary When user says **"compare"** and provides two texts or topics: ``` ⚖️ COMPARISON SUMMARY ━━━━━━━━━━━━━━━━━━ | Aspect | Text A | Text B | |--------|--------|--------| | Main Idea | [A's main point] | [B's main point] | | Tone | [A's tone] | [B's tone] | | Key Claim | [A's claim] | [B's claim] | | Strength | [A's strength] | [B's strength] | | Weakness | [A's weakness] | [B's weakness] | **Agreement:** [What both agree on] **Disagreement:** [Where they differ] **Verdict:** [Which is stronger/more credible and why] ``` --- ## FEATURE 12: Multi-Language Summary When user says **"summarize in [language]"** or **"hindi mein summarize karo"**: Supported languages include but not limited to: Hindi, Spanish, French, German, Japanese, Chinese, Arabic, Portuguese, Italian, Korean, Russian, and more. Summarize the content and output the summary IN the requested language. ``` 📝 SUMMARY (हिंदी) ━━━━━━━━━━━━━━━━━━ [Summary in requested language] 📊 [X] words → [Y] words ``` If user says "summarize in Hindi" — the entire summary output should be in Hindi, not just translated keywords. --- ## FEATURE 13: Thread / Conversation Summary When user says **"thread summary"** or **"summarize this conversation"**: ``` 💬 THREAD SUMMARY ━━━━━━━━━━━━━━━━━━ **Topic:** [What the conversation is about] **Participants:** [Who spoke] **Length:** [Number of messages/exchanges] **Key Points:** • [Main discussion point 1] • [Main discussion point 2] **Consensus:** [What was agreed, if anything] **Open Questions:** [Unresolved issues] **Outcome:** [Result or next step] ``` --- ## FEATURE 14: Chapter / Section Summary When user says **"chapter summary"** or pastes a long document section: ``` 📖 CHAPTER SUMMARY ━━━━━━━━━━━━━━━━━━ **Title/Topic:** [Chapter title or inferred topic] **Synopsis:** [2-3 sentence overview] **Key Events/Points:** 1. [First major point] 2. [Second major point] 3. [Third major point] **Important Details:** • [Detail worth remembering] • [Detail worth remembering] **Themes:** [Recurring themes or patterns] 📊 [X] words → [Y] words ([Z]% reduction) ``` --- ## FEATURE 15: Progressive Summary (Short → Long) When user says **"summarize at all levels"** or **"progressive summary"**: Give multiple summary lengths in one response: ``` 📝 PROGRESSIVE SUMMARY ━━━━━━━━━━━━━━━━━━ 🔥 TL;DR (1 sentence): [One-liner] 📋 Short (3 bullets): • [Point 1] • [Point 2] • [Point 3] 📄 Medium (1 paragraph): [Detailed paragraph summary] 📊 [X] words → 3 levels provided ``` --- ## FEATURE 16: Save Summary When user says **"save summary"** or **"bookmark this"** after a summary: Save the last summary to `~/.openclaw/summarize-pro/saved.json`: ```json { "id": "sum_001", "timestamp": "2026-02-22T14:30:00Z", "format": "bullets", "original_words": 500, "summary_words": 80, "summary": "...", "topic": "inferred topic" } ``` Confirm: ``` 💾 Summary saved! (ID: sum_001) 📂 Total saved: [X] summaries 💡 View saved: "show saved summaries" ``` When user says **"show saved summaries"** or **"my saved summaries"**: Read `saved.json` and display list with timestamps and topics. --- ## FEATURE 17: Summary History When user says **"summary history"** or **"past summaries"**: Read `history.json` and show recent summaries: ``` 📜 SUMMARY HISTORY ━━━━━━━━━━━━━━━━━━ 1. 📝 "AI Ethics Article" — Feb 22, 2:30 PM — Bullets — 500→80 words 2. 🔥 "Team Meeting Notes" — Feb 22, 11:00 AM — TL;DR — 1200→45 words 3. 📊 "Q4 Report" — Feb 21, 4:00 PM — Executive — 3000→200 words 📊 Total: [X] summaries | [Y] words processed ``` Log every summary to history automatically: ```json { "id": "hist_001", "timestamp": "2026-02-22T14:30:00Z", "format": "bullets", "topic": "inferred topic", "original_words": 500, "summary_words": 80 } ``` Keep last 100 entries. Auto-trim older ones. --- ## FEATURE 18: Summary Stats & Gamification When user says **"summary stats"** or **"my stats"**: Read `settings.json` and `history.json`: ``` 📊 YOUR SUMMARY STATS ━━━━━━━━━━━━━━━━━━ 🔢 Total Summaries: [X] 📄 Words Processed: [Y] words ✂️ Words Saved: [Z] words (that's [N] pages!) 🔥 Current Streak: [X] days ⭐ Favorite Format: Bullets (used [X] times) 🏆 ACHIEVEMENTS • 📝 First Summary — Summarized your first text ✅ • 🔟 Power Reader — 10 summaries done ✅ • 💯 Century Club — 100 summaries done [locked] • 📚 Bookworm — 10,000 words processed ✅ • ⚡ Speed Reader — 50,000 words processed [locked] • 🌍 Polyglot — Summarized in 3+ languages [locked] • 📋 Format Master — Used all 5 formats ✅ • 🔥 Week Warrior — 7-day streak [locked] Keep summarizing to unlock more! 🚀 ``` Update stats after every summary. --- ## FEATURE 19: Custom Templates When user says **"create template [name]"** or **"my templates"**: Let users define their own summary format: ``` User: "create template standup" Bot: What sections should your 'standup' template include? User: "what I did yesterday, what I'm doing today, blockers" Bot: ✅ Template 'standup' created! Sections: 1. Yesterday 2. Today 3. Blockers Use it: "summarize as standup: [paste text]" ``` Save to `~/.openclaw/summarize-pro/templates.json`. When user says "summarize as [template name]", use their custom template format. --- ## FEATURE 20: Smart Format Detection When no format is specified, auto-detect the best format based on content: | Content Type | Auto Format | |---|---| | Email | Email Summary (Feature 10) | | Meeting transcript | Meeting Summary (Feature 9) | | News article | Key Takeaways (Feature 5) | | Technical document | Executive Summary (Feature 7) | | Conversation/chat | Thread Summary (Feature 13) | | Book excerpt | Chapter Summary (Feature 14) | | Task-heavy text | Action Items (Feature 6) | | Short text (<100 words) | TL;DR (Feature 2) | | General text | Bullet Points (Feature 3) | Tell the user which format was auto-selected: ``` 🤖 Auto-detected: Meeting transcript → Using Meeting Summary format 🤝 MEETING SUMMARY ... ``` --- ## Behavior Rules 1. **Always count words** — show original vs summary word count 2. **Be accurate** — never add information not in the original text 3. **Be concise** — remove fluff, keep substance 4. **Preserve key facts** — names, numbers, dates, quotes must stay accurate 5. **Adapt tone** — match the formality of the original content 6. **Handle edge cases:** - If text is too short (<30 words): "This text is already quite short! Here's a one-liner:" - If text is unclear/garbled: "The text seems unclear. Here's my best interpretation:" - If no text provided: "Please paste the text you'd like me to summarize!" 7. **Auto-log** every summary to history.json 8. **Update stats** after every summary (words processed, count, streak) 9. **Never fabricate** — if something isn't in the text, don't include it in the summary --- ## Error Handling - If user says "summarize" with no text: Ask them to paste text - If text is in a language AI doesn't recognize well: Try best effort, note uncertainty - If file read fails: Create fresh file and inform user - If history is corrupted: Back up old file, create new one --- ## Data Safety 1. Never expose raw JSON to users — always format nicely 2. Back up before any destructive operation 3. Keep all data LOCAL — never send to external servers 4. Maximum 100 entries in history (auto-trim oldest) 5. Saved summaries have no limit but warn at 500+ --- ## Updated Commands ``` SUMMARIZATION: "summarize [text]" — Default summary (auto-detect format) "tldr [text]" — 1-2 sentence summary "bullets [text]" — Bullet point summary "eli5 [text]" — Explain Like I'm 5 "key takeaways [text]" — Top insights ranked "action items [text]" — Extract tasks & deadlines "exec summary [text]" — Business executive format "summarize in 50 words" — Custom length "meeting summary [text]" — Meeting notes format "email summary [text]" — Email digest format "compare [text A] vs [text B]" — Side-by-side comparison "summarize in hindi [text]" — Any language summary "thread summary [text]" — Conversation summary "chapter summary [text]" — Book/document chapter "progressive summary [text]"— All levels (TL;DR → Short → Medium) MANAGEMENT: "save summary" — Bookmark last summary "show saved summaries" — View bookmarks "summary history" — Past summaries log "summary stats" — Your stats & achievements "create template [name]" — Custom format template "my templates" — View saved templates "set default [format]" — Change default format "help" — Show all commands ``` --- Built by **Manish Pareek** ([@Mkpareek19_](https://x.com/Mkpareek19_)) Free forever. All data stays on your machine. 🦞


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)