@sallmarta/eye-hate-agent 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +56 -304
  2. package/bin/eha.js +203 -118
  3. package/docs/templates/project-docs-template/index.md +208 -0
  4. package/docs/templates/project-docs-template/technical-guidelines/index.md +81 -0
  5. package/docs/templates/reusable-prompts/00-project-docs-bootstrap.md +40 -0
  6. package/docs/{vibes → templates}/reusable-prompts/00-project-docs-parity.md +4 -6
  7. package/docs/{vibes → templates}/reusable-prompts/00-project-docs-refresh.md +11 -11
  8. package/docs/{vibes → templates}/reusable-prompts/01-sdd-execute.md +1 -1
  9. package/docs/{vibes → templates}/reusable-prompts/02-sdd-discuss.md +3 -3
  10. package/{.agents/rules/agent.md → docs/templates/rules/agent-rules.md} +7 -12
  11. package/docs/{vibes → templates}/skills/api-design/SKILL.md +14 -25
  12. package/docs/{vibes/skills/full-verification → templates/skills/code-audit}/SKILL.md +36 -54
  13. package/docs/templates/skills/db-schema-design/SKILL.md +120 -0
  14. package/docs/templates/skills/devops-ci-cd/SKILL.md +99 -0
  15. package/docs/templates/skills/observability/SKILL.md +99 -0
  16. package/docs/{vibes/skills/parity → templates/skills/parity-audit}/SKILL.md +26 -52
  17. package/docs/templates/skills/refactor/SKILL.md +100 -0
  18. package/docs/templates/skills/security-audit/SKILL.md +149 -0
  19. package/docs/{vibes/skills/analysis → templates/skills/system-analysis}/SKILL.md +19 -41
  20. package/docs/{vibes/skills/test-authoring → templates/skills/system-tester}/SKILL.md +28 -46
  21. package/docs/templates/skills/ui-ux-design/SKILL.md +102 -0
  22. package/docs/templates/skills/wireframing/SKILL.md +88 -0
  23. package/package.json +4 -6
  24. package/src/engine/index.js +9 -12
  25. package/src/engine/install.js +67 -165
  26. package/src/engine/runtime-adapters.js +266 -50
  27. package/src/engine/skill-registry.js +72 -0
  28. package/src/engine/state.js +29 -7
  29. package/src/engine/workflow-registry.js +14 -23
  30. package/.claude/commands/eha/README.md +0 -3
  31. package/.claude/commands/eha/eha-bootstrap.md +0 -9
  32. package/.claude/commands/eha/eha-discuss.md +0 -9
  33. package/.claude/commands/eha/eha-execute.md +0 -9
  34. package/.claude/commands/eha/eha-parity.md +0 -9
  35. package/.claude/commands/eha/eha-refresh.md +0 -9
  36. package/.claude/commands/eha/eha-verify.md +0 -9
  37. package/.claude/rules/agent-rules.md +0 -64
  38. package/.github/instructions/agent-rules.instructions.md +0 -63
  39. package/.github/instructions/eha-workflows.instructions.md +0 -21
  40. package/docs/eyehateagent-contract.md +0 -475
  41. package/docs/eyehateagent-maintenance.md +0 -103
  42. package/docs/project-docs/changelog.md +0 -299
  43. package/docs/project-docs/foundation/architecture.md +0 -117
  44. package/docs/project-docs/foundation/status.md +0 -32
  45. package/docs/project-docs/foundation/workflow.md +0 -63
  46. package/docs/project-docs/index.md +0 -20
  47. package/docs/project-docs/testing.md +0 -73
  48. package/docs/vibes/project-docs-template/foundation/architecture.md +0 -79
  49. package/docs/vibes/project-docs-template/foundation/changelog.md +0 -53
  50. package/docs/vibes/project-docs-template/foundation/feature-inventory.md +0 -46
  51. package/docs/vibes/project-docs-template/foundation/phases.md +0 -60
  52. package/docs/vibes/project-docs-template/foundation/prd.md +0 -69
  53. package/docs/vibes/project-docs-template/foundation/status.md +0 -57
  54. package/docs/vibes/project-docs-template/foundation/workflow.md +0 -59
  55. package/docs/vibes/project-docs-template/getting-started.md +0 -52
  56. package/docs/vibes/project-docs-template/index.md +0 -66
  57. package/docs/vibes/project-docs-template/operations/ci-cd.md +0 -56
  58. package/docs/vibes/project-docs-template/operations/compliance.md +0 -46
  59. package/docs/vibes/project-docs-template/operations/governance.md +0 -46
  60. package/docs/vibes/project-docs-template/operations/observability.md +0 -53
  61. package/docs/vibes/project-docs-template/operations/production-runbook.md +0 -62
  62. package/docs/vibes/project-docs-template/operations/security.md +0 -49
  63. package/docs/vibes/project-docs-template/technical/api-contract.md +0 -49
  64. package/docs/vibes/project-docs-template/technical/database.md +0 -59
  65. package/docs/vibes/project-docs-template/technical/error-handling.md +0 -54
  66. package/docs/vibes/project-docs-template/technical/internationalization.md +0 -46
  67. package/docs/vibes/project-docs-template/technical/testing.md +0 -57
  68. package/docs/vibes/project-docs-template/technical/ui-ux.md +0 -68
  69. package/docs/vibes/project-docs-template/technical-guidelines/index.md +0 -52
  70. package/docs/vibes/reusable-prompts/00-project-docs-bootstrap.md +0 -59
  71. package/docs/vibes/skills/code-audit/SKILL.md +0 -170
  72. package/docs/vibes/skills/project-elevation/SKILL.md +0 -157
  73. package/docs/vibes/skills/test-authoring/references/patterns.md +0 -116
  74. package/docs/vibes/skills/test-authoring/references/test-types.md +0 -52
