CtrlK
BlogDocsLog inGet started
Tessl Logo

fp-immutability

Never mutate data — create new values instead. Covers immutable update patterns (spread, copy, freeze), nested updates without mutation, readonly enforcement, and performance trade-offs. Activate when: updating objects or arrays, working with state management (React, Redux), fixing bugs caused by unintended mutation, deeply nested data updates, or when the user mentions immutability, spread, readonly, frozen, copy-on-write, or structural sharing. Works in any language (TypeScript, Python, Go, Rust, Java).

97

Quality

96%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Quality

Discovery

100%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

This is a strong, well-crafted skill description that clearly defines its scope (immutable data patterns), lists concrete techniques, and provides explicit activation triggers with natural user terms. It covers multiple languages without being vague, and the 'Activate when:' clause gives Claude clear guidance on when to select this skill. The description is concise yet comprehensive.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions: immutable update patterns (spread, copy, freeze), nested updates without mutation, readonly enforcement, and performance trade-offs. These are clearly defined, actionable capabilities.

3 / 3

Completeness

Clearly answers both 'what' (immutable update patterns, nested updates, readonly enforcement, performance trade-offs) and 'when' with an explicit 'Activate when:' clause listing specific trigger scenarios like updating objects/arrays, state management, fixing mutation bugs, and deeply nested data updates.

3 / 3

Trigger Term Quality

Excellent coverage of natural terms users would say: 'immutability', 'spread', 'readonly', 'frozen', 'copy-on-write', 'structural sharing', 'state management', 'React', 'Redux', 'mutation', plus language names like TypeScript, Python, Go, Rust, Java. These are terms users would naturally use when encountering these problems.

3 / 3

Distinctiveness Conflict Risk

Occupies a clear niche around immutability and non-mutating data patterns. While it mentions React/Redux, the focus on immutability specifically distinguishes it from general React or state management skills. The trigger terms are precise enough to avoid false matches.

3 / 3

Total

12

/

12

Passed

Implementation

92%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

This is a high-quality skill that is concise, actionable, and well-organized. The decision tree at the top, the mutable/immutable cheatsheet, and the concrete code examples for nested updates are all excellent. The only minor weakness is that all content is inline rather than leveraging progressive disclosure to separate advanced topics, though the skill's length is reasonable enough that this is a minor concern.

DimensionReasoningScore

Conciseness

Every section earns its place. No unnecessary explanations of what immutability is or why it matters beyond a one-line summary. The cheatsheet format is maximally dense. Language-specific notes are terse one-liners. The decision heuristics at the top are crisp and actionable.

3 / 3

Actionability

Provides executable TypeScript/Python code examples, a concrete mutable-to-immutable operations table with exact syntax, and specific decision criteria (e.g., '1-2 levels → manual spread, 3+ levels → Immer'). The code is copy-paste ready and covers the most common patterns.

3 / 3

Workflow Clarity

The opening decision tree ('Ask Yourself') provides a clear workflow for choosing immutable vs mutable. The nested updates section sequences three approaches with an explicit decision rule. The 'NEVER' and 'When NOT to Enforce' sections serve as validation guardrails. For a conceptual/pattern skill (not a destructive multi-step operation), this is appropriately clear.

3 / 3

Progressive Disclosure

The content is well-structured with clear sections and headers, but it's entirely self-contained with no references to external files for deeper topics (e.g., language-specific guides, Immer patterns, structural sharing). For a skill of this length (~100 lines), some content like the full performance table or language-specific details could be split out, though it's borderline acceptable as-is.

2 / 3

Total

11

/

12

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation11 / 11 Passed

Validation for skill structure

No warnings or errors.

Repository
olion500/skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.