evo-crystallography-fraction-format
SkillDev toolsConverts floating-point fractional coordinates to clean rational fraction strings with bounded denominators (<=12), handling edge cases like near-zero/near-one wrapping and integer values.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the evo-crystallography-fraction-format skill
What this skill tells your AI
The instructions your AI receives, as published by openlair/openskill in tasks-evolved/crystallographic-wyckoff-position-analysis/environment/skills/evo-crystallography-fraction-format/SKILL.md and read by ahel’s review.
Converts floating-point crystallographic fractional coordinates to rational fraction strings.
Key Functions
float_to_fraction_string(val, max_den=12)- Convert single float to fraction stringrationalize_coordinate_vector(coords, max_den=12)- Convert 3-element coordinate vector to list of fraction strings
Usage
import sys
sys.path.insert(0, '/app/environment/skills/evo-crystallography-fraction-format/scripts')
from fraction_utils import float_to_fraction_string, rationalize_coordinate_vector
# Single value
float_to_fraction_string(0.33333) # Returns "1/3"
float_to_fraction_string(0.5) # Returns "1/2"
float_to_fraction_string(0.0) # Returns "0"
float_to_fraction_string(0.9999) # Returns "0" (near-1 snapping)
float_to_fraction_string(0.999) # Returns "0" (near-1 snapping with 1e-3 threshold)
# Vector
rationalize_coordinate_vector([0.0, 0.5, 0.385]) # Returns ["0", "1/2", "3/8"]
Rules
- Wrap coordinates to [0, 1) using modulo 1.0
- Snap near-0 (< 1e-3) and near-1 (> 1-1e-3) values to "0"
- Use
fractions.Fraction.limit_denominator(12)for conversion - If fraction result >= 1 or <= 0, return "0" (safety wrap)
- Integers display as "0"; fractions as "p/q"
Signals
- GitHub stars
- 89
- Forks
- 4
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
evo-crystallography-fraction-format- Source
- github.com/openlair/openskill