@@ -1,34 +1,29 @@
1
1
  ---
2
- name: analysis
2
+ name: "system-analysis"
3
3
  description: "Project-aware expert-role analysis for architecture, debugging, trade-offs, risk, performance, requirements, and design questions. Reads project docs first, then applies expert structured reasoning to the current repository context."
4
4
  argument-hint: "Describe the problem, decision, artifact, or system to analyze"
5
5
  ---
6
6
 
7
- # Analysis — Project-Aware
7
+ # System Analysis
8
8
 
9
9
  Produces a **rigorous, expert-level analysis** of a problem, decision, artifact, or system after first reading the project documentation that defines the repository's actual context.
10
10
 
11
11
  This skill is reusable across product, backend, frontend, infrastructure, monorepo, and documentation-heavy projects. It should not assume a particular stack until the project docs confirm it.
12
12
 
13
- ---
14
-
15
13
  ## Required Project Inputs
16
14
 
17
15
  | Document | Why it matters |
18
16
  | --- | --- |
19
-
20
17
  | `docs/project-docs/foundation/prd.md` | Clarifies goals, scope, stakeholders, and success metrics |
21
18
  | `docs/project-docs/foundation/architecture.md` | Defines stack, boundaries, integration model, constraints, and runtime assumptions |
22
19
  | `docs/project-docs/foundation/status.md` | Reveals maturity, roadmap, active workstreams, and known blockers |
23
- | `docs/project-docs/technical/testing.md` | Shows what validation exists and how strong the available evidence can be |
20
+ | `docs/project-docs/development/testing.md` | Shows what validation exists and how strong the available evidence can be |
24
21
  | Relevant feature, workflow, API, or guideline docs | Supply domain-specific truth for the topic being analyzed |
25
22
  | Relevant code, logs, tests, or runtime evidence | Support findings with direct evidence rather than guesswork |
26
23
 
27
24
  If the required project docs are missing, note the gap explicitly and limit confidence accordingly.
