CtrlK
BlogDocsLog inGet started
Tessl Logo

json-typed-attributes

Define typed attributes backed by JSON fields in Rails models. Use when models need flexible data storage with type casting, validations, and form integration. Supports integer, decimal, string, text, boolean, date, and array types.

68

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

71%Weight 40%Scale 1-5

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

Highly actionable with executable, project-specific examples and a clear setup sequence, but the file is a monolithic ~390-line document that re-teaches standard Rails (validations, strong parameters, form helpers) and inlines reference material that should live in separate bundle files.

Suggestions

Trim or drop the standard-Rails sections ('Adding Validations', 'Strong Parameters', 'Working with Forms' basics) down to the one skill-specific line each — e.g. only note that JSON-backed attributes behave like normal attributes for validations, strong parameters (with array syntax), and form helpers.

Split the per-type reference and Troubleshooting sections into references/ files (e.g. references/types.md, references/troubleshooting.md), keeping SKILL.md as a concise overview with one-level-deep, clearly signaled links.

Remove the 'Best Practices' code blocks that repeat earlier sections verbatim (constants + inclusion validation, strong-parameters permit) and keep only the non-duplicated guidance (type choice guidance, GIN indexing).

DimensionReasoningScore

Conciseness

The per-type sections documenting the custom StoreJsonAttributes concern (comma stripping, compact_blank, predicate methods) are genuinely novel and efficient, but 'Adding Validations' re-teaches standard ActiveRecord validations (presence, inclusion, numericality, format), 'Strong Parameters' re-teaches basic permit syntax, and 'Best Practices' repeats code shown verbatim earlier — matching 'mostly efficient but includes some unnecessary explanation or could be tightened'. Not 2 because the core novel content is not padded; not 4 because several sections explain Rails concepts Claude already knows.

3 / 5

Actionability

Fully executable throughout: concrete store_typed_attributes calls per type, a complete worked model (CBPComponents::KeyQuestion with validations and base_params), copy-paste Slim form examples, and migration/index snippets. Covers the common cases exactly as the anchor-5 example does; not 4 because there are no gaps in copy-paste readiness.

5 / 5

Workflow Clarity

Setup is a clear numbered sequence (ensure JSON column → include concern → define typed attributes) and the Troubleshooting section provides symptom→fix recovery guidance for four failure modes. Matches 'clear sequence with most checkpoints present; minor validation gaps' — there are no explicit validation commands or checkpoints in the workflow. Not 5 because nothing tells the reader to verify persistence/casting in a console before moving on, though the skill is not destructive or batch so the 3-cap does not apply.

4 / 5

Progressive Disclosure

No bundle files exist and the entire ~390-line skill is inlined in SKILL.md: the type-by-type reference, form patterns, troubleshooting, and best-practices sections (each self-contained) clearly belong in separate reference files. Section headers are clear and there are no nested references, which sits above anchor 2, but 'content that should be separate is inline' matches anchor 3; not 4 because nearly all reference material is in the main file rather than split out.

3 / 5

Total

15

/

20

Passed

Description

92%Weight 40%Scale 1-5

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

A strong description: concrete capabilities, an explicit 'Use when' trigger, full type enumeration, and third-person voice. The only gap is a few natural trigger synonyms (jsonb, store, serialize) that would broaden recall.

DimensionReasoningScore

Specificity

Quotes: 'Define typed attributes backed by JSON fields in Rails models', 'type casting, validations, and form integration', 'Supports integer, decimal, string, text, boolean, date, and array types'. It lists multiple concrete actions with comprehensive type coverage in third-person voice, matching the anchor-5 example's breadth; not 4 because coverage has no notable gaps.

5 / 5

Completeness

Explicitly answers both: what — 'Define typed attributes backed by JSON fields in Rails models' with supported types; when — 'Use when models need flexible data storage with type casting, validations, and form integration'. Both are concrete and explicit, matching the anchor-5 example with its 'Use when...' clause; not 4 because the 'when' is specific, not merely present.

5 / 5

Trigger Term Quality

Quotes: 'Rails models', 'JSON fields', 'type casting', 'validations', 'form integration' — natural phrases users would say, but common synonyms and variations like 'jsonb', 'store', 'serialize', or 'metadata/settings column' are missing, matching 'Good keyword coverage; a few natural terms missing' rather than the comprehensive synonym coverage of 5.

4 / 5

Distinctiveness Conflict Risk

'typed attributes backed by JSON fields in Rails models' carves out a clear niche with distinct triggers (JSON columns, type casting concerns) and minimal conflict risk with adjacent Rails skills; not 4 since the overlap surface with other skills is negligible.

5 / 5

Total

19

/

20

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.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
RoleModel/rolemodel-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.