{"version":"2.1.196","anchor":"skill-tool-description-a-b-test","canonical_anchor":"skill-tool-description-a-b-test","heading":"Skill Tool Description A\/B Test","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.196\/e\/skill-tool-description-a-b-test","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.196","markdown":"### Skill Tool Description A\/B Test\n\nA more concise alternative Skill tool description is rolling out, activated by the `tengu_russet_linnet` feature flag (or `CLAUDE_CODE_SKILL_DESC_REFRAME` env var). The new description is shorter and focuses on when to invoke skills versus when they auto-load, using direct language rather than a bulleted reference format.\n\n**Details**\n\n- `vNn()` is a lazy accessor that returns `ycp` (reframe) when `haa()` is truthy, or the original `hcp` description otherwise; the flag is evaluated once and memoized via `wn()`.\n- The reframe description (`ycp`) opens with the one-liner \"Invoke a skill.\" and then defines a skill as \"a packaged set of instructions the user or project has set up for a particular kind of task (deploy steps, a review checklist, a repo-specific workflow).\"\n- It explains that when a listed skill matches the task, calling the tool loads its instructions into the turn for the model to follow \"in place of your default approach\"; it also notes that \"some skills instead run in a subagent and return the finished result.\"\n- The two mandatory bullets in the original (`skill` and `args`) are retained in a compressed form; the scoped-directory routing logic is distilled into the `skill` bullet rather than a separate sub-list.\n- The original's \"BLOCKING REQUIREMENT\" and \"NEVER mention a skill without actually calling this tool\" directives are removed; the \"already loaded\" guard is condensed to one sentence.\n- When the flag fires, the activation source (`env` or `growthbook`) is emitted to the debug log as `skill_desc_reframe_arm_active source=<source>`.\n\n**Evidence**\n\nFeature-flagged alternative description (search for `\"skill_desc_reframe_arm_active source=\"`) and both description strings (search for `\"Invoke a skill.\"` for `ycp` and `\"Execute a skill within the main conversation\"` for `hcp`)\n\n- Flag `tengu_russet_linnet`: Not enough to say (read for one account on one subscription tier against v2.1.196; this account: no value returned, anonymous baseline: no value returned, compiled default: off) These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release."}