# Skill Tududi Tasks OpenClaw integration for **Tududi** — self-hosted task management system with smart suggestions and daily reminders. ## Features ✅ **Quick task capture** — Add tasks to inbox without friction ✅ **Smart suggestions** — AI suggests priority, tags, and projects ✅ **Inbox management** — Read inbox status and upcoming tasks ✅ **Daily reminders** — Automatic morning recap (overdue + today tasks) ✅ **No auto-sync** — Manual control, you decide what goes where ## Installation ### 1. Clone to OpenClaw Skills Directory ```bash cd ~/.openclaw/skills git clone https://forge.dilain.com/Remora/skill-tududi.git ``` ### 2. Configure Environment Variables Add to your OpenClaw gateway environment or shell profile: ```bash export TUDUDI_API_URL="https://todo.dilain.com/api/v1" export TUDUDI_API_KEY="tt_5e3ac7fc2bf5ae5162ebac5d1d66dcc2ff9d9d0ab343b9d3d4c5a7c439ef67f5" ``` Or configure in `openclaw.json`: ```json { "env": { "vars": { "TUDUDI_API_URL": "https://todo.dilain.com/api/v1", "TUDUDI_API_KEY": "tt_5e3ac7fc..." } } } ``` ### 3. Restart OpenClaw ```bash openclaw gateway restart ``` ## Usage ### Add a Task to Inbox ```bash ./scripts/tududi-api.sh add-task "Task name" "Optional description" ``` Or via Discord: > "Add task: Fix the CI/CD pipeline" I'll suggest priority and tags, then add to Tududi inbox. ### List Inbox ```bash ./scripts/tududi-api.sh list-inbox ``` Shows all tasks with no project assigned. ### Get Smart Suggestions Ask me to suggest priority/tags/projects: > "I want to add 'Setup staging environment'. Suggest priority and project." Response example: ```json { "priority": "high", "tags": ["devops", "infrastructure"], "projects_available": [ {"id": 1, "name": "Infrastructure"}, {"id": 2, "name": "DevOps"} ] } ``` ### Daily Reminder Configured to run **8:00 AM** (Europe/Paris timezone) every day. Reminder format: ``` 📋 Tududi Morning Reminder (Monday) 🔴 Overdue (2): • Fix payment bug (high) • Respond to client email (normal) 📅 Today (3): • Deploy v2.1 (high) • Team standup (normal) • Review PRs (normal) ``` ## Scripts ### `tududi-api.sh` Core API wrapper for Tududi REST API. **Commands:** ```bash # Add task to inbox tududi-api.sh add-task "name" "description" [project_id] # List tasks in inbox (no project) tududi-api.sh list-inbox # List all projects tududi-api.sh list-projects # Get single task details tududi-api.sh get-task ``` ### `tududi-suggest.sh` Analyze task name/description and suggest priority, tags, and available projects. ```bash tududi-suggest.sh "Task name" "Optional description" ``` Output: JSON with suggestions. ## Configuration ### Change Reminder Time Edit `openclaw.json`: ```json { "cron": { "jobs": [{ "name": "Tududi Morning Reminder", "schedule": { "kind": "cron", "expr": "0 9 * * *", "tz": "Europe/Paris" } }] } } ``` Change `"0 9"` to your preferred hour. ### Disable Reminders ```bash openclaw cron remove ``` ### Customize Reminder Content Edit the system prompt in heartbeat config: ```json { "agents": { "defaults": { "heartbeat": { "prompt": "Custom reminder logic here..." } } } } ``` ## Troubleshooting ### Scripts fail with "TUDUDI_API_KEY not set" ```bash # Test env vars echo $TUDUDI_API_URL echo $TUDUDI_API_KEY # If empty, source your env file or set them: export TUDUDI_API_KEY="..." ``` ### No tasks returned from list-inbox 1. Verify API connection: ```bash curl -s -H "Authorization: Bearer $TUDUDI_API_KEY" \ "$TUDUDI_API_URL/tasks" | jq '.' | head ``` 2. Check if tasks have `project_id` set (inbox tasks have `null`) ### Reminder not firing at 8 AM 1. Check gateway logs: ```bash openclaw logs | grep -i tududi ``` 2. Verify cron job is enabled: ```bash openclaw cron list ``` 3. Check timezone: ```bash date ``` ## Development ### Add New Suggestion Rules Edit `scripts/tududi-suggest.sh` to add keyword detection: ```bash # Example: detect "meeting" → tag:communication if echo "$task_name $task_desc" | grep -iE "meeting"; then tag_array="${tag_array}\"meeting\"," fi ``` ### Test API Directly ```bash API_KEY="..." API_URL="..." ./scripts/tududi-api.sh list-inbox ``` ## Support - **Issues**: Report on Forge: https://forge.dilain.com/Remora/skill-tududi/issues - **Docs**: See `SKILL.md` for full feature documentation ## License MIT