name: telegram-watch-dev description: Develop telegram-watch using the current Todoist-backed project workflow, local-first safety rules, and minimal tested changes. metadata: short-description: telegram-watch Todoist workflow development
When using this skill, follow the repository instructions in AGENTS.md / CLAUDE.md. The current workflow is Todoist-backed; historical docs/requests/** files are reference only and must not be used for new work.
Source of truth
- Todoist shared
Devproject, filtered by the singletelegram-watchlabel, is the only task state and progress-log source. - Do not create a standalone
telegram-watchTodoist project. - Do not create or use
Bug,商业化, or other category labels for this project. - Do not disturb sibling labels such as
CodexBar-MobileorTelegram-Watch-Mac; always filter bytelegram-watch. docs/inbox.mdis only a rough idea pool. Mature work goes to Todoist Backlog.docs/requests/**,docs/templates/REQ_TEMPLATE.md, anddocs/WORKFLOW.mdare historical archives only.
Before coding
- Search Todoist in the shared
Devproject for relevant tasks with thetelegram-watchlabel. - If no task exists for a real feature/bug request, create one in Backlog with:
- content
- description
- labels=
["telegram-watch"] - priority=
p1throughp4 - Release Impact: proposed SemVer bump plus one English changelog sentence
- Move the task to In Progress before implementation.
- Work on one Todoist task at a time unless the user explicitly pauses or redirects.
Implementation rules
- Keep changes minimal and scoped to the task.
- Preserve local-first behavior; do not add cloud dependencies unless explicitly approved.
- Never print or commit secrets, phone numbers,
api_hash,*.session,config.toml,data/, orreports/. - Respect Telegram rate limits and handle FloodWait/backoff where relevant.
- For full archive work, keep it default-off and run/read
archive-statusas the local health gate; usearchive-qa-initfor the gitignored real Telegram QA record draft before claiming live end-to-end readiness. - If changing
README.md, apply the equivalent change to:docs/README.zh-Hans.mddocs/README.zh-Hant.mddocs/README.ja.md
- Build order for MVP behavior remains
doctor->once->run.
Validation
Run focused tests for the changed area. For normal development completion, prefer:
pytest tests/
python -m tgwatch doctor --config config.toml
python -m tgwatch archive-status --config config.toml
python -m tgwatch once --config config.toml --since 10m
If a command cannot be run because local credentials/config are unavailable, say that clearly and run the closest safe offline checks.
Completion workflow
- When code is complete, move the Todoist task to Code Complete and add a short comment with the verification state.
- QA / Release movement requires the user's confirmation after validation.
- Do not mark Todoist tasks complete on your own; the user confirms completion.
- Mirror actionable Todoist comments back in chat because chat is the primary user interface.
Versioning and changelog
- Every Todoist task should include Release Impact.
- On completion of release-impacting work, update
pyproject.tomland prependdocs/CHANGELOG.md. - Patch: backward-compatible fixes/docs.
- Minor: additive features or new config surfaces.
- Major: breaking schema or CLI changes.
- README
pip install ...@vX.Y.Zexamples change only after the GitHub tag exists.
Commit protocol
When the user asks to commit:
- Commit with both summary and description:
git commit -m "SUMMARY" -m "DETAILS" - Push immediately unless the user says otherwise.
- Add a Todoist comment with the commit link.
- Move the task to the appropriate board column.