{"id":51444977,"url":"https://github.com/dazz/harvest-skill","last_synced_at":"2026-07-05T15:01:31.668Z","repository":{"id":367065343,"uuid":"1230678371","full_name":"dazz/harvest-skill","owner":"dazz","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-06T08:12:59.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-24T12:31:28.283Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dazz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-06T08:08:36.000Z","updated_at":"2026-05-06T08:13:04.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dazz/harvest-skill","commit_stats":null,"previous_names":["dazz/harvest-skill"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/dazz/harvest-skill","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dazz%2Fharvest-skill","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dazz%2Fharvest-skill/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dazz%2Fharvest-skill/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dazz%2Fharvest-skill/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dazz","download_url":"https://codeload.github.com/dazz/harvest-skill/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dazz%2Fharvest-skill/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35158308,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-05T02:00:06.290Z","response_time":100,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-07-05T15:01:30.977Z","updated_at":"2026-07-05T15:01:31.640Z","avatar_url":"https://github.com/dazz.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# harvest — Claude Code Skill\n\nA Claude Code skill for logging time in [Harvest](https://www.getharvest.com/)\nfrom the command line. No AI logic in the script — the agent handles\nintelligence, the script handles HTTP.\n\n## What it does\n\n- List your projects and tasks\n- Log time entries with optional notes\n- Update existing entries\n- Delete entries\n- List entries for a given day\n\nDesigned to be driven by a Claude Code agent: describe your day, hand the\nagent a screenshot of your weekly hours, or tell it what you worked on — it\nformats and books everything in Harvest.\n\n## Requirements\n\n- `curl`\n- `jq`\n- A Harvest account with a [Personal Access Token](https://id.getharvest.com/developers)\n\n## Installation\n\n```bash\n# Clone into your Claude Code skills directory\ngit clone https://github.com/your-org/harvest-skill skills/harvest\nchmod +x skills/harvest/harvest\n```\n\nThen run setup once (interactive, requires human input):\n\n```bash\nskills/harvest/harvest setup\n```\n\nSetup validates your token against the API, fetches your user ID, and saves\neverything to `skills/harvest/config` (gitignored).\n\n## CLI usage\n\nThe skill is intended to be called by a Claude Code agent. See `SKILL.md` for\nagent instructions. You can also call it directly:\n\n```bash\n# List your projects and task IDs\n./harvest projects list\n\n# Log time\n./harvest log \\\n  --project-id 456789 \\\n  --task-id 987654 \\\n  --date 2026-04-14 \\\n  --hours 7.5 \\\n  --notes \"Meetings: Daily, Sprint Review\nDevelopment: PROJ-124, PROJ-543\"\n\n# List entries for a day\n./harvest list --date 2026-04-14\n\n# Update an entry\n./harvest update --id 636718192 --notes \"Meetings: Daily\"\n\n# Delete an entry\n./harvest delete --id 636718192\n```\n\nAll commands (except `setup`) output JSON and use exit code `0` for success,\n`1` for errors.\n\n## Config\n\nCreated by `harvest setup`, stored next to the `harvest` binary:\n\n```ini\nHARVEST_TOKEN=your_personal_access_token\nHARVEST_USER_ID=4008116\n```\n\nTo update credentials, re-run `harvest setup`. The `config` file is gitignored\n— never commit it.\n\n## Agent workflow examples\n\n**Single day:**\n\n\u003e \"Log 7.5h for today on the client project. I was in the daily and sprint\n\u003e review, and worked on PROJ-124 and PROJ-543.\"\n\nThe agent will check for existing entries, look up project and task IDs if\nneeded, format the notes, and book the entry.\n\n**Full week from a screenshot:**\n\n\u003e \"Here's a screenshot of my weekly hours. Log them all to the client project.\"\n\nThe agent reads hours per day from the screenshot, checks what is already\nbooked, and calls `log` once per day — skipping days with zero hours or\nentries already present.\n\n## API reference\n\n[Harvest API v2 — Time Entries](https://help.getharvest.com/api-v2/timesheets-api/timesheets/time-entries/)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdazz%2Fharvest-skill","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdazz%2Fharvest-skill","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdazz%2Fharvest-skill/lists"}