Source Code
Gork Legacy Skill
Replication of the "Gork" assistant functionality within OpenClaw.
Features
- Task Management: AI-powered task extraction from notes and Slack.
- Daily Note Automation: Automated rollover of incomplete tasks and template generation.
- Sync Integrations:
- Slack: Sync DMs and mentions into the vault.
- Strava: Sync fitness activities and HR zone metrics.
- Harvest: Start/stop timers and summarize billable hours.
Configuration (TOOLS.md)
Add these to your TOOLS.md:
### Gork Skill
- SLACK_USER_TOKEN: xoxp-...
- STRAVA_CLIENT_ID: ...
- STRAVA_CLIENT_SECRET: ...
- STRAVA_REFRESH_TOKEN: ...
- HARVEST_ACCESS_TOKEN: ...
- HARVEST_ACCOUNT_ID: ...
- OBSIDIAN_VAULT_PATH: /home/adam/.openclaw/workspace/vault
Database Schema (SQL)
The skill uses a local SQLite database gork.db with the following tables:
tasks: Centralized task store.strava_activities: Fitness history.note_processing_log: Audit trail for vault changes.
Logic Implementation
Task Rollover
Instead of modifying files directly via shell scripts, the OpenClaw agent uses the read and write tools to:
- Identify the previous day's daily note.
- Extract lines matching
- [ ]. - Prepend them to the "Overdue" section of today's note.
Sync Logic
- Slack: Periodic poll via
web_fetchor a dedicated Python script (as seen in legacy). - Strava/Harvest: REST API calls to fetch data and update the local DB.
File Conflict Resolution
To avoid Obsidian sync conflicts:
- Atomic Writes: Always read the current file content before writing.
- Buffer Scratch: Users write to a "Scratch" section; OpenClaw clears it only after successful processing and commit.
- External DB: Tasks are mirrored in SQLite to ensure no loss if a file sync fails.