{
  "markdown": "<p align=\"center\">\n  <img src=\"assets/Banner.png\" alt=\"Glasses banner\" width=\"100%\">\n</p>\n\n<h1 align=\"center\">Glasses</h1>\n\n<p align=\"center\"><strong>Version 1.1.0</strong></p>\n\n<p align=\"center\">\n  <strong>Put your glasses on.</strong><br>\n  The nerd who asks for evidence before your AI writes expensive code.\n</p>\n\n<p align=\"center\">\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/License-MIT-blue.svg\" alt=\"MIT License\"></a>\n</p>\n\nAI coding agents are good at producing code. They are also good at inventing\nabstractions, dependencies, and future requirements nobody asked for.\n\nGlasses makes the agent stop and answer:\n\n> What evidence requires this complexity now?\n\nNo evidence means no extra machinery. Correctness, security, accessibility,\ndata integrity, validation, observability, and useful tests are never removed.\n\n## Choose the nerd you need\n\n| You need to… | Use | What happens |\n|---|---|---|\n| Create or simplify a plan | `/glasses:glasses` | Challenges unsupported complexity and produces an executable plan. |\n| Find and fix a code problem | `/glasses:pointer` | Diagnoses once, recommends a correction, and asks before editing. |\n| Research a technical decision | `/glasses:homework` | Creates a research plan, brings sources, and asks before running validation. |\n| Capture notes or project docs | `/glasses:scribe` | Takes approved notes, maps project docs, and preserves visible memory. |\n\nThey can hand work to each other when needed without repeatedly bouncing the\nsame decision around.\n\n## Install in Claude Code\n\nRun these commands in your terminal:\n\n```powershell\nclaude plugin marketplace add DanielGouveiah/glasses\nclaude plugin install glasses@daniskills\n```\n\nRestart Claude Code. That is all.\n\nGlasses now activates automatically when Claude creates a plan, ADR, design, or\narchitecture proposal. Its default mode is `high`.\n\n## Install with Skills.sh\n\nFor Codex, Cursor, OpenCode, and other agents supported by\n[Skills.sh](https://skills.sh), install the portable Glasses skills with:\n\n```powershell\nnpx skills add DanielGouveiah/glasses\n```\n\nThe CLI lets you choose which agent and skills to install. Add `-g` for a\nuser-level installation available across projects. This installs the portable\nskills; use the Claude Code plugin installation above when you also want its\nautomatic session and subagent hooks.\n\n## Use it\n\n### Review a plan\n\n```text\n/glasses:glasses\n```\n\nYou can choose a mode:\n\n```text\n/glasses:glasses medium\n/glasses:glasses high\n/glasses:glasses ultra\n/glasses:glasses off\n```\n\n| Mode | Meaning |\n|---|---|\n| `medium` | Remove obvious excess, but allow named near-term flexibility. |\n| `high` | Keep complexity only when current evidence requires it. Default. |\n| `ultra` | Require evidence for every new component and prefer native solutions. |\n| `off` | Disable automatic Glasses review for the session. |\n\n### Diagnose existing code\n\n```text\n/glasses:pointer the failing checkout test\n```\n\nPointer:\n\n1. Inspects the relevant code and evidence.\n2. Asks one numbered question at a time if needed.\n3. Shows the problem, options, and recommendation.\n4. Asks permission before changing code.\n5. Applies the accepted correction once, verifies it, and stops.\n\n### Research a decision\n\n```text\n/glasses:homework best local model for structured extraction on 6GB VRAM\n```\n\nHomework:\n\n1. Uses your conversation and project as context.\n2. Keeps an explicitly general question general; project context applies only\n   when you ask it to.\n3. Always asks a numbered Q1 to confirm objective, scope, and exclusions.\n4. Shows a bounded research plan and waits for approval.\n5. Researches reliable sources and returns a recommendation.\n6. Suggests the cheapest bounded validation plan.\n7. After separate approval, runs its named experiments until the budget or\n   stopping condition is reached.\n\nOne validation plan may include several stages or matrix cells. Homework does\nnot ask again for each approved cell, but it must ask before expanding the\nscope or budget.\n\n### Capture notes and documentation\n\n```text\n/glasses:scribe document what we decided\n/glasses:scribe map this project\n```\n\nScribe:\n\n1. Reads existing notes and docs before writing.\n2. Takes session notes when explicitly requested.\n3. For broad project notes, first proposes the files to create or update.\n4. Writes only after the user requested or approved that specific note work.\n5. Records visible project memory only; it does not manage hidden AI memory.\n\nAvailable depths are `skim`, `study` (default), and `thesis`.\n\n## What Glasses changes\n\nA Glasses plan clearly states:\n\n- required behavior and acceptance tests;\n- the simplest design supported by evidence;\n- complexity removed and retained;\n- decisions answered during review;\n- triggers that would justify more machinery later.\n\nImplementation then stays inside that plan. If new evidence changes the design,\nGlasses revises the plan explicitly instead of silently expanding the code.\n\n## Language behavior\n\nGlasses answers in the language used by the user, including workflow headings,\nquestions, options, approvals, and completion reports. It does not translate\nsource code, identifiers, commands, file paths, configuration keys, tool names,\nor error and log output. New file content follows the repository's language and\ncomment conventions.\n\nLanguage is derived from the user's natural-language task, not control text. An\nEnglish command wrapper, injected hook, or skill instruction therefore cannot\nreplace the language of a Portuguese task; short acknowledgements and command\ninvocations also keep the established task language.\n\n## Other AI coding agents\n\nThe repository includes adapters for Gemini CLI, Codex, GitHub Copilot CLI, and\nOpenCode. Claude Code currently has the most complete installation flow.\n\nInstall the Gemini extension with:\n\n```powershell\ngemini extensions install https://github.com/DanielGouveiah/glasses\n```\n\nThe portable policies live in:\n\n- [Glasses](skills/glasses/skills/glasses/SKILL.md)\n- [Pointer](skills/glasses/skills/pointer/SKILL.md)\n- [Homework](skills/glasses/skills/homework/SKILL.md)\n- [Scribe](skills/glasses/skills/scribe/SKILL.md)\n\n### CLI harness support\n\n| Harness | Auto context | Manual route | Stepped questions | Approval gates | Scribe notes |\n|---|---|---|---|---|---|\n| Claude Code plugin | Session and subagent hooks | Skill routes | Yes, `Q1`, `Q2` | Yes | Yes, approval-only |\n| GitHub Copilot plugin | Session and subagent hooks | Skill routes | Yes, `Q1`, `Q2` | Yes | Yes, approval-only |\n| Codex plugin | Skills directory | Skill routes | Yes, `Q1`, `Q2` | Yes | Yes, approval-only |\n| Gemini CLI extension | Static Glasses context | `/glasses:*` commands | Yes, `Q1`, `Q2` | Yes | Yes, approval-only |\n| OpenCode adapter | Chat system transform | Adapter policy | Yes, `Q1`, `Q2` | Yes | Yes, approval-only |\n\nThe shared routing policy is generated from\n`skills/glasses/scripts/workflow-routing.mjs` for JavaScript harnesses. Static\nharnesses keep the same routing rules in the Glasses skill and command files.\n\n## Configuration\n\nTo change the automatic mode, create `~/.config/glasses/config.json`:\n\n```json\n{\n  \"defaultMode\": \"high\"\n}\n```\n\nManual `/glasses:glasses` use defaults to `high`, even if configuration says\notherwise.\n\n## Develop locally\n\n```powershell\ngit clone https://github.com/DanielGouveiah/glasses.git\ncd glasses\nnpm test\nnpm run validate\nclaude --plugin-dir ./skills/glasses\n```\n\n## License\n\n[MIT](LICENSE)\n",
  "bytes": 7473,
  "sha": "da9b6703e5c27fa4e43d6822b1d430dedd1cc2f34c4ce3544dfdf6d28dd2ca07",
  "repo_slug": "danielgouveiah/glasses",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_danielgouveiah_glasses_bd05f54a/readme"
}