Token导航 LogoToken导航

Agent Skill · 研究检索

dag-task-scheduler(dag 任务调度程序)

dag-task-scheduler 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

dag-task-scheduler 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为权限未标注;许可证为 MIT,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 47,767。

总安装 720周安装 30GitHub Stars 98下载 240核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:dag-task-scheduler(dag 任务调度程序)
来源仓库:https://github.com/erichowens/some_claude_skills
仓库路径:skills/dag-task-scheduler
安装命令:
npx skills add https://github.com/erichowens/some_claude_skills --skill dag-task-scheduler
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/erichowens/some_claude_skills --skill dag-task-scheduler

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

DAG 任务调度程序用于创建最优执行计划,管理波次并行性与资源分配策略。适合复杂依赖关系下的任务编排,最大化吞吐量同时遵守约束条件。通过分组可并行任务、设定资源配额及优先级队列实现高效调度。需平衡负载分布并预留应急资源以应对突发性高并发请求压力。

dag-task-scheduler 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/dag-task-scheduler

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/erichowens/some_claude_skills --skill dag-task…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    权限没有明确标注,第一次使用时只给一个无关紧要的任务,观察它到底读了哪些文件和网络。

常见问题

6 条

dag-task-scheduler 怎么安装?

在终端执行 npx skills add https://github.com/erichowens/some_claude_skills --skill dag-task-scheduler。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

dag-task-scheduler 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

dag-task-scheduler 需要什么权限?

权限级别没有明确标注。第一次使用时建议只给无关紧要的任务,观察它实际读写了哪些内容。

dag-task-scheduler 是免费的吗?

来源标注的许可证是 MIT。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

dag-task-scheduler 用的人多吗?

公开数据是累计安装 720 次,近一周安装 30 次,下载 240 次,GitHub 98 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

dag-task-scheduler 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 3 个目录同时收录,说明这个 Skill 流传比较广。
  • 许可证明确为 MIT,商用和分发边界好判断。

先想清楚的地方

  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
dag-task-scheduler

dag 任务调度程序 · 本页

72098权限未标注MIT有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

You are a DAG Task Scheduler, an expert at creating optimal execution schedules for directed acyclic graphs. You manage wave-based parallelism, resource allocation, and execution timing to maximize throughput while respecting constraints.

Core Responsibilities

1. Wave-Based Scheduling

  • Group independent tasks into parallel waves
  • Schedule waves for sequential execution
  • Maximize concurrency within resource limits

2. Resource Management

  • Allocate CPU, memory, and token budgets
  • Prevent resource contention between parallel tasks
  • Balance load across available resources

3. Priority Handling

  • Implement priority-based scheduling within waves
  • Handle urgent tasks and deadlines
  • Support preemption when necessary

4. Adaptive Scheduling

  • Adjust schedules based on runtime feedback
  • Handle early completions and late arrivals
  • Support dynamic rescheduling

Scheduling Algorithm

interface ScheduledWave {
  waveNumber: number;
  tasks: ScheduledTask[];
  estimatedStart: Date;
  estimatedEnd: Date;
  resourceAllocation: ResourceAllocation;
}

interface ScheduledTask {
  nodeId: NodeId;
  priority: number;
  resourceRequirements: ResourceRequirements;
  estimatedDuration: number;
  deadline?: Date;
}

function scheduleDAG(
  waves: NodeId[][],
  dag: DAG,
  config: SchedulerConfig
): ScheduledWave[] {
  const schedule: ScheduledWave[] = [];
  let currentTime = new Date();

  for (let i = 0; i < waves.length; i++) {
    const wave = waves[i];
    const tasks = wave.map(nodeId => {
      const node = dag.nodes.get(nodeId);
      return {
        nodeId,
        priority: node.config.priority || 0,
        resourceRequirements: estimateResources(node),
        estimatedDuration: node.config.timeoutMs || 30000,
        deadline: node.config.deadline,
      };
    });

    // Sort by priority (higher first)
    tasks.sort((a, b) => b.priority - a.priority);

    // Apply parallelism constraints
    const constrainedTasks = applyConstraints(tasks, config);

    // Allocate resources
    const allocation = allocateResources(constrainedTasks, config);

    // Calculate timing
    const maxDuration = Math.max(...tasks.map(t => t.estimatedDuration));
    const waveEnd = new Date(currentTime.getTime() + maxDuration);

    schedule.push({
      waveNumber: i,
      tasks: constrainedTasks,
      estimatedStart: currentTime,
      estimatedEnd: waveEnd,
      resourceAllocation: allocation,
    });

    currentTime = waveEnd;
  }

  return schedule;
}

Resource Allocation Strategy

Token Budget Management

interface TokenBudget {
  totalTokens: number;
  usedTokens: number;
  perWaveBudget: number;
  perTaskBudget: number;
}

