From d71ce91b70148212888511bba2c0a0a26663c71d Mon Sep 17 00:00:00 2001 From: River Lynn Bailey Date: Tue, 14 Jul 2026 10:51:33 -0600 Subject: [PATCH] fix(CI): repair shellcheck findings and stale rules symlink The lint job fails on every branch, including main: prek's shellcheck and check-symlinks hooks have never passed since CI landed in #120. - init-guidance.sh: the sed expression matches the literal string ${CLAUDE_PLUGIN_ROOT}, which must not expand, so the single quotes are correct. Silence SC2016 explicitly rather than change the behavior. - upload-screenshots.sh: the retry loop's counter is never read. Bind it to _ so that is stated in the code instead of suppressing SC2034. - .claude/rules/plugin-entity-taxonomy.md: repoint at the taxonomy's real home under han-plugin-builder/, which it was never updated to follow. Prettier is the lint job's third failure. It needs a repo-wide reformat of 281 files, so it lands separately to keep this branch reviewable. --- .claude/rules/plugin-entity-taxonomy.md | 2 +- .../skills/work-items-to-issues/scripts/upload-screenshots.sh | 3 +-- han-plugin-builder/skills/guidance/scripts/init-guidance.sh | 1 + 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.claude/rules/plugin-entity-taxonomy.md b/.claude/rules/plugin-entity-taxonomy.md index 13118fe7..d98d4e08 120000 --- a/.claude/rules/plugin-entity-taxonomy.md +++ b/.claude/rules/plugin-entity-taxonomy.md @@ -1 +1 @@ -../../docs/guidance/plugin-entity-taxonomy.md \ No newline at end of file +../../han-plugin-builder/skills/guidance/references/plugin-entity-taxonomy.md \ No newline at end of file diff --git a/han-github/skills/work-items-to-issues/scripts/upload-screenshots.sh b/han-github/skills/work-items-to-issues/scripts/upload-screenshots.sh index a2ddd50f..1558d25b 100755 --- a/han-github/skills/work-items-to-issues/scripts/upload-screenshots.sh +++ b/han-github/skills/work-items-to-issues/scripts/upload-screenshots.sh @@ -132,8 +132,7 @@ put_file() { # authenticated viewers, so the issue body is correct. verify_on() { local branch="$1" api_path="$2" - local attempt - for attempt in 1 2 3 4 5; do + for _ in 1 2 3 4 5; do if gh api "$api_path?ref=$branch" --jq .sha >/dev/null 2>&1; then return 0 fi diff --git a/han-plugin-builder/skills/guidance/scripts/init-guidance.sh b/han-plugin-builder/skills/guidance/scripts/init-guidance.sh index c0f5a90b..df9edf81 100755 --- a/han-plugin-builder/skills/guidance/scripts/init-guidance.sh +++ b/han-plugin-builder/skills/guidance/scripts/init-guidance.sh @@ -51,6 +51,7 @@ RULE=".claude/rules/plugin-building-guidance.md" rewrite_skill() { file="$1" tmp="$(mktemp)" + # shellcheck disable=SC2016 # ${CLAUDE_PLUGIN_ROOT} is matched literally, not expanded. sed \ -e 's|${CLAUDE_PLUGIN_ROOT}/skills/guidance/references/|.claude/skills/plugin-guidance/references/|g' \ -e 's|^name: guidance$|name: plugin-guidance|' \