sarai-chinwag/wp-openclaw/data-machine
Claude Code and agent skill by sarai-chinwag/wp-openclaw
- community
Checking that the SKILL.md file is still in the repository.
Self-scheduling execution layer for autonomous task orchestration. Use for queuing tasks, chaining pipeline executions, scheduling recurring work, and 24/7 autonomous operation via Agent Ping webhooks.
Install
npx vskill@latest install sarai-chinwag/wp-openclaw/data-machineSKILL.md
Data Machine Skill
A self-scheduling execution layer for AI agents. Not just content automation — it's how agents schedule themselves to achieve goals autonomously.
When to Use This Skill
Use this skill when:
- Setting up automated workflows (content generation, publishing, notifications)
- Creating self-scheduling patterns (reminders, recurring tasks)
- Building multi-phase projects with queued task progression
- Configuring Agent Ping webhooks to trigger external agents
Core Philosophy
Data Machine is designed with AI agents as primary users. It functions as a reminder system + task manager + workflow executor all in one.
Three Key Concepts
- Flows operate on schedules — Configure "ping me at X time to do Y"
- Step-level prompt queues — Each ping can be a different task instruction
- Multiple purpose-specific flows — Separate flows for separate concerns
Mental Model
| Role | How It Works | |
|---|---|---|
| Reminder System | Flows run on schedules (daily, hourly, cron) and ping the agent | |
| Task Manager | Queues hold task backlog; each run pops the next task | |
| Workflow Executor | Pipeline steps execute work (AI generation, publishing, API calls) |
Architecture Overview
Execution Model
- Pipeline: Reusable workflow template with steps
- Flow: Instance of a pipeline with specific configuration and schedule
- Job: Single execution of a flow
Step Types
| Type | Purpose | Has Queue | |
|---|---|---|---|
fetch | Import data (RSS, Sheets, Files, Reddit) | No | |
ai | Process with AI (multi-turn, tools) | Yes | |
publish | Output (WordPress, Twitter, Discord) | No | |
update | Modify existing content | No | |
agent_ping | Webhook to external agents | Yes |
Scheduling Options
Configure via scheduling_config in the flow:
| Interval | Behavior | |
|---|---|---|
manual | Only runs when triggered via UI or CLI | |
daily | Runs once per day | |
hourly | Runs once per hour | |
{"cron": "0 9 * * 1"} | Cron expression (e.g., Mondays at 9am) |
Working with Flows
List Flows
Get Flow Details
Run a Flow Manually
Check Job Status
Prompt Queues
Both AI and Agent Ping steps support queues via QueueableTrait. If the configured prompt is empty and queue_enabled is true, the step pops from its queue.
This enables varied task instructions per execution — not the same prompt every time.
Queue Management
Chaining Pattern
When an agent receives a ping, it should:
- Execute the immediate task
- Queue the next logical task (if continuation needed)
- Let the cycle continue
The queue becomes the agent's persistent project memory — multi-phase work is tracked in the queue, not held in context.
Purpose-Specific Flows
Critical pattern: Don't try to do everything in one flow. Create separate flows for separate concerns:
Each flow has its own:
- Schedule: When it runs
- Queue: Task backlog specific to that workflow
- Purpose: Single responsibility, clear scope
Agent Ping Configuration
Agent Ping steps send webhooks to external agent frameworks (OpenClaw, LangChain, custom handlers).
Handler Configuration
webhook_url: Where to send the pingprompt: Static prompt, or leave empty to use queuequeue_enabled: Whether to pop from queue when prompt is empty
Webhook Payload
The ping includes:
- Flow and job context
- The prompt (from config or queue)
- Any data from previous steps
Note: Data Machine is agent-agnostic. It sends webhooks — whatever listens on the URL handles the prompt.
Taxonomy Handling (Publishing)
When publishing WordPress content, taxonomies can be handled three ways:
| Selection | Behavior | |||
|---|---|---|---|---|
skip | Don't assign this taxonomy | |||
ai_decides | AI provides values via tool parameters | |||
| `<term_id\ | name\ | slug>` | Pre-select specific term |
AI Decides Mode
When ai_decides is set:
- TaxonomyHandler generates a tool parameter for that taxonomy
- AI provides term names in its tool call
- Handler assigns terms (creating if needed)
- Hierarchical taxonomies (category): expects single string
- Non-hierarchical (tags): expects array of strings
Best Practice: AI taxonomy selection works for simple cases. For complex categorization, use skip and assign programmatically after publish.
Key AI Tools
skip_item
Allows AI to skip items that shouldn't be processed:
The tool marks the item as processed and sets job status to agent_skipped.
local_search
Search site content for duplicate detection:
Tip: Search for core topic, not exact title. "pelicans dangerous" catches "Are Australian Pelicans Dangerous?"
CLI Reference
Note: If running WP-CLI as root, add --allow-root to commands.
Debugging
Check Logs
Failed Jobs
Scheduled Actions
Common Patterns
Self-Improving Content Pipeline
Autonomous Maintenance
Multi-Phase Project Execution
Code Locations
For contributors working on Data Machine itself:
- Steps:
inc/Core/Steps/ - Abilities:
inc/Abilities/ - CLI:
inc/Cli/ - Taxonomy Handler:
inc/Core/WordPress/TaxonomyHandler.php - Queueable Trait:
inc/Core/Steps/QueueableTrait.php - React UI:
inc/Core/Admin/Pages/Pipelines/assets/react/
Development Status & Contributing
Data Machine is in active development. It works well (Sarai uses it daily), but it's not yet available on WordPress.org — no auto-updates.
Installation Source
Data Machine is installed from GitHub:
Updating
To get the latest version:
Check for breaking changes in the CHANGELOG before updating production sites.
Reporting Issues
If you encounter bugs or unexpected behavior:
- Check existing issues: https://github.com/Extra-Chill/data-machine/issues
- Open a new issue with:
- What you were trying to do
- What happened instead
- Steps to reproduce
- Relevant logs (
wp-content/uploads/datamachine-logs/)
Agents filing clear, detailed issues are incredibly helpful for development.
Contributing
PRs are welcome! If you've fixed a bug or added a feature:
- Fork the repository
- Create a feature branch
- Make your changes (follow existing code patterns)
- Submit a PR with clear description
For agents: If you hit a limitation or bug, consider fixing it and submitting a PR rather than working around it. Permanent fixes beat workarounds.
Expectations
- Features may change between versions
- Some edges cases may not be handled yet
- The maintainer (Extra Chill) is responsive to issues
- This is production-ready but evolving
This skill teaches AI agents how to use Data Machine for autonomous operation. For contributing to Data Machine development, see AGENTS.md in the repository root.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/data-machine/SKILL.md
Popularity
- Repository stars
- 63
- Repository forks
- 5
- 7-day trend score
- 20
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 19 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/sarai-chinwag/wp-openclaw/data-machine)