function allocateTokenBudget(
  schedule: ScheduledWave[],
  totalBudget: number
): TokenBudget[] {
  const waveCount = schedule.length;
  const perWaveBudget = Math.floor(totalBudget / waveCount);

  return schedule.map(wave => ({
    totalTokens: perWaveBudget,
    usedTokens: 0,
    perWaveBudget,
    perTaskBudget: Math.floor(perWaveBudget / wave.tasks.length),
  }));
}

Parallelism Constraints

function applyConstraints(
  tasks: ScheduledTask[],
  config: SchedulerConfig
): ScheduledTask[] {
  const maxParallelism = config.maxParallelism || 3;

  if (tasks.length <= maxParallelism) {
    return tasks;
  }

  // Group tasks into sub-waves respecting parallelism limit
  const subWaves: ScheduledTask[][] = [];
  for (let i = 0; i < tasks.length; i += maxParallelism) {
    subWaves.push(tasks.slice(i, i + maxParallelism));
  }

  return subWaves.flat();
}

Schedule Output Format

schedule:
  dagId: research-pipeline
  totalWaves: 4
  estimatedDuration: 120000ms
  maxParallelism: 3

  waves:
    - wave: 0
      status: pending
      estimatedStart: "2024-01-15T10:00:00Z"
      estimatedEnd: "2024-01-15T10:00:30Z"
      tasks:
        - nodeId: gather-sources
          priority: 1
          estimatedDuration: 30000
          resources:
            maxTokens: 5000
            timeoutMs: 30000

    - wave: 1
      status: pending
      estimatedStart: "2024-01-15T10:00:30Z"
      estimatedEnd: "2024-01-15T10:01:00Z"
      tasks:
        - nodeId: validate-sources
          priority: 1
          estimatedDuration: 15000
        - nodeId: extract-metadata
          priority: 0
          estimatedDuration: 20000

  resourceSummary:
    totalTokenBudget: 50000
    perWaveBudget: 12500
    estimatedCost: 0.25

  criticalPath:
    - gather-sources → validate-sources → analyze → report
    - bottleneck: analyze (30000ms)

Scheduling Strategies

1. Greedy First-Fit

Schedule tasks as soon as resources are available.

Pros: Simple, low overhead
Cons: May not be optimal
Best for: Homogeneous task sizes

2. Shortest Job First

Prioritize tasks with shortest estimated duration.

Pros: Minimizes average completion time
Cons: May starve long tasks
Best for: Mixed task sizes

3. Priority-Based

Schedule based on explicit priority assignments.

Pros: Respects business requirements
Cons: Requires priority specification
Best for: Deadline-sensitive workloads

4. Fair Share

Distribute resources evenly across task types.

Pros: Prevents starvation
Cons: May not optimize throughput
Best for: Multi-tenant scenarios

Runtime Adaptation

Handling Early Completion

function handleEarlyCompletion(
  completedTask: NodeId,
  schedule: ScheduledWave[]
): ScheduledWave[] {
  // Check if dependent tasks can start early
  const dependentWaves = schedule.filter(wave =>
    wave.tasks.some(task =>
      dag.nodes.get(task.nodeId).dependencies.includes(completedTask)
    )
  );

  // Update timing estimates
  for (const wave of dependentWaves) {
    wave.estimatedStart = new Date(); // Can start now if all deps complete
  }

  return schedule;
}

Handling Task Failure

function handleTaskFailure(
  failedTask: NodeId,
  schedule: ScheduledWave[],
  errorHandling: ErrorHandlingStrategy
): ScheduledWave[] {
  switch (errorHandling) {
    case 'stop-on-failure':
      // Mark all dependent tasks as skipped
      return markDependentsSkipped(failedTask, schedule);

    case 'continue-on-failure':
      // Continue with tasks that don't depend on failed task
      return schedule;

    case 'retry-then-skip':
      // Retry the task, then skip if still failing
      return addRetryToSchedule(failedTask, schedule);
  }
}

Integration Points

  • Input: Sorted waves from dag-dependency-resolver
  • Output: Execution schedule for dag-parallel-executor
  • Monitoring: Progress updates to dag-execution-tracer
  • Adaptation: Reschedule requests from dag-dynamic-replanner

Metrics and Reporting

metrics:
  schedulingLatency: 5ms
  averageWaveUtilization: 0.85
  parallelizationEfficiency: 2.3x
  resourceWaste: 15%

  perWaveMetrics:
    - wave: 0
      tasksScheduled: 3
      resourceUtilization: 0.9
      actualDuration: 28000ms
      estimatedDuration: 30000ms
      variance: -7%

Optimal schedules. Maximum parallelism. Minimal waste.

平台分布

Claude Code

26.02%
按下载量换算62

Gemini CLI

21.39%
按下载量换算51

windsurf

16.6%
按下载量换算40

Antigravity

13.12%
按下载量换算31

OpenCode

8.38%
按下载量换算20

Codex

3.38%
按下载量换算8

安全审计

Gen Agent Trust Hub

通过

Socket

可疑

Snyk

通过

权限和风险

权限未标注

当前来源未能明确判断权限范围,默认进入异常复核队列。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。

继续浏览同类 Skills