Skip to content

refactor(design): move cross-tool wireframe conventions into Designer Denise - #48

Merged
mujtaba3B merged 3 commits into
mainfrom
sidequest/wireframes-into-denise
Aug 5, 2026
Merged

refactor(design): move cross-tool wireframe conventions into Designer Denise#48
mujtaba3B merged 3 commits into
mainfrom
sidequest/wireframes-into-denise

Conversation

@mujtaba3B

@mujtaba3B mujtaba3B commented Jul 1, 2026

Copy link
Copy Markdown
Owner

What

Moves the tool-agnostic wireframe conventions out of the workspace-level ~/dev/WIREFRAMES.md and into the Designer Denise design plugin, so Denise owns them. Sidequest handoff from a separate session.

New home

  • design/references/wireframes-cross-tool.md (new): tool-agnostic canvas principles (layout axes, no-overlap hard error, tight canvas, sticky-note annotations, the 🚧 NEW NEW marker + post-deploy demotion sweep, LEGEND). Canonical cross-tool source of truth any future non-Pencil tool (Figma, tldraw, Balsamiq) reads.
  • pencil-mockup/references/wireframes.md stays the Pencil-specific superset; precedence dropped the now-gone workspace-override tier (now project spec/WIREFRAMES.md -> this file) with a pointer to the cross-tool sibling.

Repointed off ~/dev/WIREFRAMES.md

  • design: README.md, shared/core.md, pencil-mockup/SKILL.md, style-guide/SKILL.md.
  • qa (5 citations): README.md, shared/core.md, browser/SKILL.md, browser/references/happy-path-extraction.md, qa-plan/SKILL.md (attribution repoints; qa only used the axis one-liner it already states inline). Plus a refreshed stale comment in qa-status-gate.sh.
  • design plugin 1.2.0 -> 1.3.0 + pencil-mockup CHANGELOG entry. No qa version bump (pure doc-citation repoint).

Companion PR

mujtaba3B/dev#77 deletes ~/dev/WIREFRAMES.md and repoints its README. Merge this PR first, then #77 (this one repoints the plugins off the workspace file; the reference is an optional override so order is not load-bearing).


QA

📄 Plan view: https://claude.ai/code/artifact/1d970a4e-4669-4483-bde5-c4df63de292a (rendered companion; this section stays the source of truth)

QA driver: Claude (the building agent (this session)) - the whole flow is a local bin/install plus filesystem assertions, fully automatable, and this session can drive it and record evidence now.
Standard (all green): unit tests · lint/types · CI · /eng:cr

🖥️ Development

Before merging, we refresh the copy of the plugin that Claude actually runs from and prove the new conventions file is really in there, because merging alone does not update it.

Tester Check Expect Notes
[x] claude Run bin/install to refresh the plugin cache Exits 0 and design 1.3.0 appears in the cache Skills load from ~/.claude/plugins/cache/gstack-extensions/, never the repo. Cache held 1.2.0 before this.
[x] claude Confirm the new reference shipped INTO the cache .../design/1.3.0/references/wireframes-cross-tool.md exists This is the file a real Denise run reads. Repo presence proves nothing.
[x] claude Grep the currently-loaded plugin versions for the retired workspace path Zero live citations in design/1.3.0 + qa/3.6.1 Criterion amended during execution. Originally worded "zero cached files", which failed at 17/21. Cause was my wording, not the change: 16 hits are in superseded version dirs (design/1.2.0, qa/3.5.0, qa/3.6.0) that Claude no longer loads, and 1 is the deliberate historical scope note in the 1.3.0 CHANGELOG. Amended to the property that actually matters.
[x] claude Resolve every wireframe citation in the cached design + qa plugins Every cited path exists on disk Catches a repoint that names a file which was never actually shipped, the exact bug this PR sat on for a month.
[x] claude claude plugin validate . --strict Passes Confirms the 1.2.0 to 1.3.0 manifest bump is coherent.

🚀 Production

After the companion PR deletes the old workspace file, we re-run the same check, because that deletion is what turns a leftover citation from harmless into broken.

Tester Check Expect Notes
claude Re-run the cache citation grep AFTER ~/dev deletes WIREFRAMES.md Still zero cited paths dangling This ordering is the whole safety argument for allowing the deletion.
claude Resolve Denise's conventions the way a real run does, from the installed plugin The cross-tool reference resolves and carries the shared principles Verifies the runtime consumer, not the repo.

