‹ 首页

create-routine

@evolution-foundation · 收录于 5 天前 · 上游提交 2 个月前

Create a new automated routine (ADW) for the scheduler. Guides the user through defining what the routine does, the type (AI or systematic), the schedule, and generates the Python script + Makefile target. Use when the user says 'create a routine', 'add a routine', 'automate this', 'schedule this task', 'new ADW', 'I want this to run automatically', or wants to turn any manual task into a scheduled automation.

适合你,如果经常有重复性任务需要定时自动运行

/ 通过 npx 安装 校验哈希
npx oh-my-skill add evolution-foundation/evo-nexus/create-routine
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- evolution-foundation/evo-nexus/create-routine
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify evolution-foundation/evo-nexus/create-routine
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
509GitHub stars
~1.7K上下文体积 · 单文件
索引托管

怎么用

商店整理自技能原文 · 版本 7f5dd76 · 表述以原文为准
它做什么

装上后,Claude 会引导你创建定时自动化的 Python 脚本(可按天、周、月或间隔执行)。两种类型:AI 例行任务(调用 Claude CLI,消耗 token)和系统例行任务(纯 Python,无 AI)。Claude 会询问任务内容、类型、时间、输出,然后生成脚本并可选添加到调度器。

什么时候触发

当用户说出“创建例行任务”、“添加例行任务”、“自动化这个”等关键词,或想要将任何手动任务转为定时自动化时触发。

装好后可以这样说
Claude 会询问具体参数并生成脚本。
Claude 会引导选择代理和设置。
技能原文 SKILL.md作者撰写 · Apache-2.0 · 7f5dd76

Create Custom Routine

Guide the user through creating a new automated routine that runs on schedule via the EvoNexus scheduler.

What You're Building

A routine is a Python script in ADWs/routines/custom/ that runs on a schedule (daily, weekly, monthly, or interval). There are two types:

  • AI routines — invoke Claude Code CLI with an agent to perform reasoning tasks (reports, analysis, decisions). Cost tokens and ~30-120s per run.
  • Systematic routines — pure Python scripts that perform deterministic operations (API calls, file ops, data transforms). No AI, no tokens, no cost, ~1-5s per run.
Step 1: Understand the Task

Ask the user:

  1. What should this routine do? (e.g., "check my GitHub repos every morning", "ping API endpoints every 5 minutes")
  2. AI or systematic? Help the user decide:
  3. Use AI when: the task needs reasoning, analysis, writing, or decisions (generate a report, analyze sentiment, summarize data, make recommendations)
  4. Use systematic when: the task is deterministic and repeatable (HTTP health checks, file cleanup, data snapshots, metric logging, backups, CSV exports)
  5. When should it run? (daily at X, every N minutes, weekly on day, monthly on day 1)
  6. What output? (HTML report, markdown file, CSV, JSON, Telegram notification, log entry, or just action)

If AI routine, also ask:

  • Which agent should run it?
  • clawdia-assistant — ops, daily tasks, email, meetings
  • flux-finance — financial reports, Stripe, ERP
  • atlas-project — GitHub, Linear, project tracking
  • pulse-community — Discord, WhatsApp, community
  • pixel-social-media — social media, content, analytics
  • sage-strategy — OKRs, strategy, competitive analysis
  • nex-sales — pipeline, proposals, leads
  • mentor-courses — courses, learning paths
  • kai-personal-assistant — health, habits, personal
Step 2: Generate the Script
AI routine

Create the routine script at ADWs/routines/custom/{name}.py:

#!/usr/bin/env python3
"""ADW: {Routine Name} — {brief description}. Agent: @{agent-name}"""

import sys, os
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from runner import run_skill, run_claude, banner, summary

def main():
    banner("{Routine Name}", "{description} | @{agent}")
    results = []
    results.append(run_skill(
        "{skill-name}",
        log_name="{routine-id}",
        timeout=600,
        agent="{agent-name}"
    ))
    summary(results, "{Routine Name}")

if __name__ == "__main__":
    try:
        main()
    except KeyboardInterrupt:
        print("\nCancelled.")

Key rules for AI routines:

  • Use run_skill() when there's an existing skill, or run_claude() for inline prompts
  • Specify the agent name for context loading
  • Set a reasonable timeout (300-900s depending on complexity)
