timedoctor
Integrates with TimeDoctor API to pull employee time tracking data, worklogs, statistics, and productivity metrics using simple Python scripts
What this skill does
# TimeDoctor Skill Interact with TimeDoctor API for employee time tracking, activity logs, productivity statistics, and workforce analytics using simple Python CLI commands. ## What This Skill Does Provides direct access to TimeDoctor's time tracking API through a Python CLI tool. Execute commands, get JSON data, present formatted results to users. ## Setup Instructions ### For Users: Getting TimeDoctor Credentials **Option 1: Easy Setup (Recommended)** Just provide your TimeDoctor email and password: ```bash python3 timedoctor.py login --email "[email protected]" --password "your-password" ``` This returns a JWT token valid for 6 months. Copy the token and set it: ```bash export TIMEDOCTOR_TOKEN="your-jwt-token-from-login-response" ``` **Option 2: Manual Token Setup** If you already have a token or prefer manual setup: ```bash # Required export TIMEDOCTOR_TOKEN="your-jwt-token" # Optional (can be discovered via get_authorization) export TIMEDOCTOR_COMPANY_ID="your-company-id" ``` **For Multiple Accounts**: Users can switch accounts by changing the token: ```bash # Account 1 export TIMEDOCTOR_TOKEN="token-for-account-1" export TIMEDOCTOR_COMPANY_ID="company-id-1" # Account 2 export TIMEDOCTOR_TOKEN="token-for-account-2" export TIMEDOCTOR_COMPANY_ID="company-id-2" ``` **Quick Setup Workflow**: ```bash # 1. Login to get token python3 timedoctor.py login --email "[email protected]" --password "password" # 2. Copy token from response and set it export TIMEDOCTOR_TOKEN="1jxExVs9WGsWccrq2ysMKMZVZlTVyTZc15tlgcWF_Qns" # 3. Discover available companies python3 timedoctor.py get_authorization # 4. Set company ID (optional) export TIMEDOCTOR_COMPANY_ID="aFtR8crWxHTeLzIm" # 5. Start using commands python3 timedoctor.py get_today_worklog --company-id $TIMEDOCTOR_COMPANY_ID ``` ## How to Use This Skill ### Core Command Pattern All commands follow this pattern: ```bash python3 timedoctor.py COMMAND [--company-id ID] [OPTIONS] ``` The script is located in the skill directory and returns JSON output. ### Key Commands **Login** (Get JWT Token): ```bash python3 timedoctor.py login --email "[email protected]" --password "password" ``` Returns: JWT token valid for 6 months **Discover Available Companies**: ```bash python3 timedoctor.py get_authorization ``` Returns: User info and list of accessible companies with IDs **Today's Activity**: ```bash python3 timedoctor.py get_today_worklog --company-id COMPANY_ID ``` **This Week's Stats**: ```bash python3 timedoctor.py get_this_week_stats --company-id COMPANY_ID ``` **This Month's Stats**: ```bash python3 timedoctor.py get_this_month_stats --company-id COMPANY_ID ``` **Custom Date Range**: ```bash python3 timedoctor.py get_worklog \ --company-id COMPANY_ID \ --from-date "2024-03-01T00:00:00Z" \ --to-date "2024-03-31T00:00:00Z" ``` **List Users**: ```bash python3 timedoctor.py get_users --company-id COMPANY_ID ``` **List Projects**: ```bash python3 timedoctor.py get_projects --company-id COMPANY_ID ``` **Filter by Users**: ```bash python3 timedoctor.py get_today_worklog --company-id COMPANY_ID --user-ids "123,456,789" ``` ## Understanding TimeDoctor Account Structure ### Account Hierarchy ``` TimeDoctor User Account (requires TIMEDOCTOR_TOKEN) └── Company A (ID: 12345) ├── User 1 ├── User 2 └── Projects... └── Company B (ID: 67890) ├── User 3 ├── User 4 └── Projects... └── Company C (ID: 11111) └── Users... ``` ### Key Concepts 1. **One Token = One User Account** - Each TIMEDOCTOR_TOKEN represents one TimeDoctor user login - Example: [email protected] has one token 2. **One Account Can Access Multiple Companies** - A user can be part of multiple companies - Same token works for all companies they have access to - Switch companies using different `--company-id` 3. **Different User Accounts Need Different Tokens** - [email protected] has token A - [email protected] has token B - To switch from John to Jane, change TIMEDOCTOR_TOKEN ### Example Scenarios **Scenario 1: User with Multiple Companies** ``` User: "Show my companies" Agent: Runs get_authorization Response shows: - Acme Corp (12345) - Beta Startup (67890) - Gamma LLC (11111) Agent: "You have access to 3 companies. Which one?" User: "Acme Corp" Agent: Uses --company-id 12345 for all subsequent requests ``` **Scenario 2: Switching Companies** ``` User: "Now show me Beta Startup's data" Agent: Remembers Beta Startup = 67890 from earlier Agent: Uses --company-id 67890 No token change needed! ``` **Scenario 3: Switching User Accounts** ``` User: "I want to use my other TimeDoctor account" Agent: "You need to update your token. Run: export TIMEDOCTOR_TOKEN='your-other-token'" User: Updates token Agent: Runs get_authorization with new token Agent: Shows new list of companies for that account ``` ## Agent Instructions ### When User Asks About TimeDoctor Data Follow this workflow: 1. **Check if User Has Token** - If `TIMEDOCTOR_TOKEN` is not set, help them login: ``` "To get started, I need your TimeDoctor credentials. I'll run: python3 timedoctor.py login --email YOUR_EMAIL --password YOUR_PASSWORD What's your TimeDoctor email and password?" ``` - After getting credentials, run login command - Extract token from response - Tell user to set: `export TIMEDOCTOR_TOKEN="extracted-token"` - Explain token is valid for 6 months 2. **Discover and Present Available Companies** - ALWAYS run `get_authorization` first if company_id is not known - Parse the response to extract all accessible companies - Present to user in a clear format: ``` You have access to these TimeDoctor companies: 1. Company A (ID: 12345) 2. Company B (ID: 67890) 3. Company C (ID: 11111) Which company would you like to use? ``` - Wait for user to select - Remember the selected company_id for subsequent requests in this session 3. **Execute Appropriate Command** - Match user's request to the right command - Use convenience commands when possible (get_today_worklog, get_this_week_stats, etc.) - Always include `--company-id` parameter with the selected company 4. **Handle Multiple Accounts** - One TIMEDOCTOR_TOKEN = One user account - One user account can have access to multiple companies - To switch to a completely different TimeDoctor user account, user must update TIMEDOCTOR_TOKEN - To switch between companies under same account, just use different --company-id 5. **Parse and Format Output** - Check for `{"error": "..."}` first - Convert JSON to readable format (tables, lists, summaries) - Highlight key metrics (total hours, productive time, etc.) - Format durations as "X hours Y minutes" 6. **Error Recovery** - `"TIMEDOCTOR_TOKEN environment variable not set"` → Help user login with email/password - `"company_id required"` → Run get_authorization to discover companies - `"401 Unauthorized"` → Token expired, user needs to login again (6-month validity) ### Date Format Rules ALWAYS use ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ` **Examples**: - Start of day: `2024-03-22T00:00:00Z` - End of day: `2024-03-23T00:00:00Z` - For single day: from `2024-03-22T00:00:00Z` to `2024-03-23T00:00:00Z` **Calculating Dates**: - Today: Use `get_today_worklog` (automatic) - This week: Use `get_this_week_stats` (automatic, Monday to today) - This month: Use `get_this_month_stats` (automatic, 1st to today) - Custom: Calculate dates and use `get_worklog` or `get_stats_total` ### Response Formatting Guidelines **For Worklogs**: - Show as table: User | Start Time | End Time | Duration | Activity - Group by user or by date depending on context - Summarize total hours at bottom **For Statistics**: - Show key metrics: Total Time, Productive Time, Unproductive Time, Idle Time - Calculate percentages (e.g., "75% productive") - Highlight outliers or unus
Related in Backend & APIs
jfrog
IncludedInteract with the JFrog Platform via the JFrog CLI and REST/GraphQL APIs. Use this skill when the user wants to manage Artifactory repositories, upload or download artifacts, manage builds, configure permissions, manage users and groups, work with access tokens, configure JFrog CLI servers, search artifacts, manage properties, set up replication, manage JFrog Projects, run security audits or scans, look up CVE details, query exposures scan results from JFrog Advanced Security, manage release bundles and lifecycle operations, aggregate or export platform data, or perform any JFrog Platform administration task. Also use when the user mentions jf, jfrog, artifactory, xray, distribution, evidence, apptrust, onemodel, graphql, workers, mission control, curation, advanced security, exposures, or any JFrog product name.
cupynumeric-migration-readiness
IncludedPre-migration readiness assessor for porting NumPy to cuPyNumeric. Use BEFORE substantial porting work begins when the user asks whether code will scale on GPU, whether they should migrate to cuPyNumeric, which NumPy patterns transfer cleanly, what must be refactored before porting, or mentions pre-port assessment, scaling analysis, or refactor planning. Inspect the user's source code, look up NumPy usage, cross-reference the cuPyNumeric API support manifest, and distinguish distributed-scaling-friendly patterns from blockers such as unsupported APIs, scalar synchronization, host round-trips, Python/object-heavy control flow, shape/data-dependent branching, and in-place mutation hazards. Produce a verdict of READY, LIGHT REFACTOR, SIGNIFICANT REFACTOR, or NOT RECOMMENDED, with concrete refactor pointers.
alibabacloud-data-agent-skill
IncludedInvoke Alibaba Cloud Apsara Data Agent for Analytics via CLI to perform natural language-driven data analysis on enterprise databases. Data Agent for Analytics is an intelligent data analysis agent developed by Alibaba Cloud Database team for enterprise users. It automatically completes requirement analysis, data understanding, analysis insights, and report generation based on natural language descriptions. This tool supports: discovering data resources (instances/databases/tables) managed in DMS, initiating query or deep analysis sessions, real-time progress tracking, and retrieving analysis conclusions and generated reports. Use this Skill when users need to query databases, analyze data trends, generate data reports, ask questions in natural language, or mention "Data Agent", "data analysis", "database query", "SQL analysis", "data insights".
token-optimizer
IncludedReduce OpenClaw token usage and API costs through smart model routing, heartbeat optimization, budget tracking, and native 2026.2.15 features (session pruning, bootstrap size limits, cache TTL alignment). Use when token costs are high, API rate limits are being hit, or hosting multiple agents at scale. The 4 executable scripts (context_optimizer, model_router, heartbeat_optimizer, token_tracker) are local-only — no network requests, no subprocess calls, no system modifications. Reference files (PROVIDERS.md, config-patches.json) document optional multi-provider strategies that require external API keys and network access if you choose to use them. See SECURITY.md for full breakdown.
resend-cli
IncludedUse this skill when the task is specifically about operating Resend from an AI agent, terminal session, or CI job via the official resend CLI: installing/authenticating the CLI, sending/listing/updating/cancelling emails, batch sends, domains and DNS, webhooks and local listeners, inbound receiving, contacts, topics, segments, broadcasts, templates, API keys, profiles, or debugging Resend CLI/API failures. Trigger on mentions of Resend CLI, `resend`, `resend doctor`, `resend emails send`, `resend domains`, `resend webhooks listen`, `resend emails receiving`, or agent-friendly terminal automation.
alibabacloud-odps-maxframe-coding
IncludedUse this skill for MaxFrame SDK development and documentation navigation on Alibaba Cloud MaxCompute (ODPS). Helps answer MaxFrame API, concept, official example, and supported pandas API questions; create data processing programs; read/write MaxCompute tables; debug jobs (remote or local); and build custom DPE runtime images. Trigger when users mention MaxFrame, MaxCompute with MaxFrame, ODPS table processing, DPE runtime, MaxFrame docs/examples, DataFrame/Tensor operations, or GPU runtime setup. Works for both English and Chinese queries about Alibaba Cloud data processing with MaxFrame.