@thiaq/project-skill 0.1.0 → 0.1.1

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.
package/README.md CHANGED
@@ -26,6 +26,7 @@ npx thiaq-project-skill install --agent codex
26
26
  ```text
27
27
  Use the thiaq-project skill. Refresh the existing ThiaQ project additively:
28
28
  read existing project context, scan the repo, use live discovery evidence if
29
- available, and propose a reviewed product map without making the customer or
30
- project name the root node.
29
+ available, show me a draft three-level product tree for review, and only then
30
+ propose a reviewed product map without making the customer or project name the
31
+ root node.
31
32
  ```
package/SKILL.md CHANGED
@@ -57,12 +57,15 @@ Jira, browser traces, tests, or other connected tools.
57
57
  selector gaps, blocked paths, screenshots, and bug candidates.
58
58
  8. Fuse static repo analysis with live discovery. Prefer names that match the
59
59
  product's own docs, routes, UI labels, tests, and issue language.
60
- 9. Propose a reviewable product map shaped like
61
- `Product Area -> Feature or Workflow -> Surface or Control`. The customer or
62
- project name is context, not the root tree node.
63
- 10. Ask the first user to review naming, split/merge areas, confirm critical
64
- paths, and flag anything ThiaQ should never automate.
65
- 11. Call ThiaQ MCP tools to submit summaries and proposed changes.
60
+ 9. Draft an explicit tree before any hierarchy write. It must have at least
61
+ three levels: `Product Area -> Feature or Workflow -> Surface`. Controls may
62
+ be fourth-level leaves. The customer or project name is context, not the
63
+ root tree node.
64
+ 10. Show the proposed tree to the first user in the chat, using indentation or
65
+ bullets so the structure is visible. Ask what should be renamed, merged,
66
+ split, moved, marked uncertain, or treated as release-critical.
67
+ 11. Only after the first user reviews or explicitly asks you to proceed, call
68
+ ThiaQ MCP tools to submit summaries and proposed changes.
66
69
  12. After discovery, use ThiaQ test ideas and issue categories to propose
67
70
  deterministic coverage work.
68
71
 
@@ -216,9 +219,11 @@ When submitting repo evidence, keep findings structured:
216
219
  "personas": [{ "name": "Workspace Admin", "evidence": ["docs/admin.md"] }],
217
220
  "jobs": [{ "title": "Create and share a workflow", "personaName": "Analyst" }],
218
221
  "hierarchy": {
219
- "areas": [{ "areaId": "area.dashboard", "name": "Dashboard" }],
220
- "features": [{ "featureId": "feature.projects", "areaId": "area.dashboard", "name": "Projects" }],
221
- "surfaces": [{ "surfaceId": "surface.project-list", "featureId": "feature.projects", "name": "Project list" }]
222
+ "nodes": [
223
+ { "nodeId": "area.dashboard", "parentId": null, "level": 1, "kind": "product_area", "name": "Dashboard" },
224
+ { "nodeId": "feature.projects", "parentId": "area.dashboard", "level": 2, "kind": "feature", "name": "Projects" },
225
+ { "nodeId": "surface.project-list", "parentId": "feature.projects", "level": 3, "kind": "surface", "name": "Project list" }
226
+ ]
222
227
  },
