{
  "markdown": "# 3DOptix for AI coding agents\n\nDesign, simulate and analyse optical systems from your coding agent, using the\n[3DOptix](https://www.3doptix.com) cloud platform.\n\nThis repository is a **plugin** — it bundles the 3DOptix MCP server together with a skill that\nteaches the agent how to use it well. Install it once and your agent can build optical setups,\nplace lenses and detectors, run GPU ray-trace simulations and advanced optical analysis.\n\nSkills here follow the [Agent Skills](https://agentskills.io) open standard, so they work in\nClaude Code, Codex, Cursor and other compliant clients.\n\n---\n\n## Install\n\n### Claude Code\n\n```bash\nclaude plugin marketplace add 3doptix/skills\nclaude plugin install 3doptix@3doptix\n```\n\n### Codex\n\n```bash\ncodex plugin marketplace add 3doptix/skills\ncodex plugin add 3doptix@3doptix\n```\n\n### Just the MCP server\n\nIf you only want the tools and not the workflow guidance, the server is listed in the\n[MCP Registry](https://registry.modelcontextprotocol.io) as `com.3doptix/optical-design`, or add\nit directly:\n\n```bash\nclaude mcp add --transport http 3doptix https://mcp.3doptix.com\n```\n\n## Connect your account\n\nYou need a 3DOptix account. New sign-ups at [3doptix.com](https://www.3doptix.com) get a fully\nfunctional trial; continued use needs a subscription.\n\nAuthentication is OAuth 2.0 with dynamic client registration. **There is no API key to paste.**\n\n- **Claude Code** — run `/mcp`, select **3doptix**, sign in via the browser.\n- **Codex** — run `codex mcp login 3doptix`.\n\nThen confirm it worked by asking your agent to list your setups. Your agent can also walk you\nthrough this itself — the bundled `3doptix-setup` skill activates on connection errors. Full\ntroubleshooting: [`skills/3doptix-setup/SKILL.md`](skills/3doptix-setup/SKILL.md).\n\n---\n\n## What's included\n\n| Skill | What it covers |\n|---|---|\n| [`3doptix-workflow`](skills/3doptix-workflow/SKILL.md) | Setup creation, component placement and alignment, light sources, detectors, catalog and custom optics, simulation, analysis, optimisation, Zemax import, CAD upload |\n| [`3doptix-setup`](skills/3doptix-setup/SKILL.md) | Connecting and verifying the MCP server; activates on auth errors |\n\nThe `3doptix` MCP server provides tools for setups, parts, the optics and optomechanics catalogs,\nsimulation, analysis and rendering. Tool reference: [3doptix.com](https://www.3doptix.com).\n\n### Try it\n\n```\nBuild a 2-lens beam expander for a 5 mm 632 nm beam, 3× magnification,\nthen run a spot diagram on the output.\n```\n\n```\nImport my Zemax file into 3DOptix and tell me where the aberrations are worst.\n```\n\n---\n\n## Repository layout\n\n```\n.claude-plugin/     Claude Code plugin + marketplace manifests\n.codex-plugin/      Codex plugin manifest\n.agents/plugins/    Codex marketplace manifest\n.mcp.json           The 3DOptix remote MCP server\nserver.json         MCP Registry entry\nskills/             Agent Skills — shared by every store\nassets/             Store icons (the spectral sphere from the 3DOptix mark)\nscripts/            validate.js, set-version.js — plain Node, no dependencies\n```\n\nSkill content lives in exactly one place. Each store gets a small manifest pointing at the same\n`skills/` tree — nothing is duplicated per client.\n\nThere is no build step. Skills are Markdown and manifests are JSON, so what you see here is\nexactly what gets installed.\n\n---\n\n## Contributing\n\n### Adding a skill\n\nCreate `skills/<name>/SKILL.md` with the required frontmatter:\n\n```markdown\n---\nname: your-skill-name\ndescription: \"When this skill should and should not trigger.\"\n---\n```\n\n`name` must match the directory name — every store enforces this. Put anything lazily loaded in\n`skills/<name>/references/` and point at it from `SKILL.md`. Skills are discovered by directory,\nso there is no manifest to register a new one in.\n\nOnly skills under `skills/` ship. A skill still in development belongs in an `inactive-skills/`\ndirectory instead — no store scans it there, so it can live in the repository without reaching\nusers.\n\n### Checks\n\n```bash\nnode scripts/validate.js\n```\n\nNo install step; it has no dependencies. It checks skill frontmatter against the Agent Skills\nspec, confirms all four manifests agree on a version, and refuses to pass if `.mcp.json` ever\ngrows a credential. CI runs the same script on every push and pull request.\n\nBefore publishing a change, also confirm what a user will actually receive:\n\n```bash\nclaude plugin details 3doptix\n```\n\n### Releasing\n\n`.claude-plugin/plugin.json` holds the authoritative version. To cut a release:\n\n```bash\nnode scripts/set-version.js 1.1.0   # writes all four manifests\nnode scripts/validate.js\ngit commit -am \"release: 1.1.0\" && git tag v1.1.0\ngit push && git push --tags\n```\n\n**Never edit a manifest's `version` by hand** — `validate.js` will fail, which is the point.\n\nDirectories that list this plugin track commits on `main` and pick up changes automatically, so\na push is a release whether or not you tag it. Tag anyway; it is how users pin a known-good\nversion.\n\n---\n\n## Support\n\n- Product and accounts — [support@3doptix.com](mailto:support@3doptix.com)\n- Bugs in these skills — open an issue on this repository\n- Privacy — [privacy policy](https://www.3doptix.com/privacy-policy)\n\n## Licence\n\nMIT — see [LICENSE](LICENSE).\n",
  "bytes": 5290,
  "sha": "01df1537e9fe6b880c69253c0583e380a760822df0b5074222f213d227b96fe5",
  "repo_slug": "3doptix/skills",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_3doptix_optical_design_e869ec25/readme"
}