What
graphify install --project generates .claude/skills/graphify/SKILL.md verbatim. In that generated file, the Step 1 — Ensure graphify is installed bash block ends with:
# Save scan root so `graphify update` (no args) knows where to look next time
echo "$(cd INPUT_PATH && pwd)" > graphify-out/.graphify_root
INPUT_PATH is a placeholder, but Step 1 carries no substitution instruction. The instruction "Replace INPUT_PATH with the actual path the user provided" appears only after the Step 2 block, and Steps 4/5/9 repeat it for themselves. An agent that follows the file literally runs cd INPUT_PATH, which fails, and — depending on shell — leaves graphify-out/.graphify_root empty or containing the literal string, so any later command that reads it to locate the scan root is wrong.
Expected
Step 1 states the same substitution rule the other steps do, e.g. immediately after the code block:
Replace INPUT_PATH on the last line with the actual path the user provided (. if none was given) — left as the literal placeholder, .graphify_root records the string INPUT_PATH instead of the scan root.
(An alternative fix, arguably better: have Step 1 write $(pwd) or resolve the path in the same Python one-liner that writes .graphify_python, so there is no placeholder to substitute at all.)
Where found
Flagged by an automated reviewer on lawnstarter/customer-platforms PR #14499 (Jira PE-80044), which installs this skill into the customer-platforms monorepo. The identical generated file ships into ~12 LawnStarter repos, so the fix belongs upstream in the generator rather than in each consuming repo. We applied the one-line doc fix locally in that PR as a stopgap.
Fork commit checked: 5e9d95c11837aeabbbb5d90cb45544f49dc58ca4 (branch v8, CLI reports 0.9.40).
What
graphify install --projectgenerates.claude/skills/graphify/SKILL.mdverbatim. In that generated file, the Step 1 — Ensure graphify is installed bash block ends with:INPUT_PATHis a placeholder, but Step 1 carries no substitution instruction. The instruction "Replace INPUT_PATH with the actual path the user provided" appears only after the Step 2 block, and Steps 4/5/9 repeat it for themselves. An agent that follows the file literally runscd INPUT_PATH, which fails, and — depending on shell — leavesgraphify-out/.graphify_rootempty or containing the literal string, so any later command that reads it to locate the scan root is wrong.Expected
Step 1 states the same substitution rule the other steps do, e.g. immediately after the code block:
(An alternative fix, arguably better: have Step 1 write
$(pwd)or resolve the path in the same Python one-liner that writes.graphify_python, so there is no placeholder to substitute at all.)Where found
Flagged by an automated reviewer on lawnstarter/customer-platforms PR #14499 (Jira PE-80044), which installs this skill into the customer-platforms monorepo. The identical generated file ships into ~12 LawnStarter repos, so the fix belongs upstream in the generator rather than in each consuming repo. We applied the one-line doc fix locally in that PR as a stopgap.
Fork commit checked:
5e9d95c11837aeabbbb5d90cb45544f49dc58ca4(branchv8, CLI reports 0.9.40).