Skip to main content
time-tracking-1-toggl-track-time-entries Sub-skill of time-tracking: 1. Toggl Track - Time Entries.
Ir para a instalação Skills Marketplace Descubra e explore skills de IA criadas pela comunidade.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Copiar promptMostrar detalhes do prompt Um comando direto ignora o prompt de revisão. Verifique a origem antes de executá-lo.
npx skills add https://github.com/vamseeachanta/workspace-hub --skill time-tracking-1-toggl-track-time-entriesO comando permanece em uma só linha. Role horizontalmente para revisá-lo antes de copiar.
Prefere uma cópia local? Baixe os arquivos disponíveis atualmente no SkillsMP.
Baixar Zip Baixando... Ocupações relacionadas SOC
Baseado na classificação ocupacional SOC
Mais deste repositório Write outbound email and external messages in Vamsee Achanta's voice — a subtle offer to help, never bold or rash claims. Load before drafting ANY email, LinkedIn/Collide reply, proposal note, or outreach sent under his name.
Save/publish analysis or computation results from ANY ecosystem repo to Hugging Face as a queryable, viewer-renderable dataset. Use when the user wants to "save results to hugging face", "publish dataset to HF", "hugging face data saving", "save analysis results", "hf dataset", "make results queryable", or "render via datasets-server API". Reshapes nested results into flat parquet tables, writes a dataset card with a viewer `configs:` block and provenance, applies license/public-vs-private routing, enforces a domain data-quality gate (faithful-to-source != correct), publishes to `aceengineer/<repo>-<projection>`, and verifies via the datasets-server API.
Clone, create, fork, configure, and manage GitHub repositories. Manage remotes, secrets, releases, and workflows. Works with gh CLI or falls back to git + GitHub REST API via curl.
name time-tracking-1-toggl-track-time-entries description Sub-skill of time-tracking: 1. Toggl Track - Time Entries. version 1.0.0 category business type reference scripts_exempt true
1. Toggl Track - Time Entries
1. Toggl Track - Time Entries
REST API - Time Entries:
curl -s -u "$TOGGL_API_TOKEN :api_token" \
"https://api.track.toggl.com/api/v9/me/time_entries/current" | jq
curl -s -u "$TOGGL_API_TOKEN :api_token" \
"https://api.track.toggl.com/api/v9/me/time_entries" | jq
START_DATE=$( -d +%Y-%m-%dT00:00:00Z)
END_DATE=$( +%Y-%m-%dT23:59:59Z)
curl -s -u \
| jq
curl -s -X POST -u \
-H \
\
-d $( -u +%Y-%m-%dT%H:%M:%S.000Z) | jq
curl -s -X PATCH -u \
-H \
| jq
curl -s -X POST -u \
-H \
\
-d | jq
curl -s -X PUT -u \
-H \
\
-d | jq
curl -s -X DELETE -u \
date
"7 days ago"
date
"$TOGGL_API_TOKEN :api_token"
"https://api.track.toggl.com/api/v9/me/time_entries?start_date=$START_DATE &end_date=$END_DATE "
"$TOGGL_API_TOKEN :api_token"
"Content-Type: application/json"
"https://api.track.toggl.com/api/v9/workspaces/WORKSPACE_ID/time_entries"
'{
"created_with": "api",
"description": "Working on project documentation",
"tags": ["documentation", "writing"],
"billable": false,
"workspace_id": WORKSPACE_ID,
"project_id": PROJECT_ID,
"start": "'
date
'",
"duration": -1
}'
"$TOGGL_API_TOKEN :api_token"
"Content-Type: application/json"
"https://api.track.toggl.com/api/v9/workspaces/WORKSPACE_ID/time_entries/TIME_ENTRY_ID/stop"
"$TOGGL_API_TOKEN :api_token"
"Content-Type: application/json"
"https://api.track.toggl.com/api/v9/workspaces/WORKSPACE_ID/time_entries"
'{
"created_with": "api",
"description": "Code review session",
"workspace_id": WORKSPACE_ID,
"project_id": PROJECT_ID,
"start": "2025-01-15T09:00:00.000Z",
"duration": 3600,
"tags": ["review", "development"]
}'
"$TOGGL_API_TOKEN :api_token"
"Content-Type: application/json"
"https://api.track.toggl.com/api/v9/workspaces/WORKSPACE_ID/time_entries/TIME_ENTRY_ID"
'{
"description": "Updated description",
"tags": ["updated-tag"]
}'
"$TOGGL_API_TOKEN :api_token"
"https://api.track.toggl.com/api/v9/workspaces/WORKSPACE_ID/time_entries/TIME_ENTRY_ID"
Python - Toggl Time Entries:
import requests
from datetime import datetime, timedelta
from base64 import b64encode
import os
class TogglClient :
"""Toggl Track API client."""
BASE_URL = "https://api.track.toggl.com/api/v9"
def __init__ (self, api_token=None ):
self .api_token = api_token or os.environ.get("TOGGL_API_TOKEN" )
self .auth = (self .api_token, "api_token" )
def _request (self, method, endpoint, data=None ):
"""Make API request."""
url = f"{self.BASE_URL} {endpoint} "
response = requests.request(
method,
url,
auth=self .auth,
json=data,
headers={"Content-Type" : "application/json" }
)
response.raise_for_status()
return response.json() if response.text else None
def get_me (self ):
"""Get current user info."""
return self ._request("GET" , "/me" )
def get_workspaces (self ):
"""Get user's workspaces."""
return self ._request("GET" , "/workspaces" )
def get_current_entry (self ):
"""Get currently running time entry."""
return self ._request("GET" , "/me/time_entries/current" )
def get_time_entries (self, start_date=None , end_date=None ):
"""Get time entries within date range."""
params = []
if start_date:
params.append(f"start_date={start_date.isoformat()} Z" )
if end_date:
params.append(f"end_date={end_date.isoformat()} Z" )
query = f"?{'&' .join(params)} " if params else ""
return self ._request("GET" , f"/me/time_entries{query} " )
def start_timer (self, workspace_id, description, project_id=None , tags=None , billable=False ):
"""Start a new timer."""
data = {
"created_with" : "python_api" ,
"description" : description,
"workspace_id" : workspace_id,
"billable" : billable,
"start" : datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S.000Z" ),
"duration" : -1
}
if project_id:
data["project_id" ] = project_id
if tags:
data["tags" ] = tags
return self ._request(
"POST" ,
f"/workspaces/{workspace_id} /time_entries" ,
data
)
def stop_timer (self, workspace_id, entry_id ):
"""Stop a running timer."""
return self ._request(
"PATCH" ,
f"/workspaces/{workspace_id} /time_entries/{entry_id} /stop"
)
def create_time_entry (
self,
workspace_id,
description,
start_time,
duration_seconds,
project_id=None ,
tags=None ,
billable=False
):
"""Create a completed time entry."""
data = {
"created_with" : "python_api" ,
"description" : description,
"workspace_id" : workspace_id,
"start" : start_time.strftime("%Y-%m-%dT%H:%M:%S.000Z" ),
"duration" : duration_seconds,
"billable" : billable
}
if project_id:
data["project_id" ] = project_id
if tags:
data["tags" ] = tags
return self ._request(
"POST" ,
f"/workspaces/{workspace_id} /time_entries" ,
data
)
def update_time_entry (self, workspace_id, entry_id, **kwargs ):
"""Update an existing time entry."""
return self ._request(
"PUT" ,
f"/workspaces/{workspace_id} /time_entries/{entry_id} " ,
kwargs
)
*Content truncated — see parent skill for full reference.*