@bompus/house-rules 0.0.0-stage → 0.11.0

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 (191) hide show
  1. package/CONTRIBUTING.md +54 -0
  2. package/LICENSE +21 -0
  3. package/README.md +347 -2
  4. package/THIRD_PARTY_NOTICES.md +188 -0
  5. package/compose.mjs +119 -0
  6. package/composition.mjs +353 -0
  7. package/config-view.mjs +194 -0
  8. package/config.mjs +320 -0
  9. package/docs/assets/banner-dark.png +0 -0
  10. package/docs/assets/banner-light.png +0 -0
  11. package/docs/assets/overview.png +0 -0
  12. package/docs/configuration.md +193 -0
  13. package/docs/npm-release.md +45 -0
  14. package/docs/skill-names.md +50 -0
  15. package/examples/person/house-rules.json +15 -0
  16. package/examples/person/rules/10-tooling.md +8 -0
  17. package/examples/person/rules/20-reporting.md +9 -0
  18. package/examples/project/AGENTS.md +18 -0
  19. package/package.json +40 -4
  20. package/rule-references.mjs +91 -0
  21. package/rules/core.md +431 -0
  22. package/rules/modifiers/coded-offers.md +40 -0
  23. package/rules/modifiers/effort-estimates.md +41 -0
  24. package/rules/modifiers/land-when-done.md +12 -0
  25. package/rules/modifiers/low-quota-handoff.md +19 -0
  26. package/rules/modifiers/multi-agent.md +34 -0
  27. package/rules/modifiers/no-attribution.md +10 -0
  28. package/rules/modifiers/plan-files.md +50 -0
  29. package/rules/modifiers/question-cards.md +48 -0
  30. package/rules/modifiers/release-batching.md +13 -0
  31. package/rules/modifiers/scratch-on-disk.md +15 -0
  32. package/rules/modifiers/shared-host-load.md +48 -0
  33. package/rules/modifiers/solo-operator.md +13 -0
  34. package/rules/modifiers/squash-landing.md +22 -0
  35. package/rules/modifiers/swarmail.md +12 -0
  36. package/rules/references/github-actions.md +45 -0
  37. package/rules/references/landing.md +39 -0
  38. package/rules/references/multi-agent.md +47 -0
  39. package/rules/references/release-batching.md +43 -0
  40. package/rules/references/squash-landing.md +44 -0
  41. package/setup.mjs +375 -0
  42. package/skills/hr-agent-guidance-audit/LICENSE +21 -0
  43. package/skills/hr-agent-guidance-audit/SKILL.md +86 -0
  44. package/skills/hr-agent-guidance-audit/agents/openai.yaml +2 -0
  45. package/skills/hr-agent-guidance-audit/references/records-and-lessons.md +60 -0
  46. package/skills/hr-agent-guidance-refresh/LICENSE +21 -0
  47. package/skills/hr-agent-guidance-refresh/SKILL.md +68 -0
  48. package/skills/hr-agent-guidance-refresh/agents/openai.yaml +2 -0
  49. package/skills/hr-agent-guidance-refresh/references/verification.md +47 -0
  50. package/skills/hr-api-exposure-check/SKILL.md +159 -0
  51. package/skills/hr-api-exposure-check/agents/openai.yaml +3 -0
  52. package/skills/hr-audit-choices/SKILL.md +67 -0
  53. package/skills/hr-audit-choices/agents/openai.yaml +2 -0
  54. package/skills/hr-benchmarking/NOTICE.md +36 -0
  55. package/skills/hr-benchmarking/SKILL.md +316 -0
  56. package/skills/hr-benchmarking/agents/openai.yaml +2 -0
  57. package/skills/hr-benchmarking/references/javascript.md +17 -0
  58. package/skills/hr-benchmarking/references/priority-findings-20261006.md +115 -0
  59. package/skills/hr-benchmarking/references/tools.md +160 -0
  60. package/skills/hr-benchmarking/scripts/process-attribution.ps1 +20 -0
  61. package/skills/hr-benchmarking/scripts/process-attribution.py +107 -0
  62. package/skills/hr-better-accessibility/LICENSE +22 -0
  63. package/skills/hr-better-accessibility/NOTICE.md +46 -0
  64. package/skills/hr-better-accessibility/SKILL.md +119 -0
  65. package/skills/hr-better-accessibility/agents/openai.yaml +3 -0
  66. package/skills/hr-better-accessibility/focus-and-keyboard.md +130 -0
  67. package/skills/hr-better-accessibility/forms.md +82 -0
  68. package/skills/hr-better-accessibility/hit-areas.md +98 -0
  69. package/skills/hr-better-accessibility/motion-and-zoom.md +81 -0
  70. package/skills/hr-better-accessibility/screen-readers.md +101 -0
  71. package/skills/hr-better-accessibility/semantics-and-aria.md +84 -0
  72. package/skills/hr-better-colors/LICENSE +21 -0
  73. package/skills/hr-better-colors/NOTICE.md +37 -0
  74. package/skills/hr-better-colors/SKILL.md +114 -0
  75. package/skills/hr-better-colors/agents/openai.yaml +3 -0
  76. package/skills/hr-better-colors/color-formats.md +90 -0
  77. package/skills/hr-better-colors/color-usage.md +140 -0
  78. package/skills/hr-better-colors/contrast.md +80 -0
  79. package/skills/hr-better-colors/palette-generation.md +104 -0
  80. package/skills/hr-better-colors/palette-structure.md +76 -0
  81. package/skills/hr-better-colors/token-naming.md +97 -0
  82. package/skills/hr-better-layout/LICENSE +22 -0
  83. package/skills/hr-better-layout/NOTICE.md +48 -0
  84. package/skills/hr-better-layout/SKILL.md +92 -0
  85. package/skills/hr-better-layout/agents/openai.yaml +3 -0
  86. package/skills/hr-better-layout/grouping-and-alignment.md +144 -0
  87. package/skills/hr-better-layout/spacing-and-adaptivity.md +215 -0
  88. package/skills/hr-better-typography/LICENSE +22 -0
  89. package/skills/hr-better-typography/NOTICE.md +46 -0
  90. package/skills/hr-better-typography/SKILL.md +172 -0
  91. package/skills/hr-better-typography/agents/openai.yaml +3 -0
  92. package/skills/hr-better-typography/choosing-fonts.md +69 -0
  93. package/skills/hr-better-typography/css-cheat-sheet.md +65 -0
  94. package/skills/hr-better-typography/details-and-accessibility.md +119 -0
  95. package/skills/hr-better-typography/spacing-and-sizing.md +131 -0
  96. package/skills/hr-better-typography/variable-fonts-and-opentype.md +105 -0
  97. package/skills/hr-better-typography/wrapping-and-punctuation.md +57 -0
  98. package/skills/hr-better-writing/LICENSE +22 -0
  99. package/skills/hr-better-writing/NOTICE.md +46 -0
  100. package/skills/hr-better-writing/SKILL.md +122 -0
  101. package/skills/hr-better-writing/agents/openai.yaml +3 -0
  102. package/skills/hr-change-impact/SKILL.md +113 -0
  103. package/skills/hr-change-impact/agents/openai.yaml +5 -0
  104. package/skills/hr-code-review/LICENSE +21 -0
  105. package/skills/hr-code-review/NOTICE.md +26 -0
  106. package/skills/hr-code-review/SKILL.md +147 -0
  107. package/skills/hr-code-review/agents/openai.yaml +3 -0
  108. package/skills/hr-code-review/references/evidence.md +57 -0
  109. package/skills/hr-design-exploration/SKILL.md +82 -0
  110. package/skills/hr-design-exploration/agents/openai.yaml +4 -0
  111. package/skills/hr-diagnosing-bugs/NOTICE.md +45 -0
  112. package/skills/hr-diagnosing-bugs/SKILL.md +108 -0
  113. package/skills/hr-diagnosing-bugs/agents/openai.yaml +3 -0
  114. package/skills/hr-diagnosing-bugs/references/reporting.md +72 -0
  115. package/skills/hr-explain-code/NOTICE.md +37 -0
  116. package/skills/hr-explain-code/SKILL.md +110 -0
  117. package/skills/hr-explain-code/agents/openai.yaml +5 -0
  118. package/skills/hr-explain-code/references/helper-brief.md +39 -0
  119. package/skills/hr-extract-shared-steps/SKILL.md +134 -0
  120. package/skills/hr-extract-shared-steps/agents/openai.yaml +3 -0
  121. package/skills/hr-handoff/SKILL.md +91 -0
  122. package/skills/hr-handoff/agents/openai.yaml +5 -0
  123. package/skills/hr-handoff/assets/ledger.example.json +10 -0
  124. package/skills/hr-handoff/assets/receipt.example.json +76 -0
  125. package/skills/hr-handoff/assets/source.example.json +20 -0
  126. package/skills/hr-handoff/references/reconciliation.md +105 -0
  127. package/skills/hr-handoff/scripts/check-reconciliation.mjs +282 -0
  128. package/skills/hr-house-rules-setup/SKILL.md +100 -0
  129. package/skills/hr-house-rules-setup/agents/openai.yaml +5 -0
  130. package/skills/hr-issue-tracker-setup/SKILL.md +49 -0
  131. package/skills/hr-issue-tracker-setup/agents/openai.yaml +5 -0
  132. package/skills/hr-lean-plan/SKILL.md +142 -0
  133. package/skills/hr-lean-plan/agents/openai.yaml +5 -0
  134. package/skills/hr-maintainability-review/SKILL.md +176 -0
  135. package/skills/hr-maintainability-review/agents/openai.yaml +5 -0
  136. package/skills/hr-manual-qa/NOTICE.md +36 -0
  137. package/skills/hr-manual-qa/SKILL.md +37 -0
  138. package/skills/hr-manual-qa/agents/openai.yaml +3 -0
  139. package/skills/hr-navigation-retro/LICENSE +21 -0
  140. package/skills/hr-navigation-retro/NOTICE.md +5 -0
  141. package/skills/hr-navigation-retro/SKILL.md +86 -0
  142. package/skills/hr-navigation-retro/agents/openai.yaml +4 -0
  143. package/skills/hr-navigation-retro/references/inputs.md +67 -0
  144. package/skills/hr-navigation-retro/scripts/retro.py +552 -0
  145. package/skills/hr-navigation-retro/scripts/transcripts.py +205 -0
  146. package/skills/hr-ordering-tests/SKILL.md +51 -0
  147. package/skills/hr-ordering-tests/agents/openai.yaml +2 -0
  148. package/skills/hr-plain-prose/SKILL.md +261 -0
  149. package/skills/hr-plain-prose/agents/openai.yaml +3 -0
  150. package/skills/hr-plain-prose/scripts/check.mjs +331 -0
  151. package/skills/hr-pr-followup/LICENSE +21 -0
  152. package/skills/hr-pr-followup/NOTICE.md +9 -0
  153. package/skills/hr-pr-followup/SKILL.md +71 -0
  154. package/skills/hr-pr-followup/agents/openai.yaml +2 -0
  155. package/skills/hr-pr-followup/references/review-helpers.md +90 -0
  156. package/skills/hr-pr-followup/scripts/check-pr-review.ts +510 -0
  157. package/skills/hr-pr-followup/scripts/resolve-pr-thread.ts +219 -0
  158. package/skills/hr-progress-report/SKILL.md +49 -0
  159. package/skills/hr-progress-report/agents/openai.yaml +5 -0
  160. package/skills/hr-read-reddit/SKILL.md +44 -0
  161. package/skills/hr-read-reddit/agents/openai.yaml +2 -0
  162. package/skills/hr-read-reddit/scripts/reddit.ts +252 -0
  163. package/skills/hr-read-x-links/SKILL.md +42 -0
  164. package/skills/hr-read-x-links/agents/openai.yaml +2 -0
  165. package/skills/hr-read-x-links/scripts/x-post.ts +264 -0
  166. package/skills/hr-split-to-prs/LICENSE +21 -0
  167. package/skills/hr-split-to-prs/NOTICE.md +9 -0
  168. package/skills/hr-split-to-prs/SKILL.md +61 -0
  169. package/skills/hr-split-to-prs/agents/openai.yaml +2 -0
  170. package/skills/hr-stock-ui-audit/SKILL.md +132 -0
  171. package/skills/hr-stock-ui-audit/agents/openai.yaml +3 -0
  172. package/skills/hr-stock-ui-audit/scripts/scan.mjs +619 -0
  173. package/skills/hr-tdd/LICENSE +21 -0
  174. package/skills/hr-tdd/NOTICE.md +10 -0
  175. package/skills/hr-tdd/SKILL.md +40 -0
  176. package/skills/hr-tdd/agents/openai.yaml +3 -0
  177. package/skills/hr-tdd/mocking.md +39 -0
  178. package/skills/hr-tdd/tests.md +77 -0
  179. package/skills/hr-test-audit/SKILL.md +146 -0
  180. package/skills/hr-test-audit/agents/openai.yaml +3 -0
  181. package/skills/hr-test-audit/scripts/floor-guard.ts +137 -0
  182. package/skills/hr-what-next/SKILL.md +61 -0
  183. package/skills/hr-what-next/agents/openai.yaml +4 -0
  184. package/skills/hr-what-next/references/reporting.md +68 -0
  185. package/skills/hr-writing-for-agents/NOTICE.md +46 -0
  186. package/skills/hr-writing-for-agents/SKILL-MECHANICS.md +83 -0
  187. package/skills/hr-writing-for-agents/SKILL.md +108 -0
  188. package/skills/hr-writing-for-agents/agents/openai.yaml +3 -0
  189. package/skills/hr-writing-pr/NOTICE.md +48 -0
  190. package/skills/hr-writing-pr/SKILL.md +104 -0
  191. package/skills/hr-writing-pr/agents/openai.yaml +2 -0
