feat(skills): surface system-prompt description truncation to skill authors (salvage #24294) - #70519
Merged
Merged
Conversation
…ription helpers The system prompt skill index truncates long descriptions to 57 chars, but this limit was a hardcoded magic number. Extract it as a named constant and factor the normalization logic into a shared private helper so the extraction function and the new truncation predicate cannot drift. No behaviour change — pure refactor.
…t limit When a skill is created or edited with a description longer than SKILL_PROMPT_DESC_LIMIT (60 chars), the tool response now includes a system_prompt_preview field showing exactly what the system prompt skill index will display. This gives the agent immediate feedback to self-correct truncated trigger phrases. Also adds tool schema guidance about the 57-char window and fixes a stale docstring in skill_commands.py that incorrectly claimed the system prompt renders the full description.
…d curator The skill-authoring guide and curator prompt both reference descriptions as the primary discovery mechanism but never mentioned the 57-char system prompt truncation. Add explicit guidance: - Authoring guide: frontmatter docs, template comment, size limits, pitfall #3 with good/bad examples, verification checklist - Curator prompt: parenthetical noting the 57-char window when writing umbrella skill descriptions
Contributor
૮ >ﻌ< ა ci reviewran on 826a48e ℹ️ InfoDesktop E2E visual evidence · View test artifacts · View job1 visual diff. inline evidence upload failed. Failed to upload diff-665a0833239e-onboarding-overlay-diff.png with gh image (exit code 1): Error uploading /home/runner/work/_temp/e2e-evidence/diff-665a0833239e-onboarding-overlay-diff.png: step 0 (get upload token): uploadToken not found on repo page — do you have write access to NousResearch/hermes-agent? (or, if NousResearch enforces SAML SSO, authorize at https://github.com/orgs/NousResearch/sso) |
This was referenced Jul 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Skill authors now see exactly what the system-prompt skill index will display when their description exceeds the 60-char budget — instead of silently losing routing signal to truncation.
Salvages PR #24294 by @AlanBurningsuit (May 12) onto current main. This is the maintainer-approved direction from #13944: keep the 60-char prompt-index cap (raising it was rejected for prompt bloat), make the constraint visible at authoring time.
Changes
agent/skill_utils.py: extract hardcoded60asSKILL_PROMPT_DESC_LIMIT+ shared_normalize_skill_description()helper +is_skill_description_truncated_for_prompt()predicatetools/skill_manager_tool.py:skill_managecreate/edit responses includesystem_prompt_previewshowing the truncated form when the description is over budgetagent/curator.py,agent/skill_commands.py: use the shared constant/helperskills/software-development/hermes-agent-skill-authoring/SKILL.md: document the truncationtests/tools/test_skill_manager_tool.py: preview + boundary coveragecontributors/emails/: mapping for @AlanBurningsuitValidation
scripts/run_tests.sh tests/tools/test_skill_manager_tool.py tests/agent/test_skill_utils.pyCredit: @AlanBurningsuit, commit authorship preserved via cherry-pick + rebase merge. Independent +1 from @technicalpickles on the original PR.
Infographic