Skip to content
Back to skills

Crystallizing

ASecurity

Use when a skill has proven itself with consistently high scores across multiple executions and should be locked as a stable, immutable version via /singularity-crystallize

  • 27 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 27, 2026
data-aibashgit

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add Shmayro/singularity-claude --skill crystallizing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Crystallizing?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Crystallizing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/shmayro-crystallizing/badge)](https://www.skillsdirectory.com/skills/shmayro-crystallizing)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: crystallizing
description: Use when a skill has proven itself with consistently high scores across multiple executions and should be locked as a stable, immutable version via /singularity-crystallize
---

# Crystallize a Validated Skill

Lock a battle-tested skill version as production-grade. Crystallized skills are immutable — further changes require a new version.

## When to Use

- Skill average score >= 90 with 5+ executions
- Skill has handled at least one edge case
- User confirms the skill is ready

## Workflow

### Step 1: Validate Readiness

Read score file and config:
```bash
"${CLAUDE_PLUGIN_ROOT}/scripts/score-manager.sh" trend <skill-name>
```

Check requirements:
- [ ] Average score >= `crystallizationThreshold` (default: 90)
- [ ] Execution count >= `crystallizationMinExecutions` (default: 5)
- [ ] At least one edge case recorded in score history
- [ ] Maturity is `hardened` (not `draft` or `tested`)

If not ready, explain what's missing:
*"This skill needs <X more runs / higher scores / edge case coverage> before crystallization."*

### Step 2: Confirm with User

Show the skill's full score summary and ask:
*"Ready to crystallize <skill-name> v<version>? This locks the current version as immutable."*

### Step 3: Create Git Tag

If `~/.claude/skills/` is a git repository:
```bash
cd ~/.claude/skills
git add <skill-name>/
git commit -m "singularity: crystallize <skill-name> v<version>"
git tag "singularity/<skill-name>/v<version>"
```

If not a git repo, create a backup copy:
```bash
mkdir -p ~/.claude/singularity/crystallized/<skill-name>/
cp -r ~/.claude/skills/<skill-name>/ ~/.claude/singularity/crystallized/<skill-name>/v<version>/
```

### Step 4: Update Records

Update score file:
- Set maturity to `"crystallized"` for the current version

Update registry:
- Set `maturity` to `"crystallized"`

### Step 5: Log Telemetry

```bash
"${CLAUDE_PLUGIN_ROOT}/scripts/telemetry-writer.sh" log <skill-name> \
  --trigger "crystallization" \
  --summary "Crystallized v<version> (avg: <score>/100, <count> runs)"
```

## Report

```
Crystallized: <skill-name> v<version>
  Average score: <avg>/100 over <count> executions
  Edge cases handled: <count>
  Git tag: singularity/<skill-name>/v<version>
  Status: LOCKED — further changes require a new version
```

## Rollback

To recover a crystallized version later:
```bash
git checkout singularity/<skill-name>/v<version> -- <skill-name>/
```

Or restore from backup:
```bash
cp -r ~/.claude/singularity/crystallized/<skill-name>/v<version>/ ~/.claude/skills/<skill-name>/
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.