Production artifacts:

  • Cached plugin dir ~/.claude/plugins/cache/gstack-extensions/design/1.3.0/ on the laptop (mujtabas-laptop), exercised by loading the Designer Denise skills.
  • Cached plugin dir ~/.claude/plugins/cache/gstack-extensions/qa/<installed-version>/ on the same host, exercised by loading the QA Quincey skills.
  • There is no remote deploy target: this repo's "production" is the local plugin cache, refreshed by bin/install.

Dev QA evidence (run 2026-08-05 by claude at e1d9f81, installed from a detached checkout of the PR commit so the marketplace path stayed canonical):

  • DQ1 bin/install exit 0; cache went from design 1.2.0 to 1.2.0 1.3.0.
  • DQ2 design/1.3.0/references/wireframes-cross-tool.md present, 86 lines.
  • DQ3 current versions clean; see the amended note in the row above.
  • DQ4 all cited wireframe paths resolve. Six looked unresolved to a naive check; all six are cross-plugin prose naming the design plugin explicitly, and the target exists.
  • DQ5 claude plugin validate . --strict exit 0.
  • Incidental: the PR body's earlier "No qa version bump" note is stale. main moved qa to 3.6.1 and the branch inherited it, so the repointed qa citations did reach a fresh cache dir.

Definition of Done:

  • Tests written and green (CI bats hook suites pass; no unit-testable surface in a docs diff)
  • Independent local review clear (/eng:cr) + CodeRabbit addressed
  • Docs updated where user-facing
  • where-things-run.json bumped if the deploy changed hosts (N/A: no host change, local plugin cache only)

QA posture: Pre-merge -> state QA_STATUS: dev_verified + EVIDENCE: once every Dev QA box and every Definition-of-Done box is checked. Post-deploy -> state QA_STATUS: prod_verified + EVIDENCE: once the Prod QA rows are verified live.


Supersedes the handbook-standard plan's "WIREFRAMES.md stays a git-tracked sibling reference spec" line (noted, not edited).

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Added unified wireframing guidance covering layout, spacing, annotations, planned views, frame overlap, and required legends.
    • Clarified that project-level wireframe instructions take precedence, with centralized bundled guidance as the baseline.
    • Removed workspace-level wireframe fallback references.
    • Updated design and QA guidance to use the cross-tool conventions.
    • Clarified Pencil-specific guidance as the superset of shared principles.
  • Chores
    • Updated the design plugin to version 1.3.0 and documented the guidance changes.

… Denise

Retire the workspace-level ~/dev/WIREFRAMES.md as the cross-tool source of
truth and give Designer Denise ownership. The tool-agnostic canvas principles
(axes, no-overlap, tight canvas, sticky notes, the NEW NEW marker + demotion
sweep, LEGEND) now live in the design pack at
design/references/wireframes-cross-tool.md.

- New: design/references/wireframes-cross-tool.md (tool-agnostic principles).
- pencil-mockup/references/wireframes.md stays the Pencil-specific superset;
  its precedence drops the workspace-override tier (now project spec/WIREFRAMES.md
  -> this file) and points at the cross-tool sibling for non-Pencil tools.
- Repointed design README, shared/core.md, pencil-mockup SKILL, style-guide SKILL
  off the ~/dev/WIREFRAMES.md path.
- Repointed the qa plugin's 5 citations (README, shared/core.md, browser SKILL,
  happy-path-extraction, qa-plan SKILL) and refreshed a stale gate-script comment.
- design plugin 1.2.0 -> 1.3.0 with a pencil-mockup CHANGELOG entry.

The matching removal of ~/dev/WIREFRAMES.md and the ~/dev/CLAUDE.md pointer
repoint land in a separate ~/dev PR (the CLAUDE.md edit is behind the approval
gate).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mujtaba3B mujtaba3B self-assigned this Jul 1, 2026
@coderabbitai

coderabbitai Bot commented Jul 1, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The PR adds shared cross-tool wireframe rules, removes workspace-level precedence, updates design and QA references, and releases the design plugin as version 1.3.0.

Changes

Wireframe convention update

