Skip to content

Commit fa2fa9c

Browse files
fix: re-record manifest hash after hint injection, quote hint values
- Re-record file hash in manifest after writing argument-hint so check_modified()/uninstall stays in sync - Double-quote argument-hint values to match SKILL.md frontmatter style - Update tests to expect quoted hint values
1 parent c9d025c commit fa2fa9c

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

src/specify_cli/integrations/claude/__init__.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ def inject_argument_hint(content: str, hint: str) -> str:
8585
eol = "\n"
8686
else:
8787
eol = ""
88-
out.append(f"argument-hint: {hint}{eol}")
88+
escaped = hint.replace("\\", "\\\\").replace('"', '\\"')
89+
out.append(f'argument-hint: "{escaped}"{eol}')
8990
injected = True
9091
continue
9192
out.append(line)
@@ -147,5 +148,7 @@ def setup(
147148
updated = self.inject_argument_hint(content, hint)
148149
if updated != content:
149150
path.write_bytes(updated.encode("utf-8"))
151+
# Re-record hash so manifest stays in sync for uninstall
152+
self.record_file_in_manifest(path, project_root, manifest)
150153

151154
return created

tests/integrations/test_integration_claude.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,7 @@ def test_hints_match_expected_values(self, tmp_path):
314314
f"No expected hint defined for skill '{stem}'"
315315
)
316316
content = f.read_text(encoding="utf-8")
317-
assert f"argument-hint: {expected_hint}" in content, (
317+
assert f'argument-hint: "{expected_hint}"' in content, (
318318
f"{f.parent.name}/SKILL.md: expected hint '{expected_hint}' not found"
319319
)
320320

@@ -386,7 +386,7 @@ def test_inject_argument_hint_skips_if_already_present(self):
386386
content = (
387387
"---\n"
388388
"description: My command\n"
389-
"argument-hint: Existing hint\n"
389+
'argument-hint: "Existing hint"\n'
390390
"---\n"
391391
"\n"
392392
"Body text\n"

0 commit comments

Comments
 (0)