Productivity & TasksDocumentedScanned

timesheet

Track time, manage projects and tasks using timesheet.io.

Share:

Installation

npx clawhub@latest install timesheet

View the full skill documentation and source below.

Documentation

Timesheet CLI Skill

Control timesheet.io time tracking from the command line. Use --json flag for all commands to get structured output.

Authentication

Check auth status before using other commands:

timesheet auth status --json

If not authenticated, guide the user to run:

timesheet auth login

Or for automation, set an API key:

export TIMESHEET_API_KEY=ts_your.apikey

Timer Operations

Start a Timer

# List projects first to get project ID
timesheet projects list --json

# Start timer for a project
timesheet timer start <project-id>

Check Timer Status

timesheet timer status --json

Returns: status (running/paused/stopped), project name, duration, start time.

Control Timer

timesheet timer pause
timesheet timer resume
timesheet timer stop  # Creates a task from the timer

Update Running Timer

timesheet timer update --description "Working on feature X"
timesheet timer update --billable

Project Management

List Projects

timesheet projects list --json

Create Project

timesheet projects create "Project Name" --json
timesheet projects create "Client Project" --billable --json

Show/Update/Delete

timesheet projects show <id> --json
timesheet projects update <id> --title "New Name"
timesheet projects delete <id>

Task Management

List Tasks

timesheet tasks list --json           # Recent tasks
timesheet tasks list --today --json   # Today's tasks
timesheet tasks list --this-week --json

Create Task Manually

timesheet tasks create -p <project-id> -s "2024-01-15 09:00" -e "2024-01-15 17:00" --json
timesheet tasks create -p <project-id> -s "09:00" -e "17:00" -d "Task description" --json

Update Task

timesheet tasks update <id> --description "Updated description"
timesheet tasks update <id> --billable
timesheet tasks update <id> --start "10:00" --end "12:00"

Delete Task

timesheet tasks delete <id>

Teams & Tags

Teams

timesheet teams list --json

Tags

timesheet tags list --json
timesheet tags create "Urgent" --color 1
timesheet tags delete <id>

Reports

Time Summary

timesheet reports summary --today --json
timesheet reports summary --this-week --json
timesheet reports summary --this-month --json
timesheet reports summary --from 2024-01-01 --to 2024-01-31 --json

Export Data

timesheet reports export -f xlsx -s 2024-01-01 -e 2024-01-31
timesheet reports export -f csv --this-month

Profile & Config

timesheet profile show --json
timesheet profile settings --json

timesheet config show
timesheet config set defaultProjectId <id>

Common Workflows

Log Time for Current Work

  • Check if timer is running: timesheet timer status --json
  • If not, start timer: timesheet timer start
  • When done, stop timer: timesheet timer stop
  • Quick Time Entry

    # Create a completed task directly
    timesheet tasks create -p <project-id> -s "09:00" -e "12:00" -d "Morning standup and dev work" --json

    Find Project by Name

    timesheet projects list --json | jq '.[] | select(.title | contains("ProjectName"))'

    Error Handling

    Exit codes:

    • 0: Success

    • 1: General error

    • 2: Usage error (invalid arguments)

    • 3: Authentication error - run timesheet auth login

    • 4: API error

    • 5: Rate limit exceeded - wait and retry

    • 6: Network error


    Tips

    • Always use --json for parsing output programmatically
    • Use --quiet or -q to suppress non-essential output
    • Set defaultProjectId in config to skip project selection for timer
    • Pipe-friendly output is automatic when not in a terminal