{"id":"a1ed0852-f442-4448-9fcd-950ecca5ddf9","entityType":"agent","slug":"clawhub-oomol-oo-dida365","name":"Dida365","canonicalUrl":"https://www.xpersona.co/agent/clawhub-oomol-oo-dida365","canonicalPath":"/agent/clawhub-oomol-oo-dida365","generatedAt":"2026-10-11T20:57:05.345Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T17:54:00.683Z","emptyReason":null},"description":"Dida365 (dida365.com). Use this skill for ANY Dida365 request — reading, creating, updating, and deleting data. Whenever a task involves Dida365, use this skill instead of calling the API directly.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s1790xw8jww1c6hgm8aqy9q25187t1rg:oo-dida365","sourceUrl":"https://clawhub.ai/oomol/oo-dida365","homepage":"https://clawhub.ai/oomol/skills/oo-dida365","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/oomol/oo-dida365","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/oomol/skills/oo-dida365","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Dida365 technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T17:54:00.683Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T17:54:00.683Z","emptyReason":null},"stars":null,"forks":null,"downloads":1014,"packageName":null,"latestVersion":"1.0.7","tractionLabel":"1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T17:54:00.670Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T17:54:00.683Z","lastCrawledAt":"2026-10-11T17:54:00.670Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T17:54:00.670Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.7","createdAt":"2026-09-23T10:55:10.177Z","changelog":"- Adds OOMOL-connected access to Dida365 via the `oo` CLI, using server-side credential handling. - Supports project management: list, create, update, fetch, and delete projects. - Supports task workflows: create, update, complete, move, delete, filter, and list active or completed tasks. - Includes habit support for listing habits, reading habit details, and managing habit check-ins. - Documents safety guidance for read, write, and destructive actions, including confirmation requirements. Source: `oomol-lab/skills@e4c868f`","fileCount":3,"zipByteSize":3754},{"version":"1.0.6","createdAt":"2026-09-20T03:24:40.504Z","changelog":"- Adds Dida365 task management via OOMOL-connected accounts. - Supports creating, updating, completing, moving, deleting, and filtering tasks. - Provides project creation, updates, deletion, lookup, and project data retrieval. - Includes habit listing, habit lookup, and habit check-in management. - Documents safe execution rules for read, write, and destructive actions. Source: `oomol-lab/skills@792ad44`","fileCount":3,"zipByteSize":3756},{"version":"1.0.5","createdAt":"2026-09-15T05:53:12.325Z","changelog":"- Manage Dida365 data through the OOMOL-connected `oo` CLI. - Read, create, update, complete, move, and delete tasks and projects. - Filter and list active or completed tasks across projects. - Manage habits and date-based habit check-ins. - Enforces schema inspection and confirmation safeguards for write and destructive actions. Source: `oomol-lab/skills@75bac03`","fileCount":3,"zipByteSize":3664},{"version":"1.0.3","createdAt":"2026-08-31T05:17:41.368Z","changelog":"- Operates Dida365 through the OOMOL `oo` CLI connector using server-side credentials. - Supports full task workflows: create, update, complete, delete, move, filter, and list tasks. - Manages projects, including create, update, delete, list, and fetch with task/column data. - Includes habit support for listing habits, reading habit details, and managing habit check-ins. - Documents safe usage rules for read, write, and destructive actions, with schema inspection before execution. Source: `oomol-lab/skills@0a223a7`","fileCount":3,"zipByteSize":3813},{"version":"1.0.2","createdAt":"2026-06-09T10:17:41.863Z","changelog":"- Adds an OOMOL-backed Dida365 skill for managing tasks, projects, and habits through the `oo` CLI. - Supports task creation, updates, completion, deletion, moving, filtering, and listing across projects. - Includes project read/write actions, including create, update, delete, list, and fetch-with-data workflows. - Provides habit and habit check-in actions for listing habits, reading habit details, and creating or updating check-ins. - Documents safety rules for read, write, and destructive actions, including schema inspection before execution. Source: `oomol-lab/skills@146ef20`","fileCount":3,"zipByteSize":3749},{"version":"1.0.1","createdAt":"2026-06-05T05:11:06.821Z","changelog":"- Operates Dida365 through the OOMOL `oo` CLI and server-managed credentials. - Adds 19 connector actions for tasks, projects, habits, and habit check-ins. - Supports creating, updating, completing, moving, filtering, listing, and deleting tasks. - Includes project management actions for creating, updating, deleting, and fetching project data. - Provides safety guidance for read, write, and destructive Dida365 operations. Source: `oomol-lab/skills@281c392`","fileCount":22,"zipByteSize":15051},{"version":"1.0.0","createdAt":"2026-06-03T16:00:30.116Z","changelog":"- Adds a Dida365 productivity skill for operating a connected Dida365 account through the OOMOL `dida365` connector. - Supports full task workflows, including creating, updating, completing, deleting, moving, filtering, and listing tasks. - Provides project management actions for listing, creating, updating, deleting, and retrieving projects with task and column data. - Includes habit support for listing habits, fetching habit details, and creating or updating habit check-ins. - Documents safe execution practices, including live schema inspection before payload construction and explicit confirmation for write or destructive actions.","fileCount":22,"zipByteSize":14525}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s1790xw8jww1c6hgm8aqy9q25187t1rg:oo-dida365","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s1790xw8jww1c6hgm8aqy9q25187t1rg:oo-dida365` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/oomol/oo-dida365 before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-dida365/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-dida365/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-dida365/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-dida365/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-dida365/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-dida365/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T20:57:05.344Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-dida365/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-dida365/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-dida365/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-dida365/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T17:54:00.683Z","emptyReason":null},"readme":"Skill: Dida365\n\nOwner: oomol\n\nSummary: Dida365 (dida365.com). Use this skill for ANY Dida365 request — reading, creating, updating, and deleting data. Whenever a task involves Dida365, use this skill instead of calling the API directly.\n\nTags: latest:1.0.7\n\nVersion history:\n\nv1.0.7 | 2026-09-23T10:55:10.177Z | user\n\n- Adds OOMOL-connected access to Dida365 via the `oo` CLI, using server-side credential handling.\n- Supports project management: list, create, update, fetch, and delete projects.\n- Supports task workflows: create, update, complete, move, delete, filter, and list active or completed tasks.\n- Includes habit support for listing habits, reading habit details, and managing habit check-ins.\n- Documents safety guidance for read, write, and destructive actions, including confirmation requirements.\n\nSource: `oomol-lab/skills@e4c868f`\n\nv1.0.6 | 2026-09-20T03:24:40.504Z | user\n\n- Adds Dida365 task management via OOMOL-connected accounts.\n- Supports creating, updating, completing, moving, deleting, and filtering tasks.\n- Provides project creation, updates, deletion, lookup, and project data retrieval.\n- Includes habit listing, habit lookup, and habit check-in management.\n- Documents safe execution rules for read, write, and destructive actions.\n\nSource: `oomol-lab/skills@792ad44`\n\nv1.0.5 | 2026-09-15T05:53:12.325Z | user\n\n- Manage Dida365 data through the OOMOL-connected `oo` CLI.\n- Read, create, update, complete, move, and delete tasks and projects.\n- Filter and list active or completed tasks across projects.\n- Manage habits and date-based habit check-ins.\n- Enforces schema inspection and confirmation safeguards for write and destructive actions.\n\nSource: `oomol-lab/skills@75bac03`\n\nv1.0.3 | 2026-08-31T05:17:41.368Z | user\n\n- Operates Dida365 through the OOMOL `oo` CLI connector using server-side credentials.\n- Supports full task workflows: create, update, complete, delete, move, filter, and list tasks.\n- Manages projects, including create, update, delete, list, and fetch with task/column data.\n- Includes habit support for listing habits, reading habit details, and managing habit check-ins.\n- Documents safe usage rules for read, write, and destructive actions, with schema inspection before execution.\n\nSource: `oomol-lab/skills@0a223a7`\n\nv1.0.2 | 2026-06-09T10:17:41.863Z | user\n\n- Adds an OOMOL-backed Dida365 skill for managing tasks, projects, and habits through the `oo` CLI.\n- Supports task creation, updates, completion, deletion, moving, filtering, and listing across projects.\n- Includes project read/write actions, including create, update, delete, list, and fetch-with-data workflows.\n- Provides habit and habit check-in actions for listing habits, reading habit details, and creating or updating check-ins.\n- Documents safety rules for read, write, and destructive actions, including schema inspection before execution.\n\nSource: `oomol-lab/skills@146ef20`\n\nv1.0.1 | 2026-06-05T05:11:06.821Z | user\n\n- Operates Dida365 through the OOMOL `oo` CLI and server-managed credentials.\n- Adds 19 connector actions for tasks, projects, habits, and habit check-ins.\n- Supports creating, updating, completing, moving, filtering, listing, and deleting tasks.\n- Includes project management actions for creating, updating, deleting, and fetching project data.\n- Provides safety guidance for read, write, and destructive Dida365 operations.\n\nSource: `oomol-lab/skills@281c392`\n\nv1.0.0 | 2026-06-03T16:00:30.116Z | user\n\n- Adds a Dida365 productivity skill for operating a connected Dida365 account through the OOMOL `dida365` connector.\n- Supports full task workflows, including creating, updating, completing, deleting, moving, filtering, and listing tasks.\n- Provides project management actions for listing, creating, updating, deleting, and retrieving projects with task and column data.\n- Includes habit support for listing habits, fetching habit details, and creating or updating habit check-ins.\n- Documents safe execution practices, including live schema inspection before payload construction and explicit confirmation for write or destructive actions.\n\nArchive index:\n\nArchive v1.0.7: 3 files, 3754 bytes\n\nFiles: skill-card.md (2133b), SKILL.md (5220b), _meta.json (129b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: oo-dida365\ndescription: \"Dida365 (dida365.com). Use this skill for ANY Dida365 request — reading, creating, updating, and deleting data. Whenever a task involves Dida365, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Dida365\"\n  author: \"OOMOL\"\n  version: \"1.0.7\"\n  services: [\"dida365\"]\n  icon: \"https://static.oomol.com/logo/third-party/dida365.svg\"\n---\n\n# Dida365\n\nOperate **Dida365** through your OOMOL-connected account. This skill calls the `dida365` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Dida365. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"dida365\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"dida365\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `complete_task` — Mark a Dida365 task as completed by project ID and task ID. [write]\n- `create_or_update_habit_checkin` — Create or update a Dida365 habit check-in for a date stamp. [write]\n- `create_project` — Create a Dida365 project with optional color, sort order, view mode, and kind. [write]\n- `create_task` — Create a Dida365 task under a project with optional schedule, reminders, recurrence, and checklist items. [write]\n- `delete_project` — Delete a Dida365 project by project ID. The connector treats a missing project as already deleted. [destructive]\n- `delete_task` — Delete a Dida365 task by project ID and task ID. The connector treats a missing task as already deleted. [destructive]\n- `filter_tasks` — Filter Dida365 tasks by project, date range, priority, tags, and status by using the official filter endpoint.\n- `get_habit` — Get a Dida365 habit by its habit ID.\n- `get_project_by_id` — Get a Dida365 project by its project ID.\n- `get_project_with_data` — Get a Dida365 project together with its undone tasks and columns by project ID.\n- `get_task_by_project_and_id` — Get a Dida365 task by project ID and task ID.\n- `get_user_project` — List the projects available to the connected Dida365 account.\n- `list_all_tasks` — List undone Dida365 tasks across projects. This is a connector-level aggregate helper over list-projects plus project-data fetches.\n- `list_completed_tasks` — List completed Dida365 tasks within optional project and date filters by using the official completed-tasks endpoint.\n- `list_habit_checkins` — List Dida365 habit check-ins for one or more habits over a date stamp range.\n- `list_habits` — List habits available to the connected Dida365 account.\n- `move_tasks` — Move one or more Dida365 tasks between projects by using the official move endpoint. [destructive]\n- `update_project` — Update a Dida365 project by project ID. [write]\n- `update_task` — Update a Dida365 task by task ID and project ID, including checklist items and recurrence fields. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Dida365 state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Dida365 is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=dida365\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Dida365 homepage: https://dida365.com\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn7eqm6jebj7yq6njhz1fg63nn87z9h6\",\n  \"slug\": \"oo-dida365\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1790160910177\n}\n\nFile v1.0.7:skill-card.md\n\n## Description:\n\nDida365 lets an agent read, create, update, complete, move, and delete Dida365 projects, tasks, and habit data through an OOMOL-connected account.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to let an agent manage Dida365 task, project, and habit workflows from a connected OOMOL account. It supports both read-only lookups and state-changing actions that require confirmation before execution.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The first-time setup instructions can run a remote install script on the user's machine.\n\nMitigation: Review the setup steps before installing, prefer a verified documented source with version and integrity checks, and only run setup after an actual missing-CLI or authentication failure.\n\nRisk: Write and destructive actions can change, move, or delete Dida365 projects, tasks, and habit check-ins.\n\nMitigation: Confirm the exact target item, payload, and expected effect with the user before running actions marked write or destructive.\n\n## Reference(s):\n\n- [Dida365 homepage](https://dida365.com)\n- [oo CLI](https://github.com/oomol-lab/oo-cli)\n- [oo CLI install guide](https://cli.oomol.com/install-guide.md)\n- [ClawHub skill page](https://clawhub.ai/oomol/skills/oo-dida365)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, Configuration, Guidance, JSON]\n\n**Output Format:** [Markdown guidance with bash commands and JSON payloads or responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Commands use the oo CLI and may read or change Dida365 account data depending on the selected action.]\n\n## Skill Version(s):\n\n1.0.7 (source: frontmatter and server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.6: 3 files, 3756 bytes\n\nFiles: skill-card.md (2109b), SKILL.md (5221b), _meta.json (129b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: oo-dida365\ndescription: \"Dida365 (dida365.com). Use this skill for ANY Dida365 request — reading, creating, updating, and deleting data. Whenever a task involves Dida365, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Dida365\"\n  author: \"OOMOL\"\n  version: \"1.0.6\"\n  services: [\"dida365\"]\n  icon: \"https://static.oomol.com/logo/third-party/ticktick.svg\"\n---\n\n# Dida365\n\nOperate **Dida365** through your OOMOL-connected account. This skill calls the `dida365` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Dida365. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"dida365\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"dida365\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `complete_task` — Mark a Dida365 task as completed by project ID and task ID. [write]\n- `create_or_update_habit_checkin` — Create or update a Dida365 habit check-in for a date stamp. [write]\n- `create_project` — Create a Dida365 project with optional color, sort order, view mode, and kind. [write]\n- `create_task` — Create a Dida365 task under a project with optional schedule, reminders, recurrence, and checklist items. [write]\n- `delete_project` — Delete a Dida365 project by project ID. The connector treats a missing project as already deleted. [destructive]\n- `delete_task` — Delete a Dida365 task by project ID and task ID. The connector treats a missing task as already deleted. [destructive]\n- `filter_tasks` — Filter Dida365 tasks by project, date range, priority, tags, and status by using the official filter endpoint.\n- `get_habit` — Get a Dida365 habit by its habit ID.\n- `get_project_by_id` — Get a Dida365 project by its project ID.\n- `get_project_with_data` — Get a Dida365 project together with its undone tasks and columns by project ID.\n- `get_task_by_project_and_id` — Get a Dida365 task by project ID and task ID.\n- `get_user_project` — List the projects available to the connected Dida365 account.\n- `list_all_tasks` — List undone Dida365 tasks across projects. This is a connector-level aggregate helper over list-projects plus project-data fetches.\n- `list_completed_tasks` — List completed Dida365 tasks within optional project and date filters by using the official completed-tasks endpoint.\n- `list_habit_checkins` — List Dida365 habit check-ins for one or more habits over a date stamp range.\n- `list_habits` — List habits available to the connected Dida365 account.\n- `move_tasks` — Move one or more Dida365 tasks between projects by using the official move endpoint. [destructive]\n- `update_project` — Update a Dida365 project by project ID. [write]\n- `update_task` — Update a Dida365 task by task ID and project ID, including checklist items and recurrence fields. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Dida365 state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Dida365 is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=dida365\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Dida365 homepage: https://dida365.com\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7eqm6jebj7yq6njhz1fg63nn87z9h6\",\n  \"slug\": \"oo-dida365\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1789874680504\n}\n\nFile v1.0.6:skill-card.md\n\n## Description:\n\nDida365 (dida365.com). Use this skill for ANY Dida365 request — reading, creating, updating, and deleting data. Whenever a task involves Dida365, use this skill instead of calling the API directly.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to manage Dida365 tasks, projects, and habits through an OOMOL-connected account. It supports read actions as well as confirmed create, update, move, complete, and delete actions.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Fallback setup includes direct remote shell installer commands for the OOMOL CLI.\n\nMitigation: Review the CLI installation method before installing, and prefer official signed package-manager or documented manual installation steps when available.\n\nRisk: The skill can create, update, move, complete, or delete Dida365 data.\n\nMitigation: Require explicit user approval and confirm the exact target, payload, and expected effect before any write or destructive action.\n\n## Reference(s):\n\n- [Dida365 homepage](https://dida365.com)\n- [oo CLI](https://github.com/oomol-lab/oo-cli)\n- [OOMOL Dida365 connection](https://console.oomol.com/app-connections?provider=dida365)\n- [ClawHub skill page](https://clawhub.ai/oomol/skills/oo-dida365)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline shell commands and JSON payload examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May trigger Dida365 API operations through the oo CLI when executed by an agent with user approval.]\n\n## Skill Version(s):\n\n1.0.6 (source: server evidence and frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.5: 3 files, 3664 bytes\n\nFiles: skill-card.md (1961b), SKILL.md (5215b), _meta.json (129b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: oo-dida365\ndescription: \"Dida365 (dida365.com). Use this skill for ANY Dida365 request — reading, creating, updating, and deleting data. Whenever a task involves Dida365, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Dida365\"\n  author: \"OOMOL\"\n  version: \"1.0.5\"\n  services: [\"dida365\"]\n  icon: \"https://static.oomol.com/logo/third-party/ticktick.svg\"\n---\n\n# Dida365\n\nOperate **Dida365** through your OOMOL-connected account. This skill calls the `dida365` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Dida365. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"dida365\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"dida365\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `complete_task` — Mark a Dida365 task as completed by project ID and task ID. [write]\n- `create_or_update_habit_checkin` — Create or update a Dida365 habit check-in for a date stamp. [write]\n- `create_project` — Create a Dida365 project with optional color, sort order, view mode, and kind. [write]\n- `create_task` — Create a Dida365 task under a project with optional schedule, reminders, recurrence, and checklist items. [write]\n- `delete_project` — Delete a Dida365 project by project ID. The connector treats a missing project as already deleted. [destructive]\n- `delete_task` — Delete a Dida365 task by project ID and task ID. The connector treats a missing task as already deleted. [destructive]\n- `filter_tasks` — Filter Dida365 tasks by project, date range, priority, tags, and status by using the official filter endpoint.\n- `get_habit` — Get a Dida365 habit by its habit ID.\n- `get_project_by_id` — Get a Dida365 project by its project ID.\n- `get_project_with_data` — Get a Dida365 project together with its undone tasks and columns by project ID.\n- `get_task_by_project_and_id` — Get a Dida365 task by project ID and task ID.\n- `get_user_project` — List the projects available to the connected Dida365 account.\n- `list_all_tasks` — List undone Dida365 tasks across projects. This is a connector-level aggregate helper over list-projects plus project-data fetches.\n- `list_completed_tasks` — List completed Dida365 tasks within optional project and date filters by using the official completed-tasks endpoint.\n- `list_habit_checkins` — List Dida365 habit check-ins for one or more habits over a date stamp range.\n- `list_habits` — List habits available to the connected Dida365 account.\n- `move_tasks` — Move one or more Dida365 tasks between projects by using the official move endpoint. [write]\n- `update_project` — Update a Dida365 project by project ID. [write]\n- `update_task` — Update a Dida365 task by task ID and project ID, including checklist items and recurrence fields. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Dida365 state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Dida365 is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=dida365\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Dida365 homepage: https://dida365.com\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7eqm6jebj7yq6njhz1fg63nn87z9h6\",\n  \"slug\": \"oo-dida365\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1789451592325\n}\n\nFile v1.0.5:skill-card.md\n\n## Description:\n\nUse this skill for Dida365 requests that read, create, update, and delete task, project, and habit data through the OOMOL-connected oo CLI.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and agents use this skill to manage Dida365 tasks, projects, and habits through an OOMOL-connected account. The skill supports read operations plus confirmed write and destructive actions for task-management workflows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The first-time setup path includes a remote installer executed directly in a shell.\n\nMitigation: Use a verified installation path when available, or inspect and validate the installer before execution.\n\nRisk: Write and destructive connector actions can change or remove Dida365 tasks, projects, or habit data.\n\nMitigation: Confirm the exact target, payload, and expected effect before running actions tagged as write or destructive.\n\n## Reference(s):\n\n- [Dida365 homepage](https://dida365.com)\n- [oo CLI](https://github.com/oomol-lab/oo-cli)\n- [ClawHub skill page](https://clawhub.ai/oomol/skills/oo-dida365)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, Configuration, JSON, Guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands and JSON payloads or responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Commands inspect live connector schemas before action execution; write and destructive actions require user confirmation.]\n\n## Skill Version(s):\n\n1.0.5 (source: frontmatter and release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.3: 3 files, 3813 bytes\n\nFiles: skill-card.md (2364b), SKILL.md (5215b), _meta.json (129b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: oo-dida365\ndescription: \"Dida365 (dida365.com). Use this skill for ANY Dida365 request — reading, creating, updating, and deleting data. Whenever a task involves Dida365, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Dida365\"\n  author: \"OOMOL\"\n  version: \"1.0.3\"\n  services: [\"dida365\"]\n  icon: \"https://static.oomol.com/logo/third-party/ticktick.svg\"\n---\n\n# Dida365\n\nOperate **Dida365** through your OOMOL-connected account. This skill calls the `dida365` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Dida365. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"dida365\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"dida365\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `complete_task` — Mark a Dida365 task as completed by project ID and task ID. [write]\n- `create_or_update_habit_checkin` — Create or update a Dida365 habit check-in for a date stamp. [write]\n- `create_project` — Create a Dida365 project with optional color, sort order, view mode, and kind. [write]\n- `create_task` — Create a Dida365 task under a project with optional schedule, reminders, recurrence, and checklist items. [write]\n- `delete_project` — Delete a Dida365 project by project ID. The connector treats a missing project as already deleted. [destructive]\n- `delete_task` — Delete a Dida365 task by project ID and task ID. The connector treats a missing task as already deleted. [destructive]\n- `filter_tasks` — Filter Dida365 tasks by project, date range, priority, tags, and status by using the official filter endpoint.\n- `get_habit` — Get a Dida365 habit by its habit ID.\n- `get_project_by_id` — Get a Dida365 project by its project ID.\n- `get_project_with_data` — Get a Dida365 project together with its undone tasks and columns by project ID.\n- `get_task_by_project_and_id` — Get a Dida365 task by project ID and task ID.\n- `get_user_project` — List the projects available to the connected Dida365 account.\n- `list_all_tasks` — List undone Dida365 tasks across projects. This is a connector-level aggregate helper over list-projects plus project-data fetches.\n- `list_completed_tasks` — List completed Dida365 tasks within optional project and date filters by using the official completed-tasks endpoint.\n- `list_habit_checkins` — List Dida365 habit check-ins for one or more habits over a date stamp range.\n- `list_habits` — List habits available to the connected Dida365 account.\n- `move_tasks` — Move one or more Dida365 tasks between projects by using the official move endpoint. [write]\n- `update_project` — Update a Dida365 project by project ID. [write]\n- `update_task` — Update a Dida365 task by task ID and project ID, including checklist items and recurrence fields. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Dida365 state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Dida365 is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=dida365\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Dida365 homepage: https://dida365.com\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7eqm6jebj7yq6njhz1fg63nn87z9h6\",\n  \"slug\": \"oo-dida365\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1788153461368\n}\n\nFile v1.0.3:skill-card.md\n\n## Description:\n\nDida365 helps an agent read, create, update, move, complete, delete, and filter Dida365 tasks, projects, habits, and habit check-ins through the OOMOL oo CLI connector.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to let an agent operate a connected Dida365 account for task, project, and habit workflows. It supports read-only lookups as well as reviewed state-changing actions such as creating tasks, moving tasks, completing tasks, and deleting projects or tasks.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Write actions can change tasks, projects, habits, or scheduling data in the connected Dida365 account.\n\nMitigation: Confirm the exact payload and expected effect with the user before running create, update, move, completion, or habit check-in actions.\n\nRisk: Delete actions can remove task or project data.\n\nMitigation: Get explicit approval for the target project or task before running delete_project or delete_task.\n\nRisk: Setup, account-connection, and billing commands can start account linking or payment-related flows.\n\nMitigation: Only run setup, connection, or billing commands after a command fails with the matching auth, connection, scope, expiration, app, or credit error.\n\n## Reference(s):\n\n- [ClawHub Dida365 skill listing](https://clawhub.ai/oomol/skills/oo-dida365)\n- [OOMOL oo CLI](https://github.com/oomol-lab/oo-cli)\n- [Dida365 homepage](https://dida365.com)\n- [oo CLI install guide](https://cli.oomol.com/install-guide.md)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, API calls, Configuration instructions, Guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands and JSON command payloads]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Connector action results are JSON responses containing data and meta.executionId.]\n\n## Skill Version(s):\n\n1.0.3 (source: server evidence and skill metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.2: 3 files, 3749 bytes\n\nFiles: skill-card.md (2172b), SKILL.md (5500b), _meta.json (129b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: oo-dida365\ndescription: \"Dida365 (dida365.com). Use this skill for ANY Dida365 request — reading, creating, updating, and deleting data. Whenever a task involves Dida365, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Dida365\"\n  author: \"OOMOL\"\n  version: \"1.0.2\"\n  services: [\"dida365\"]\n  icon: \"https://static.oomol.com/logo/third-party/ticktick.svg\"\n---\n\n# Dida365\n\nOperate **Dida365** through your OOMOL-connected account. This skill calls the `dida365` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Dida365. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"dida365\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"dida365\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `complete_task` — Mark a Dida365 (滴答清单) task as completed by project ID and task ID. [write]\n- `create_or_update_habit_checkin` — Create or update a Dida365 (滴答清单) habit check-in for a date stamp. [write]\n- `create_project` — Create a Dida365 (滴答清单) project with optional color, sort order, view mode, and kind. [write]\n- `create_task` — Create a Dida365 (滴答清单) task under a project with optional schedule, reminders, recurrence, and checklist items. [write]\n- `delete_project` — Delete a Dida365 (滴答清单) project by project ID. The connector treats a missing project as already deleted. [destructive]\n- `delete_task` — Delete a Dida365 (滴答清单) task by project ID and task ID. The connector treats a missing task as already deleted. [destructive]\n- `filter_tasks` — Filter Dida365 (滴答清单) tasks by project, date range, priority, tags, and status by using the official filter endpoint.\n- `get_habit` — Get a Dida365 (滴答清单) habit by its habit ID.\n- `get_project_by_id` — Get a Dida365 (滴答清单) project by its project ID.\n- `get_project_with_data` — Get a Dida365 (滴答清单) project together with its undone tasks and columns by project ID.\n- `get_task_by_project_and_id` — Get a Dida365 (滴答清单) task by project ID and task ID.\n- `get_user_project` — List the projects available to the connected Dida365 (滴答清单) account.\n- `list_all_tasks` — List undone Dida365 (滴答清单) tasks across projects. This is a connector-level aggregate helper over list-projects plus project-data fetches.\n- `list_completed_tasks` — List completed Dida365 (滴答清单) tasks within optional project and date filters by using the official completed-tasks endpoint.\n- `list_habit_checkins` — List Dida365 (滴答清单) habit check-ins for one or more habits over a date stamp range.\n- `list_habits` — List habits available to the connected Dida365 (滴答清单) account.\n- `move_tasks` — Move one or more Dida365 (滴答清单) tasks between projects by using the official move endpoint. [write]\n- `update_project` — Update a Dida365 (滴答清单) project by project ID. [write]\n- `update_task` — Update a Dida365 (滴答清单) task by task ID and project ID, including checklist items and recurrence fields. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Dida365 state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Dida365 is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=dida365\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Dida365 homepage: https://dida365.com\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7eqm6jebj7yq6njhz1fg63nn87z9h6\",\n  \"slug\": \"oo-dida365\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1781000261863\n}\n\nFile v1.0.2:skill-card.md\n\n## Description: <br>\nDida365 (dida365.com) skill for reading, creating, updating, and deleting Dida365 data through the OOMOL oo CLI. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[oomol](https://clawhub.ai/user/oomol) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to manage Dida365 tasks, projects, and habits through an OOMOL-connected account, including read, write, and delete workflows. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Write and destructive actions can change or remove Dida365 tasks, projects, or habit data. <br>\nMitigation: Confirm the exact payload, target identifiers, and user approval before running actions tagged write or destructive. <br>\nRisk: Using the skill requires installing or signing into the OOMOL oo CLI and connecting a Dida365 account. <br>\nMitigation: Approve setup only when the user trusts OOMOL and intends to let an agent manage Dida365 data through that connection. <br>\nRisk: Connector inputs may differ by action or change over time. <br>\nMitigation: Fetch the live action schema with the oo CLI before constructing each payload. <br>\n\n\n## Reference(s): <br>\n- [Dida365 homepage](https://dida365.com) <br>\n- [OOMOL oo CLI](https://github.com/oomol-lab/oo-cli) <br>\n- [ClawHub skill page](https://clawhub.ai/oomol/oo-dida365) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with inline shell commands and JSON payload examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Uses live connector schemas before constructing JSON payloads; connector responses are JSON.] <br>\n\n## Skill Version(s): <br>\n1.0.2 (source: frontmatter and server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.1: 22 files, 15051 bytes\n\nFiles: actions/complete_task.md (678b), actions/create_or_update_habit_checkin.md (888b), actions/create_project.md (827b), actions/create_task.md (839b), actions/delete_project.md (863b), actions/delete_task.md (854b), actions/filter_tasks.md (723b), actions/get_habit.md (634b), actions/get_project_by_id.md (678b), actions/get_project_with_data.md (737b), actions/get_task_by_project_and_id.md (728b), actions/get_user_project.md (694b), actions/list_all_tasks.md (754b), actions/list_completed_tasks.md (770b), actions/list_habit_checkins.md (724b), actions/list_habits.md (663b), actions/move_tasks.md (813b), actions/update_project.md (788b), actions/update_task.md (831b), skill-card.md (2256b), SKILL.md (6020b), _meta.json (129b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: oo-dida365\ndescription: \"Dida365 (dida365.com). Use this skill for ANY Dida365 request — reading, creating, updating, and deleting data. Whenever a task involves Dida365, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Dida365\"\n  author: \"OOMOL\"\n  version: \"1.0.1\"\n  service: \"dida365\"\n  categories: \"Productivity\"\n  homepage: \"https://dida365.com\"\n  icon: \"https://static.oomol.com/logo/third-party/ticktick.svg\"\n---\n\n# Dida365\n\nOperate **Dida365** through your OOMOL-connected account. This skill calls the `dida365` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\nCategory: Productivity. Exposes 19 action(s).\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Dida365. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"dida365\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"dida365\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action below links to a reference file with its purpose and exact commands. Read the linked file, then fetch the live schema with `oo connector schema` before constructing `--data`.\n\n## Available actions\n\n- [`complete_task`](actions/complete_task.md) — Mark a Dida365 (滴答清单) task as completed by project ID and task ID.\n- [`create_or_update_habit_checkin`](actions/create_or_update_habit_checkin.md) — Create or update a Dida365 (滴答清单) habit check-in for a date stamp.\n- [`create_project`](actions/create_project.md) — Create a Dida365 (滴答清单) project with optional color, sort order, view mode, and kind.\n- [`create_task`](actions/create_task.md) — Create a Dida365 (滴答清单) task under a project with optional schedule, reminders, recurrence, and checklist items.\n- [`delete_project`](actions/delete_project.md) — Delete a Dida365 (滴答清单) project by project ID. The connector treats a missing project as already deleted.\n- [`delete_task`](actions/delete_task.md) — Delete a Dida365 (滴答清单) task by project ID and task ID. The connector treats a missing task as already deleted.\n- [`filter_tasks`](actions/filter_tasks.md) — Filter Dida365 (滴答清单) tasks by project, date range, priority, tags, and status by using the official filter endpoint.\n- [`get_habit`](actions/get_habit.md) — Get a Dida365 (滴答清单) habit by its habit ID.\n- [`get_project_by_id`](actions/get_project_by_id.md) — Get a Dida365 (滴答清单) project by its project ID.\n- [`get_project_with_data`](actions/get_project_with_data.md) — Get a Dida365 (滴答清单) project together with its undone tasks and columns by project ID.\n- [`get_task_by_project_and_id`](actions/get_task_by_project_and_id.md) — Get a Dida365 (滴答清单) task by project ID and task ID.\n- [`get_user_project`](actions/get_user_project.md) — List the projects available to the connected Dida365 (滴答清单) account.\n- [`list_all_tasks`](actions/list_all_tasks.md) — List undone Dida365 (滴答清单) tasks across projects. This is a connector-level aggregate helper over list-projects plus project-data fetches.\n- [`list_completed_tasks`](actions/list_completed_tasks.md) — List completed Dida365 (滴答清单) tasks within optional project and date filters by using the official completed-tasks endpoint.\n- [`list_habit_checkins`](actions/list_habit_checkins.md) — List Dida365 (滴答清单) habit check-ins for one or more habits over a date stamp range.\n- [`list_habits`](actions/list_habits.md) — List habits available to the connected Dida365 (滴答清单) account.\n- [`move_tasks`](actions/move_tasks.md) — Move one or more Dida365 (滴答清单) tasks between projects by using the official move endpoint.\n- [`update_project`](actions/update_project.md) — Update a Dida365 (滴答清单) project by project ID.\n- [`update_task`](actions/update_task.md) — Update a Dida365 (滴答清单) task by task ID and project ID, including checklist items and recurrence fields.\n\n## Safety\n\n- Read actions (get / list / search) are safe to run directly.\n- **Create, update, send, or post actions change Dida365 state — confirm the exact payload and effect with the user before running.**\n- **Delete or remove actions are destructive — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Dida365 is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=dida365\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Dida365 homepage: https://dida365.com\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7eqm6jebj7yq6njhz1fg63nn87z9h6\",\n  \"slug\": \"oo-dida365\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1780636266821\n}\n\nFile v1.0.1:actions/complete_task.md\n\n# Dida365 · `complete_task`\n\nMark a Dida365 (滴答清单) task as completed by project ID and task ID.\n\n- **Service**: `dida365`\n- **Action**: `complete_task`\n- **Action id**: `dida365.complete_task`\n- **Required scopes**: dida365.write\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"dida365\" --action \"complete_task\"\n```\n\n## Run\n\n```bash\noo connector run \"dida365\" --action \"complete_task\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.1:actions/create_or_update_habit_checkin.md\n\n# Dida365 · `create_or_update_habit_checkin`\n\nCreate or update a Dida365 (滴答清单) habit check-in for a date stamp.\n\n- **Service**: `dida365`\n- **Action**: `create_or_update_habit_checkin`\n- **Action id**: `dida365.create_or_update_habit_checkin`\n- **Required scopes**: dida365.write\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"dida365\" --action \"create_or_update_habit_checkin\"\n```\n\n## Run\n\n```bash\noo connector run \"dida365\" --action \"create_or_update_habit_checkin\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes Dida365 state. Confirm the exact payload and intended effect with the user before running.\n\nFile v1.0.1:actions/create_project.md\n\n# Dida365 · `create_project`\n\nCreate a Dida365 (滴答清单) project with optional color, sort order, view mode, and kind.\n\n- **Service**: `dida365`\n- **Action**: `create_project`\n- **Action id**: `dida365.create_project`\n- **Required scopes**: dida365.write\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"dida365\" --action \"create_project\"\n```\n\n## Run\n\n```bash\noo connector run \"dida365\" --action \"create_project\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes Dida365 state. Confirm the exact payload and intended effect with the user before running.\n\nFile v1.0.1:actions/create_task.md\n\n# Dida365 · `create_task`\n\nCreate a Dida365 (滴答清单) task under a project with optional schedule, reminders, recurrence, and checklist items.\n\n- **Service**: `dida365`\n- **Action**: `create_task`\n- **Action id**: `dida365.create_task`\n- **Required scopes**: dida365.write\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"dida365\" --action \"create_task\"\n```\n\n## Run\n\n```bash\noo connector run \"dida365\" --action \"create_task\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes Dida365 state. Confirm the exact payload and intended effect with the user before running.\n\nFile v1.0.1:actions/delete_project.md\n\n# Dida365 · `delete_project`\n\nDelete a Dida365 (滴答清单) project by project ID. The connector treats a missing project as already deleted.\n\n- **Service**: `dida365`\n- **Action**: `delete_project`\n- **Action id**: `dida365.delete_project`\n- **Required scopes**: dida365.write\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"dida365\" --action \"delete_project\"\n```\n\n## Run\n\n```bash\noo connector run \"dida365\" --action \"delete_project\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Destructive action.** This removes or overwrites Dida365 data. Always confirm the target and get explicit user approval before running.\n\nFile v1.0.1:actions/delete_task.md\n\n# Dida365 · `delete_task`\n\nDelete a Dida365 (滴答清单) task by project ID and task ID. The connector treats a missing task as already deleted.\n\n- **Service**: `dida365`\n- **Action**: `delete_task`\n- **Action id**: `dida365.delete_task`\n- **Required scopes**: dida365.write\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"dida365\" --action \"delete_task\"\n```\n\n## Run\n\n```bash\noo connector run \"dida365\" --action \"delete_task\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Destructive action.** This removes or overwrites Dida365 data. Always confirm the target and get explicit user approval before running.\n\nFile v1.0.1:actions/filter_tasks.md\n\n# Dida365 · `filter_tasks`\n\nFilter Dida365 (滴答清单) tasks by project, date range, priority, tags, and status by using the official filter endpoint.\n\n- **Service**: `dida365`\n- **Action**: `filter_tasks`\n- **Action id**: `dida365.filter_tasks`\n- **Required scopes**: dida365.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"dida365\" --action \"filter_tasks\"\n```\n\n## Run\n\n```bash\noo connector run \"dida365\" --action \"filter_tasks\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.1:actions/get_habit.md\n\n# Dida365 · `get_habit`\n\nGet a Dida365 (滴答清单) habit by its habit ID.\n\n- **Service**: `dida365`\n- **Action**: `get_habit`\n- **Action id**: `dida365.get_habit`\n- **Required scopes**: dida365.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"dida365\" --action \"get_habit\"\n```\n\n## Run\n\n```bash\noo connector run \"dida365\" --action \"get_habit\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.1:actions/get_project_by_id.md\n\n# Dida365 · `get_project_by_id`\n\nGet a Dida365 (滴答清单) project by its project ID.\n\n- **Service**: `dida365`\n- **Action**: `get_project_by_id`\n- **Action id**: `dida365.get_project_by_id`\n- **Required scopes**: dida365.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"dida365\" --action \"get_project_by_id\"\n```\n\n## Run\n\n```bash\noo connector run \"dida365\" --action \"get_project_by_id\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.1:actions/get_project_with_data.md\n\n# Dida365 · `get_project_with_data`\n\nGet a Dida365 (滴答清单) project together with its undone tasks and columns by project ID.\n\n- **Service**: `dida365`\n- **Action**: `get_project_with_data`\n- **Action id**: `dida365.get_project_with_data`\n- **Required scopes**: dida365.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"dida365\" --action \"get_project_with_data\"\n```\n\n## Run\n\n```bash\noo connector run \"dida365\" --action \"get_project_with_data\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nArchive v1.0.0: 22 files, 14525 bytes\n\nFiles: actions/complete_task.md (663b), actions/create_or_update_habit_checkin.md (873b), actions/create_project.md (812b), actions/create_task.md (824b), actions/delete_project.md (848b), actions/delete_task.md (839b), actions/filter_tasks.md (708b), actions/get_habit.md (619b), actions/get_project_by_id.md (663b), actions/get_project_with_data.md (722b), actions/get_task_by_project_and_id.md (713b), actions/get_user_project.md (679b), actions/list_all_tasks.md (739b), actions/list_completed_tasks.md (755b), actions/list_habit_checkins.md (709b), actions/list_habits.md (648b), actions/move_tasks.md (798b), actions/update_project.md (773b), actions/update_task.md (816b), skill-card.md (2295b), SKILL.md (5735b), _meta.json (129b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: oo-dida365\ndescription: \"Dida365 (dida365.com). Use this skill for ANY Dida365 request — reading, creating, updating, and deleting data. Whenever a task involves Dida365, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Dida365\"\n  author: \"OOMOL\"\n  version: \"1.0.0\"\n  service: \"dida365\"\n  categories: \"Productivity\"\n  homepage: \"https://dida365.com\"\n  icon: \"https://static.oomol.com/logo/third-party/ticktick.svg\"\n---\n\n# Dida365\n\nOperate **Dida365** through your OOMOL-connected account. This skill calls the `dida365` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\nCategory: Productivity. Exposes 19 action(s).\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Dida365. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"dida365\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"dida365\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action below links to a reference file with its purpose and exact commands. Read the linked file, then fetch the live schema with `oo connector schema` before constructing `--data`.\n\n## Available actions\n\n- [`complete_task`](actions/complete_task.md) — Mark a Dida365 task as completed by project ID and task ID.\n- [`create_or_update_habit_checkin`](actions/create_or_update_habit_checkin.md) — Create or update a Dida365 habit check-in for a date stamp.\n- [`create_project`](actions/create_project.md) — Create a Dida365 project with optional color, sort order, view mode, and kind.\n- [`create_task`](actions/create_task.md) — Create a Dida365 task under a project with optional schedule, reminders, recurrence, and checklist items.\n- [`delete_project`](actions/delete_project.md) — Delete a Dida365 project by project ID. The connector treats a missing project as already deleted.\n- [`delete_task`](actions/delete_task.md) — Delete a Dida365 task by project ID and task ID. The connector treats a missing task as already deleted.\n- [`filter_tasks`](actions/filter_tasks.md) — Filter Dida365 tasks by project, date range, priority, tags, and status by using the official filter endpoint.\n- [`get_habit`](actions/get_habit.md) — Get a Dida365 habit by its habit ID.\n- [`get_project_by_id`](actions/get_project_by_id.md) — Get a Dida365 project by its project ID.\n- [`get_project_with_data`](actions/get_project_with_data.md) — Get a Dida365 project together with its undone tasks and columns by project ID.\n- [`get_task_by_project_and_id`](actions/get_task_by_project_and_id.md) — Get a Dida365 task by project ID and task ID.\n- [`get_user_project`](actions/get_user_project.md) — List the projects available to the connected Dida365 account.\n- [`list_all_tasks`](actions/list_all_tasks.md) — List undone Dida365 tasks across projects. This is a connector-level aggregate helper over list-projects plus project-data fetches.\n- [`list_completed_tasks`](actions/list_completed_tasks.md) — List completed Dida365 tasks within optional project and date filters by using the official completed-tasks endpoint.\n- [`list_habit_checkins`](actions/list_habit_checkins.md) — List Dida365 habit check-ins for one or more habits over a date stamp range.\n- [`list_habits`](actions/list_habits.md) — List habits available to the connected Dida365 account.\n- [`move_tasks`](actions/move_tasks.md) — Move one or more Dida365 tasks between projects by using the official move endpoint.\n- [`update_project`](actions/update_project.md) — Update a Dida365 project by project ID.\n- [`update_task`](actions/update_task.md) — Update a Dida365 task by task ID and project ID, including checklist items and recurrence fields.\n\n## Safety\n\n- Read actions (get / list / search) are safe to run directly.\n- **Create, update, send, or post actions change Dida365 state — confirm the exact payload and effect with the user before running.**\n- **Delete or remove actions are destructive — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Dida365 is not connected, or the connection expired or lacks a scope. Connect once (auth type: OAuth2) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=dida365\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Dida365 homepage: https://dida365.com\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7eqm6jebj7yq6njhz1fg63nn87z9h6\",\n  \"slug\": \"oo-dida365\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1780502430116\n}\n\nFile v1.0.0:actions/complete_task.md\n\n# Dida365 · `complete_task`\n\nMark a Dida365 task as completed by project ID and task ID.\n\n- **Service**: `dida365`\n- **Action**: `complete_task`\n- **Action id**: `dida365.complete_task`\n- **Required scopes**: dida365.write\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"dida365\" --action \"complete_task\"\n```\n\n## Run\n\n```bash\noo connector run \"dida365\" --action \"complete_task\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/create_or_update_habit_checkin.md\n\n# Dida365 · `create_or_update_habit_checkin`\n\nCreate or update a Dida365 habit check-in for a date stamp.\n\n- **Service**: `dida365`\n- **Action**: `create_or_update_habit_checkin`\n- **Action id**: `dida365.create_or_update_habit_checkin`\n- **Required scopes**: dida365.write\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"dida365\" --action \"create_or_update_habit_checkin\"\n```\n\n## Run\n\n```bash\noo connector run \"dida365\" --action \"create_or_update_habit_checkin\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes Dida365 state. Confirm the exact payload and intended effect with the user before running.\n\nFile v1.0.0:actions/create_project.md\n\n# Dida365 · `create_project`\n\nCreate a Dida365 project with optional color, sort order, view mode, and kind.\n\n- **Service**: `dida365`\n- **Action**: `create_project`\n- **Action id**: `dida365.create_project`\n- **Required scopes**: dida365.write\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"dida365\" --action \"create_project\"\n```\n\n## Run\n\n```bash\noo connector run \"dida365\" --action \"create_project\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes Dida365 state. Confirm the exact payload and intended effect with the user before running.\n\nFile v1.0.0:actions/create_task.md\n\n# Dida365 · `create_task`\n\nCreate a Dida365 task under a project with optional schedule, reminders, recurrence, and checklist items.\n\n- **Service**: `dida365`\n- **Action**: `create_task`\n- **Action id**: `dida365.create_task`\n- **Required scopes**: dida365.write\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"dida365\" --action \"create_task\"\n```\n\n## Run\n\n```bash\noo connector run \"dida365\" --action \"create_task\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes Dida365 state. Confirm the exact payload and intended effect with the user before running.\n\nFile v1.0.0:actions/delete_project.md\n\n# Dida365 · `delete_project`\n\nDelete a Dida365 project by project ID. The connector treats a missing project as already deleted.\n\n- **Service**: `dida365`\n- **Action**: `delete_project`\n- **Action id**: `dida365.delete_project`\n- **Required scopes**: dida365.write\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"dida365\" --action \"delete_project\"\n```\n\n## Run\n\n```bash\noo connector run \"dida365\" --action \"delete_project\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Destructive action.** This removes or overwrites Dida365 data. Always confirm the target and get explicit user approval before running.\n\nFile v1.0.0:actions/delete_task.md\n\n# Dida365 · `delete_task`\n\nDelete a Dida365 task by project ID and task ID. The connector treats a missing task as already deleted.\n\n- **Service**: `dida365`\n- **Action**: `delete_task`\n- **Action id**: `dida365.delete_task`\n- **Required scopes**: dida365.write\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"dida365\" --action \"delete_task\"\n```\n\n## Run\n\n```bash\noo connector run \"dida365\" --action \"delete_task\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Destructive action.** This removes or overwrites Dida365 data. Always confirm the target and get explicit user approval before running.\n\nFile v1.0.0:actions/filter_tasks.md\n\n# Dida365 · `filter_tasks`\n\nFilter Dida365 tasks by project, date range, priority, tags, and status by using the official filter endpoint.\n\n- **Service**: `dida365`\n- **Action**: `filter_tasks`\n- **Action id**: `dida365.filter_tasks`\n- **Required scopes**: dida365.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"dida365\" --action \"filter_tasks\"\n```\n\n## Run\n\n```bash\noo connector run \"dida365\" --action \"filter_tasks\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/get_habit.md\n\n# Dida365 · `get_habit`\n\nGet a Dida365 habit by its habit ID.\n\n- **Service**: `dida365`\n- **Action**: `get_habit`\n- **Action id**: `dida365.get_habit`\n- **Required scopes**: dida365.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"dida365\" --action \"get_habit\"\n```\n\n## Run\n\n```bash\noo connector run \"dida365\" --action \"get_habit\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/get_project_by_id.md\n\n# Dida365 · `get_project_by_id`\n\nGet a Dida365 project by its project ID.\n\n- **Service**: `dida365`\n- **Action**: `get_project_by_id`\n- **Action id**: `dida365.get_project_by_id`\n- **Required scopes**: dida365.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"dida365\" --action \"get_project_by_id\"\n```\n\n## Run\n\n```bash\noo connector run \"dida365\" --action \"get_project_by_id\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/get_project_with_data.md\n\n# Dida365 · `get_project_with_data`\n\nGet a Dida365 project together with its undone tasks and columns by project ID.\n\n- **Service**: `dida365`\n- **Action**: `get_project_with_data`\n- **Action id**: `dida365.get_project_with_data`\n- **Required scopes**: dida365.read\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"dida365\" --action \"get_project_with_data\"\n```\n\n## Run\n\n```bash\noo connector run \"dida365\" --action \"get_project_with_data\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.","readmeExcerpt":"Skill: Dida365 Owner: oomol Summary: Dida365 (dida365.com). Use this skill for ANY Dida365 request — reading, creating, updating, and deleting data. Whenever a task involves Dida365, use this skill instead of calling the API directly. Tags: latest:1.0.7 Version history: v1.0.7 | 2026-09-23T10:55:10.177Z | user - Adds OOMOL-connected access to Dida365 via the oo CLI, using server-side credential handling. - Supports p","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"oo connector schema \"dida365\" --action \"<action_name>\""},{"language":"bash","snippet":"oo connector run \"dida365\" --action \"<action_name>\" --data '<json>' --json"},{"language":"bash","snippet":"curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux"},{"language":"bash","snippet":"curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux"},{"language":"powershell","snippet":"irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell"},{"language":"bash","snippet":"oo auth login"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: oo-dida365\ndescription: \"Dida365 (dida365.com). Use this skill for ANY Dida365 request — reading, creating, updating, and deleting data. Whenever a task involves Dida365, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Dida365\"\n  author: \"OOMOL\"\n  version: \"1.0.7\"\n  services: [\"dida365\"]\n  icon: \"https://static.oomol.com/logo/third-party/dida365.svg\"\n---\n\n# Dida365\n\nOperate **Dida365** through your OOMOL-connected account. This skill calls the `dida365` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Dida365. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"dida365\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"dida365\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `complete_task` — Mark a Dida365 task as completed by project ID and task ID. [write]\n- `create_or_update_habit_checkin` — Create or update a Dida365 habit check-in for a date stamp. [write]\n- `create_project` — Create a Dida365 project with optional color, sort order, view mode, and kind. [write]\n- `create_task` — Create a Dida365 task under a project with optional schedule, reminders, recurrence, and checklist items. [write]\n- `delete_project` — Delete a Dida365 project by project ID. The connector treats a missing project as already deleted. [destructive]\n- `delete_task` — Delete a Dida365 task by project ID and task ID. The connector treats a missing task as already deleted. [destructive]\n- `filter_tasks` — Filter Dida365 tasks by project, date range, priority, tags, and status by using the official filter endpoint.\n- `get_habit` — Get a Dida365 habit by its habit ID.\n- `get_project_by_id` — Get a Dida365 project by its project ID.\n- `get_project_with_data` — Get a Dida365 project together with its undone tasks and columns by project ID.\n- `get_task_by_project_and_id` — Get a Dida365 task by project ID and task ID.\n- `get_user_project` — List the projects available to the connected Di"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7eqm6jebj7yq6njhz1fg63nn87z9h6\",\n  \"slug\": \"oo-dida365\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1790160910177\n}"},{"path":"skill-card.md","content":"## Description:\n\nDida365 lets an agent read, create, update, complete, move, and delete Dida365 projects, tasks, and habit data through an OOMOL-connected account.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to let an agent manage Dida365 task, project, and habit workflows from a connected OOMOL account. It supports both read-only lookups and state-changing actions that require confirmation before execution.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The first-time setup instructions can run a remote install script on the user's machine.\n\nMitigation: Review the setup steps before installing, prefer a verified documented source with version and integrity checks, and only run setup after an actual missing-CLI or authentication failure.\n\nRisk: Write and destructive actions can change, move, or delete Dida365 projects, tasks, and habit check-ins.\n\nMitigation: Confirm the exact target item, payload, and expected effect with the user before running actions marked write or destructive.\n\n## Reference(s):\n\n- [Dida365 homepage](https://dida365.com)\n- [oo CLI](https://github.com/oomol-lab/oo-cli)\n- [oo CLI install guide](https://cli.oomol.com/install-guide.md)\n- [ClawHub skill page](https://clawhub.ai/oomol/skills/oo-dida365)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, Configuration, Guidance, JSON]\n\n**Output Format:** [Markdown guidance with bash commands and JSON payloads or responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Commands use the oo CLI and may read or change Dida365 account data depending on the selected action.]\n\n## Skill Version(s):\n\n1.0.7 (source: frontmatter and server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1539,"uniquenessScore":38,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T17:54:00.683Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T17:54:00.683Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T20:57:05.345Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}