@wji.ai/cli 0.4.0 → 0.5.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 +63 -2
- package/dist/commands/backreel.js +260 -0
- package/dist/commands/canvas.js +588 -88
- package/dist/commands/class.js +395 -0
- package/dist/commands/npc.js +413 -0
- package/dist/commands/workspace.js +109 -24
- package/dist/core/members.js +54 -0
- package/dist/core/npc.js +108 -0
- package/dist/core/output.js +4 -2
- package/dist/index.js +8 -0
- package/package.json +1 -1
- package/skill/ads/SKILL.md +176 -0
- package/skill/ads/reference/ai-consistency.md +109 -0
- package/skill/ads/reference/brief-template.md +103 -0
- package/skill/ads/reference/compliance.md +66 -0
- package/skill/ads/reference/formats-image.md +108 -0
- package/skill/ads/reference/formats-video.md +121 -0
- package/skill/ads/reference/models.md +90 -0
- package/skill/ads/reference/product-photography.md +119 -0
- package/skill/ads/reference/styles.md +70 -0
- package/skill/short-drama/SKILL.md +90 -8
- package/skill/short-drama/reference/action-bullet-time.md +47 -0
- package/skill/short-drama/reference/action-car-chase.md +51 -0
- package/skill/short-drama/reference/action-gun-fu.md +52 -0
- package/skill/short-drama/reference/action-historical-realist.md +50 -0
- package/skill/short-drama/reference/action-hk-kungfu.md +54 -0
- package/skill/short-drama/reference/action-street-brawl.md +49 -0
- package/skill/short-drama/reference/action-superhero.md +50 -0
- package/skill/short-drama/reference/action-wuxia-fantasy.md +51 -0
- package/skill/short-drama/reference/action.md +94 -0
- package/skill/short-drama/reference/cinematography-costume-dark.md +117 -0
- package/skill/short-drama/reference/cinematography-costume-idol.md +126 -0
- package/skill/short-drama/reference/cinematography-low-key.md +115 -0
- package/skill/short-drama/reference/cinematography-period-nostalgia.md +106 -0
- package/skill/short-drama/reference/cinematography-scifi-hard.md +63 -0
- package/skill/short-drama/reference/cinematography-scifi-soft.md +66 -0
- package/skill/short-drama/reference/cinematography-sweet-romance.md +175 -0
- package/skill/short-drama/reference/cinematography.md +83 -0
- package/skill/short-drama/reference/composition-art-first.md +74 -0
- package/skill/short-drama/reference/craft-shots.md +3 -1
- package/skill/short-drama/reference/craft-story.md +4 -1
- package/skill/short-drama/reference/format.md +94 -0
- package/skill/short-drama/reference/grammar-comedy.md +105 -0
- package/skill/short-drama/reference/grammar-faceslap.md +67 -0
- package/skill/short-drama/reference/grammar.md +103 -0
- package/skill/short-drama/reference/operations-cli.md +1 -1
- package/skill/short-drama/reference/schema.md +34 -3
- package/skill/short-drama/reference/stage-art.md +1 -1
- package/skill/short-drama/reference/stage-outline.md +21 -0
- package/skill/short-drama/reference/stage-script.md +10 -0
- package/skill/short-drama/reference/stage-storyboard.md +15 -0
- package/skill/short-drama/reference/story-angst.md +117 -0
- package/skill/short-drama/reference/story-comedy.md +136 -0
- package/skill/short-drama/reference/story-cultivation.md +109 -0
- package/skill/short-drama/reference/story-family.md +119 -0
- package/skill/short-drama/reference/story-horror.md +124 -0
- package/skill/short-drama/reference/story-mystery.md +127 -0
- package/skill/short-drama/reference/story-palace.md +103 -0
- package/skill/short-drama/reference/story-revenge.md +124 -0
- package/skill/short-drama/reference/story-scifi.md +112 -0
- package/skill/short-drama/reference/story-sweet.md +128 -0
- package/skill/short-drama/reference/story.md +127 -0
- package/skill/short-drama/scripts/selftest.mjs +809 -1
- package/skill/short-drama/scripts/short-drama.mjs +1608 -16
- package/skill/social-media/SKILL.md +152 -0
- package/skill/social-media/reference/content-craft.md +124 -0
- package/skill/social-media/reference/plan-template.md +171 -0
- package/skill/social-media/reference/platforms-china.md +94 -0
- package/skill/social-media/reference/platforms-global.md +122 -0
- package/skill/social-media/reference/ratio-map.md +100 -0
- package/skill/social-media/reference/repurpose.md +119 -0
- package/skill/wji/SKILL.md +66 -2
- package/skill/wji/reference/commands.md +76 -15
- package/skill/wji-classroom/SKILL.md +161 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wji-classroom
|
|
3
|
+
description: Run a class on WJI with the `wji` CLI — a teacher's workspace where every student has their own Infinite Canvas. Set up the class workspace, invite students by email or share link, create one private canvas per student, hand out preset prompts and starter nodes (copy the teacher's selected nodes into every student's canvas), then check each student's progress and collect their generated results by name, recency or color tag. Use when a teacher / instructor / 老師 / 講師 mentions a class, course, workshop, students / 學生 / 学员, assignments / homework / 作業, or wants to manage members' canvases on WJI.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# WJI classroom
|
|
7
|
+
|
|
8
|
+
This skill sits on top of the `wji` skill — read that one for sign-in,
|
|
9
|
+
models, generation and the canvas basics. Everything here is the `wji`
|
|
10
|
+
CLI; the class-wide commands live under `wji class`.
|
|
11
|
+
|
|
12
|
+
## How a class maps onto WJI
|
|
13
|
+
|
|
14
|
+
| Class | WJI |
|
|
15
|
+
| --- | --- |
|
|
16
|
+
| the class | a workspace the teacher **owns** |
|
|
17
|
+
| a student | a workspace member with role **editor** (viewers cannot generate) |
|
|
18
|
+
| a student's desk | a canvas whose owner is that student, visibility `owner` — only they and the teacher see it |
|
|
19
|
+
| handouts | workspace prompt presets, and starter nodes copied into every canvas |
|
|
20
|
+
| an assignment | nodes carrying a color tag with a label, e.g. red = `HW1` |
|
|
21
|
+
|
|
22
|
+
Only the workspace **owner** can invite, create share links and set canvas
|
|
23
|
+
owners. Check first:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
wji auth whoami
|
|
27
|
+
wji ws member list <workspaceId> # your row must say owner
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## 1. Create the class workspace
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
wji ws create "Art 101 — Spring" -a canvas # the canvas app is all a class needs
|
|
34
|
+
wji ws use <workspaceId> # later commands default to it
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## 2. Invite students
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
wji ws member invite amy@school.edu, ben@school.edu # ≤50 per call; commas or spaces
|
|
41
|
+
wji ws member link # or a join link (valid 7 days) to post in the class chat
|
|
42
|
+
wji ws member link --show # the active link
|
|
43
|
+
wji class roster # who has joined, role, canvas
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
- Registered emails join immediately (`added`); the others get an invitation
|
|
47
|
+
email and join after signing up (`invited`). Rerun `class roster` later.
|
|
48
|
+
- There is **one** active link per workspace. `member link` — and any
|
|
49
|
+
`member invite` that emails someone — revokes the previous link. Tell the
|
|
50
|
+
teacher before replacing a link they already shared.
|
|
51
|
+
- Late joiners via the link join as the link's role (default editor).
|
|
52
|
+
- Wrong role: `wji ws member role "Ben" editor`. Remove: `wji ws member rm "Ben"`.
|
|
53
|
+
|
|
54
|
+
## 3. One canvas per student
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
wji class canvases --create # named after each student, private
|
|
58
|
+
wji class canvases --create --name "{name} · Art 101"
|
|
59
|
+
wji class canvases --visibility members --update # let the class see each other's canvases
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
It only creates what is missing, so rerun it after new students join. The
|
|
63
|
+
teacher (workspace owner) sees every canvas; each student sees only theirs
|
|
64
|
+
(plus any canvas with visibility `members`, e.g. a shared "Class board").
|
|
65
|
+
Individual canvases: `wji canvas owner <canvasId> "Amy" --visibility owner`.
|
|
66
|
+
|
|
67
|
+
## 4. Preset prompts, so students don't have to type
|
|
68
|
+
|
|
69
|
+
Two ways, often both:
|
|
70
|
+
|
|
71
|
+
**Workspace presets** — a prompt library for the class. Students press `/`
|
|
72
|
+
on their canvas (the *workspace* tab) and the prompt becomes a text node, or
|
|
73
|
+
`/` inside a generate node's prompt box to insert it.
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
wji preset create "Watercolor portrait" -w <workspaceId> -c utility -t hw1 \
|
|
77
|
+
-p "A soft watercolor portrait of @image1, loose brush strokes, paper texture"
|
|
78
|
+
wji preset workspace # what the class sees
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**Starter nodes** — a ready-to-run generate node (prompt, model, settings,
|
|
82
|
+
reference images already wired) that students only have to press Generate on.
|
|
83
|
+
Build it once on the teacher's canvas, then copy it to everyone (step 5):
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
wji canvas add image -c <teacherCanvas> -n "HW1 portrait" -m <model> \
|
|
87
|
+
-p "@image1 as a watercolor portrait" --from <referenceImageNode>
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Pick the model with `wji models list --feature image` / `wji models get`.
|
|
91
|
+
|
|
92
|
+
## 5. Copy nodes into every student's canvas
|
|
93
|
+
|
|
94
|
+
The usual way: the teacher selects the nodes in the browser and presses the
|
|
95
|
+
link button in the canvas top bar. Then:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
wji canvas status # confirm what is selected
|
|
99
|
+
wji canvas tag red --selected -l HW1 # optional: mark it as an assignment
|
|
100
|
+
wji class copy -y # the selection → every student canvas
|
|
101
|
+
wji class copy <nodeId> <nodeId> -c <canvasId> --student "Amy" "Ben" -y
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
- Connections between the copied nodes come along with their `@image1…`
|
|
105
|
+
order; finished images/videos are shared (not regenerated); generate nodes
|
|
106
|
+
keep prompt, model and settings but start un-generated.
|
|
107
|
+
- The group lands to the right of what is already on each canvas (`--at x,y`
|
|
108
|
+
or `--same-position` to choose).
|
|
109
|
+
- Color tags come along; the label (`HW1`) is added to a student's canvas if
|
|
110
|
+
that color has no label there yet.
|
|
111
|
+
- Failures are reported per student with a `--student …` rerun hint.
|
|
112
|
+
|
|
113
|
+
## 6. Check progress and gather results
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
wji class status # every student: nodes, done / running / failed / not run, gens, last gen, credits
|
|
117
|
+
wji class status --tag HW1 --sort progress # just the assignment, least done first
|
|
118
|
+
wji class status --sort recent # who generated most recently
|
|
119
|
+
wji class results --tag HW1 # finished work, newest first
|
|
120
|
+
wji class results --student "Amy" --since 2h
|
|
121
|
+
wji class results --tag HW1 -d ./hw1 # download: ./hw1/<student>/<node>-<id>.png
|
|
122
|
+
wji class results --tag HW1 --all # also display nodes students uploaded
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
To review, download and look at the files, then leave feedback on the
|
|
126
|
+
student's canvas:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
wji canvas list --owner "Amy"
|
|
130
|
+
wji canvas add comment -c <amyCanvas> -t "Lovely colors — try a warmer background" --at 0,-200
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Rules
|
|
134
|
+
|
|
135
|
+
- **Emails go out in the teacher's name.** Show the exact address list and
|
|
136
|
+
role and get a yes in the chat before `ws member invite`. Same for
|
|
137
|
+
`ws member link` when a link is already active (it stops working).
|
|
138
|
+
- **Copying writes into every student's canvas.** Say what will be copied
|
|
139
|
+
(node names, count of students) and get a yes, then pass `-y`.
|
|
140
|
+
- **Don't generate on students' canvases** unless the teacher asks — it
|
|
141
|
+
spends the teacher's credits and replaces what the student would do. When
|
|
142
|
+
asked, follow the `wji` skill's cost rules (show the total for N students).
|
|
143
|
+
- **Deleting in a student's canvas** (`canvas rm`) follows the `wji`
|
|
144
|
+
confirm-before-destroying rule, one canvas at a time.
|
|
145
|
+
- Look students up by name or email (`--student "Amy"`); if a name is
|
|
146
|
+
ambiguous the CLI says so — ask, don't guess.
|
|
147
|
+
|
|
148
|
+
## Good to know
|
|
149
|
+
|
|
150
|
+
- Private (`owner`) visibility hides a canvas; it does not lock it. On a
|
|
151
|
+
`members` canvas any editor can edit anything.
|
|
152
|
+
- Students can edit or delete workspace presets (the backend has no role
|
|
153
|
+
check there). Keep the canonical prompts in the teacher's own presets too
|
|
154
|
+
(`wji preset create` without `-w`) and re-copy with `wji preset copy`.
|
|
155
|
+
- Generation history in a workspace is readable by every member, so students
|
|
156
|
+
can technically list each other's generations through the API even when
|
|
157
|
+
canvases are private.
|
|
158
|
+
- Organization admins who are not the workspace owner cannot invite or set
|
|
159
|
+
canvas owners — the workspace owner must.
|
|
160
|
+
- Credits in `class status` are what each student spent in this workspace
|
|
161
|
+
(all time); `wji ws quota` sets a workspace spending cap.
|