28
25
 
29
- ---
30
-
31
- ## When To Use
26
+ ## When to Use
32
27
 
33
28
  | Trigger | Example request |
34
29
  | --- | --- |
@@ -40,8 +35,6 @@ If the required project docs are missing, note the gap explicitly and limit conf
40
35
  | Performance diagnosis | "Analyze where this request path will bottleneck" |
41
36
  | Product or roadmap question | "Analyze whether this feature belongs in MVP" |
42
37
 
43
- ---
44
-
45
38
  ## Procedure
46
39
 
47
40
  ### Step 1 — Understand the question
@@ -121,22 +114,7 @@ When comparing options or hypotheses:
121
114
  - say what could change the conclusion
122
115
  - tie the recommendation back to the project's actual constraints
123
116
 
124
- ---
125
-
126
- ## Output Contract
127
-
128
- Your output should include:
129
-
130
- 1. summary
131
- 2. analysis by area or component
132
- 3. key findings ordered by importance
133
- 4. recommendation or decision guidance
134
- 5. risks and open questions
135
- 6. confidence and evidence limitations when relevant
136
-
137
- ---
138
-
139
- ## Quality Checks
117
+ ## Quality Check
140
118
 
141
119
  - No claim without evidence or clearly marked assumption
142
120
  - No false precision when evidence is weak
@@ -144,9 +122,7 @@ Your output should include:
144
122
  - No vague recommendation without an actionable next step
145
123
  - No hidden stack assumptions that were not confirmed from project docs
146
124
 
147
- ---
148
-
149
- ## Anti-Patterns
125
+ ## Anti-Pattern
150
126
 
151
127
  - Listing facts without evaluating them
152
128
  - Jumping to the first plausible conclusion
@@ -154,20 +130,22 @@ Your output should include:
154
130
  - Recommending a rewrite when an incremental fix would solve the problem
155
131
  - Ignoring the project stage, roadmap, or non-goals in `prd.md` and `status.md`
156
132
 
157
- ---
158
-
159
- ## Natural Prompt Shapes
133
+ ## Output Contract
160
134
 
161
- - "Why is this failing, and what do you think is the real cause?"
162
- - "Analyze this decision and tell me whether it still makes sense."
163
- - "What are the trade-offs and risks of these two options?"
164
- - "Check whether these requirements or assumptions still hold up."
135
+ When using this skill, the output should include:
165
136
 
166
- ---
137
+ 1. summary
138
+ 2. analysis by area or component
139
+ 3. key findings ordered by importance
140
+ 4. recommendation or decision guidance
141
+ 5. risks and open questions
142
+ 6. confidence and evidence limitations when relevant
167
143
 
168
- ## Example Requests
144
+ ## Neutral Prompt Shape
145
+ `@agent use system-analysis on [Target Directory/Component] focusing on [Specific Goal/Flow].`
169
146
 
147
+ ## Example Prompt
148
+ - "Analyze this decision and tell me whether it still makes sense."
170
149
  - "Analyze this module boundary for coupling risk"
171
150
  - "Analyze why this workflow fails intermittently"
172
- - "Analyze option A vs option B for this integration"
173
- - "Analyze whether this feature belongs in MVP"
151
+ - "Analyze option A vs option B for this integration"
@@ -1,10 +1,10 @@
1
1
  ---
2
- name: test-authoring
2
+ name: "system-tester"
3
3
  description: "Project-aware expert-role verification strategy and test authoring that reads project docs to choose the right frameworks, commands, layers, and templates. Use when deciding test scope, validating regressions, choosing verification strategy, and writing or reviewing tests across any stack."
4
4
  argument-hint: "Describe the behavior, bug, feature, boundary, or artifact to test"
5
5
  ---
6
6
 
7
- # Test Authoring — Project-Aware
7
+ # system-tester
8
8
 
