Daily Rhythm
Analysis
Daily Rhythm is mostly aligned with daily planning, but it uses persistent automation and live account credentials while its scripts rely on hard-coded /Users/tom paths and store sensitive task/billing data.
Findings (5)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
sys.path.insert(0, '/Users/tom/Library/Python/3.9/lib/python/site-packages')
The script forces Python imports to prefer an author-specific local site-packages directory before loading Google libraries, creating an unexpected dependency/provenance boundary outside the skill and the user's install environment.
env_paths = [
'/Users/tom/.openclaw/workspace/.env.stripe',
os.path.expanduser('~/.openclaw/workspace/.env.stripe'),
'.env.stripe'
]The script searches a fixed /Users/tom workspace for Stripe credentials before the current workspace, which is not proportionate for a portable user-installed skill.
Set Up Cron Jobs Option A: System Cron (Traditional) ```bash crontab -e # Add these lines: 0 7 * * * cd /path/to/workspace && python3 skills/daily-rhythm/scripts/sync-stripe-arr.py 30 8 * * * cd /path/to/workspace && python3 skills/daily-rhythm/scripts/morning-brief.sh
The skill asks the user to create scheduled jobs that continue running outside the immediate chat session; this is disclosed and purpose-aligned for daily automation.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
Create `.env.stripe` in workspace root: ``` STRIPE_API_KEY=sk_live_... ```
The skill instructs users to store a live Stripe secret key for ARR tracking, but the registry declares no credentials and the docs do not advise a restricted read-only key.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
'title': task['title'],
'notes': task.get('notes', ''),
'due': task.get('due'),
'links': task.get('links', [])The Google Tasks sync persists task titles, notes, due dates, and links into a local memory JSON file for reuse in morning briefs.
