← Back to Skills Marketplace
Daily Stock Announcement
by
terrycarter1985
· GitHub ↗
· v1.1.0
· MIT-0
95
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install stock-announcement
Description
每日股票投资组合公告工具,集成Gmail邮件报告和Sonos语音播报功能。
Usage Guidance
This skill appears to implement the advertised Gmail + Sonos features, but exercise caution before installing. Specific concerns: (1) The registry metadata omits required env vars even though the script expects SONOS_SPEAKER and RECIPIENT_EMAIL and a Gmail OAuth token; (2) the script actively searches for credentials in multiple fallback locations (workspace .env, current working directory, your home directory, /config), which could cause it to pick up and use unrelated Gmail tokens on your machine; (3) there are packaging/path mismatches in SKILL.md/skill.yaml (references to scripts/ path that don't match the included filename), indicating sloppy packaging. Recommended actions before installing or running: review the full script yourself (especially the credential-loading code), put Gmail token only in the intended config location (or better: use a dedicated service account or project-limited token), run the skill in an isolated environment or container, set RECIPIENT_EMAIL to a safe test address first, and verify you trust the sonoscli GitHub repository used for the 'sonos' binary. If you require higher assurance, ask the author to remove fallback scanning of home and root paths and to declare required env vars in the metadata.
Capability Analysis
Type: OpenClaw Skill
Name: stock-announcement
Version: 1.1.0
The stock-announcement skill is a legitimate automation tool for portfolio tracking. It uses standard libraries like yfinance for data and the official Google API client for Gmail integration. The code follows security best practices, such as using subprocess.run with argument lists to prevent shell injection and implementing structured logging and retry logic. No evidence of data exfiltration, credential theft, or malicious instructions was found in daily_stock_announcement.py or the documentation.
Capability Tags
Capability Assessment
Purpose & Capability
The code, SKILL.md, and install spec all implement the advertised features (yfinance portfolio analysis, Gmail API email sending, Sonos TTS via a sonos CLI). The go install for github.com/steipete/sonoscli to provide a 'sonos' binary and the listed pip packages are appropriate for the claimed purpose. However, the registry metadata lists no required env vars while SKILL.md and the script expect SONOS_SPEAKER and RECIPIENT_EMAIL, which is an inconsistency.
Instruction Scope
The runtime instructions and the script instruct use of a Gmail OAuth token (config/token.json) and environment variables, which fits the purpose. But the script implements broad credential/config discovery: it loads a .env located at WORKSPACE_ROOT determined as Path(__file__).parent.parent (which may point outside the skill directory) and searches fallback locations for token.json (cwd, home, /config). That expands the scope to read user-level files outside the skill and could pick up unrelated credentials.
Install Mechanism
Install uses pip for standard packages and a Go module from GitHub to produce the 'sonos' binary. These are common mechanisms and the Go module points at a GitHub repo (not a shortener or personal IP). No suspicious remote arbitrary archive downloads were observed.
Credentials
The skill did not declare required env vars in registry metadata, yet the SKILL.md and code require/expect SONOS_SPEAKER and RECIPIENT_EMAIL and a Gmail OAuth token. The code's fallback scanning (Path.home(), Path.cwd(), and absolute /config) means it can access credentials outside the project; requesting or reading those without explicit declaration is disproportionate and risk-increasing.
Persistence & Privilege
The skill does not request always:true and does not modify other skills or global agent settings. It runs as an ordinary, user-invocable skill with normal autonomous invocation settings.
How to Use
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install stock-announcement - After installation, invoke the skill by name or use
/stock-announcement - Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.1.0
v1.1.0: 修复邮件发送路径解析、Sonos播报重试机制、添加结构化日志与超时保护
Metadata
Frequently Asked Questions
What is Daily Stock Announcement?
每日股票投资组合公告工具,集成Gmail邮件报告和Sonos语音播报功能。 It is an AI Agent Skill for Claude Code / OpenClaw, with 95 downloads so far.
How do I install Daily Stock Announcement?
Run "/install stock-announcement" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Daily Stock Announcement free?
Yes, Daily Stock Announcement is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Daily Stock Announcement support?
Daily Stock Announcement is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Daily Stock Announcement?
It is built and maintained by terrycarter1985 (@terrycarter1985); the current version is v1.1.0.
More Skills