9
9
  Produces an **expert, project-aware verification strategy and test implementation plan** by reading the repository's documentation contract first, then selecting the correct test types, commands, and conventions for the current stack.
10
10
 
@@ -12,16 +12,13 @@ This skill is intentionally **not tied to any single stack or framework**. The s
12
12
 
13
13
  This skill is **verification-strategy-first**. Its primary job is to choose the right verification boundary, check type, commands, and assertions; writing the test code is downstream of that decision when implementation is actually needed.
14
14
 
15
- ---
16
-
17
15
  ## Required Project Inputs
18
16
 
19
17
  Read the relevant docs before proposing or writing tests.
20
18
 
21
19
  | Document | Why it matters |
22
20
  | --- | --- |
23
-
24
- | `docs/project-docs/technical/testing.md` | Primary source for verification policy, commands, quality gates, and fallback rules |
21
+ | `docs/project-docs/development/testing.md` | Primary source for verification policy, commands, quality gates, and fallback rules |
25
22
  | `docs/project-docs/foundation/architecture.md` | Explains runtime boundaries, architecture pattern, integrations, storage, and enforcement rules |
26
23
  | `docs/project-docs/foundation/status.md` | Reveals current implementation state, risks, and which workstream the change belongs to |
27
24
  | Relevant feature docs under `docs/project-docs/` or `docs/project-docs/technical-guidelines/` | Provide domain-specific behavior, API contracts, or user-flow expectations |
@@ -29,9 +26,7 @@ Read the relevant docs before proposing or writing tests.
29
26
 
30
27
  If one of the required docs is missing and the task depends on it, surface that explicitly and create or update the doc instead of guessing.
31
28
 
32
- ---
33
-
34
- ## When To Use
29
+ ## When to Use
35
30
 
36
31
  | Trigger | Example request |
37
32
  | --- | --- |
@@ -40,13 +35,8 @@ If one of the required docs is missing and the task depends on it, surface that
40
35
  | Migration or persistence change | "Write a test plan for this migration change" |
41
36
  | Documentation-only repo change | "How should I validate a reusable prompt or platform instruction surface update?" |
42
37
 
43
- Use `full-verification` instead when the user wants a broad verification entry point that may need to choose between code review, docs consistency, contract review, health assessment, or executable testing.
44
-
45
- Use `code-audit` instead when the main question is whether the implementation is correct.
46
-
47
- Use `analysis` instead when the task is explaining a failure or comparing technical options rather than deciding how to verify them.
48
-
49
- ---
38
+ Use `code-audit` instead when the main question is whether the implementation is correct.
39
+ Use `system-analysis` instead when the task is explaining a failure or comparing technical options.
50
40
 
51
41
  ## Procedure
52
42
 
@@ -133,8 +123,6 @@ Separate:
133
123
  - what was not verified
134
124
  - what still depends on manual review or future automation
135
125
 
136
- ---
137
-
138
126
  ### Check Selection Matrix
139
127
 
140
128
  | Scenario | Preferred check type | Read first |
@@ -145,34 +133,27 @@ Separate:
145
133
  | Interface, handler, adapter, or contract boundary | Contract or integration test | `testing.md`, API / integration docs |
146
134
  | Interactive or end-user-visible flow | UI or end-to-end test | `testing.md`, app-flow / UI docs |
147
135
  | Asynchronous, scheduled, staged, or event-driven processing | Integration or component test | `testing.md`, `architecture.md`, workflow docs |
148
- | Rule, skill, reusable prompt, or documentation change | Consistency review or structural validation | `docs/eyehateagent-contract.md`, `testing.md` |
136
+ | Rule, skill, reusable prompt, or documentation change | Consistency review | EHA rules, `testing.md` |
149
137
 
150
- ---
138
+ ### Test Patterns Reference
151
139
 
