claude-code - 💡(How to fix) Fix [DOCS] Skills docs missing `${CLAUDE_EFFORT}` string substitution [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#53070Fetched 2026-04-25 06:13:09
View on GitHub
Comments
0
Participants
1
Timeline
3
Reactions
0
Author
Participants
Timeline (top)
labeled ×3
RAW_BUFFERClick to expand / collapse

Documentation Type

Missing documentation (feature not documented)

Documentation Location

https://code.claude.com/docs/en/skills

Section/Topic

Available string substitutions under Configure skills

Current Documentation

The skills docs currently list the supported string substitutions:

Skills support string substitution for dynamic values in the skill content:

| $ARGUMENTS | All arguments passed when invoking the skill. If $ARGUMENTS is not present in the content, arguments are appended as ARGUMENTS: <value>. | | $ARGUMENTS[N] | Access a specific argument by 0-based index, such as $ARGUMENTS[0] for the first argument. | | $N | Shorthand for $ARGUMENTS[N], such as $0 for the first argument or $1 for the second. | | $name | Named argument declared in the arguments frontmatter list. | | ${CLAUDE_SESSION_ID} | The current session ID. | | ${CLAUDE_SKILL_DIR} | The directory containing the skill's SKILL.md file. |

The same page documents effort frontmatter:

effort | Effort level when this skill is active. Overrides the session effort level. Default: inherits from session. Options: low, medium, high, xhigh, max; available levels depend on the model.

What's Wrong or Missing?

Changelog v2.1.120 added that "Skills can now reference the current effort level with ${CLAUDE_EFFORT} in their content", but the Available string substitutions table does not include ${CLAUDE_EFFORT}.

Skill authors can see that skills have an effort frontmatter field, and they can see other dynamic placeholders such as ${CLAUDE_SESSION_ID} and ${CLAUDE_SKILL_DIR}, but there is no documentation explaining:

  • that ${CLAUDE_EFFORT} exists,
  • what value it expands to,
  • whether it reflects the inherited session effort or the skill's own effort override while the skill is active, and
  • which effort values users should expect (low, medium, high, xhigh, max, or model-dependent values).

Suggested Improvement

Add ${CLAUDE_EFFORT} to the Available string substitutions table on the skills page, near the other ${CLAUDE_*} placeholders.

Suggested row:

VariableDescription
${CLAUDE_EFFORT}The current effort level when the skill content is rendered. Reflects the effective effort for the skill, including a skill effort frontmatter override when present. Values include low, medium, high, xhigh, and max; available levels depend on the active model.

If the value instead reflects only the session effort before applying skill frontmatter, document that explicitly so skill authors can reason about it.

Impact

Medium - Makes feature difficult to understand

Additional Context

Affected Pages:

PageContext
https://code.claude.com/docs/en/skillsPrimary skills authoring reference; Available string substitutions omits ${CLAUDE_EFFORT}
https://code.claude.com/docs/en/slash-commandsMirrors the skills frontmatter and string substitution table, and also omits ${CLAUDE_EFFORT}
https://code.claude.com/docs/en/model-configDocuments effort levels and skill frontmatter effort overrides; useful cross-reference for the placeholder semantics

Total scope: 3 pages affected

Source: Changelog v2.1.120

Exact changelog entry:

Skills can now reference the current effort level with ${CLAUDE_EFFORT} in their content

extent analysis

TL;DR

Add ${CLAUDE_EFFORT} to the Available string substitutions table with a clear description of its value and behavior.

Guidance

  • Update the Available string substitutions table on the skills page to include ${CLAUDE_EFFORT} with the suggested description.
  • Verify that the added documentation accurately reflects the behavior of ${CLAUDE_EFFORT}, including whether it reflects the inherited session effort or the skill's own effort override.
  • Consider adding a cross-reference to the model-config page for more information on effort levels and skill frontmatter effort overrides.
  • Review the slash-commands page to ensure consistency with the updated skills page documentation.

Example

The updated Available string substitutions table could include the following row:

| Variable | Description |
| :-- | :-- |
| `${CLAUDE_EFFORT}` | The current effort level when the skill content is rendered. Reflects the effective effort for the skill, including a skill `effort` frontmatter override when present. Values include `low`, `medium`, `high`, `xhigh`, and `max`; available levels depend on the active model. |

Notes

The exact behavior of ${CLAUDE_EFFORT} should be verified to ensure accurate documentation. If the value reflects only the session effort before applying skill frontmatter, this should be explicitly documented.

Recommendation

Apply the suggested improvement by adding ${CLAUDE_EFFORT} to the Available string substitutions table, as this will provide clarity and consistency in the documentation.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [DOCS] Skills docs missing `${CLAUDE_EFFORT}` string substitution [1 participants]