Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计异常

dev-task-queue开发任务队列

Agent Skill

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

总安装

606

周安装

25

GitHub Stars

公开资料未说明

下载量

198
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/molechowski/claude-skills --skill dev-task-queue

简介

dev-task-queue 提供跨会话持久化任务队列,支持依赖跟踪与完整上下文携带。

  • 它基于 Git 仓库实现移动锁机制,允许多 Agent 协作而不冲突,兼容 Claude Code Tasks 格式。
  • 适用于复杂项目拆解与接力开发,确保任务不丢失,提升分布式工作效率。
  • 使用前需克隆专用仓库至 ~/.agent-task-queue,注意网络连通性与 SSH 密钥配置要求。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Agent Task Queue

Persistent, cross-session task queue for AI agents aligned with the Claude Code Tasks schema. Tasks survive beyond sessions, carry full context including conversation transcripts, and support dependency tracking with blocks/blockedBy. Backed by a git repo with move-based locking for conflict-free multi-agent access.

Prerequisites

Clone the task queue repository:

git clone git@github.com:OlechowskiMichal/agent-task-queue.git ~/.agent-task-queue

All commands below assume the repo is at ~/.agent-task-queue.

Quick Reference

OperationCommandDescription
Addpython3 ~/.agent-task-queue/scripts/add_task.pyCreate a new task
Listpython3 ~/.agent-task-queue/scripts/list_tasks.pyList/filter tasks
Claimpython3 ~/.agent-task-queue/scripts/claim_task.pyClaim a pending task
Completepython3 ~/.agent-task-queue/scripts/complete_task.pyMark task done
Releasepython3 ~/.agent-task-queue/scripts/release_task.pyUnclaim a task
Reassignpython3 ~/.agent-task-queue/scripts/reassign_task.pyReassign to different agent
Indexpython3 ~/.agent-task-queue/scripts/render_index.pyRegenerate root index
Prunepython3 ~/.agent-task-queue/scripts/prune_completed.pyArchive old tasks

Adding a Task

Save a task for a future agent session:

python3 ~/.agent-task-queue/scripts/add_task.py \
  --assignee go-expert \
  --subject "Fix error handling in API middleware" \
  --description "The error handler swallows context. Wrap errors with fmt.Errorf." \
  --priority high \
  --project my-api \
  --tags "error-handling,api" \
  --active-form "Fixing error handling" \
  --ttl-hours 48 \
  --blocked-by "3,7" \
  --context-repo "git@github.com:OlechowskiMichal/my-api.git" \
  --context-files "pkg/middleware/error.go,pkg/middleware/error_test.go" \
  --context-notes "See issue #42 for the original bug report"

--assignee is optional and defaults to general-purpose. Omit it for tasks that any agent can pick up.

When --project matches an entry in projects.json (see Project Registry), --context-repo is auto-filled from the registry. You can still pass --context-repo explicitly to override. If --project does not match any known project, the script warns and suggests close matches.

The script reads .highwatermark to assign the next monotonic integer ID, writes the task JSON to pending/{id}.json, regenerates the root index, and pushes to the repo.

Multi-line descriptions

For descriptions with # characters or complex formatting (which break zsh heredocs), write to a temp file and use --description-file:

cat > /tmp/task-desc.md << 'EOF'
## Problem
The error handler swallows context.

### Acceptance criteria
- Wrap errors with fmt.Errorf
- Add retry logic for transient failures
EOF

python3 ~/.agent-task-queue/scripts/add_task.py \
  --assignee go-expert \
  --subject "Fix error handling in API middleware" \
  --description-file /tmp/task-desc.md \
  --priority high

--description-file overrides --description when both are provided.

Listing Tasks

# All pending tasks for an agent
python3 ~/.agent-task-queue/scripts/list_tasks.py --agent go-expert --status pending

# Stale tasks (claimed but exceeded TTL)
python3 ~/.agent-task-queue/scripts/list_tasks.py --stale

# Blocked tasks (unmet dependencies)
python3 ~/.agent-task-queue/scripts/list_tasks.py --blocked

# Tasks for a specific project
python3 ~/.agent-task-queue/scripts/list_tasks.py --project my-api

# Tasks created after a date
python3 ~/.agent-task-queue/scripts/list_tasks.py --since 2026-03-01

# List all known projects and their repos (from projects.json)
python3 ~/.agent-task-queue/scripts/list_tasks.py --list-projects

Claiming a Task

Start working on a pending task:

python3 ~/.agent-task-queue/scripts/claim_task.py 1 --session-id $(uuidgen)

The script:

  1. Verifies all blockedBy dependencies are completed
  2. Moves the task from pending/ to active/
  3. Sets owner and metadata.claimed_at
  4. Updates status to in_progress
  5. Pushes with conflict detection — if another agent claimed it first, the push fails

Completing a Task

Always link the conversation transcript when completing a task. Find the transcript first, then pass it via --jsonl-path:

# 1. Find this session's transcript (most recently modified .jsonl)
JSONL_PATH=$(ls -t ~/.claude/projects/*/*.jsonl 2>/dev/null | head -1)

# 2. Complete the task with transcript linked
python3 ~/.agent-task-queue/scripts/complete_task.py 1 \
  --session-id "$(uuidgen)" \
  --jsonl-path "$JSONL_PATH" \
  --notes "Fixed by wrapping errors with context in middleware chain"

The task moves to completed/YYYY-MM/{id}.json with the conversation transcript exported and linked.

Releasing a Task

If you cannot finish a claimed task:

python3 ~/.agent-task-queue/scripts/release_task.py 1

Moves back to pending/ with metadata.previously_claimed=true and status reset to pending so the next agent knows it was attempted.

Reassigning a Task

Transfer a task to a different agent type:

python3 ~/.agent-task-queue/scripts/reassign_task.py 1 --to re-expert

This is a metadata-only update — it sets metadata.assignee to the new agent. No file move occurs. The task stays in its current directory (pending/ or active/).

Dependency Management

Tasks support bidirectional dependency tracking via blocks and blockedBy fields, aligned with the Claude Code Tasks schema.

  • blockedBy: Array of task IDs that must be completed before this task can be claimed. claim_task.py enforces this — it refuses to claim a task with unresolved blockedBy entries.
  • blocks: Array of task IDs that are waiting on this task. When a task is completed, the system can check whether downstream tasks are now unblocked.

Both sides are kept in sync: adding task 5 to the blockedBy of task 8 also adds task 8 to the blocks of task 5.

Cycle detection runs at add time and at claim time. If adding a dependency would create a circular chain (e.g., A blocks B blocks A), the operation is rejected with an error.

# Add a task that depends on tasks 3 and 7
python3 ~/.agent-task-queue/scripts/add_task.py \
  --subject "Deploy after migrations" \
  --blocked-by "3,7"

# List all currently blocked tasks
python3 ~/.agent-task-queue/scripts/list_tasks.py --blocked

Project Registry

The projects.json file at the repo root maps project names to their canonical repository URLs:

{
  "my-api": "git@github.com:OlechowskiMichal/my-api.git",
  "agent-skills": "git@github.com:OlechowskiMichal/agent-skills.git"
}

The registry enables two behaviors:

  1. Auto-fill --context-repo: When add_task.py receives --project my-api and my-api is in the registry, --context-repo is set automatically. An explicit --context-repo overrides the registry value.
  2. Unknown-project warnings: If --project does not match any registry entry, the script prints a warning with close-match suggestions (via difflib.get_close_matches). The task is still created — the warning is advisory.

List all registered projects with --list-projects:

python3 ~/.agent-task-queue/scripts/list_tasks.py --list-projects

Output:

Project                    | Repository
---------------------------+---------------------------------------------------------------
my-api                     | git@github.com:OlechowskiMichal/my-api.git
agent-skills              | git@github.com:OlechowskiMichal/agent-skills.git

Total: 2 project(s)

Race Condition Handling

All scripts use push-reject, pull-rebase, retry (once). If a claim push is rejected after rebase, it means another agent already claimed the task. The script exits with an error message.

Conversation Linking

Link Claude Code conversation transcripts to tasks when completing. The transcript is exported to markdown alongside the completed task JSON and referenced in metadata.conversations.

Finding Your Transcript

Claude Code writes session transcripts to ~/.claude/projects/<project-hash>/<session-id>.jsonl. The project hash is derived from the working directory (path with / and . replaced by -).

Quick method — find the most recently modified .jsonl (works when you are the only active session):

JSONL_PATH=$(ls -t ~/.claude/projects/*/*.jsonl 2>/dev/null | head -1)

Targeted method — when multiple agents run concurrently, scope to your project directory:

PROJECT_HASH=$(pwd | tr '/.' '-')
JSONL_PATH=$(ls -t "$HOME/.claude/projects/${PROJECT_HASH}"/*.jsonl 2>/dev/null | head -1)

Passing the Transcript

Always pass --jsonl-path when completing a task:

python3 ~/.agent-task-queue/scripts/complete_task.py 1 \
  --jsonl-path "$JSONL_PATH" \
  --notes "Fixed the issue"
  • The transcript is exported to completed/YYYY-MM/{id}-transcript.md
  • The path is stored in the task's metadata.conversations array
  • Multiple sessions can contribute to the same task

Staleness Detection

Tasks have a metadata.ttl_hours field (default: 24). A claimed task is stale when metadata.claimed_at + ttl_hours < now. Find stale tasks with --stale flag. Release stale tasks manually with release_task.py.

Pruning Completed Tasks

Remove old completed tasks:

# Dry run — show what would be deleted
python3 ~/.agent-task-queue/scripts/prune_completed.py --older-than 90d

# Actually delete
python3 ~/.agent-task-queue/scripts/prune_completed.py --older-than 90d --execute

Task Schema

See references/task-schema.md for the full JSON schema with field descriptions.

Directory Layout

agent-task-queue/
├── .highwatermark              # Monotonic ID counter (single integer)
├── pending/                    # Flat — no agent subdirs
│   └── {id}.json
├── active/
│   └── {id}.json
├── completed/
│   └── YYYY-MM/
│       └── {id}.json
├── projects.json               # Project-to-repo registry
├── index.md                    # Single root index
├── scripts/
│   ├── _lib.py
│   ├── add_task.py
│   ├── claim_task.py
│   ├── complete_task.py
│   ├── list_tasks.py
│   ├── release_task.py
│   ├── reassign_task.py
│   ├── render_index.py
│   └── prune_completed.py
├── AGENTS.md
├── CLAUDE.md
├── TODO.md
└── README.md

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.17%
按下载量换算68

Claude

30.5%
按下载量换算60

Cursor

20.39%
按下载量换算40

Gemini CLI

10.2%
按下载量换算20

安全审计

Gen Agent Trust Hub

未通过

Socket

可疑

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills