diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 6d0e4ea7..18a44763 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -19,6 +19,16 @@ "source": "./plugins/uxd-assist", "description": "UXD skill routing — discover the right skills for research, design review, and prototyping workflows" }, + { + "name": "uxd-design", + "source": "./plugins/uxd-design", + "description": "UX design workflow — Figma context, design evaluation, and implementation handoff" + }, + { + "name": "uxd-research", + "source": "./plugins/uxd-research", + "description": "UX research pipeline — heuristic evaluation, usability testing, research methodology" + }, { "name": "uxd-workshop", "source": "./plugins/uxd-workshop", diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index 084c455f..5ae9d34c 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -14,6 +14,16 @@ "source": "./plugins/uxd-assist", "description": "UXD skill routing — discover the right skills for research, design review, and prototyping workflows" }, + { + "name": "uxd-design", + "source": "./plugins/uxd-design", + "description": "UX design workflow — Figma context, design evaluation, and implementation handoff" + }, + { + "name": "uxd-research", + "source": "./plugins/uxd-research", + "description": "UX research pipeline — heuristic evaluation, usability testing, research methodology" + }, { "name": "uxd-workshop", "source": "./plugins/uxd-workshop", diff --git a/plugins/uxd-assist/agents/eval/eval.yaml b/plugins/uxd-assist/agents/eval/eval.yaml index c131551e..aaa13133 100644 --- a/plugins/uxd-assist/agents/eval/eval.yaml +++ b/plugins/uxd-assist/agents/eval/eval.yaml @@ -68,7 +68,7 @@ judges: return False, f"Non-UXD task got UXD skill invocations: {uxd_skills}" text = outputs.get("conversation", "").lower() uxd_subskills = [ - "uxd-research-heuristic-eval", "uxd-figma-read", + "uxd-research-heuristic-eval", "uxd-discovery", "uxd-design-handoff", "uxd-figma-read", "uxd-evaluate-design-heuristics", "uxd-prototype-create", "uxd-prototype-evaluate", "uxd-prototype-export", "uxd-prototype-publish" diff --git a/plugins/uxd-assist/agents/uxd-assist.md b/plugins/uxd-assist/agents/uxd-assist.md index c6f7f628..38bd4a26 100644 --- a/plugins/uxd-assist/agents/uxd-assist.md +++ b/plugins/uxd-assist/agents/uxd-assist.md @@ -14,6 +14,15 @@ When the user asks about heuristic evaluation, usability assessment, or structur | Skill | What it does | |-------|-------------| | `/uxd-research-heuristic-eval` | Conduct a structured heuristic evaluation grounded in research methodology | +| `/uxd-research:uxd-discovery` | Frame a design problem, user groups, strategic decisions, and constraints | + +## Design — handoff and design artifacts + +When the user is moving from a validated design into implementation, these skills are available: + +| Skill | What it does | +|-------|-------------| +| `/uxd-design:uxd-design-handoff` | Produce an implementation-ready handoff with component mappings, states, interactions, and acceptance criteria | ## Design Review — evaluating designs or Figma artifacts diff --git a/plugins/uxd-design/.claude-plugin/plugin.json b/plugins/uxd-design/.claude-plugin/plugin.json new file mode 100644 index 00000000..dc9338a5 --- /dev/null +++ b/plugins/uxd-design/.claude-plugin/plugin.json @@ -0,0 +1,7 @@ +{ + "name": "uxd-design", + "description": "UX design workflow — Figma context, design evaluation, and implementation handoff", + "author": { "name": "UXD Team" }, + "repository": "https://github.com/rh-uxd/ai-helpers", + "license": "Apache-2.0" +} diff --git a/plugins/uxd-design/.cursor-plugin/plugin.json b/plugins/uxd-design/.cursor-plugin/plugin.json new file mode 100644 index 00000000..dc9338a5 --- /dev/null +++ b/plugins/uxd-design/.cursor-plugin/plugin.json @@ -0,0 +1,7 @@ +{ + "name": "uxd-design", + "description": "UX design workflow — Figma context, design evaluation, and implementation handoff", + "author": { "name": "UXD Team" }, + "repository": "https://github.com/rh-uxd/ai-helpers", + "license": "Apache-2.0" +} diff --git a/plugins/uxd-workshop/skills/uxd-design-handoff/SKILL.md b/plugins/uxd-design/skills/uxd-design-handoff/SKILL.md similarity index 100% rename from plugins/uxd-workshop/skills/uxd-design-handoff/SKILL.md rename to plugins/uxd-design/skills/uxd-design-handoff/SKILL.md diff --git a/plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/asks-for-design/annotations.yaml b/plugins/uxd-design/skills/uxd-design-handoff/eval/cases/asks-for-design/annotations.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/asks-for-design/annotations.yaml rename to plugins/uxd-design/skills/uxd-design-handoff/eval/cases/asks-for-design/annotations.yaml diff --git a/plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/asks-for-design/answers.yaml b/plugins/uxd-design/skills/uxd-design-handoff/eval/cases/asks-for-design/answers.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/asks-for-design/answers.yaml rename to plugins/uxd-design/skills/uxd-design-handoff/eval/cases/asks-for-design/answers.yaml diff --git a/plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/asks-for-design/input.yaml b/plugins/uxd-design/skills/uxd-design-handoff/eval/cases/asks-for-design/input.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/asks-for-design/input.yaml rename to plugins/uxd-design/skills/uxd-design-handoff/eval/cases/asks-for-design/input.yaml diff --git a/plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/generates-acceptance-criteria/annotations.yaml b/plugins/uxd-design/skills/uxd-design-handoff/eval/cases/generates-acceptance-criteria/annotations.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/generates-acceptance-criteria/annotations.yaml rename to plugins/uxd-design/skills/uxd-design-handoff/eval/cases/generates-acceptance-criteria/annotations.yaml diff --git a/plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/generates-acceptance-criteria/answers.yaml b/plugins/uxd-design/skills/uxd-design-handoff/eval/cases/generates-acceptance-criteria/answers.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/generates-acceptance-criteria/answers.yaml rename to plugins/uxd-design/skills/uxd-design-handoff/eval/cases/generates-acceptance-criteria/answers.yaml diff --git a/plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/generates-acceptance-criteria/fixture-design.md b/plugins/uxd-design/skills/uxd-design-handoff/eval/cases/generates-acceptance-criteria/fixture-design.md similarity index 100% rename from plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/generates-acceptance-criteria/fixture-design.md rename to plugins/uxd-design/skills/uxd-design-handoff/eval/cases/generates-acceptance-criteria/fixture-design.md diff --git a/plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/generates-acceptance-criteria/input.yaml b/plugins/uxd-design/skills/uxd-design-handoff/eval/cases/generates-acceptance-criteria/input.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/generates-acceptance-criteria/input.yaml rename to plugins/uxd-design/skills/uxd-design-handoff/eval/cases/generates-acceptance-criteria/input.yaml diff --git a/plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/prototype-input/annotations.yaml b/plugins/uxd-design/skills/uxd-design-handoff/eval/cases/prototype-input/annotations.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/prototype-input/annotations.yaml rename to plugins/uxd-design/skills/uxd-design-handoff/eval/cases/prototype-input/annotations.yaml diff --git a/plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/prototype-input/answers.yaml b/plugins/uxd-design/skills/uxd-design-handoff/eval/cases/prototype-input/answers.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/prototype-input/answers.yaml rename to plugins/uxd-design/skills/uxd-design-handoff/eval/cases/prototype-input/answers.yaml diff --git a/plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/prototype-input/fixture-design.md b/plugins/uxd-design/skills/uxd-design-handoff/eval/cases/prototype-input/fixture-design.md similarity index 100% rename from plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/prototype-input/fixture-design.md rename to plugins/uxd-design/skills/uxd-design-handoff/eval/cases/prototype-input/fixture-design.md diff --git a/plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/prototype-input/input.yaml b/plugins/uxd-design/skills/uxd-design-handoff/eval/cases/prototype-input/input.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/prototype-input/input.yaml rename to plugins/uxd-design/skills/uxd-design-handoff/eval/cases/prototype-input/input.yaml diff --git a/plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/state-enumeration/annotations.yaml b/plugins/uxd-design/skills/uxd-design-handoff/eval/cases/state-enumeration/annotations.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/state-enumeration/annotations.yaml rename to plugins/uxd-design/skills/uxd-design-handoff/eval/cases/state-enumeration/annotations.yaml diff --git a/plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/state-enumeration/answers.yaml b/plugins/uxd-design/skills/uxd-design-handoff/eval/cases/state-enumeration/answers.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/state-enumeration/answers.yaml rename to plugins/uxd-design/skills/uxd-design-handoff/eval/cases/state-enumeration/answers.yaml diff --git a/plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/state-enumeration/fixture-design.md b/plugins/uxd-design/skills/uxd-design-handoff/eval/cases/state-enumeration/fixture-design.md similarity index 100% rename from plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/state-enumeration/fixture-design.md rename to plugins/uxd-design/skills/uxd-design-handoff/eval/cases/state-enumeration/fixture-design.md diff --git a/plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/state-enumeration/input.yaml b/plugins/uxd-design/skills/uxd-design-handoff/eval/cases/state-enumeration/input.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-design-handoff/eval/cases/state-enumeration/input.yaml rename to plugins/uxd-design/skills/uxd-design-handoff/eval/cases/state-enumeration/input.yaml diff --git a/plugins/uxd-workshop/skills/uxd-design-handoff/eval/eval.yaml b/plugins/uxd-design/skills/uxd-design-handoff/eval/eval.yaml similarity index 99% rename from plugins/uxd-workshop/skills/uxd-design-handoff/eval/eval.yaml rename to plugins/uxd-design/skills/uxd-design-handoff/eval/eval.yaml index de49fcb8..0394b6a7 100644 --- a/plugins/uxd-workshop/skills/uxd-design-handoff/eval/eval.yaml +++ b/plugins/uxd-design/skills/uxd-design-handoff/eval/eval.yaml @@ -3,7 +3,7 @@ description: >- Evaluate uxd-design-handoff component mapping, state enumeration, acceptance criteria traceability, and output structure -skill: uxd-workshop:uxd-design-handoff +skill: uxd-design:uxd-design-handoff execution: mode: case diff --git a/plugins/uxd-workshop/skills/uxd-discovery/SKILL.md b/plugins/uxd-research/skills/uxd-discovery/SKILL.md similarity index 100% rename from plugins/uxd-workshop/skills/uxd-discovery/SKILL.md rename to plugins/uxd-research/skills/uxd-discovery/SKILL.md diff --git a/plugins/uxd-workshop/skills/uxd-discovery/eval/cases/asks-for-input/annotations.yaml b/plugins/uxd-research/skills/uxd-discovery/eval/cases/asks-for-input/annotations.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-discovery/eval/cases/asks-for-input/annotations.yaml rename to plugins/uxd-research/skills/uxd-discovery/eval/cases/asks-for-input/annotations.yaml diff --git a/plugins/uxd-workshop/skills/uxd-discovery/eval/cases/asks-for-input/answers.yaml b/plugins/uxd-research/skills/uxd-discovery/eval/cases/asks-for-input/answers.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-discovery/eval/cases/asks-for-input/answers.yaml rename to plugins/uxd-research/skills/uxd-discovery/eval/cases/asks-for-input/answers.yaml diff --git a/plugins/uxd-workshop/skills/uxd-discovery/eval/cases/asks-for-input/input.yaml b/plugins/uxd-research/skills/uxd-discovery/eval/cases/asks-for-input/input.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-discovery/eval/cases/asks-for-input/input.yaml rename to plugins/uxd-research/skills/uxd-discovery/eval/cases/asks-for-input/input.yaml diff --git a/plugins/uxd-workshop/skills/uxd-discovery/eval/cases/feature-description/annotations.yaml b/plugins/uxd-research/skills/uxd-discovery/eval/cases/feature-description/annotations.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-discovery/eval/cases/feature-description/annotations.yaml rename to plugins/uxd-research/skills/uxd-discovery/eval/cases/feature-description/annotations.yaml diff --git a/plugins/uxd-workshop/skills/uxd-discovery/eval/cases/feature-description/answers.yaml b/plugins/uxd-research/skills/uxd-discovery/eval/cases/feature-description/answers.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-discovery/eval/cases/feature-description/answers.yaml rename to plugins/uxd-research/skills/uxd-discovery/eval/cases/feature-description/answers.yaml diff --git a/plugins/uxd-workshop/skills/uxd-discovery/eval/cases/feature-description/input.yaml b/plugins/uxd-research/skills/uxd-discovery/eval/cases/feature-description/input.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-discovery/eval/cases/feature-description/input.yaml rename to plugins/uxd-research/skills/uxd-discovery/eval/cases/feature-description/input.yaml diff --git a/plugins/uxd-workshop/skills/uxd-discovery/eval/cases/identifies-user-groups/annotations.yaml b/plugins/uxd-research/skills/uxd-discovery/eval/cases/identifies-user-groups/annotations.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-discovery/eval/cases/identifies-user-groups/annotations.yaml rename to plugins/uxd-research/skills/uxd-discovery/eval/cases/identifies-user-groups/annotations.yaml diff --git a/plugins/uxd-workshop/skills/uxd-discovery/eval/cases/identifies-user-groups/answers.yaml b/plugins/uxd-research/skills/uxd-discovery/eval/cases/identifies-user-groups/answers.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-discovery/eval/cases/identifies-user-groups/answers.yaml rename to plugins/uxd-research/skills/uxd-discovery/eval/cases/identifies-user-groups/answers.yaml diff --git a/plugins/uxd-workshop/skills/uxd-discovery/eval/cases/identifies-user-groups/fixture-jira.md b/plugins/uxd-research/skills/uxd-discovery/eval/cases/identifies-user-groups/fixture-jira.md similarity index 100% rename from plugins/uxd-workshop/skills/uxd-discovery/eval/cases/identifies-user-groups/fixture-jira.md rename to plugins/uxd-research/skills/uxd-discovery/eval/cases/identifies-user-groups/fixture-jira.md diff --git a/plugins/uxd-workshop/skills/uxd-discovery/eval/cases/identifies-user-groups/input.yaml b/plugins/uxd-research/skills/uxd-discovery/eval/cases/identifies-user-groups/input.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-discovery/eval/cases/identifies-user-groups/input.yaml rename to plugins/uxd-research/skills/uxd-discovery/eval/cases/identifies-user-groups/input.yaml diff --git a/plugins/uxd-workshop/skills/uxd-discovery/eval/cases/jira-input/annotations.yaml b/plugins/uxd-research/skills/uxd-discovery/eval/cases/jira-input/annotations.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-discovery/eval/cases/jira-input/annotations.yaml rename to plugins/uxd-research/skills/uxd-discovery/eval/cases/jira-input/annotations.yaml diff --git a/plugins/uxd-workshop/skills/uxd-discovery/eval/cases/jira-input/answers.yaml b/plugins/uxd-research/skills/uxd-discovery/eval/cases/jira-input/answers.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-discovery/eval/cases/jira-input/answers.yaml rename to plugins/uxd-research/skills/uxd-discovery/eval/cases/jira-input/answers.yaml diff --git a/plugins/uxd-workshop/skills/uxd-discovery/eval/cases/jira-input/fixture-jira.md b/plugins/uxd-research/skills/uxd-discovery/eval/cases/jira-input/fixture-jira.md similarity index 100% rename from plugins/uxd-workshop/skills/uxd-discovery/eval/cases/jira-input/fixture-jira.md rename to plugins/uxd-research/skills/uxd-discovery/eval/cases/jira-input/fixture-jira.md diff --git a/plugins/uxd-workshop/skills/uxd-discovery/eval/cases/jira-input/input.yaml b/plugins/uxd-research/skills/uxd-discovery/eval/cases/jira-input/input.yaml similarity index 100% rename from plugins/uxd-workshop/skills/uxd-discovery/eval/cases/jira-input/input.yaml rename to plugins/uxd-research/skills/uxd-discovery/eval/cases/jira-input/input.yaml diff --git a/plugins/uxd-workshop/skills/uxd-discovery/eval/eval.yaml b/plugins/uxd-research/skills/uxd-discovery/eval/eval.yaml similarity index 99% rename from plugins/uxd-workshop/skills/uxd-discovery/eval/eval.yaml rename to plugins/uxd-research/skills/uxd-discovery/eval/eval.yaml index 2c52ab66..a9152480 100644 --- a/plugins/uxd-workshop/skills/uxd-discovery/eval/eval.yaml +++ b/plugins/uxd-research/skills/uxd-discovery/eval/eval.yaml @@ -2,7 +2,7 @@ name: uxd-discovery-eval description: >- Evaluate uxd-discovery brief generation, input handling, and output structure -skill: uxd-workshop:uxd-discovery +skill: uxd-research:uxd-discovery execution: mode: case