A lightweight, agent-agnostic team project management skill for small teams (6-15 people).
Any AI agent that can execute shell commands — Claude, OpenClaw, etc. — can drive it. Zero external dependencies, pure Python stdlib.
Send the GitHub repo URL to your OpenClaw agent (e.g. Feishu bot) and ask it to install. It will read this page and run the install script automatically.
Or install manually:
curl -fsSL https://raw.githubusercontent.com/hashSTACS-Global/enclaws-pebbles/main/install.sh | bashInstalls to ~/.openclaw/skills/enclaws-pebbles/. Restart the OpenClaw gateway after install. Requires git and python3.
- Task Management — Create, assign, update, filter, sort, and summarize tasks
- Project Management — Create projects, manage members, track status
- Team Members — Multi-platform identity mapping (Feishu, WeChat, DingTalk, Web UI)
- Change History — Full audit trail on every task and project modification
- Web UI — Built-in chat interface with slash commands
- Adapters — Feishu interactive cards, HTML cards, raw JSON
If your OpenClaw agent is connected to an IM client, just talk to it in natural language:
Help me create a task: Wang Ming is responsible for the login page, P1, due next Friday
What tasks does Wang Ming have on hand?
How is the v2.0 project going?
Mark the login page task as done
What's overdue?
Create a project called "Backend Refactor", add Wang Ming and Zhang San
Show me a summary of all tasks
The agent understands your intent, calls the right commands, and replies with formatted cards.
python3 channels/web/server.py --port 8080Open http://localhost:8080, enter a member ID to log in, and use slash commands:
/help — Show all commands
/member add --id wangming --name 王明 --role 前端 — Add a member
/task create Fix login bug --assignee wangming --priority 1
/task list --status todo
/summary
All scripts output JSON to stdout. Write operations require --operator and --channel:
# Add a member
python3 scripts/member_ops.py add --id wangming --name "Wang Ming"
# Bind platform identity
python3 scripts/member_ops.py bind --id wangming --platform feishu --platform-uid ou_abc123
# Create a task
python3 scripts/task_ops.py create \
--title "Fix login bug" \
--assignee wangming \
--priority 1 \
--operator "feishu:ou_abc123" \
--channel feishu
# List tasks
python3 scripts/task_ops.py list --status todo --sort priority --order asc
# Summary
python3 scripts/task_ops.py summary// Success
{ "ok": true, "data": { ... } }
// Error
{ "ok": false, "error": "human-readable message" }./
├── SKILL.md — Protocol doc for LLM agents
├── core/ — Business logic (zero platform dependency)
│ ├── models.py — Data schemas (Task, Project, Member, ChangeRecord)
│ ├── task.py — Task CRUD + change tracking
│ ├── project.py — Project CRUD + change tracking
│ ├── member.py — Member management + identity mapping
│ └── summary.py — Statistics and aggregation
├── store/ — Persistence layer (swappable)
│ ├── interface.py — Abstract storage interface
│ └── json_store.py — JSON file implementation with file locking
├── scripts/ — CLI entry points (agent calls these via shell)
├── adapters/ — Output formatters (JSON → platform cards)
├── channels/web/ — Built-in Web UI with chat interface
├── references/ — Detailed API protocol docs
└── data/ — Runtime data (JSON files, auto-created)
todo | in_progress | done | paused | demo | deleted
active | paused | completed | deleted
- Python 3.8+
- Zero external dependencies (stdlib only)
- SKILL.md — Agent protocol document
- Task Protocol — Full task API reference
- Project Protocol — Full project API reference
- Member Protocol — Full member API reference
Copyright (c) 2026 hashSTACS HK. All rights reserved. See LICENSE.