Systematic routine

Create the routine script at ADWs/routines/custom/{name}.py:

#!/usr/bin/env python3
"""ADW: {Routine Name} — {brief description}. Type: systematic"""

import sys, os
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from runner import run_script, banner, summary

def do_task():
    """Pure Python logic — no Claude CLI, no AI, no tokens."""
    # YOUR CODE HERE: API calls, file ops, data transforms
    # ...
    return {
        "ok": True,  # or False on failure
        "summary": "Short description of what happened",
        "data": {}   # optional structured data for logs
    }

def main():
    banner("{Routine Name}", "{description} | systematic")
    results = []
    results.append(run_script(do_task, log_name="{routine-id}", timeout=60))
    summary(results, "{Routine Name}")

if __name__ == "__main__":
    try:
        main()
    except KeyboardInterrupt:
        print("\nCancelled.")

Key rules for systematic routines:

  • Write the actual Python logic in the do_task() function — this is where YOU (Claude) generate the implementation code
  • Use stdlib + requests for HTTP calls (already in pyproject.toml dependencies)
  • Return {"ok": bool, "summary": str} so the runner can log success/failure
  • Keep timeout short (30-120s) — these should be fast
  • No agent parameter — systematic routines don't use agents
  • Common patterns: requests.get() for API polling, os.walk() for file ops, csv.writer() for data export, shutil for backups
Step 3: Run It

No Makefile changes needed — routines are discovered dynamically from scripts.

make run R={routine-id}      # Run by ID
make list-routines           # List all available
Step 4: Add to Scheduler (Optional)

If the user wants it automated, add to scheduler.py in the appropriate section:

# Daily
schedule.every().day.at("{HH:MM}").do(run_adw, "{Routine Name}", "custom/{script_name}.py")

# Weekly
schedule.every().{day}.at("{HH:MM}").do(run_adw, "{Routine Name}", "custom/{script_name}.py")

# Monthly (in the monthly block)
run_adw("{Routine Name}", "custom/{script_name}.py")

# Interval
schedule.every({N}).minutes.do(run_adw, "{Routine Name}", "custom/{script_name}.py")
Step 5: Test

Run the routine manually:

make run R={routine-id}

Check the output and adjust the prompt if needed.

Step 6: Create HTML Template (Optional)

If the routine generates an HTML report, create a template at .claude/templates/html/{name}.html following the pattern of existing templates:

  • Dark theme (bg #0C111D, green #00FFA7)
  • Evolution Foundation logo in header
  • Footer: "Automatically generated by EvoNexus — Evolution Foundation"
  • Use {{PLACEHOLDER}} for dynamic content
Examples
AI routine: Daily competitor check
Name: competitor-check
Type: AI
Agent: sage-strategy
Schedule: daily at 09:00
Why AI: needs reasoning to analyze competitor changes and compare positioning
AI routine: Weekly content performance
Name: content-performance
Type: AI
Agent: pixel-social-media
Schedule: weekly on friday at 17:00
Why AI: needs analysis to identify trends and make recommendations
Systematic routine: API health check
Name: api-health-check
Type: systematic
Schedule: every 5 minutes
Why systematic: just pings endpoints and checks HTTP status codes — no reasoning needed
Systematic routine: Metric snapshot
Name: metric-snapshot
Type: systematic
Schedule: daily at 23:55
Why systematic: reads metrics.json and appends a row to a CSV — pure data transform
Systematic routine: Log cleanup
Name: log-cleanup
Type: systematic
Schedule: weekly on sunday at 03:00
Why systematic: deletes files older than 30 days — deterministic file operation
Important Notes
  • Custom routines go in ADWs/routines/custom/ (gitignored — they're personal to your workspace)
  • Core routines in ADWs/routines/ are shipped with the repo and should not be modified
  • The runner.py handles logging, metrics, and Telegram notifications automatically for both types
  • Systematic routines log with tokens=0 and cost=0 in metrics
  • Systematic routines can run at high frequency (every 1-5 minutes) since they cost nothing
  • Restart the scheduler after adding new routines: stop and make scheduler
按 Apache-2.0 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。