← 返回 Skills 市场
occupythemilkyway

Horus Pro

作者 OccupyTheMilkyWay · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
33
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install horus-pro
功能描述
Horus Pro -- Full Meeting Intelligence Suite. Summary, decisions, action tracker, stakeholder-specific briefs, next meeting agenda, risk flags, and follow-up...
使用说明 (SKILL.md)

Horus Pro -- Full Meeting Intelligence Suite

The complete meeting processing tool. Delivers everything from a raw transcript: full brief, stakeholder-targeted summaries, action tracker, risk flags, next meeting agenda, and polished follow-up emails -- all saved to files.

Bundle deal: All 5 Egyptian skills for $29 -> ko-fi.com/s/7625accf3f (save $16)


Step 1 -- Install

pip3 install rich --break-system-packages --quiet

Step 2 -- Validate and load

import os, sys, re
from datetime import datetime
from rich.console import Console
from rich.panel import Panel
from rich.table import Table
from rich.rule import Rule
from rich import box

console = Console()

LICENSE_KEY = os.environ.get("LICENSE_KEY", "").strip()
if not LICENSE_KEY or not LICENSE_KEY.startswith("HORUS-PRO-"):
    console.print(Panel(
        "[red bold]Horus Pro requires a license key.[/red bold]\
\
"
        "Get your key at: [bold cyan]ko-fi.com/occupythemilkyway[/bold cyan]\
\
"
        "Or try Horus Standard ($5): [dim]openclaw skills install horus[/dim]",
        title="License Required",
        border_style="red"
    ))
    sys.exit(1)

NOTES        = os.environ.get("MEETING_NOTES", "").strip()
TITLE        = os.environ.get("MEETING_TITLE", "").strip()
STAKEHOLDERS = [s.strip() for s in os.environ.get("STAKEHOLDERS", "").split(",") if s.strip()]
YOUR_NAME    = os.environ.get("YOUR_NAME", "").strip()
OUTPUT_DIR   = os.environ.get("OUTPUT_DIR", "./horus_output").strip()

if not NOTES:
    console.print(Panel("[red]MEETING_NOTES is required.[/red]", title="Error", border_style="red"))
    sys.exit(1)

os.makedirs(OUTPUT_DIR, exist_ok=True)

if not TITLE:
    TITLE = NOTES.split("\
")[0].strip()[:60] or "Meeting"

date_str   = datetime.now().strftime("%Y-%m-%d")
safe_title = re.sub(r"[^a-z0-9]+", "_", TITLE.lower())[:30]
word_count = len(NOTES.split())

console.print()
console.print(Panel.fit(
    f"[bold yellow]👁️  Horus Pro -- Full Meeting Intelligence[/bold yellow]\
"
    f"Meeting:      [cyan]{TITLE}[/cyan]\
"
    f"Notes:        [white]{word_count} words[/white]\
"
    f"Stakeholders: [white]{', '.join(STAKEHOLDERS) or 'None specified'}[/white]\
"
    f"Output:       [green]{OUTPUT_DIR}/[/green]",
    border_style="yellow"
))
console.print(Rule("[yellow]Processing...[/yellow]"))
print(f"\
=== MEETING NOTES ===\
{NOTES}\
=== END NOTES ===")
if STAKEHOLDERS:
    print(f"\
Stakeholders requiring targeted briefs: {', '.join(STAKEHOLDERS)}")

Step 3 -- Generate full intelligence suite

Produce these documents from the meeting notes:

