{
  "schemaVersion": "1.0",
  "item": {
    "slug": "timesheet",
    "name": "Timesheet - Time Tracking",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/FlorianRauscha/timesheet",
    "canonicalUrl": "https://clawhub.ai/FlorianRauscha/timesheet",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/timesheet",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=timesheet",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "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."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "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."
        },
        {
          "label": "Upgrade existing",
          "body": "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."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "timesheet",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-10T00:03:48.735Z",
      "expiresAt": "2026-05-17T00:03:48.735Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=timesheet",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=timesheet",
        "contentDisposition": "attachment; filename=\"timesheet-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "timesheet"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/timesheet"
    },
    "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."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/timesheet",
    "agentPageUrl": "https://openagent3.xyz/skills/timesheet/agent",
    "manifestUrl": "https://openagent3.xyz/skills/timesheet/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/timesheet/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "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."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "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."
      },
      {
        "label": "Upgrade existing",
        "body": "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."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Timesheet CLI Skill",
        "body": "Control timesheet.io time tracking from the command line. Use --json flag for all commands to get structured output."
      },
      {
        "title": "Authentication",
        "body": "Check auth status before using other commands:\n\ntimesheet auth status --json\n\nIf not authenticated, guide the user to run:\n\ntimesheet auth login\n\nOr for automation, set an API key:\n\nexport TIMESHEET_API_KEY=ts_your.apikey"
      },
      {
        "title": "Start a Timer",
        "body": "# List projects first to get project ID\ntimesheet projects list --json\n\n# Start timer for a project\ntimesheet timer start <project-id>"
      },
      {
        "title": "Check Timer Status",
        "body": "timesheet timer status --json\n\nReturns: status (running/paused/stopped), project name, duration, start time."
      },
      {
        "title": "Control Timer",
        "body": "timesheet timer pause\ntimesheet timer resume\ntimesheet timer stop  # Creates a task from the timer"
      },
      {
        "title": "Update Running Timer",
        "body": "timesheet timer update --description \"Working on feature X\"\ntimesheet timer update --billable"
      },
      {
        "title": "List Projects",
        "body": "timesheet projects list --json"
      },
      {
        "title": "Create Project",
        "body": "timesheet projects create \"Project Name\" --json\ntimesheet projects create \"Client Project\" --billable --json"
      },
      {
        "title": "Show/Update/Delete",
        "body": "timesheet projects show <id> --json\ntimesheet projects update <id> --title \"New Name\"\ntimesheet projects delete <id>"
      },
      {
        "title": "List Tasks",
        "body": "timesheet tasks list --json           # Recent tasks\ntimesheet tasks list --today --json   # Today's tasks\ntimesheet tasks list --this-week --json"
      },
      {
        "title": "Create Task Manually",
        "body": "timesheet tasks create -p <project-id> -s \"2024-01-15 09:00\" -e \"2024-01-15 17:00\" --json\ntimesheet tasks create -p <project-id> -s \"09:00\" -e \"17:00\" -d \"Task description\" --json"
      },
      {
        "title": "Update Task",
        "body": "timesheet tasks update <id> --description \"Updated description\"\ntimesheet tasks update <id> --billable\ntimesheet tasks update <id> --start \"10:00\" --end \"12:00\""
      },
      {
        "title": "Delete Task",
        "body": "timesheet tasks delete <id>"
      },
      {
        "title": "Teams",
        "body": "timesheet teams list --json"
      },
      {
        "title": "Tags",
        "body": "timesheet tags list --json\ntimesheet tags create \"Urgent\" --color 1\ntimesheet tags delete <id>"
      },
      {
        "title": "Time Summary",
        "body": "timesheet reports summary --today --json\ntimesheet reports summary --this-week --json\ntimesheet reports summary --this-month --json\ntimesheet reports summary --from 2024-01-01 --to 2024-01-31 --json"
      },
      {
        "title": "Export Data",
        "body": "timesheet reports export -f xlsx -s 2024-01-01 -e 2024-01-31\ntimesheet reports export -f csv --this-month"
      },
      {
        "title": "Profile & Config",
        "body": "timesheet profile show --json\ntimesheet profile settings --json\n\ntimesheet config show\ntimesheet config set defaultProjectId <id>"
      },
      {
        "title": "Log Time for Current Work",
        "body": "Check if timer is running: timesheet timer status --json\nIf not, start timer: timesheet timer start <project-id>\nWhen done, stop timer: timesheet timer stop"
      },
      {
        "title": "Quick Time Entry",
        "body": "# Create a completed task directly\ntimesheet tasks create -p <project-id> -s \"09:00\" -e \"12:00\" -d \"Morning standup and dev work\" --json"
      },
      {
        "title": "Find Project by Name",
        "body": "timesheet projects list --json | jq '.[] | select(.title | contains(\"ProjectName\"))'"
      },
      {
        "title": "Error Handling",
        "body": "Exit codes:\n\n0: Success\n1: General error\n2: Usage error (invalid arguments)\n3: Authentication error - run timesheet auth login\n4: API error\n5: Rate limit exceeded - wait and retry\n6: Network error"
      },
      {
        "title": "Tips",
        "body": "Always use --json for parsing output programmatically\nUse --quiet or -q to suppress non-essential output\nSet defaultProjectId in config to skip project selection for timer\nPipe-friendly output is automatic when not in a terminal"
      }
    ],
    "body": "Timesheet CLI Skill\n\nControl timesheet.io time tracking from the command line. Use --json flag for all commands to get structured output.\n\nAuthentication\n\nCheck auth status before using other commands:\n\ntimesheet auth status --json\n\n\nIf not authenticated, guide the user to run:\n\ntimesheet auth login\n\n\nOr for automation, set an API key:\n\nexport TIMESHEET_API_KEY=ts_your.apikey\n\nTimer Operations\nStart a Timer\n# List projects first to get project ID\ntimesheet projects list --json\n\n# Start timer for a project\ntimesheet timer start <project-id>\n\nCheck Timer Status\ntimesheet timer status --json\n\n\nReturns: status (running/paused/stopped), project name, duration, start time.\n\nControl Timer\ntimesheet timer pause\ntimesheet timer resume\ntimesheet timer stop  # Creates a task from the timer\n\nUpdate Running Timer\ntimesheet timer update --description \"Working on feature X\"\ntimesheet timer update --billable\n\nProject Management\nList Projects\ntimesheet projects list --json\n\nCreate Project\ntimesheet projects create \"Project Name\" --json\ntimesheet projects create \"Client Project\" --billable --json\n\nShow/Update/Delete\ntimesheet projects show <id> --json\ntimesheet projects update <id> --title \"New Name\"\ntimesheet projects delete <id>\n\nTask Management\nList Tasks\ntimesheet tasks list --json           # Recent tasks\ntimesheet tasks list --today --json   # Today's tasks\ntimesheet tasks list --this-week --json\n\nCreate Task Manually\ntimesheet tasks create -p <project-id> -s \"2024-01-15 09:00\" -e \"2024-01-15 17:00\" --json\ntimesheet tasks create -p <project-id> -s \"09:00\" -e \"17:00\" -d \"Task description\" --json\n\nUpdate Task\ntimesheet tasks update <id> --description \"Updated description\"\ntimesheet tasks update <id> --billable\ntimesheet tasks update <id> --start \"10:00\" --end \"12:00\"\n\nDelete Task\ntimesheet tasks delete <id>\n\nTeams & Tags\nTeams\ntimesheet teams list --json\n\nTags\ntimesheet tags list --json\ntimesheet tags create \"Urgent\" --color 1\ntimesheet tags delete <id>\n\nReports\nTime Summary\ntimesheet reports summary --today --json\ntimesheet reports summary --this-week --json\ntimesheet reports summary --this-month --json\ntimesheet reports summary --from 2024-01-01 --to 2024-01-31 --json\n\nExport Data\ntimesheet reports export -f xlsx -s 2024-01-01 -e 2024-01-31\ntimesheet reports export -f csv --this-month\n\nProfile & Config\ntimesheet profile show --json\ntimesheet profile settings --json\n\ntimesheet config show\ntimesheet config set defaultProjectId <id>\n\nCommon Workflows\nLog Time for Current Work\nCheck if timer is running: timesheet timer status --json\nIf not, start timer: timesheet timer start <project-id>\nWhen done, stop timer: timesheet timer stop\nQuick Time Entry\n# Create a completed task directly\ntimesheet tasks create -p <project-id> -s \"09:00\" -e \"12:00\" -d \"Morning standup and dev work\" --json\n\nFind Project by Name\ntimesheet projects list --json | jq '.[] | select(.title | contains(\"ProjectName\"))'\n\nError Handling\n\nExit codes:\n\n0: Success\n1: General error\n2: Usage error (invalid arguments)\n3: Authentication error - run timesheet auth login\n4: API error\n5: Rate limit exceeded - wait and retry\n6: Network error\nTips\nAlways use --json for parsing output programmatically\nUse --quiet or -q to suppress non-essential output\nSet defaultProjectId in config to skip project selection for timer\nPipe-friendly output is automatic when not in a terminal"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/FlorianRauscha/timesheet",
    "publisherUrl": "https://clawhub.ai/FlorianRauscha/timesheet",
    "owner": "FlorianRauscha",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/timesheet",
    "downloadUrl": "https://openagent3.xyz/downloads/timesheet",
    "agentUrl": "https://openagent3.xyz/skills/timesheet/agent",
    "manifestUrl": "https://openagent3.xyz/skills/timesheet/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/timesheet/agent.md"
  }
}