design-review
“Designer's eye QA: finds visual inconsistency, spacing issues, hierarchy problems, AI slop patterns, and slow interactions — then fixes them. (gstack)”
aipkg.jsonLICENSE.txtREADME.mdSKILL.mdSKILL.md.tmpl- 01SDI-285%MEDIUM
SKILL.md.tmpl:14
detailhide
This skill is designed to perform autonomous git operations (commit, revert, stash) and modify source code files without explicit user authorization for each individual change. An agent following these instructions could make unauthorized modifications to a repository, create commits that bypass code review processes, and alter production code. The skill template uses placeholders and tool invocations that could be exploited to perform unintended modifications.
12 wants to polish the look of a live site. (gstack)13allowed-tools:14 - Bash15 - Read16 - Writefix Remove or heavily restrict git operations. Require explicit user confirmation before each commit. Implement a review step where the user must approve changes before they are persisted. Consider limiting modifications to a read-only preview mode where users manually apply fixes. Add safeguards to prevent autonomous commits to protected branches (main/master).
- 02SQP-270%HIGH
SKILL.md:36
detailhide
The preamble executes external binaries (gstack-update-check, gstack-config, gstack-telemetry-log, gstack-learnings-search, etc.) without visible logging or confirmation. Users cannot see what commands are running or what data is being collected. While the intent is benign (framework infrastructure), the lack of transparency violates user agency and makes it impossible to audit what the skill does before it runs.
3435```bash36_UPD=$(~/.claude/skills/gstack/bin/gstack-update-check 2>/dev/null || .claude/skills/gstack/bin/gstack-update-check 2>/dev/null || true)37[ -n "$_UPD" ] && echo "$_UPD" || true38mkdir -p ~/.gstack/sessionsfix Add visible logging before each external binary call: echo "[gstack-setup] Running update check..." before gstack-update-check, echo "[gstack-setup] Checking telemetry setting..." before gstack-config get telemetry, etc. Wrap high-impact operations (telemetry sends, file writes outside the git repo) in AskUserQuestion gates on first use. Consider moving non-essential setup steps (telemetry collection, upgrade checks, analytics writes) to optional Phase that users can skip.
- 03SQP-280%MEDIUM
SKILL.md:67
detailhide
Telemetry data is collected and written to ~/.gstack/analytics/skill-usage.jsonl automatically during preamble execution, before the user has any chance to opt out. The telemetry prompt (lines 179-215) happens AFTER data collection has already begun. Users who set telemetry=off later cannot retroactively disable data that was already written. This violates informed consent—users should be asked BEFORE data is collected, not after.
65echo "QUESTION_TUNING: $_QUESTION_TUNING"66mkdir -p ~/.gstack/analytics67if [ "$_TEL" != "off" ]; then68echo '{"skill":"design-review","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","repo":"'$(basename "$(git rev-parse --show-toplevel 2>/dev/null)" 2>/dev/null || echo "unknown")'"}' >> ~/.gstack/analytics/skill-usage.jsonl 2>/dev/null || true69fifix Move telemetry collection to occur AFTER the telemetry prompt. Check the telemetry setting FIRST (before writing to skill-usage.jsonl). If telemetry is unset, prompt the user (AskUserQuestion) before writing any data. Only write to skill-usage.jsonl if telemetry != 'off'. Preserve user choice in ~/.gstack/.telemetry-settings for future invocations.
- 04SQP-260%MEDIUM
SKILL.md:38
detailhide
Session tracking (mkdir ~/.gstack/sessions, touch ~/.gstack/sessions/$PPID) happens silently in the preamble without user awareness. This creates a hidden session registry that tracks when the skill runs. While the intent is likely benign (session deduplication), users cannot see this happening and have no way to opt out.
36_UPD=$(~/.claude/skills/gstack/bin/gstack-update-check 2>/dev/null || .claude/skills/gstack/bin/gstack-update-check 2>/dev/null || true)37[ -n "$_UPD" ] && echo "$_UPD" || true38mkdir -p ~/.gstack/sessions39touch ~/.gstack/sessions/"$PPID"40_SESSIONS=$(find ~/.gstack/sessions -mmin -120 -type f 2>/dev/null | wc -l | tr -d ' ')fix Log the session tracking: echo "[gstack-setup] Session tracking: session $PPID recorded for deduplication (run 'rm -rf ~/.gstack/sessions' to disable)." Add a configuration option ~/.gstack/config.json: { "track_sessions": false } to let users opt out. Skip session setup if this config is false.