Layer / File(s) Summary
Shared wireframe reference
design/references/wireframes-cross-tool.md
Adds rules for canvas layout, frame overlap, spacing, annotations, planned views, post-deploy cleanup, and LEGEND frames.
Design reference precedence
design/README.md, design/shared/core.md, design/skills/pencil-mockup/*, design/skills/style-guide/SKILL.md
Design guidance now uses project-level spec/WIREFRAMES.md and bundled references. It removes the workspace-level fallback.
QA routing and release alignment
qa/README.md, qa/shared/core.md, qa/skills/browser/*, qa/skills/qa-plan/SKILL.md, qa/hooks/scripts/qa-status-gate.sh, design/.claude-plugin/plugin.json, design/skills/pencil-mockup/CHANGELOG.md
QA references now use the shared wireframe document. The hook comment names LOG.md. The design plugin version changes to 1.3.0.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Poem

Shared rules cross the canvas wide,
Project guidance sets the stride.
Workspace paths leave the view,
QA follows the reference too.
Version 1.3.0 marks the tune.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: moving cross-tool wireframe conventions into the design plugin.

Comment @coderabbitai help to get the list of available commands.

@mujtaba3B mujtaba3B added the documentation Improvements or additions to documentation label Jul 1, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@design/references/wireframes-cross-tool.md`:
- Around line 27-29: Resolve the contradictory touching-edge guidance in the
layout contract by stating a single rule for frames with visible strokes and
frameless frames. Update the opening overlap rule and the subsequent principle
consistently so the same geometry always has one defined outcome.

In `@design/shared/core.md`:
- Line 18: Update the source-of-truth guidance in the referenced design
documentation by removing the duplicated “load-bearing points” summary following
the instruction to read wireframes.md. Keep wireframes.md authoritative and
retain only the runtime-loading and project-level precedence guidance.

In `@design/skills/pencil-mockup/CHANGELOG.md`:
- Around line 3-5: Update the v1.3.0 changelog entry to clarify that Denise’s
precedence chain no longer uses ~/dev/WIREFRAMES.md, without claiming the
workspace file itself was removed; state that its removal is pending if needed.

In `@design/skills/pencil-mockup/references/wireframes.md`:
- Around line 8-10: Update the Pencil reference in wireframes.md so it does not
tell Pencil work to ignore wireframes-cross-tool.md; instead, make the shared
cross-tool file authoritative and keep only Pencil-specific rules in this file.
Use the existing wireframes.md and ../../../references/wireframes-cross-tool.md
symbols as the source of truth relationship, and either remove the copied shared
guidance here or add a drift check that keeps both references aligned.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 269005a9-62bf-4517-b89e-49315e1cb430

📥 Commits

Reviewing files that changed from the base of the PR and between 212a83e and 8ff30cf.

📒 Files selected for processing (14)
  • design/.claude-plugin/plugin.json
  • design/README.md
  • design/references/wireframes-cross-tool.md
  • design/shared/core.md
  • design/skills/pencil-mockup/CHANGELOG.md
  • design/skills/pencil-mockup/SKILL.md
  • design/skills/pencil-mockup/references/wireframes.md
  • design/skills/style-guide/SKILL.md
  • qa/README.md
  • qa/hooks/scripts/qa-status-gate.sh
  • qa/shared/core.md
  • qa/skills/browser/SKILL.md
  • qa/skills/browser/references/happy-path-extraction.md
  • qa/skills/qa-plan/SKILL.md

Comment thread design/references/wireframes-cross-tool.md Outdated
Comment thread design/shared/core.md Outdated
Comment thread design/skills/pencil-mockup/CHANGELOG.md Outdated
Comment thread design/skills/pencil-mockup/references/wireframes.md Outdated
…move

Four findings from the PR #48 review, all valid:

- Resolve the self-contradicting overlap rule. It said edges touching is
  fine, then said touching counts as overlap with visible strokes, giving
  the same geometry two outcomes. Now: never overlap, touch only when
  neither frame renders a stroke.
- Stop the CHANGELOG claiming ~/dev/WIREFRAMES.md "was retired". The
  companion ~/dev PR that deletes it is still open, so the file is on
  disk; this release only drops it from Denise's precedence chain. The
  false-completion claim had already misled a later session into nearly
  deleting the only remaining copy.
- Label core.md's bullets a non-authoritative checklist instead of
  telling readers not to paraphrase and then paraphrasing.
- Make the cross-tool reference authoritative for shared principles
  rather than telling Pencil work to ignore it. The original
  self-contained rationale came from PR #28, when the shared file lived
  outside the plugin; both files now ship in the design plugin, so a
  reference between them always resolves and the duplication no longer
  buys portability.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011GsGa24cyrLQ85FswVAiBX
@mujtaba3B
mujtaba3B merged commit 77ffd79 into main Aug 5, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant