@creator-notes/cnotes 0.59.0 → 0.59.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/dist/lib/brand.d.ts +3 -0
- package/dist/lib/brand.d.ts.map +1 -1
- package/dist/lib/brand.js +3 -0
- package/dist/lib/brand.js.map +1 -1
- package/package.json +1 -1
- package/skills/attention-planner/references/orientation-canvas.md +6 -2
- package/skills/cnotes/SKILL.md +18 -5
- package/skills/wayfind/SKILL.md +4 -2
package/dist/lib/brand.d.ts
CHANGED
|
@@ -20,6 +20,9 @@ export declare const BRAND: {
|
|
|
20
20
|
readonly url: "https://creatornotes.app";
|
|
21
21
|
/** Bare domain. */
|
|
22
22
|
readonly domain: "creatornotes.app";
|
|
23
|
+
/** Developer portal (docs only). The API stays on `url`; never a server target. */
|
|
24
|
+
readonly devUrl: "https://cnotes.dev";
|
|
25
|
+
readonly devDomain: "cnotes.dev";
|
|
23
26
|
/** The installed command. */
|
|
24
27
|
readonly command: "cnotes";
|
|
25
28
|
/** Published package name. */
|
package/dist/lib/brand.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../src/lib/brand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,KAAK;IAChB,kDAAkD;;IAElD,kEAAkE;;IAElE,mBAAmB;;IAEnB,6BAA6B;;IAE7B,8BAA8B;;IAE9B,uFAAuF;;IAEvF,oCAAoC;;CAE5B,CAAC"}
|
|
1
|
+
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../src/lib/brand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,KAAK;IAChB,kDAAkD;;IAElD,kEAAkE;;IAElE,mBAAmB;;IAEnB,mFAAmF;;;IAGnF,6BAA6B;;IAE7B,8BAA8B;;IAE9B,uFAAuF;;IAEvF,oCAAoC;;CAE5B,CAAC"}
|
package/dist/lib/brand.js
CHANGED
|
@@ -20,6 +20,9 @@ export const BRAND = {
|
|
|
20
20
|
url: "https://creatornotes.app",
|
|
21
21
|
/** Bare domain. */
|
|
22
22
|
domain: "creatornotes.app",
|
|
23
|
+
/** Developer portal (docs only). The API stays on `url`; never a server target. */
|
|
24
|
+
devUrl: "https://cnotes.dev",
|
|
25
|
+
devDomain: "cnotes.dev",
|
|
23
26
|
/** The installed command. */
|
|
24
27
|
command: "cnotes",
|
|
25
28
|
/** Published package name. */
|
package/dist/lib/brand.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brand.js","sourceRoot":"","sources":["../../src/lib/brand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,kDAAkD;IAClD,IAAI,EAAE,eAAe;IACrB,kEAAkE;IAClE,GAAG,EAAE,0BAA0B;IAC/B,mBAAmB;IACnB,MAAM,EAAE,kBAAkB;IAC1B,6BAA6B;IAC7B,OAAO,EAAE,QAAQ;IACjB,8BAA8B;IAC9B,WAAW,EAAE,uBAAuB;IACpC,uFAAuF;IACvF,SAAS,EAAE,SAAS;IACpB,oCAAoC;IACpC,IAAI,EAAE,uBAAuB;CACrB,CAAC"}
|
|
1
|
+
{"version":3,"file":"brand.js","sourceRoot":"","sources":["../../src/lib/brand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,kDAAkD;IAClD,IAAI,EAAE,eAAe;IACrB,kEAAkE;IAClE,GAAG,EAAE,0BAA0B;IAC/B,mBAAmB;IACnB,MAAM,EAAE,kBAAkB;IAC1B,mFAAmF;IACnF,MAAM,EAAE,oBAAoB;IAC5B,SAAS,EAAE,YAAY;IACvB,6BAA6B;IAC7B,OAAO,EAAE,QAAQ;IACjB,8BAA8B;IAC9B,WAAW,EAAE,uBAAuB;IACpC,uFAAuF;IACvF,SAAS,EAAE,SAAS;IACpB,oCAAoC;IACpC,IAAI,EAAE,uBAAuB;CACrB,CAAC"}
|
package/package.json
CHANGED
|
@@ -25,8 +25,12 @@ sections size themselves around their content, so no coordinates.
|
|
|
25
25
|
| `3 · Advances` | The Project, Decision, or Customer the card names in `advances`, with a text card saying what becomes true if the block succeeds and which external send still needs a yes | from the card: `advances` |
|
|
26
26
|
| `Where things live` (bottom) | Portals: the work board the card came from and the home board | none |
|
|
27
27
|
|
|
28
|
-
Banner at the top, `richtext` medium, untinted, at most five sentences
|
|
29
|
-
|
|
28
|
+
Banner at the top, `richtext` medium, untinted, at most five sentences, in the
|
|
29
|
+
cnotes skill's banner order (hard rule 7 under "Canvas Elements"): what happened,
|
|
30
|
+
what this board is for, who answers and where, how to read it. Then the lines
|
|
31
|
+
only this canvas needs: the block day and time, "answer on the card", where the
|
|
32
|
+
portals go. A banner that opens with the block time and the reading order and
|
|
33
|
+
never says what the card is about fails the cnotes cold-reader test.
|
|
30
34
|
Reminder material (rules, operating plan) does not go on an orientation canvas;
|
|
31
35
|
the home board carries it.
|
|
32
36
|
|
package/skills/cnotes/SKILL.md
CHANGED
|
@@ -253,7 +253,11 @@ cnotes canvas digest <canvasId>
|
|
|
253
253
|
# NAMING: never put an em-dash (—) or en-dash (–) in a canvas name. Use the interpunct
|
|
254
254
|
# · (U+00B7, MIDDLE DOT — a small mid-height dot, NOT a bullet •) as the separator,
|
|
255
255
|
# e.g. "Path to Revenue · Funding strategy", not "Path to Revenue — Funding strategy".
|
|
256
|
-
cnotes canvas create "<name>"
|
|
256
|
+
cnotes canvas create "<name>" --goal "<text>" [--audience "<text>"] # prints Ref (CANVAS-N) + Link — surface them to the user (see "Surfacing the canvas link")
|
|
257
|
+
# --goal is not optional in practice: write it FIRST, for a reader, as the decision or artifact
|
|
258
|
+
# the board exists to produce ("Decide whether X; pick the first slice"), never as a brief to
|
|
259
|
+
# yourself ("Research Tufte, diverge on..."). The goal renders only inside the (i) popover, so
|
|
260
|
+
# nobody sees it before the banner; the banner restates it (hard rule 7).
|
|
257
261
|
cnotes canvas update <canvasId> [--title "<text>"] [--goal "<text>"] [--audience "<text>"]
|
|
258
262
|
cnotes canvas delete <canvasId>
|
|
259
263
|
cnotes canvas set-as-home <canvasId>
|
|
@@ -266,7 +270,7 @@ cnotes canvas add-node <canvasId> --note <noteId> [--x <n>] [--y <n>] # (despi
|
|
|
266
270
|
# text = free-form rich text placed on the canvas (wire type: richtext). Markdown —
|
|
267
271
|
# headings, emphasis, images. Optional background tint (--color); DEFAULT IS NO BACKGROUND.
|
|
268
272
|
# A HEADING IS JUST `--content '# Q1 Goals'` with no tint — there is no separate heading
|
|
269
|
-
# element. CARD-sized framing (at most ~3 sentences
|
|
273
|
+
# element. CARD-sized framing (at most ~3 sentences; the orientation banner may run to ~5 and follows hard rule 7), emphasis
|
|
270
274
|
# quoting a note, image tiles. Unversioned, unsearchable, no display ID (nothing can cite
|
|
271
275
|
# it) — never the sole home of a claim. When the card names a note or canvas, write a
|
|
272
276
|
# relationship mention with the REAL title, `[NOTE-12: Title](relationship:verb)`: it renders
|
|
@@ -878,7 +882,7 @@ A canvas holds two tiers of material, and the difference is load-bearing:
|
|
|
878
882
|
| N distinct things (questions, risks, options, findings) | **N notes** grouped in a **list**; `--description` = one-line frame | bullets in one text element or in a list `--description` |
|
|
879
883
|
| A named REGION of the canvas ("Shaping", "Open Questions") | a **section** frame (`add-section`) — draggable region, mention-addressable as `[[SECTION-<n>]]` from note bodies | a floating text heading over an implied area |
|
|
880
884
|
| A heading / one-line label where a frame is too heavy (a column header inside a frame, a lane key) | a **text** element holding a markdown heading — `add-text --content '# Q1 Goals'`, no `--color` (leave it untinted), title case | a tinted card, or a section frame for something that isn't a region |
|
|
881
|
-
|
|
|
885
|
+
| Orientation: what happened, what this board is for, and how to read it | a **text** orientation banner in the fixed shape of rule 7 (one per canvas; a band may add a short one; up to ~5 sentences) | a reading-order-only banner, or a Guide note nobody needs off-canvas |
|
|
882
886
|
| Emphasis — restating a key claim for screen presence | a **text** element that QUOTES a note (the note stays the home) | the text element as the only copy |
|
|
883
887
|
| An image tile (logo, mockup, screenshot) | a **text** element holding the image, beside the owning note; embed the same image in the note body via `cnotes files upload <path> --markdown` so the note stays self-contained | the image as the knowledge itself |
|
|
884
888
|
| A grid of images for review (mood board) | N text-element image tiles in a `grid` place spec + ONE note holding the decision criteria / rationale for the set | a caption note per tile, or rationale in the tiles |
|
|
@@ -906,14 +910,23 @@ A canvas holds two tiers of material, and the difference is load-bearing:
|
|
|
906
910
|
|
|
907
911
|
Do not hand-pick a hex outside this table: the renderer snaps every tint to the nearest role by hue, so an off-palette color does not get you a new shade — it just picks a role imprecisely (`#c2410c` lands on Danger, not Warning). A tint colors the CARD only; text inside it keeps the normal prose colors, so the tint can never make a card harder to read. If you cannot name the role, omit the color.
|
|
908
912
|
|
|
909
|
-
|
|
913
|
+
7. **The orientation banner opens for a stranger, in a fixed order.** The banner is the first and often the only card a cold reader sees (the goal sits behind the (i) button; nobody reads it first), so a banner that gives only the reading order fails: one shipped as "A story in six frames, read top to bottom. Frames 1 to 3 are the events: a release note is written, an agent writes an ad from it, the scope changes" and the reader could not say which release note, whose agent, or why any of it mattered. Write it in this order, at most ~5 sentences, heading = the board's subject (the canvas title or the goal), never a clever name for the banner:
|
|
914
|
+
1. **What happened** — one dated sentence naming the people, products and events a stranger can look up ("On 19 September 2026 Deniss asked why CreatorNotes records every note a person opens but nothing an agent reads").
|
|
915
|
+
2. **What this board is for** — the goal restated in reader's words: the decision or artifact it produces.
|
|
916
|
+
3. **Who acts on it and how** — who decides, answers, or builds, and where the answer goes (as a mention chip with its real title, rule 2).
|
|
917
|
+
4. **How to read it** — reading order and what each frame holds.
|
|
918
|
+
Nothing before the banner has defined anything, so no unnamed referents in it: not "the ad", "the app", "the scope", "the card" until the thing has been named or chipped. Wayfind maps and Attention orientation canvases add their own lines (destination, block time) after these four, never instead of them.
|
|
910
919
|
|
|
911
|
-
|
|
920
|
+
#### Three completion tests
|
|
921
|
+
|
|
922
|
+
Run all three before ending your operation:
|
|
912
923
|
|
|
913
924
|
**The read-back test (for the next agent):** run `cnotes canvas read` and check that every claim is present as a NOTE section with a display ID, and the reasoning can be followed through note bodies and their mentions. Content that appears only as anonymous text-element prose fails the test even when visible — nothing can cite, search, or version it. List members read back as ID+title links without bodies; that is fine — the IDs are citable and batch-fetchable via `cnotes notes get`. As a heuristic for working canvases, at least ~4 notes per text element (zero text elements is fine); fewer means text elements are carrying content. Explainer canvases using the projection pattern (rule 4) are exempt from the ratio, not from the test.
|
|
914
925
|
|
|
915
926
|
**The glance test (for the human):** zoomed to fit, a person should grasp what this canvas argues and where to start reading in about 10 seconds. A canvas that passes read-back but renders as an undifferentiated card grid is also not done — that is what section labels, orientation banners, projections, and layout are for.
|
|
916
927
|
|
|
928
|
+
**The cold-reader test (for the person who was not in the session):** cover everything but the banner. Can someone who never saw the conversation say what happened, what this board decides or produces, and who acts on it? If the banner only gives the reading order, or leans on "the ad" / "the app" / "the card" before naming them, it fails (rule 7). Run this on the banner text itself, not on your memory of the run.
|
|
929
|
+
|
|
917
930
|
#### Worked example
|
|
918
931
|
|
|
919
932
|
Right shape (a real competitor scan): 31 typed notes (COMPETITOR profile, FACT evidence row, INSIGHT verdicts per dimension, RISK/IDEA/STRATEGY response bands, QUESTION follow-ups in a list), three short text banners framing the bands ("Threats, Steals, Response — what hurts us, what's worth taking, the plan"), and labeled edges mirrored as mentions (`FACT-44 --grounds--> INSIGHT-361`).
|
package/skills/wayfind/SKILL.md
CHANGED
|
@@ -137,8 +137,10 @@ The user arrives with a loose idea.
|
|
|
137
137
|
`wayfind` plus the mode.
|
|
138
138
|
5. **Place the map** in one `cnotes canvas place` spec: orientation banner,
|
|
139
139
|
the four sections with their contents, blocking edges (blocker → dependent,
|
|
140
|
-
label "blocks"). Banner is at most five sentences
|
|
141
|
-
|
|
140
|
+
label "blocks"). Banner is at most five sentences in the cnotes skill's banner
|
|
141
|
+
order (hard rule 7 under "Canvas Elements"): what happened and who asked,
|
|
142
|
+
the destination in reader's words, who resolves tickets and how, then how the
|
|
143
|
+
four frames read. Plain display IDs only — mention syntax corrupts richtext.
|
|
142
144
|
6. **Fire the research subagents** for frontier research tickets; fold whatever
|
|
143
145
|
returns into resolutions (steps 4–6 of the work loop) before closing.
|
|
144
146
|
7. **Close the run, surface the canvas link, stop.** Charting resolves nothing
|