152
- ## Output Contract
153
-
154
- When using this skill, the output should include:
140
+ #### Pattern A: Narrow Unit Or Component Test
141
+ Arrange inputs/collaborators -> Act on boundary -> Assert on value/effect. Best for pure functions, mappers, validators.
155
142
 
156
- 1. the recommended verification boundary
157
- 2. the specific check type to use
158
- 3. the project docs consulted
159
- 4. whether new or changed tests are actually needed
160
- 5. the command(s) to run, or the reason no executable command exists
161
- 6. the expected assertions or behaviors to verify
162
- 7. any residual risks or uncovered paths
143
+ #### Pattern B: Persistence Or Contract Test
144
+ Set up environment -> Insert/send inputs -> Read/decode output -> Assert on correctness. Best for schema, migrations, API compatibility.
163
145
 
164
- ---
146
+ #### Pattern C: Flow Or Interaction Test
147
+ Start from entry point -> Drive interaction -> Wait for transition -> Assert on outcome. Best for UI flows, end-to-end boundaries.
165
148
 
166
- ## Quality Checks
149
+ ## Quality Check
167
150
 
168
151
  - Choose the narrowest check that can falsify the current assumption
169
152
  - Do not recommend commands before checking `testing.md`
170
153
  - Keep the verification boundary aligned with `architecture.md`
171
154
  - Separate what was verified from what still depends on manual review or future automation
172
155
 
173
- ---
174
-
175
- ## Anti-Patterns
156
+ ## Anti-Pattern
176
157
 
177
158
  - Hardcoding one framework's tools into the skill text when that belongs in `testing.md`
178
159
  - Writing an end-to-end test when a narrow unit or contract test would falsify the same assumption
@@ -182,20 +163,21 @@ When using this skill, the output should include:
182
163
  - Treating documentation-only repositories as if they must already have executable tests
183
164
  - Confusing architecture examples with mandatory implementation details
184
165
 
185
- ---
186
-
187
- ## Natural Prompt Shapes
188
-
189
- - "What is the right way to verify this change?"
190
- - "Which tests should we add for this API or bug fix?"
191
- - "Use the correct testing approach for this stack and tell me what to run."
192
- - "Do we actually need new tests here, and if so at what boundary?"
166
+ ## Output Contract
193
167
 
194
- ---
168
+ When using this skill, the output should include:
169
+ 1. the recommended verification boundary
170
+ 2. the specific check type to use
171
+ 3. the project docs consulted
172
+ 4. whether new or changed tests are actually needed
173
+ 5. the command(s) to run, or the reason no executable command exists
174
+ 6. the expected assertions or behaviors to verify
175
+ 7. any residual risks or uncovered paths
195
176
 
196
- ## Example Requests
177
+ ## Neutral Prompt Shape
178
+ `@agent use system-tester on [Target Component/Feature] focusing on [Specific Test Boundaries].`
197
179
 
180
+ ## Example Prompt
198
181
  - "Choose the right verification for this repository-layer change"
199
182
  - "What tests should cover this API contract update?"
200
183
  - "Write a test plan for this migration change"
