# Send otta-cli to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "otta-cli",
    "name": "otta-cli",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/mekedron/otta-cli",
    "canonicalUrl": "https://clawhub.ai/mekedron/otta-cli",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/otta-cli",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=otta-cli",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "agents/openai.yaml",
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/otta-cli"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/otta-cli",
    "downloadUrl": "https://openagent3.xyz/downloads/otta-cli",
    "agentUrl": "https://openagent3.xyz/skills/otta-cli/agent",
    "manifestUrl": "https://openagent3.xyz/skills/otta-cli/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/otta-cli/agent.md"
  }
}
```
## Documentation

### Otta CLI

Use this skill to execute Otta time-tracking tasks end-to-end with repeatable CLI commands.

Main repository: https://github.com/mekedron/otta-cli

### Quick Start

Use the otta binary directly.


Verify command surface and storage paths.

otta --help
otta config path
otta config cache-path

Authenticate and hydrate cache.

otta auth login --username "$OTTA_CLI_USERNAME" --password "$OTTA_CLI_PASSWORD" --format json
otta status --format json

status updates cached user metadata (for user and worktimegroup fallbacks used by worktimes/holidays/calendar commands).
For non-interactive automation, prefer --password-stdin or secret env handling to reduce shell history exposure.

### Command Recipes

Use explicit dates/times in YYYY-MM-DD and HH:MM formats.

List worktimes:

otta worktimes list --date 2026-02-20 --format json

Add worktime:

otta worktimes add \\
  --date 2026-02-20 \\
  --start 09:00 \\
  --end 17:00 \\
  --pause 30 \\
  --project <project-id> \\
  --worktype <worktype-id> \\
  --description "Example task description" \\
  --format json

--user is optional if OTTA_CLI_USER_ID or cached user ID exists.

Update worktime:

otta worktimes update --id <worktime-id> --start 10:00 --end 18:00 --format json

Send at least one changed field with --id.

Delete worktime:

otta worktimes delete --id <worktime-id> --format json

Fetch holidays/workday calendar:

otta holidays \\
  --from 2026-02-20 \\
  --to 2026-02-29 \\
  --worktimegroup <worktimegroup-id> \\
  --format json

--worktimegroup is optional if OTTA_CLI_WORKTIMEGROUP_ID or cached value exists.

Browse absences:

otta absence browse \\
  --from 2026-02-01 \\
  --to 2026-02-28 \\
  --format json

Fetch current cumulative saldo:

otta saldo --format json

Generate combined calendar overview:

otta calendar overview \\
  --from 2026-02-01 \\
  --to 2026-02-28 \\
  --format json

Generate detailed calendar day-by-day report:

otta calendar detailed \\
  --from 2026-02-01 \\
  --to 2026-02-28 \\
  --format json

Use alternate duration units when totals are minute-based:

otta calendar detailed --from 2026-02-01 --to 2026-02-28 --format json --duration-format hours
otta worktimes browse --from 2026-02-01 --to 2026-02-28 --format json --duration-format days

--duration-format values: minutes (default), hours, days, hhmm
day conversion is fixed at 1 day = 24h = 1440 minutes

Generate absence comment text:

otta absence comment \\
  --type sick \\
  --from 2026-02-20 \\
  --to 2026-02-20 \\
  --details "Flu symptoms" \\
  --format json

### Environment Variables

Use these variables when running in CI/non-interactive environments:

OTTA_CLI_CONFIG_PATH
OTTA_CLI_CACHE_PATH
OTTA_CLI_API_BASE_URL
OTTA_CLI_CLIENT_ID
OTTA_CLI_USERNAME
OTTA_CLI_PASSWORD
OTTA_CLI_ACCESS_TOKEN
OTTA_CLI_TOKEN_TYPE
OTTA_CLI_REFRESH_TOKEN
OTTA_CLI_TOKEN_SCOPE
OTTA_CLI_USER_ID
OTTA_CLI_WORKTIMEGROUP_ID

### Agent Operating Rules

Prefer --format json for all data-producing commands and parse response fields instead of scraping text output.
worktimes list/browse/report are worktime-only and never include absences; do not infer absences from empty worktime rows.
For user schedule checks/log interpretation, prefer calendar detailed --format json first; use calendar overview as lighter fallback.
Use --duration-format when users request non-minute output; keep raw minute values for auditability.
Run status --format json before operations that rely on cached user/worktimegroup metadata.
Validate dates/times before command execution (YYYY-MM-DD, HH:MM).
Run worktimes list before update or delete when IDs are not explicitly known.
Return exact command, exit code, and concise stderr message when failures happen.
Never print raw credentials or tokens in summaries.

### Failure Recovery

no access token configured (run \\otta auth login\`)\`

Run auth login, then rerun status.


username is required (use --username)

Pass --username or set OTTA_CLI_USERNAME.


--worktimegroup is required (...)

Pass --worktimegroup, set OTTA_CLI_WORKTIMEGROUP_ID, or run status to refresh cache.


--date must be YYYY-MM-DD, --start must be HH:MM, --to must be greater than or equal to --from

Correct input format/order, rerun command.


directory ... is contained in a module that is not one of the workspace modules listed in go.work

Build/run with GOWORK=off in this repository context.
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: mekedron
- Version: 0.1.1
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-05-07T17:22:31.273Z
- Expires at: 2026-05-14T17:22:31.273Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/otta-cli)
- [Send to Agent page](https://openagent3.xyz/skills/otta-cli/agent)
- [JSON manifest](https://openagent3.xyz/skills/otta-cli/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/otta-cli/agent.md)
- [Download page](https://openagent3.xyz/downloads/otta-cli)