{"id":51063797,"url":"https://github.com/wtfzambo/spotme","last_synced_at":"2026-06-23T04:32:35.724Z","repository":{"id":356847087,"uuid":"1233906435","full_name":"wtfzambo/spotme","owner":"wtfzambo","description":"Gym mode for agentic coding. OpenCode plugin that scaffolds exercises and reviews your work. Keep your edge.","archived":false,"fork":false,"pushed_at":"2026-05-26T22:52:40.000Z","size":5290,"stargazers_count":147,"open_issues_count":0,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-04T00:23:55.119Z","etag":null,"topics":["ai-agents","opencode","opencode-plugin","pi"],"latest_commit_sha":null,"homepage":"https://github.com/wtfzambo/spotme","language":"TypeScript","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/wtfzambo.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":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-09T13:59:20.000Z","updated_at":"2026-06-03T21:51:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/wtfzambo/spotme","commit_stats":null,"previous_names":["donnaknows/spotter","wtfzambo/spotme"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/wtfzambo/spotme","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtfzambo%2Fspotme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtfzambo%2Fspotme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtfzambo%2Fspotme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtfzambo%2Fspotme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wtfzambo","download_url":"https://codeload.github.com/wtfzambo/spotme/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtfzambo%2Fspotme/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34675970,"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-06-23T02:00:07.161Z","response_time":65,"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":["ai-agents","opencode","opencode-plugin","pi"],"created_at":"2026-06-23T04:32:34.696Z","updated_at":"2026-06-23T04:32:35.717Z","avatar_url":"https://github.com/wtfzambo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- markdownlint-disable MD036 --\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"./imgs/spotme.png\", width=50%\u003e\n\u003c/p\u003e\n\n\u003ch6 align=\"center\"\u003e\u003ci\u003eGym mode for agentic coding\u003c/i\u003e\u003c/h6\u003e\n\n\u003ch1\u003e\u003c/h1\u003e\n\nInstead of writing 100% of the code for you, the agent scaffolds a logical unit, hands it off, watches you implement it, and reviews your work before resuming.\n\n\u003cp align=\"center\"\u003e\n  \u003csub\u003e___ \u003cq\u003e\u003ci\u003eKeep your edge\u003c/i\u003e\u003c/q\u003e ___\u003c/sub\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"./imgs/spotme.gif\", width=80%\u003e\n\u003c/p\u003e\n\n---\n\n**Heavy AI usage makes you stupid.**\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://www.microsoft.com/en-us/research/publication/the-impact-of-generative-ai-on-critical-thinking-self-reported-reductions-in-cognitive-effort-and-confidence-effects-from-a-survey-of-knowledge-workers/\"\u003eScience\u003c/a\u003e. \u003ca href=\"https://arxiv.org/abs/2511.02922v2\"\u003esays\u003c/a\u003e. \u003ca href=\"https://arxiv.org/abs/2506.08872\"\u003eso\u003c/a\u003e.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"./imgs/doge.jpg\", width=40%\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://www.anthropic.com/research/AI-assistance-coding-skills\"\u003eAnthropic too\u003c/a\u003e.\n\u003c/p\u003e\n\nWhen **BIG BAD AI COMPANY™** warns us about the negative effects of its own product, we should probably pay attention.\n\nMuch like sitting on your ass all day makes you weak and sad, keeping your brain in powersave mode all day makes you lazy and dumb.\n\nThe first you fix by going to the gym.\n\n**The second you fix by using SpotMe.**\n\n---\n\n## How it works\n\n1. Enable SpotMe at the start of a session: `/spotme:on [lite|medium|hard] [--every N]`\n2. Every N code-writing actions, the agent scaffolds the next unit instead of completing it\n3. You implement the marked section (`# SPOTME: ...`) directly in your editor\n4. `/spotme:done` → agent checks your work and gives brief, calibrated feedback\n5. Agent resumes the original task\n\n## Commands\n\n| Command | Description |\n|---------|-------------|\n| `/spotme:on [lite\\|medium\\|hard] [--every N]` | Enable gym mode. Default: medium, every 2 |\n| `/spotme:off` | Disable — agent writes code normally |\n| `/spotme:status` | Show current state |\n| `/spotme:rep` | Request an exercise on-demand |\n| `/spotme:done` | Submit your implementation for review |\n| `/spotme:hint` | Get one targeted hint |\n| `/spotme:solve` | Concede — agent completes the exercise |\n| `/spotme:skip` | Skip this exercise, no note |\n\n## Difficulty levels\n\n| Level | Agent writes | You write |\n|-------|-------------|-----------|\n| `lite` | Signature + docstring + structure | Just the body |\n| `medium` | Signature + `# SPOTME:` spec comment | All logic |\n| `hard` | Plain English spec comment only | Everything |\n\n## Install\n\n### OpenCode\n\nAdd to your `opencode.json`:\n```json\n{\n    \"$schema\": \"https://opencode.ai/config.json\",\n    \"plugin\": [\"spotme\"]\n}\n```\n\n### Pi\n\nInstall as a Pi package:\n\n```bash\npi install npm:spotme\n```\n\nSpotMe integrates as a Pi extension with programmatic slash commands and custom tools (`spotme_exercise`, `spotme_end`, `spotme_status`). Commands that don't require LLM reasoning (`/spotme:on`, `/spotme:off`, `/spotme:status`) execute instantly via the Pi UI. Commands that need LLM input (`/spotme:done`, `/spotme:solve`, `/spotme:skip`, `/spotme:hint`, `/spotme:rep`) inject exercise details directly into the prompt for seamless review.\n\n### Skill only (any harness that supports AgentSkills)\n\nCopy `SKILL.md` into your harness's skills directory. This gives the prompt layer without the automated tool interception — commands still work, but the counter-based trigger won't fire automatically.\n\n## Star History\n\n\u003ca href=\"https://www.star-history.com/?repos=wtfzambo%2Fspotme\u0026type=date\u0026legend=top-left\"\u003e\n \u003cpicture\u003e\n   \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/chart?repos=wtfzambo/spotme\u0026type=date\u0026theme=dark\u0026legend=top-left\" /\u003e\n   \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/chart?repos=wtfzambo/spotme\u0026type=date\u0026legend=top-left\" /\u003e\n   \u003cimg alt=\"Star History Chart\" src=\"https://api.star-history.com/chart?repos=wtfzambo/spotme\u0026type=date\u0026legend=top-left\" /\u003e\n \u003c/picture\u003e\n\u003c/a\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ci\u003eLike it? Star it!\u003c/i\u003e\n\u003c/p\u003e\n\n## Local Development\n\nTo develop and test a branch locally:\n\n```bash\n# 1. Clone SpotMe locally\nmkdir ~/temp \u0026\u0026 cd ~/temp\ngit clone https://github.com/wtfzambo/spotme.git\n\n# 2. Create a new directory somewhere\nmkdir ./test_spotme \u0026\u0026 cd ./test_spotme\n\n# 3. Run scripts/test-local-branch.sh from the new folder\n../spotme/scripts/test-local-branch.sh\n```\n\nThen, in `test_spotme`, open your agent harness (OpenCode, Pi...) and verify spotme commands exist. Finally, checkout the SpotMe branch you need.\n\n## Name\n\nThe agent is your **spotter**. It sets up the lift, stands by while you push, catches you if you call for help. The work is yours.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwtfzambo%2Fspotme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwtfzambo%2Fspotme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwtfzambo%2Fspotme/lists"}