Skip to main content

Claude Code plugin for coloured gemstone expertise and crystal visualization

Project description

Gemmology Plugin

A Claude Code plugin for coloured gemstone expertise and crystal visualization.

Part of the Gemmology Project.

Features

  • Crystal Visualization: Generate SVG, STL, and glTF visualizations of crystal structures
  • Mineral Database: Access FGA-curriculum aligned gemstone data for 50+ minerals
  • CDL Parser: Parse and validate Crystal Description Language notation
  • Gem Identification: Interactive workflow for systematic gemstone identification

Installation

pip install gemmology-plugin

This installs the core plugin along with all component packages:

  • cdl-parser - Crystal Description Language parser
  • mineral-database - Gemstone property database
  • crystal-geometry - 3D crystal geometry engine
  • crystal-renderer - SVG/STL/glTF visualization

Optional: Language Server

For editor integration with CDL syntax highlighting and completion:

pip install gemmology-plugin[lsp]

Quick Start

Command Line

# Generate crystal visualization
gemmology crystal-svg --preset diamond -o diamond.svg

# List available presets
gemmology list-presets

# Get mineral information
gemmology info ruby

Python API

from gemmology_plugin import generate_crystal_svg, get_preset

# Generate from CDL notation
svg = generate_crystal_svg("cubic[m3m]:{111}@1.0 + {100}@1.3")

# Generate from preset
ruby = get_preset("ruby")
svg = generate_crystal_svg(ruby['cdl'], info_properties={'name': ruby['name']})

Claude Code Plugin

When used as a Claude Code plugin, this package provides:

Commands

  • /crystal-svg - Generate crystal structure visualizations
  • /identify-gem - Interactive gemstone identification workflow

Agents

Expert agents for domain-specific tasks:

  • crystallography-expert - Crystal systems, symmetry, Miller indices
  • gemmology-expert - Gemstone properties, FGA data
  • cdl-expert - CDL syntax and parsing

Skills

Reference skills covering FGA curriculum topics:

  • Physical properties (hardness, SG, cleavage)
  • Optical properties (RI, birefringence, dispersion)
  • Inclusions and fingerprints
  • Treatments and enhancements
  • Synthetics and simulants
  • Origin determination

Image-Based Questions

IMPORTANT: When answering questions that involve interpreting gemstone images or photographs:

  1. Always take a screenshot to view the actual image content
  2. Double and triple check your interpretation before answering
  3. Ask the user for confirmation if uncertain about visual features
  4. Be explicit about what you see - describe the visual features before selecting an answer

Visual identification of features like colour zoning, asterism, chatoyancy, stress cracks, and inclusions requires careful examination. Similar features can appear differently depending on:

  • Lighting conditions in the photograph
  • Image quality and resolution
  • Orientation of the gemstone
  • Whether the feature is surface or internal

When in doubt, describe what you observe and ask the user to confirm before committing to an answer.

CDL Syntax Overview

Crystal Description Language (CDL) provides precise control over crystal morphology:

system[point_group]:{form}@distance + {form}@distance

Examples:

cubic[m3m]:{111}                    # Octahedron
cubic[m3m]:{111}@1.0 + {100}@1.3    # Truncated octahedron
trigonal[-3m]:{10-10}@1.0 + {0001}@0.5  # Quartz prism

Component Packages

This plugin integrates:

Package Description
cdl-parser CDL parsing and validation
mineral-database Gemstone property database
crystal-geometry 3D geometry generation
crystal-renderer Visualization and export
cdl-lsp Language server (optional)

Development

git clone https://github.com/gemmology-dev/gemmology-plugin
cd gemmology-plugin
pip install -e ".[dev]"
pytest tests/ -v

License

MIT License - see LICENSE for details.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gemmology_plugin-1.1.0.tar.gz (19.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gemmology_plugin-1.1.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file gemmology_plugin-1.1.0.tar.gz.

File metadata

  • Download URL: gemmology_plugin-1.1.0.tar.gz
  • Upload date:
  • Size: 19.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gemmology_plugin-1.1.0.tar.gz
Algorithm Hash digest
SHA256 da5853c1c0da57969f29ac35e545f4724b995f9ea4bc7a020a8136b4a42c6015
MD5 307a47f27e0586d319a8250a25c4775f
BLAKE2b-256 231d98c4c79739d6dca10cb0355ee8a4f7add1daedd777717a8ce615b39db00a

See more details on using hashes here.

Provenance

The following attestation bundles were made for gemmology_plugin-1.1.0.tar.gz:

Publisher: pypi-publish.yml on gemmology-dev/gemmology-plugin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gemmology_plugin-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for gemmology_plugin-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9e25f3112df8764f68514f14ea52873ba013ddf59d5b021407b43d9c19e1201e
MD5 83059e30364a49456ea3d25cc9a09483
BLAKE2b-256 351b39876b04c591f3e0048cc357fe43687e4b7b26f5da44bf5b4bd9d64c7c61

See more details on using hashes here.

Provenance

The following attestation bundles were made for gemmology_plugin-1.1.0-py3-none-any.whl:

Publisher: pypi-publish.yml on gemmology-dev/gemmology-plugin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page