By ZichaoJin
Markdown-first task memory workflow with lifecycle hooks for agent clients.
Use when the user asks to remember durable preferences, decisions, rules, business context, technical lessons, task lessons, or recurring workflow constraints.
Use when the user asks for task status, current context, recent sessions, previous work, handoff context, or what happened before in an OpenTasks workspace.
Use when the user mentions a repository, Aone app, local path, cloned repo, moved repo, deleted repo, repo membership, or asks where code lives in an OpenTasks workspace.
Use when the user mentions a durable project, multi-repo relationship, version relationship, dependency, install relationship, or cross-repo check rule in an OpenTasks workspace.
Use for OpenTasks task lifecycle work: starting, continuing, iterating, tracking, finishing tasks, and keeping tasks.md plus tasks/{slug}/brief.md aligned.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
OpenTasks is a Markdown-first task memory workflow for AI coding agents.
It preserves the daily-tasks-template model:
info-for-agent/tasks.md is the human-readable task ledger.info-for-agent/memories.md is the durable memory file.info-for-agent/aone.md is the optional Aone people/project index.info-for-agent/dingtalk-docs.md is the optional DingTalk document link index.info-for-agent/repo-index.md is the local repository index.info-for-agent/repo-map.md records cross-repo projects, relationships, and check rules.tasks/{task-name}/brief.md keeps each task's brief and iterations.tasks/{task-name}/progress.md keeps execution checkpoints and close-out evidence.OpenTasks adds a CLI/core layer and plugin hooks so Codex, Claude Code, and QoderWork can call the same task rules.
The plugin follows the Superpowers-style skill model:
using-opentasks is the lightweight router for non-atomic OpenTasks work.opentasks-task-lifecycle handles task start, continue, iteration, finish, and progress checkpoints.opentasks-memory handles durable memory writes.opentasks-recall handles current status, previous sessions, and handoff context.opentasks-repo-index handles local repository lookup and Markdown repo-index maintenance.opentasks-repo-map handles durable project/repo relationships and cross-repo check rules.opentasks-trash handles soft delete, restore, and cleanup.context-loaded checkpoints, Stop-time close-check reminders, and session archive..mcp.json registers Playwright MCP for browser/page inspection when the client supports MCP.Simple repo management is a fast path: repo list/add/remove/update/validate should run the matching CLI command and validate without loading full task or memory context. Task rows, Aone work items, and DingTalk documents are created only when the user explicitly asks for them. aone.md and dingtalk-docs.md are read only for those explicit tool workflows.
For standalone CLI use:
uv tool install git+https://github.com/ZichaoJin/opentasks.git
opentasks workspace setup --path ~/Desktop/OpenTasks
opentasks repo add /path/to/repo
opentasks context --current-cwd /path/to/repo
When installed through openplugin, selecting the opentasks plugin automatically installs the CLI with uv tool install git+https://github.com/ZichaoJin/opentasks.git if opentasks is missing. You can still set OPENTASKS_BIN to an explicit executable path.
OpenTasks hooks are global, but automatic OpenTasks context and archive only activate for repositories listed in the configured workspace's info-for-agent/repo-index.md. Unmanaged repositories are left alone.
Start a task:
opentasks task start \
--name "插件化任务系统" \
--slug "plugin-task-system" \
--brief "保留 Markdown 工作流并添加 hooks" \
--repo "opentasks" \
--project "plugin-platform" \
--step "work" \
--step "verify" \
--step "git-commit" \
--date "2026-06-16"
Repeat --repo / --project to record all task-local associations in tasks/{slug}/brief.md. Repeat --step to define a task-specific plan; without it, OpenTasks uses context-loaded, work, and verify.
Record progress checkpoints and external evidence:
opentasks task checkpoint \
--task-id T001 \
--step verify \
--status done \
--evidence "uv run pytest: 105 passed" \
--date "2026-06-17"
opentasks task status --task-id T001
opentasks task close-check --task-id T001
opentasks task checkpoint \
--task-id T001 \
--step git-commit \
--status done \
--evidence "abc1234 core logic implemented"
brief.md is the task definition. progress.md is the durable plan and execution ledger: planned steps, current step state, and append-only checkpoint evidence such as Aone links, DingTalk docs, commits, PRs, test reports, and releases. Do not create separate plan.md or reviews.md by default; put short plan/review notes in brief.md or progress.md, and place long deliverables under tasks/{slug}/artifacts/ only when needed.
Iterations reuse the same task directory and append a new Plan vN section to progress.md when opentasks task iterate --step ... is used; old plans and ledger entries stay as the recovery trail.
Append memory:
opentasks memory append \
--section "任务经验" \
--content "hooks 只调用 opentasks CLI"
Archive a hook payload:
opentasks session archive --payload /path/to/payload.json
Prune archived sessions:
opentasks session prune --keep-days 30 --keep-last 100 --max-db-mb 50
Soft delete and restore:
opentasks task remove --task-id T001
opentasks memory remove --section "任务经验" --content "old memory"
opentasks trash list
opentasks trash restore --id trash-...
npx claudepluginhub zichaojin/opentasks --plugin opentasksDynamic-island style local HITL approvals for coding agents.
Mac notch dynamic-island local HITL approvals for coding agents.
Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques
Harness-native ECC plugin for engineering teams - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses
Reliable automation, in-depth debugging, and performance analysis in Chrome using Chrome DevTools and Puppeteer
Superpowers Plus core skills library for Claude Code: planning, execution routing, TDD, debugging, and collaboration workflows
Claude harness - A harness for solo developers (Vibecoders) to handle full-cycle contract development.
Plugin that includes the Figma MCP server and Skills for common workflows