CtrlK
BlogDocsLog inGet started
Tessl Logo

config

Reference for OrangeHRM's `hs_hr_config` key/value settings table — `ConfigService` (the runtime accessor with typed getters/setters and `KEY_*` constants), `ConfigServiceTrait` for DI access, `ConfigHelper` (the migration-time accessor used during install/upgrade), key naming convention (`<module>.<descriptor>`), and the deliberate choice of when to use a config row vs. a proper entity-backed setting. Use whenever the user is adding a runtime-tunable setting, reading a config value from a service or command, working out where a magic constant should live, or asking why `hs_hr_config.name` is the column instead of `key`. Companion to `services` (ConfigService is the canonical service trait consumer), `migrations` (where new config keys get seeded via `getConfigHelper()`), `entities` (the alternative — structured settings get an entity).

74

Quality

93%

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

82%Weight 40%Scale 1-3

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 PHP examples and well-sequenced, validated workflows plus a strong pitfalls checklist. The main weakness is conciseness and progressive disclosure: the skill is a long monolithic document with no bundle files to offload the catalog of KEY_* constants, decision tables, and recipes.

Suggestions

Move the live KEY_* constant catalog and the Conf.php-vs-hs_hr_config table into a references/ file (e.g. references/key-catalog.md) and link to it, keeping SKILL.md as a lean overview.

Trim repeated explanations — the 'Conf.php vs hs_hr_config' point, the string-coercion rule, and the config-vs-entity test each appear in both prose and checklists; consolidate.

The description promises '<module>.<descriptor>' key naming but the body shows '<module>.<feature>.<descriptor>'; reconcile the two to avoid a contradiction.

DimensionReasoningScore

Conciseness

Content is largely accurate and earns its place, but at ~400 lines it re-explains context Claude can infer (e.g., the Conf.php vs hs_hr_config distinction is restated multiple times) and includes some redundancy between prose, recipes, and checklists; it could be tightened.

2 / 3

Actionability

Provides copy-paste-ready PHP snippets for every common operation — adding a KEY constant, seeding defaults via migration, typed getters/setters, JSON-blob storage, and delete — all executable rather than pseudocode.

3 / 3

Workflow Clarity

Recipes sequence multi-step work (add constant -> seed via migration -> read from runtime) with explicit validation checkpoints ('Always check before setting', guard with getConfigValue() === null) and a dedicated 'Things that bite' checklist covering destructive/error-prone cases.

3 / 3

Progressive Disclosure

There are no bundle files (references/, scripts/, assets/ absent), so all ~400 lines live inline in SKILL.md as a monolithic wall of text; cross-skill mentions ('see migrations skill') are navigation hints, not file references, so structure is present but content is not split or offloaded.

2 / 3

Total

10

/

12

Passed

Description

100%Weight 40%Scale 1-3

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, specific description that clearly states what the skill covers and gives explicit 'Use whenever...' trigger guidance for runtime config work. Its OrangeHRM-specific framing keeps it well-distinguished from sibling skills.

DimensionReasoningScore

Specificity

Lists multiple concrete capabilities — ConfigService typed getters/setters, ConfigServiceTrait DI access, ConfigHelper migration-time accessor, key naming convention, and the config-row-vs-entity decision — matching the 'lists multiple specific concrete actions' anchor.

3 / 3

Completeness

Explicitly answers what (the hs_hr_config table and its accessors) and when via a 'Use whenever the user is...' trigger clause, satisfying the both-what-and-when anchor.

3 / 3

Trigger Term Quality

Covers natural user phrases like 'adding a runtime-tunable setting', 'reading a config value from a service or command', and 'where a magic constant should live', giving good coverage of terms a developer would actually say.

3 / 3

Distinctiveness Conflict Risk

The OrangeHRM-specific hs_hr_config/config-vs-entity niche is distinct, and cross-references to companion skills (services, migrations, entities) reduce overlap risk.

3 / 3

Total

12

/

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.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
orangehrm/orangehrm
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.