223
228
  "accessProfile": {
224
229
  "loginUrl": "https://staging.example.com",
@@ -240,13 +245,20 @@ should expose product behavior, not account metadata:
240
245
  - Top visible level: product areas such as Dashboard, Canvas Authoring,
241
246
  Collaboration, Admin, Billing, Reporting, or Workspace Organization.
242
247
  - Second level: features or workflows inside each area.
243
- - Third level: surfaces, controls, states, or canvas affordances that scenarios
244
- can anchor to.
248
+ - Third level: surfaces, states, or canvas affordances that scenarios can
249
+ anchor to.
250
+ - Optional fourth level: controls only when the control is stable, named, and
251
+ useful as a scenario anchor.
245
252
  - Scenario and issue counts should attach to the most specific useful node.
246
253
  - Never use the customer, project, tenant, or product name as the visible root
247
254
  node. Keep that as surrounding context.
248
255
  - Carry evidence and confidence for inferred nodes so the first user can
249
256
  rename, merge, split, or reject suggestions.
257
+ - Do not submit a flat list of sections as a hierarchy. The hierarchy proposal
258
+ must contain explicit tree nodes with stable `nodeId`, `parentId`, `level`,
259
+ `kind`, `name`, evidence, confidence, and review questions.
260
+ - Do not submit the hierarchy before showing the draft tree to the user unless
261
+ the user explicitly tells you to proceed without review.
250
262
 
251
263
  Use repo structure alone only as a starting hypothesis. Prefer the fused view:
252
264
  what users can see in live discovery, what code/routes/tests call it, and what
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thiaq/project-skill",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "description": "ThiaQ project setup skill for Codex and Claude Code agents.",
@@ -111,12 +111,18 @@ but mark them as proposals that should be fused with live discovery.
111
111
  ## Product Hierarchy Proposal
112
112
 
113
113
  Use `propose_product_hierarchy_changes` after fusing live discovery evidence
114
- with static repo analysis. The proposal should be reviewable by the first user;
115
- do not treat inferred names as final.
114
+ with static repo analysis. Before calling it, show the proposed tree to the
115
+ first user and ask what should be renamed, merged, split, moved, marked
116
+ uncertain, or treated as release-critical. Do not treat inferred names as final.
116
117
 
117
118
  The visible tree should start with product areas. Do not make the customer,
118
119
  tenant, project, or product name the root node.
119
120
 
121
+ The proposal must include an explicit tree with at least three levels:
122
+ `Product Area -> Feature or Workflow -> Surface`. Controls may be fourth-level
123
+ leaves when they are stable scenario anchors. Flat sections or areas with nested
124
+ free-form metadata are not enough.
125
+
120
126
  ```json
121
127
  {
122
128
  "name": "propose_product_hierarchy_changes",
@@ -126,26 +132,29 @@ tenant, project, or product name the root node.
126
132
  "summary": "Combines live UI discovery with repo routes, tests, and docs.",
127
133
  "source": "discovery:job-id + repo-summary:main",
128
134
  "payload": {
129
- "areas": [
135
+ "nodes": [
130
136
  {
131
- "areaId": "area.canvas-authoring",
137
+ "nodeId": "area.canvas-authoring",
138
+ "parentId": null,
139
+ "level": 1,
140
+ "kind": "product_area",
132
141
  "name": "Canvas Authoring",
133
142
  "evidenceRefs": ["discovery:screen.canvas", "app/routes/canvas.tsx"],
134
143
  "confidence": 0.82
135
- }
136
- ],
137
- "features": [
144
+ },
138
145
  {
139
- "featureId": "feature.canvas-shapes",
140
- "areaId": "area.canvas-authoring",
146
+ "nodeId": "feature.canvas-shapes",
147
+ "parentId": "area.canvas-authoring",
148
+ "level": 2,
149
+ "kind": "feature",
141
150
  "name": "Shapes",
142
151
  "evidenceRefs": ["discovery:control.shape-toolbar", "tests/e2e/shapes.spec.ts"]
143
- }
144
- ],
145
- "surfaces": [
152
+ },
146
153
  {
147
- "surfaceId": "surface.shape-toolbar",
148
- "featureId": "feature.canvas-shapes",
154
+ "nodeId": "surface.shape-toolbar",
155
+ "parentId": "feature.canvas-shapes",
156
+ "level": 3,
157
+ "kind": "surface",
149
158
  "name": "Shape toolbar",
150
159
  "evidenceRefs": ["discovery:control.shape-toolbar"]
151
160
  }