mineral-identification
About
This skill enables field identification of minerals and ores using physical properties like hardness, streak, and luster, along with simple chemical tests. It applies a systematic elimination methodology, including the Mohs scale, to distinguish valuable ore indicators from barren rock. Use it when prospecting, assessing unknown specimens, or building geological literacy through observation.
Quick Install
Claude Code
Recommendednpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/mineral-identificationCopy and paste this command in Claude Code to install this skill
Documentation
Mineral Identification
Field-ID minerals via physical properties + systematic elimination + simple field tests.
Use When
- Unknown rock/mineral specimen → identify
- Prospecting → assess site for valuable mineral indicators
- Distinguish ore-bearing from barren rock in field
- Build geological literacy via systematic observation
In
- Required: Specimen or outcrop
- Optional: Streak plate (unglazed porcelain or bathroom tile back)
- Optional: Steel nail/knife blade (hardness ~5.5)
- Optional: Glass plate (hardness ~5.5)
- Optional: Copper coin (hardness ~3.5)
- Optional: Hand lens (10x)
- Optional: Dilute HCl (10%) for carbonate test
Do
Step 1: Observe Without Touching
Before handling, ctx.
Field Context:
+--------------------+------------------------------------------+
| Observation | Record |
+--------------------+------------------------------------------+
| Host rock | What type of rock is it in/on? |
| | (granite, basite, sandstone, schist...) |
+--------------------+------------------------------------------+
| Geological setting | Vein, disseminated, massive, placer, |
| | weathering surface, cave deposit |
+--------------------+------------------------------------------+
| Associated | What other minerals are nearby? |
| minerals | (quartz veins often host gold; iron |
| | staining suggests oxidation zone) |
+--------------------+------------------------------------------+
| Crystal form | Visible crystals? Habit? Size? |
| (if visible) | (cubic, prismatic, tabular, massive) |
+--------------------+------------------------------------------+
→ Field ctx recorded before handling.
If err: ctx unclear (loose specimen, urban find) → physical properties only. Ctx would narrow candidates, not strictly required.
Step 2: Test Physical Properties
Apply diagnostic tests systematically.
Diagnostic Property Tests:
LUSTER (how it reflects light):
- Metallic: reflects like metal (pyrite, galena, gold)
- Vitreous: glassy (quartz, feldspar)
- Pearly: like a pearl (muscovite, talc surfaces)
- Silky: like silk fibers (asbestos, satin spar gypsum)
- Earthy/dull: no reflection (kaolin, limonite)
- Adamantine: brilliant, diamond-like (diamond, zircon)
HARDNESS (Mohs scale — scratch test):
+------+-----------+----------------------------------+
| Mohs | Reference | Can Be Scratched By |
+------+-----------+----------------------------------+
| 1 | Talc | Fingernail |
| 2 | Gypsum | Fingernail (barely) |
| 3 | Calcite | Copper coin |
| 4 | Fluorite | Steel nail (easily) |
| 5 | Apatite | Steel nail (just) |
| 6 | Feldspar | Steel nail cannot scratch |
| 7 | Quartz | Scratches glass |
| 8 | Topaz | Scratches quartz |
| 9 | Corundum | Scratches topaz |
| 10 | Diamond | Scratches everything |
+------+-----------+----------------------------------+
Test: try to scratch the specimen with each reference tool,
starting from soft to hard. The hardness is between the tool
that fails and the tool that succeeds.
STREAK (powder colour on porcelain):
- Drag the specimen firmly across an unglazed porcelain tile
- Record the colour of the powder line
- Streak colour is often different from specimen colour
- Critical: hematite is grey-black but streaks RED
- Critical: pyrite is gold but streaks BLACK
- Minerals harder than the streak plate (~7) will not leave a streak
CLEAVAGE AND FRACTURE:
- Cleavage: breaks along flat planes (mica: 1 direction, feldspar: 2)
- Fracture: breaks irregularly (conchoidal = curved like glass, uneven, fibrous)
- Note number of cleavage directions and angles between them
SPECIFIC GRAVITY (heft test):
- Hold the specimen and assess: does it feel heavier or lighter
than expected for its size?
- Heavy: possible metallic ore (galena, gold, magnetite)
- Light: possible pumice, sulfur, or organic material
→ Profile: luster, hardness range, streak colour, cleavage/fracture, relative density.
If err: ambiguous (luster between metallic + vitreous → "sub-metallic") → record both. Reduces confidence, doesn't prevent ID.
Step 3: Special Tests
Additional for specific groups.
Special Field Tests:
MAGNETISM:
- Hold a magnet near the specimen
- Strong attraction: magnetite (or possibly pyrrhotite)
- Weak attraction: some iron-bearing minerals
ACID TEST (10% HCl):
- Drop acid on the specimen surface
- Vigorous fizzing: calcite (CaCO3)
- Fizzing on powder only: dolomite (scratch surface first, then apply acid)
- No fizzing: not a carbonate
TASTE (only for suspected halite):
- Salty taste: halite (NaCl)
- Do NOT taste unknown minerals generally — some are toxic
SMELL:
- Sulfur: rotten egg smell (sulfides when scratched)
- Clay: earthy "petrichor" smell when breathed on (clay minerals)
TENACITY:
- Brittle: shatters when struck (most silicates)
- Malleable: deforms without breaking (gold, copper, silver)
- Flexible: bends and stays (chlorite, some micas)
- Elastic: bends and springs back (muscovite mica)
→ More diagnostic data, narrows ID further.
If err: special tests unavailable (no magnet/acid) → basic properties sufficient for most common minerals.
Step 4: ID by Elimination
Cross-ref profile vs. known.
Common Mineral Identification Key (simplified):
METALLIC LUSTER:
- Black streak + hard (6+) + cubic crystals = PYRITE
- Black streak + soft (2.5) + heavy + cubic = GALENA
- Red-brown streak + hard (5-6) + heavy = HEMATITE
- Yellow streak + soft (1.5-2.5) + yellow = GOLD (if malleable)
or CHALCOPYRITE (if brittle, harder, green-black streak)
- Black streak + magnetic = MAGNETITE
NON-METALLIC, LIGHT-COLORED:
- Vitreous + hard (7) + conchoidal fracture = QUARTZ
- Vitreous + hard (6) + 2 cleavage planes = FELDSPAR
- Vitreous + soft (3) + fizzes in acid = CALCITE
- Pearly + very soft (1) + greasy feel = TALC
- Vitreous + soft (2) + 1 perfect cleavage = GYPSUM
NON-METALLIC, DARK-COLORED:
- Vitreous + hard (5-6) + 2 cleavage at ~90 degrees = PYROXENE
- Vitreous + hard (5-6) + 2 cleavage at ~60/120 degrees = AMPHIBOLE
- Vitreous + soft (2.5-3) + 1 perfect cleavage + flexible = BIOTITE (mica)
→ Mineral ID or 2-3 candidates + distinguishing test.
If err: no match common minerals → may be rock (aggregate) not single mineral, or needs lab (thin section, XRD).
Check
- Field ctx recorded before handling
- Luster assessed under natural light
- Hardness tested vs. ≥2 references
- Streak recorded (if softer than plate)
- Cleavage/fracture noted
- ID via systematic elimination, not guess
- Look-alikes considered + differentiated
Traps
- Pyrite vs. gold: "Fool's gold" (pyrite) harder (6 vs. 2.5), brittle (gold malleable), streaks black (gold streaks gold). Tests definitive — use them
- Ignore streak: Specimen colour unreliable (hematite grey/red/black). Streak consistent + diagnostic
- Contaminated tools: Rusty nail → false streak. Clean tools first
- Assume crystal habit: Many rarely show crystals in field. Massive/granular more common — don't require visible crystals
- Weathered vs. true colour: Break specimen → fresh surface before testing. Weathering rinds disguise mineral
→
gold-washing— alluvial gold recovery uses mineral ID to read stream deposits + assess gold-bearing gravels
GitHub Repository
Related Skills
content-collections
MetaThis skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.
polymarket
MetaThis skill enables developers to build applications with the Polymarket prediction markets platform, including API integration for trading and market data. It also provides real-time data streaming via WebSocket to monitor live trades and market activity. Use it for implementing trading strategies or creating tools that process live market updates.
creating-opencode-plugins
MetaThis skill helps developers create OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It provides the plugin structure, event API specifications, and implementation patterns for JavaScript/TypeScript modules. Use it when you need to intercept, monitor, or extend the OpenCode AI assistant's lifecycle with custom event-driven logic.
sglang
MetaSGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.