@@ -0,0 +1,147 @@
1
+ ---
2
+ name: hr-code-review
3
+ description: Review a branch, PR, working-tree changes or changes since a revision for repository standards and spec conformance. Use only when the user requests a change review. Do not use for simplification-only or strictest maintainability audits.
4
+ ---
5
+
6
+ Two-axis review of the changes the user requested: working-tree changes, a committed branch, or changes since a named revision.
7
+
8
+ - **Standards**: does the code conform to this repo's documented coding standards?
9
+ - **Spec**: does the code implement the originating issue / spec?
10
+
11
+ Keep both axes distinct. Review small scopes locally; use separate read-only
12
+ subagents when the scope benefits from independent review and the host permits
13
+ it. Missing spec material limits the Spec assessment, not all useful review.
14
+
15
+ ## Process
16
+
17
+ ### 1. Pin the review scope
18
+
19
+ Use the scope stated by the user or established in the task:
20
+
21
+ - **Working-tree changes:** use `git diff HEAD` for tracked changes and `git ls-files --others --exclude-standard` to identify untracked files to inspect.
22
+ - **Committed branch comparison:** resolve the base and use `git diff <base>...HEAD`.
23
+ - **Since an exact commit or tag:** use `git diff <revision> HEAD`; include working-tree changes only when requested, using `git diff <revision>` and inspecting in-scope untracked files.
24
+ - **Merge-base comparison including local changes:** resolve `git merge-base <base> HEAD`, compare the working tree with that revision, and inspect in-scope untracked files.
25
+
26
+ Record the resolved base, comparison command, and whether staged, unstaged, and untracked files are included. Validate supplied refs before dispatching reviewers. Ask only when scope remains ambiguous. Report an empty scope only after checking every included category. Record the commit list when reviewing committed changes.
27
+
28
+ ### 2. Identify the spec source
29
+
30
+ Look for the originating spec in this order:
31
+
32
+ 1. A path the user passed as an argument.
33
+ 2. The linked issue or pull request, or an approved plan or specification in the repository.
34
+ 3. The user's request as recorded in the session.
35
+ 4. If nothing is found, report "Spec conformance not assessed: no source found" and complete the review supported by available evidence. Ask for a source only when its absence prevents the judgment the user requested; continue independent review while awaiting it. Do not infer requirements from the implementation itself.
36
+
37
+ ### 3. Identify the standards sources
38
+
39
+ Anything in the repo that documents how code should be written, such as `CODING_STANDARDS.md` or `CONTRIBUTING.md`.
40
+
41
+ When the diff adds or changes what an API returns (a handler, serializer, DTO,
42
+ response schema or webhook payload), load `hr-api-exposure-check` and give its
43
+ Two answers per field test to the Standards reviewer, or apply it in a local
44
+ review. If that skill is missing or excluded, report the limit on response-field
45
+ assessment and use the available project standards. Do not claim the skill was
46
+ applied or install it without authorization.
47
+
48
+ Use the design heuristics below when relevant to the changed code. They are prompts to investigate maintenance problems, not a checklist that must produce findings or automatic refactoring prescriptions.
49
+
50
+ - **The repo overrides.** A documented repo standard always wins; where it endorses something the baseline would flag, suppress the smell.
51
+ - **Always a judgement call.** Each smell is a labelled heuristic ("possible Feature Envy"), never a hard violation. Like any standard here, skip anything tooling already enforces.
52
+
53
+ Recommend a transformation only when inspected evidence shows a concrete current
54
+ maintenance problem and the remedy reduces it without weakening required behavior.
55
+ State the consequence and any equivalence assumptions; otherwise omit the finding.
56
+
57
+ - **Naming:** does ambiguity cause a concrete misunderstanding at a call site?
58
+ - **Duplication and repeated branches:** must these sites evolve together, or do they express independent policies? Extraction or polymorphism must earn its coupling and indirection.
59
+ - **Grouped data and domain primitives:** are invalid combinations or repeated invariant checks causing problems that a type would actually prevent?
60
+ - **Module boundaries and data access:** does current coupling force scattered edits, expose internals or mix unrelated responsibilities? Moving code must improve the boundary rather than merely rearrange it.
61
+ - **Delegation and inheritance:** does a wrapper or interface provide a useful contract, isolation or adaptation? One caller or implementation is not itself a defect.
62
+ - **Speculative flexibility:** does configuration or abstraction serve a current requirement? Remove unsupported complexity only after checking its consumers and behavior.
63
+
64
+ ### 4. Review each axis
65
+
66
+ Use the same pinned scope for both axes, whether reviewing locally or delegating.
67
+ Read [the evidence-assessment method](references/evidence.md) and include it in
68
+ each delegated brief. It covers completion claims, weakened tests, emitted
69
+ results and verification limits.
70
+ When delegating and both sources are available, the reviews may run in parallel.
71
+ If a source arrives later or scope changes, update only the affected assessment.
72
+
73
+ **Hosts.** Both sub-agents are read-only. Use the current host's native agent mechanism and follow the repository's model-selection rules. A sub-agent never runs the model that wrote the code; when the author is its vendor's strongest model, use another vendor's model where one is available, through the host or that vendor's command-line agent run read-only with the same brief. When no other model is available, use a fresh context and say in the report that the reviewer shares the author's model.
74
+
75
+ **Correctness of input-to-output code** goes in the Spec brief, using the
76
+ evidence method above. Split a large scope into groups of about three files,
77
+ one reviewer per group. Do not assign this work to a reviewer focused on
78
+ structure or maintainability.
79
+
80
+ **Standards sub-agent prompt** should include:
81
+
82
+ - The full diff command and commit list.
83
+ - The applicable standards sources and relevant design heuristics, including their evidence requirement.
84
+ - The brief: "Report documented-standard violations with citations, and design findings only when inspected code shows a concrete current maintenance problem. For each finding give the location, consequence and proportionate remedy that preserves required behavior. Distinguish hard violations from heuristic judgments; repository standards override heuristics. Do not prescribe abstraction from a pattern alone. Skip tooling-enforced issues. Keep findings concise, with enough evidence to assess them."
85
+
86
+ **Spec sub-agent prompt** should include:
87
+
88
+ - The diff command and commit list.
89
+ - The path or fetched contents of the spec.
90
+ - The brief: "Report missing or partial requirements, behavior outside the requested scope, and incorrectly implemented requirements. Cite the requirement and code location for each finding. Keep findings concise, with enough evidence to assess their consequence. Where the spec is silent, what a reasonable user of this software would expect is still a requirement; grade it by its effect on that user. Before your verdict, list under `Declined to judge` every behavior you considered and set aside as out of scope, one line each with the reason, or write `none`."
91
+
92
+ Ground findings in inspected code and cite their locations and applicable
93
+ standards or requirements. Report concrete consequences; smells alone do not
94
+ justify a new abstraction. Mark missing evidence and unassessed requirements
95
+ explicitly rather than claiming a pass.
96
+
97
+ ### 5. Aggregate
98
+
99
+ Present Standards and Spec separately. Verify delegated findings, remove
100
+ unsupported or duplicate claims, and prioritize within each axis. Preserve the
101
+ distinction between documented violations and heuristic suggestions.
102
+
103
+ Report a one-line summary: total findings per axis, and the worst issue _within each axis_ (if any). Don't pick a single winner across axes; the separation exists to prevent that reranking.
104
+
105
+ Tag each surviving finding HIGH (corroborated by a second source or a directly cited requirement), MEDIUM (single inspected source), or LOW (inferred; name the check that would confirm it). Nothing is dropped on confidence alone: the operator adjudicates.
106
+
107
+ Tag each finding with one actionability label, independent of the confidence tag:
108
+
109
+ - `blocking` must be fixed before merge.
110
+ - `important` should be fixed and may block, depending on context.
111
+ - `nit` is a minor style or preference issue.
112
+ - `suggestion` is an optional improvement worth considering.
113
+ - `learning` is an educational note that needs no action.
114
+ - `praise` marks good work; report it so review is not only defects.
115
+
116
+ Within each axis, order findings by actionability (`blocking` first, in the list order above), then by confidence (HIGH first).
117
+
118
+ Grade actionability by the finding's effect on users, not by whether the spec
119
+ mentions the trigger or by the implementer's stated rationale. Rule on each
120
+ line of the Spec reviewer's `Declined to judge` list: promote it to a finding
121
+ or confirm it out of scope, and show both in the report.
122
+
123
+ ### 6. Remediation options
124
+
125
+ When a finding has more than one viable remedy, or the remedy you would
126
+ recommend differs from the ideal fix, present them as an offer in the house rules' § Offers format
127
+ for the user to choose from. Give each option a rough relative effort and its
128
+ tradeoffs, mark the recommendation, and separately name the right fix, meaning
129
+ the remedy that best serves the codebase absent current constraints. When the
130
+ recommendation is not the right fix, say why: scope, risk, blast radius or
131
+ existing debt. Skip this step for findings with a single obvious remedy; do not
132
+ produce an options list per nit.
133
+
134
+ When the user rejects, narrows or edits a finding or remedy, record the reason
135
+ in the task's plan or notes. Record why it was wrong or
136
+ unwanted, not merely that it was declined. For each accepted finding, record
137
+ the verifying command or one-line reason with it, so a later session can
138
+ re-check the fix without re-deriving the finding.
139
+
140
+ ## Why two axes
141
+
142
+ A change can pass one axis and fail the other:
143
+
144
+ - Code that follows every standard but implements the wrong thing is a **Standards pass, Spec fail.**
145
+ - Code that does exactly what the issue asked but breaks the project's conventions is a **Spec pass, Standards fail.**
146
+
147
+ Reporting them separately stops one axis from masking the other.
@@ -0,0 +1,3 @@
1
+ interface:
2
+ display_name: "HR: Code Review"
3
+ short_description: "Review a diff on standards and spec"
@@ -0,0 +1,57 @@
1
+ # Assess review evidence
2
+
3
+ Apply this method to the pinned review scope, locally or in a read-only review.
4
+ The repository owns required checks, gates and waivers; this method adds no
5
+ permission to run commands, edit files or expand the review scope.
6
+
7
+ ## Read the scope and its evidence
8
+
9
+ Start from the requested intent, diff, changed paths and verification evidence.
10
+ Use an existing review packet when supplied; do not require a particular
11
+ artifact path or release workflow. Read applicable repository guidance not
12
+ already in context. Report missing scope or required evidence.
13
+
14
+ Inspect changed regions first. When a supplied diff or shell is unavailable,
15
+ locate those regions with available read-only search and file tools. Trace
16
+ source, tests and consumers where needed to assess a concrete risk. Respect
17
+ scope limits; name dependencies needing assessment outside them rather than
18
+ asserting they are safe.
19
+
20
+ Check behavior against requirements, invariants and testing standards. Treat a
21
+ completion claim as a hypothesis to refute from the diff and evidence. For a
22
+ bug fix, look for evidence that its regression test failed on the pre-fix code
23
+ for the intended reason and passed after the fix. Missing evidence is a
24
+ verification limit; whether it blocks follows the project's gate rules.
25
+
26
+ ## Account for weakened tests
27
+
28
+ Before judging the change, list each existing test the diff deletes, skips,
29
+ marks as expected to fail or weakens. Include narrowed assertions, widened
30
+ tolerances and expected values rewritten to match new output. Require a stated
31
+ reason tied to the changed requirement or supported test-audit evidence.
32
+ An unexplained change is missing verification; classify it under the project's
33
+ verification requirements rather than accepting the new output as its reason.
34
+
35
+ When test auditing is in scope, use the installed `hr-test-audit` bundle's
36
+ method and floor guard if available and command execution is authorized.
37
+ The guard detects some weakening patterns; a clean result does not replace
38
+ reading changed assertions. Report unavailable coverage without installing or
39
+ running tools outside the selected scope.
40
+
41
+ ## Trace emitted results
42
+
43
+ For input-to-output code such as resolvers, parsers or extractors, trace every
44
+ path in scope to its emitted result before reporting performance or structure
45
+ findings. Start from the nearest test fixture and construct the smallest input
46
+ change that would emit a wrong result or drop a correct one. Report a confirmed
47
+ counterexample with the fixture, changed input, expected and emitted results,
48
+ and `path:line` for the steps. When no counterexample is found, record the paths
49
+ and cases assessed; do not invent a failing result to fill the report.
50
+
51
+ ## Ground the result
52
+
53
+ Do not repeat verified lint, type or format checks or invent release gates.
54
+ Confirm each finding with its file and line, violated requirement and evidence.
55
+ Distinguish confirmed defects from unresolved questions and omit speculative
56
+ findings. Report missing evidence and unassessed requirements separately.
57
+ A review pass does not establish that unrun checks passed.
@@ -0,0 +1,82 @@
1
+ ---
2
+ name: hr-design-exploration
3
+ description: "Explore visual design or redesign alternatives through four ranked directions, top-two feedback and successive refinement toward one chosen design. Use when asked to propose or compare UI design directions; ordinary UI fixes and implementing an already chosen design do not need this workflow."
4
+ ---
5
+
6
+ # Design exploration
7
+
8
+ Use the user's requested scope and constraints. The default is four initial
9
+ directions, then rounds containing the two selected designs and one variation
10
+ of each. A requested count applies to the initial comparison unless the user
11
+ also specifies refinement rounds. Refinement defaults to four options. Before
12
+ a differently sized refinement round, agree which selected designs to retain
13
+ and how many variations to show. The user's chosen method takes precedence.
14
+
15
+ ## Establish the comparison
16
+
17
+ Read the brief and current design. Identify the intended users, primary task,
18
+ content, required interactions, brand constraints and target viewports. Use
19
+ existing answers; ask only for missing information that would change the
20
+ alternatives. State the goal used to rank recommendations.
21
+
22
+ Keep the same real content, states and viewport sizes across previews. Hold
23
+ accessibility and required behavior constant. If content is unavailable, label
24
+ placeholder content and the assumptions it introduces.
25
+
26
+ ## Show the initial directions
27
+
28
+ Create four meaningfully different approaches by default to the same goal. Differences
29
+ should affect hierarchy, layout, navigation, interaction or density. Color
30
+ swaps alone do not make distinct directions. Stay within the authorized
31
+ prototype scope; keep the current implementation available for comparison.
32
+
33
+ Show inspectable previews at comparable sizes, using the host's available
34
+ preview or image tools. Include interaction states when they distinguish the
35
+ directions. If rendering is unavailable, label the output as concepts and name
36
+ what remains unverified. Never claim an unseen design was visually checked.
37
+
38
+ Give each direction a stable ID and a short descriptive name. Present the directions
39
+ in recommendation order, strongest first. Mark the strongest choices
40
+ "(Recommended)" and explain why they fit the stated goal. Recommendations are
41
+ judgments; do not invent usability results, performance gains or scores.
42
+
43
+ Beside the previews, use a short comparison table with each direction's ID,
44
+ main difference, benefit and tradeoff. Keep IDs stable when rankings change.
45
+ Ask the user to select their top two and give feedback on each, including what
46
+ to retain and what to change. Follow the host's question format. Wait for the
47
+ answer before narrowing or generating the next round.
48
+
49
+ ## Refine the selected two
50
+
51
+ Record the chosen IDs and feedback in the task's durable design notes. Keep
52
+ eliminated directions there so later rounds do not revive rejected ideas by
53
+ accident. If the user chooses one as final, move to final selection below.
54
+
55
+ By default, show four options again:
56
+
57
+ 1. The first selected design, unchanged as a comparison.
58
+ 2. The second selected design, unchanged as a comparison.
59
+ 3. One variation of the first design responding to its feedback.
60
+ 4. One variation of the second design responding to its feedback.
61
+
62
+ Give variations new IDs and name their parent IDs. Explain what changed and
63
+ which feedback it addresses. Keep the inherited strengths visible and the
64
+ variation distinct enough to assess. Rerank the round against the goal and
65
+ latest feedback, mark recommended choices, and ask for the next top two with
66
+ feedback on each.
67
+
68
+ Repeat this round only after a new selection. Do not add new unrelated
69
+ concepts unless the user asks to reopen exploration. If feedback leaves no
70
+ meaningful variation to test, offer final selection or ask which unresolved
71
+ tradeoff needs another round instead of inventing cosmetic differences.
72
+
73
+ ## Final selection
74
+
75
+ An explicit final choice ends exploration; no minimum round count is required.
76
+ Record the chosen ID, accepted refinements, rejected directions and remaining
77
+ uncertainties. Summarize the final design's layout, interactions and relevant
78
+ responsive states so implementation can follow it.
79
+
80
+ Choosing two for refinement authorizes that comparison, not promotion of a
81
+ winner. Apply the final design within existing implementation authorization;
82
+ when implementation or landing has not been authorized, offer that next step.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "HR: Design exploration"
3
+ short_description: "Compare four design directions and refine the top two"
4
+ default_prompt: "Use $hr-design-exploration to show four ranked visual directions and refine my top two toward a final design."
@@ -0,0 +1,45 @@
1
+ # Source notices
2
+
3
+ This notice accompanies the hr-diagnosing-bugs bundle when copied on its own.
4
+
5
+ ## mattpocock/skills
6
+
7
+ Source: https://github.com/mattpocock/skills (compared at revision `d81f3a1`)
8
+
9
+ - `skills/hr-diagnosing-bugs/`: written for this repository after
10
+ `skills/engineering/diagnosing-bugs/`, which it shares a purpose with.
11
+
12
+ Copyright (c) 2026 Matt Pocock
13
+
14
+ ## cursor/plugins (pstack)
15
+
16
+ Source: https://github.com/cursor/plugins (compared at revision `e43c7ee`)
17
+
18
+ - `skills/hr-diagnosing-bugs/SKILL.md`: § Question the premise is adapted from
19
+ `pstack/skills/principle-attack-the-premise/`.
20
+
21
+ Copyright (c) 2026 Lauren Tan
22
+
23
+ ## house-rules and MIT permission notice
24
+
25
+ MIT License
26
+
27
+ Copyright (c) 2026 Aaron Queen
28
+
29
+ Permission is hereby granted, free of charge, to any person obtaining a copy
30
+ of this software and associated documentation files (the "Software"), to deal
31
+ in the Software without restriction, including without limitation the rights
32
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
33
+ copies of the Software, and to permit persons to whom the Software is
34
+ furnished to do so, subject to the following conditions:
35
+
36
+ The above copyright notice and this permission notice shall be included in all
37
+ copies or substantial portions of the Software.
38
+
39
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
40
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
41
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
42
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
43
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
44
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
45
+ SOFTWARE.
@@ -0,0 +1,108 @@
1
+ ---
2
+ name: hr-diagnosing-bugs
3
+ description: Investigate unknown-cause or intermittent bugs and performance regressions systematically. Evident fixes only on explicit diagnosis requests; exclude change reviews.
4
+ ---
5
+
6
+ # Diagnosing bugs
7
+
8
+ When filing an upstream bug, follow [Reporting a bug](references/reporting.md)
9
+ for reduction, submission and fix verification.
10
+
11
+ Follow project guidance for source paths, domain safeguards, tests and deployment.
12
+ Read relevant domain documents when they help explain the affected behavior.
13
+ Choose the next probe from the evidence; these techniques are not mandatory phases.
14
+
15
+ ## Choose a model when needed
16
+
17
+ Use the project or host's current benchmark-backed order for bug-finding models
18
+ and efforts. Primary, secondary and tertiary choices can change with benchmark
19
+ results; read the current selection rather than carrying names from an old run.
20
+ If the primary is unavailable through quota, outage or an unsupported route,
21
+ use the next available eligible choice within authorized billing limits only
22
+ when changing provider, model or effort is authorized. When the low-quota
23
+ handoff rule applies, use the `hr-handoff` skill and stop, even if a model change
24
+ was authorized. Preserve review independence and record the model, effort and fallback
25
+ reason.
26
+ If no eligible model is available, report the blocker.
27
+
28
+ ## Establish the symptom
29
+
30
+ Identify expected and observed behavior and seek a repeatable signal for the
31
+ reported failure. Source inspection and initial hypotheses can help construct it.
32
+ Prefer an existing test, command or captured input before building a harness.
33
+ Minimize the scenario when doing so helps distinguish causes or create a useful
34
+ regression test; an exhaustively minimal reproduction is not a prerequisite.
35
+
36
+ For intermittent failures, record attempts and failures under comparable
37
+ conditions. Increase the reproduction rate when practical within host load and
38
+ environment safeguards; do not impose a fixed retry count or success threshold.
39
+ For performance regressions, establish a measured baseline before changing code.
40
+
41
+ If reproduction is unavailable, continue useful source and artifact analysis,
42
+ label hypotheses as unverified, and report what would confirm them. Ask for
43
+ missing access or evidence only when it blocks further progress. Production
44
+ instrumentation still requires the applicable authorization.
45
+
46
+ ## Distinguish causes
47
+
48
+ State a falsifiable prediction for the likely cause and test it. Consider
49
+ alternatives when evidence is ambiguous or a probe fails; there is no hypothesis
50
+ quota. Use targeted inspection, a debugger, logs, replay, bisection or differential
51
+ testing according to the uncertainty each resolves. Keep probes attributable by
52
+ changing one relevant variable at a time where practical.
53
+
54
+ When the cause depends on event order between actors, control the relevant
55
+ boundaries in an implementation test. Pause a response or write, interrupt the
56
+ process, then resume or restart it and assert the visible result. Use barriers
57
+ or explicit signals instead of sleeps to force the failing order. When the
58
+ failing order is unknown, the `hr-ordering-tests` skill enumerates the orderings
59
+ through the real code and names the sequence that breaks.
60
+
61
+ Keep secrets out of commands and shared artifacts; use environment variables
62
+ for credentials and redact captured headers or logs before displaying them.
63
+ Tag temporary instrumentation so it can be found and removed. When a human must
64
+ perform a reproduction step, give clear steps and the expected observation.
65
+
66
+ ## Bound the loop
67
+
68
+ When retrying a probe or fix, cap attempts per hypothesis, stop on
69
+ no-progress (repeated identical calls, oscillation, unchanged error class),
70
+ and enforce time/token/cost ceilings outside the agent so a stuck loop
71
+ terminates instead of retrying.
72
+
73
+ ## Question the premise
74
+
75
+ When two fixes that rest on the same assumption have failed the same check,
76
+ stop fixing and test the assumption. Write it down as the one sentence every
77
+ failed fix took for granted. Before a third fix, gather evidence that would
78
+ show the sentence false, such as a count per input, actor or run, and keep it
79
+ as a script that can be rerun. If the evidence contradicts the sentence, find
80
+ what made it false and fix that, instead of compensating for it on every run.
81
+ If the evidence supports the sentence, keep it as a record and look for the
82
+ cause elsewhere.
83
+
84
+ ## Fix and verify
85
+
86
+ When the confirmed cause admits more than one viable fix, such as a targeted
87
+ workaround versus a root-cause correction, present the fixes as an offer (the house rules' § Offers) with
88
+ rough relative effort before changing code. Mark the recommendation and name
89
+ the right fix when it differs, with the reason: scope, risk, blast radius or
90
+ existing debt. Skip this when the evidence supports a single obvious fix or
91
+ the user already prescribed the remedy.
92
+
93
+ Make the smallest fix supported by the evidence. Use a regression assertion that
94
+ exercises the actual failure when a suitable seam exists and the change warrants
95
+ it under project guidance. It must fail on the pre-fix code for the intended
96
+ reason and pass after the fix, as `hr-test-audit` requires. Test-first ordering is optional
97
+ unless requested or required by the project.
98
+
99
+ Recheck the original symptom, including the original scenario if a minimized
100
+ case was used. For intermittent or performance issues, compare measurements and
101
+ report their limits. If verification is blocked or coverage lacks a suitable
102
+ seam, state the gap rather than claiming the fix is proven or expanding the
103
+ architecture without authorization.
104
+
105
+ Remove temporary instrumentation and throwaway artifacts. Report the cause,
106
+ change, checks actually run and remaining uncertainty. Recommend preventive work
107
+ only when the evidence supports a concrete benefit; follow project completion
108
+ and scope boundaries.
@@ -0,0 +1,3 @@
1
+ interface:
2
+ display_name: "HR: Diagnosing Bugs"
3
+ short_description: "Diagnose hard bugs and regressions"
@@ -0,0 +1,72 @@
1
+ # Reporting a bug
2
+
3
+ Before filing, apply the submission search in your loaded agent guidance's "Repository work" section.
4
+ If that section is unavailable, locate the local house-rules checkout and read
5
+ `rules/core.md` there. Report an unavailable local source before submitting.
6
+ Inspect labels, linked changes and timeline actions as well as comments.
7
+ For the same problem and scope, add new evidence to a matching open issue.
8
+ When a closed report still reproduces and remains materially unchanged,
9
+ explain the failed fix or changed conditions and request reopening. If reopening
10
+ is unavailable, file one linked follow-up. For material changes, use the
11
+ replacement workflow below.
12
+
13
+ Reduce the failure to the smallest self-contained reproduction you can verify.
14
+ Remove unrelated code, dependencies, data and setup. Keep reducing until each
15
+ remaining part is needed to reproduce the failure. For a library failure,
16
+ trace the failing path and isolate its underlying runtime API or language
17
+ operation. Use source inspection, profiling or controlled substitutions to
18
+ choose the next reduction; a slow dependency does not establish its cause.
19
+
20
+ Verify both the final reduction and the original scenario with exact commands
21
+ and pinned versions. Preserve the inputs, output checks and relevant allocation,
22
+ retention, concurrency or lifecycle behavior. A similar standalone failure is
23
+ a contributor observation until evidence connects it to the original symptom.
24
+ For performance or memory bugs, compare equivalent work under the applicable
25
+ benchmark protocol. State units, repetitions, variability and measured controls;
26
+ put the focused case before a larger comparison matrix.
27
+
28
+ Include a cause-and-reduction note in the report: the isolated operation,
29
+ evidence connecting it to the original failure, and remaining uncertainty.
30
+ Test the proposed cause by changing or removing the suspected factor while
31
+ preserving the other relevant conditions. Distinguish a reproduced operation,
32
+ a supported causal explanation and a confirmed internal defect. Do not infer
33
+ an engine defect merely because one runtime is slower on a library workload.
34
+
35
+ Lead with one symptom, the reproduction, expected and actual text results,
36
+ and the versions and environment needed to reproduce it. Check the current
37
+ stable release; identify development builds separately when tested. A verified
38
+ small reproduction can be reported while its internal cause remains unknown.
39
+
40
+ Show direct reproduction commands. Omit incidental scheduling, resource-control
41
+ and observer wrappers from issue and pull request examples. When a control is
42
+ required to reproduce the defect, include it and explain why. Keep exact executed
43
+ commands in measurement records; disclose material conditions beside performance
44
+ results without presenting local controls as prerequisites or changing historical
45
+ conditions. This reporting choice is checked by the author, not a syntax gate.
46
+
47
+ When reduction is blocked, record the attempted isolations and why the remaining
48
+ parts are necessary before asking whether to submit the broader case.
49
+
50
+ Read the repository's contribution guidance and matching issue template,
51
+ including organization defaults. Complete required fields and checklists.
52
+ Submit issue forms through the form or tooling that preserves required fields,
53
+ labels and routing; copied headings alone do not preserve form metadata.
54
+ Verify the published body and metadata. If available tooling cannot preserve
55
+ the form, prepare the report and ask for access or user submission.
56
+
57
+ When an issue needs major or material changes, replace it with a new issue
58
+ in any repository. Compare the proposed revision with the published report.
59
+ A revision is major or material if it changes the reported problem, scope,
60
+ reproduction mechanism or main conclusion. Carry forward relevant evidence and unresolved
61
+ questions, and link the old and new reports both ways. Submit and verify the
62
+ replacement before closing the old report as superseded, not fixed. Routine
63
+ corrections and evidence that leave the report materially unchanged stay in place.
64
+
65
+ Keep one active report per problem after replacement. Follow up with new
66
+ evidence or a specific unanswered question. An absent bot comment is not
67
+ evidence that nothing happened. Do not duplicate a report or close and reopen it merely to seek
68
+ priority. Small examples help investigation; they do not guarantee action or a fix deadline.
69
+
70
+ When a fix build is available, test the same reproduction and report the
71
+ revision and before/after result. Distinguish triage, an open fix, a merged fix
72
+ and a released fix. Verify the affected behavior before calling it resolved.
@@ -0,0 +1,37 @@
1
+ # Source notices
2
+
3
+ This notice accompanies the hr-explain-code bundle when copied on its own.
4
+
5
+ ## humanlayer/skills
6
+
7
+ Source: https://github.com/humanlayer/skills (compared at revision `bba9d13ab34f0a87f1cc33df4dd196372393ddfc`)
8
+
9
+ - `skills/hr-explain-code/SKILL.md` and `skills/hr-writing-pr/SKILL.md`: compact
10
+ visual explanation and focused structural-diff guidance adapted from
11
+ `plugins/show-me/skills/show-me/SKILL.md`.
12
+
13
+ Copyright (c) 2026 HumanLayer
14
+
15
+ ## house-rules and MIT permission notice
16
+
17
+ MIT License
18
+
19
+ Copyright (c) 2026 Aaron Queen
20
+
21
+ Permission is hereby granted, free of charge, to any person obtaining a copy
22
+ of this software and associated documentation files (the "Software"), to deal
23
+ in the Software without restriction, including without limitation the rights
24
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
25
+ copies of the Software, and to permit persons to whom the Software is
26
+ furnished to do so, subject to the following conditions:
27
+
28
+ The above copyright notice and this permission notice shall be included in all
29
+ copies or substantial portions of the Software.
30
+
31
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
32
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
33
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
34
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
35
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
36
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
37
+ SOFTWARE.