1. MEETING_BRIEF.md -- Complete master document:

  • Executive Summary (4-5 sentences, what happened and what matters most)
  • Attendees (extracted from notes)
  • Decisions Made (table: Decision | Made By | Rationale)
  • Action Items (table: # | Action | Owner | Due | Priority | Status=Open)
  • Discussion Topics (organized, with key points under each topic)
  • Open Questions (unresolved items)
  • Risks & Blockers (anything that could prevent progress)

2. ACTION_TRACKER.md -- Standalone action item tracking file:

# Action Tracker -- [TITLE] -- [DATE]

| # | Action | Owner | Due Date | Priority | Status |
|---|--------|-------|----------|----------|--------|
[All action items, one per row]

## Completed (none yet)

3. FOLLOW_UP_EMAIL.md -- Professional follow-up email ready to send:

  • Subject line
  • Full email body (summary, decisions, action items)
  • Signed by {YOUR_NAME} or "Best regards," if blank

4. NEXT_AGENDA.md -- Draft agenda for the next meeting based on this one:

  • Open action items that need check-in
  • Unresolved questions from this meeting
  • Logical next topics based on what was discussed

5. STAKEHOLDER_BRIEFS.md -- If STAKEHOLDERS were provided, write a separate 3-5 sentence brief for each person named, focused only on what's relevant to them (their action items, decisions that affect them, info they need). If no stakeholders specified, write briefs for each person mentioned in the notes.


Step 4 -- Save all files

import os
from datetime import datetime
from rich.console import Console
from rich.panel import Panel
from rich.table import Table
from rich import box
console = Console()

safe = re.sub(r"[^a-z0-9]+", "_", TITLE.lower())[:25]
d    = datetime.now().strftime("%Y%m%d")
outputs = [
    (os.path.join(OUTPUT_DIR, f"meeting_brief_{safe}_{d}.md"),    "Full meeting brief"),
    (os.path.join(OUTPUT_DIR, f"action_tracker_{safe}_{d}.md"),   "Action item tracker"),
    (os.path.join(OUTPUT_DIR, f"follow_up_email_{safe}_{d}.md"),  "Follow-up email"),
    (os.path.join(OUTPUT_DIR, f"next_agenda_{safe}_{d}.md"),      "Next meeting agenda"),
    (os.path.join(OUTPUT_DIR, f"stakeholder_briefs_{safe}_{d}.md"), "Stakeholder briefs"),
]

tbl = Table(title="Horus Pro -- Intelligence Suite Complete", box=box.SIMPLE, border_style="green")
tbl.add_column("File", style="cyan")
tbl.add_column("Contents", style="dim")
for path, desc in outputs:
    tbl.add_row(path, desc)
console.print()
console.print(tbl)
console.print(Panel(
    f"[bold green]Meeting intelligence complete.[/bold green]\
"
    f"[yellow]{len(outputs)} documents[/yellow] saved to [cyan]{OUTPUT_DIR}[/cyan]",
    border_style="green"
))

Save all 5 files to OUTPUT_DIR using your file writing tool.

安全使用建议
Install only if you are comfortable providing raw meeting notes to the agent. Use a private OUTPUT_DIR, avoid shared terminals or CI logs, and consider removing or disabling the transcript print before processing confidential meetings.
能力评估
Purpose & Capability
The skill's declared purpose is to turn raw meeting notes into summaries, action items, agendas, stakeholder briefs, and follow-up email drafts, and its requested MEETING_NOTES input matches that purpose.
Instruction Scope
The runtime instructions are mostly scoped to meeting processing, but they include printing the full raw MEETING_NOTES value to stdout, which is broader disclosure than needed for the task.
Install Mechanism
The only install instruction is a pip3 install of rich using --break-system-packages; this is not malicious, but it can modify the user's Python environment more broadly than a virtual environment would.
Credentials
Requiring raw meeting notes and a license key is proportionate for a paid meeting-analysis skill, with no artifact-backed network exfiltration or remote license check present.
Persistence & Privilege
The skill creates an output directory and saves five meeting-derived markdown files; this is disclosed and purpose-aligned, but users should treat those files as sensitive retained data.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install horus-pro
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /horus-pro 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of Horus Pro: Full Meeting Intelligence Suite. - Automatically generates meeting brief, action tracker, stakeholder-specific briefs, next agenda, and follow-up email from a single transcript. - Supports targeted briefs for named stakeholders. - Produces 5 markdown documents, all saved to a user-defined output folder. - Requires LICENSE_KEY and MEETING_NOTES for use. - Integration-ready for workflows on ClawHub.
元数据
Slug horus-pro
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Horus Pro 是什么?

Horus Pro -- Full Meeting Intelligence Suite. Summary, decisions, action tracker, stakeholder-specific briefs, next meeting agenda, risk flags, and follow-up... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 33 次。

如何安装 Horus Pro?

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

Horus Pro 是免费的吗?

是的,Horus Pro 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Horus Pro 支持哪些平台?

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

谁开发了 Horus Pro?

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

💬 留言讨论