201
- - "This repo has no code yet — how should I validate a reusable prompt or platform instruction surface update?"
@@ -0,0 +1,102 @@
1
+ ---
2
+ name: "ui-ux-design"
3
+ description: "Project-aware expert-role for frontend UI/UX design and implementation. Reads project docs first, enforces design systems, responsive bounds, accessibility, and visual testing constraints."
4
+ argument-hint: "Describe the component, page, or interaction to build or review"
5
+ ---
6
+
7
+ # ui-ux-design
8
+
9
+ Produces a **project-aware, expert-level frontend implementation** by reading the repository's project docs first, then applying a rigorous component-driven methodology.
10
+
11
+ This skill is reusable across any frontend framework (React, Vue, Svelte, plain HTML/CSS) or styling solution (Tailwind, CSS Modules, Styled Components).
12
+
13
+ It should **not** assume a specific component library (like Material UI) or styling engine until the project docs confirm them.
14
+
15
+ ## Required Project Inputs
16
+
17
+ | Document | Why it matters |
18
+ | --- | --- |
19
+ | `docs/project-docs/development/ui-ux.md` | Defines the design system, color palette, typography, accessibility (a11y) targets, and responsive breakpoints. |
20
+ | `docs/project-docs/foundation/prd.md` | Clarifies the target audience and expected user flows. |
21
+ | `docs/project-docs/foundation/architecture.md` | Defines where state management lives versus pure presentation components. |
22
+ | `docs/project-docs/development/testing.md` | Defines how the UI should be validated (e.g., unit tests, visual regression, e2e). |
23
+
24
+ If the repository lacks the UI docs needed for styling or layout, call that out and create or update the missing docs instead of inventing arbitrary colors or padding values.
25
+
26
+ ## When to Use
27
+
28
+ Use this skill when building or reviewing one of these boundary types:
29
+
30
+ | Boundary type | Typical artifacts |
31
+ | --- | --- |
32
+ | Presentation Component | Buttons, inputs, cards, typography components. |
33
+ | Layout / Page | Grid structures, responsive containers, navigation shells. |
34
+ | Interaction / Animation | Modals, dropdowns, transitions, hover states. |
35
+ | State-Connected Component | Forms, data tables, fetching wrappers. |
36
+
37
+ ## Procedure
38
+
39
+ ### Step 1 — Extract Design Constraints
40
+ Extract from `ui-ux.md`:
41
+ - CSS variables, Tailwind config, or design token values.
42
+ - Responsive breakpoints (e.g., mobile-first vs desktop-first).
43
+ - Required a11y standards (e.g., WCAG AA).
44
+
45
+ ### Step 2 — Separate State from Presentation
46
+ Extract from `architecture.md`:
47
+ - Identify if this component is "dumb" (presentation only) or "smart" (data fetching/stateful).
48
+ - Do not mix complex global state logic into a simple presentational button.
49
+
50
+ ### Step 3 — Design for Edge Cases
51
+ Before writing HTML/CSS, define:
52
+ - Empty states (what if the data array is empty?)
53
+ - Loading states (skeletons vs spinners).
54
+ - Error states (inline validation vs toast notifications).
55
+ - Overflow states (what if the text is 100 characters long?).
56
+
57
+ ### Step 4 — Implement with Accessibility (A11y)
58
+ Ensure the implementation includes:
59
+ - Proper semantic HTML (`<button>` instead of `<div onClick>`).
60
+ - ARIA labels where semantics fall short.
61
+ - Keyboard navigation support (focus states).
62
+ - Sufficient color contrast.
63
+
64
+ ### Step 5 — Verify Responsive Behavior
65
+ Write the code to adapt gracefully across the breakpoints defined in `ui-ux.md`. Ensure touch targets are large enough on mobile.
66
+
67
+ ### Step 6 — Define Verification Requirements
68
+ Use `testing.md` to decide how this will be validated.
69
+ Examples:
70
+ - Component tests (e.g., React Testing Library) asserting ARIA roles.
71
+ - Storybook stories for visual isolation.
72
+
73
+ ## Quality Check
74
+
75
+ - Does it use hardcoded hex colors or arbitrary pixel values instead of the design system tokens?
76
+ - Is it accessible via keyboard only?
77
+ - Does it break layout on mobile screens?
78
+ - Are loading and error states handled gracefully?
79
+ - Is state managed at the correct architectural layer?
80
+
81
+ ## Anti-Pattern
82
+
83
+ - Inventing new colors, fonts, padding, and any other relevant values that aren't in `ui-ux.md`.
84
+ - Writing `<div onClick={...}>` instead of semantic interactive elements.
85
+ - Ignoring loading/error states in asynchronous components.
86
+ - Coupling global state management (like Redux or Zustand) directly into low-level UI components.
87
+
88
+ ## Output Contract
89
+
90
+ When using this skill, the output should include:
91
+ 1. the project docs consulted (specifically the design system tokens)
92
+ 2. the component API (props/inputs)
93
+ 3. the implementation code (separated by state vs presentation if applicable)
94
+ 4. the edge cases handled (loading, empty, error, overflow)
95
+ 5. accessibility and responsive verification steps
96
+
97
+ ## Neutral Prompt Shape
98
+ `@agent use ui-ux-design on [Target Theme/Tokens] focusing on [Specific Branding/Accessibility Goal].`
99
+
100
+ ## Example Prompt
101
+ - "Implement this presentational card component using the project design tokens."
102
+ - "Review this stateful component for accessibility and responsive layout issues."
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: "wireframing"
3
+ description: "Project-aware expert-role for wireframing and prototyping. Reads project docs first, then translates requirements into structural UI flows, low-fidelity layouts, and component hierarchies without getting bogged down in visual design details."
4
+ ---
5
+
6
+ # wireframing
7
+
8
+ Produces a project-aware, expert-level wireframe or prototype structure by reading the repository's project docs first, then applying a user-centric structural design methodology.
9
+
10
+ This skill bridges the gap between the Product Requirements Document (PRD) and the final UI/UX implementation. It focuses on layout, information architecture, user journeys, and component structure, deferring specific styling decisions to the UI/UX phase.
11
+
12
+ ## Required Project Inputs
13
+
14
+ | Document | Why it matters |
15
+ | --- | --- |
16
+ | `docs/project-docs/foundation/prd.md` | Defines the user personas, core workflows, and required data points for the interface. |
17
+ | `docs/project-docs/development/ui-ux.md` | Provides the baseline component vocabulary (e.g., standard layouts, navigation patterns) to reuse. |
18
+ | `docs/project-docs/foundation/architecture.md` | Clarifies constraints on client-side vs server-side rendering and data availability. |
19
+
20
+ If the repository lacks a PRD for the feature being wireframed, call that out and define the user goals before attempting to draw layouts.
21
+
22
+ ## When to Use
23
+
24
+ Use this skill when planning the structure of a new interface before committing to high-fidelity design or code.
25
+
26
+ | Boundary type | Typical artifacts |
27
+ | --- | --- |
28
+ | Page Layout | Grid structures, navigation placement, content zones. |
29
+ | User Flow | Multi-step wizards, checkout processes, onboarding journeys. |
30
+ | Component Hierarchy | Identifying which logical components are needed on a screen. |
31
+ | Information Architecture | Grouping related data, defining hierarchy of importance. |
32
+
33
+ ## Procedure
34
+
35
+ ### Step 1 — Extract User Goals
36
+ Extract from `prd.md`: What is the primary objective of the user on this screen? What are the secondary actions? What data must be visible for them to make decisions?
37
+
38
+ ### Step 2 — Define the Information Architecture
39
+ Determine the hierarchy of information. The most critical data and primary calls-to-action (CTAs) must sit prominently (e.g., above the fold or in highly accessible areas). Group related information into logical sections or cards.
40
+
41
+ ### Step 3 — Draft the Component Structure
42
+ Without writing CSS or final HTML, outline the required components.
43
+ For example:
44
+ - Navigation Header (Logo, User Menu)
45
+ - Hero Section (Primary Title, Main CTA)
46
+ - Data Grid (List of items with specific columns)
47
+ - Sidebar (Filters, Categories)
48
+
49
+ ### Step 4 — Map the Interaction Flow
50
+ Define how the user navigates between states:
51
+ - What happens when a button is clicked? (Modal opens, navigation occurs, inline expansion).
52
+ - How are empty states represented?
53
+ - How are loading and error states handled structurally?
54
+
55
+ ### Step 5 — Produce the Wireframe Representation
56
+ Generate a structural representation. This could be a text-based ASCII wireframe, a markdown-based component hierarchy tree, or a Mermaid state diagram representing the flow. Keep it strictly low-fidelity.
57
+
58
+ ## Quality Check
59
+
60
+ - Is the primary call-to-action immediately obvious in the structure?
61
+ - Does the layout follow established patterns from `ui-ux.md`?
62
+ - Are edge cases (empty states, errors) accounted for in the flow?
63
+ - Is the information hierarchy logical and aligned with the PRD?
64
+ - Is the structure free of distracting styling details (colors, exact fonts)?
65
+
66
+ ## Anti-Pattern
67
+
68
+ - Focusing on colors, typography, or exact pixel padding during the wireframing stage.
69
+ - Designing layouts that assume perfect, fully populated data at all times.
70
+ - Creating disjointed screens without defining the navigation flow between them.
71
+ - Ignoring accessibility concerns regarding logical reading order.
72
+
73
+ ## Output Contract
74
+
75
+ When using this skill, the output should include:
76
+ 1. the project docs consulted and user goals assumed
77
+ 2. the proposed information architecture and data hierarchy
78
+ 3. a structural wireframe (ASCII, Markdown list, or Diagram)
79
+ 4. defined interaction flows between states
80
+ 5. identified edge cases (empty, loading, error states)
81
+
82
+ ## Neutral Prompt Shape
83
+ `@agent use wireframing on [Target Feature/Page] focusing on [Specific User Journey].`
84
+
85
+ ## Example Prompt
86
+ - "Create a structural wireframe for the new user dashboard."
87
+ - "Map out the component hierarchy and interaction flow for the checkout process."
88
+ - "Draft a low-fidelity layout for the data analytics page."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sallmarta/eye-hate-agent",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "Template-and-engine toolkit for AI-agent-assisted project workflows.",
5
5
  "directories": {
6
6
  "doc": "docs"
@@ -8,10 +8,7 @@
8
8
  "files": [
9
9
  "bin",
10
10
  "src",
11
- "docs",
12
- ".claude",
13
- ".github",
14
- ".agents",
11
+ "docs/templates",
15
12
  "README.md"
16
13
  ],
17
14
  "scripts": {
@@ -44,8 +41,9 @@
44
41
  "node": ">=18"
45
42
  },
46
43
  "bin": {
44
+ "eha": "./bin/eha.js",
47
45
  "eye-hate-agent": "./bin/eha.js",
48
- "eha": "./bin/eha.js"
46
+ "eyehateagent": "./bin/eha.js"
49
47
  },
50
48
  "dependencies": {
51
49
  "commander": "^12.0.0",
@@ -1,22 +1,19 @@
1
1
  const { getWorkflow, listWorkflows } = require('./workflow-registry');
2
- const { findRepoRoot } = require('./state');
2
+ const { listSkills } = require('./skill-registry');
3
+ const { findRepoRoot, readConfig } = require('./state');
3
4
  const { listSupportedRuntimes } = require('./runtime-adapters');
4
- const {
5
- DEFAULT_RUNTIME_IDS,
6
- doctor,
7
- installRuntimes,
8
- prepareWorkflowRun,
9
- uninstallRuntimes,
10
- } = require('./install');
5
+ const { SUPPORTED_AGENT_IDS, doctor, initProject, readProjectManifest, removeProject } = require('./install');
11
6
 
12
7
  module.exports = {
13
- DEFAULT_RUNTIME_IDS,
8
+ SUPPORTED_AGENT_IDS,
14
9
  doctor,
15
10
  findRepoRoot,
16
11
  getWorkflow,
17
- installRuntimes,
12
+ initProject,
13
+ listSkills,
18
14
  listSupportedRuntimes,
19
15
  listWorkflows,
20
- prepareWorkflowRun,
21
- uninstallRuntimes,
16
+ readConfig,
17
+ readProjectManifest,
18
+ removeProject,
22
19
  };