@unoverse-platform/studio 0.1.74 → 0.1.76

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unoverse-platform/studio",
3
- "version": "0.1.74",
3
+ "version": "0.1.76",
4
4
  "type": "module",
5
5
  "description": "Unoverse Studio: the local authoring app. Reads your own rx/ folder, no backend.",
6
6
  "scripts": {
@@ -1,7 +1,11 @@
1
1
  /**
2
- * Skills view — browse the skill library (apps/unoverse/prompts/skills) served by
3
- * the Unoverse server's /skills routes. Left: a navigator of skills grouped by
4
- * category. Right: the selected skill's metadata + full SKILL.md instructions.
2
+ * Skills view — browse the skill library served by the Unoverse server's /skills
3
+ * routes. Left: a navigator of skills grouped by category. Right: the selected
4
+ * skill's metadata + full SKILL.md instructions.
5
+ *
6
+ * A name here may be org-qualified (`lyceum/hr-education-coach`), because a skill
7
+ * lives under its org. It is the server's LOOKUP name and round-trips verbatim: never
8
+ * split it for display, or the detail request asks for a skill that does not exist.
5
9
  *
6
10
  * Ported from apps/unoverse/web/studio/src/views/SkillsView.tsx — kept diffable
7
11
  * against the original while both apps exist.
@@ -16,7 +20,10 @@ import { IdentityHeader } from "./IdentityHeader";
16
20
  import { DOC, EMPTY, NAV, NAV_SECTION, PANE, SCREEN, navItem } from "./chrome";
17
21
 
18
22
  interface SkillSummary {
23
+ /** The LOOKUP name, org-qualified where the skill lives under one. Round-trips verbatim. */
19
24
  name: string;
25
+ /** What a person reads. Absent on a universe serving an older platform image. */
26
+ title?: string;
20
27
  description: string;
21
28
  version?: string;
22
29
  category?: string;
@@ -94,7 +101,7 @@ export function SkillsView() {
94
101
  <div className="p-2 text-xs text-gray-400">
95
102
  {error
96
103
  ? `Couldn't load skills (${error}).`
97
- : "No skills in the library. Add SKILL.md files to apps/unoverse/prompts/skills/."}
104
+ : "No skills in the library. A skill is a folder holding a SKILL.md, under design/<org>/skills/."}
98
105
  </div>
99
106
  )}
100
107
  {byCategory.map(([cat, items]) => (
@@ -107,7 +114,7 @@ export function SkillsView() {
107
114
  className={`block w-full rounded px-2 py-1.5 text-left transition ${navItem(selected === s.name)}`}
108
115
  >
109
116
  <div className="flex items-center gap-1.5 text-sm font-medium">
110
- {s.name}
117
+ {s.title ?? s.name}
111
118
  </div>
112
119
  <div className="truncate text-[11px] text-gray-500">{s.description}</div>
113
120
  </button>