drafted 1.17.17 → 1.17.18

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": "drafted",
3
- "version": "1.17.17",
3
+ "version": "1.17.18",
4
4
  "description": "Drafted — visual thinking surface for humans and AI agents. Renders HTML, markdown, images, and code as frames on a zoomable canvas, with MCP tools for AI agents and real-time sync for humans.",
5
5
  "type": "module",
6
6
  "files": [
@@ -8,13 +8,13 @@ Spin up a project on the surface, or generalize one into a reusable template. Go
8
8
  First ask: **a new project, or a reusable template?** (This command does both.)
9
9
 
10
10
  Search before creating (also satisfies the gates):
11
- 1. `fs(search, path/o/<org>/wiki", query="<terms>")` for relevant knowledge. [G1]
12
- 2. `fs(search, path/o/<org>/skills", query="<topic>")` for procedures that should be attached. [G2/G3]
11
+ 1. `fs(search, path="/o/<org>/wiki", query="<terms>")` for relevant knowledge. [G1]
12
+ 2. `fs(search, path="/o/<org>/skills", query="<topic>")` for procedures that should be attached. [G2/G3]
13
13
 
14
14
  Then:
15
- - Create the project — a project is a folder: `fs(mkdir, path/o/<org>/projects/<name>")`. It starts with **no layers**; you define them by writing into them.
16
- - `fs(write, path/o/<org>/projects/<name>/<layer>/<lane>/brief.md", content=...)` a real brief at the earliest layer (goal, audience, constraints — 6-12 lines, not a placeholder). The layer + lane auto-create.
15
+ - Create the project — a project is a folder: `fs(mkdir, path="/o/<org>/projects/<name>")`. It starts with **no layers**; you define them by writing into them.
16
+ - `fs(write, path="/o/<org>/projects/<name>/<layer>/<lane>/brief.md", content=...)` a real brief at the earliest layer (goal, audience, constraints — 6-12 lines, not a placeholder). The layer + lane auto-create.
17
17
  - Attach the relevant skills you found via the skill gates.
18
- - `fs(ls, path/o/<org>/projects/<name>")` to confirm the structure, and hand the user the `projectUrl` from the response.
18
+ - `fs(ls, path="/o/<org>/projects/<name>")` to confirm the structure, and hand the user the `projectUrl` from the response.
19
19
 
20
20
  For a **template**: build the layer structure + anchored guidance, then note how to fork it next time. Don't speculatively fill downstream frames — wait for direction.
@@ -6,8 +6,8 @@ argument-hint: <what the procedure is for>
6
6
  Turn a repeatable way of working into a Drafted skill so every future agent in the org follows it. Procedure: $ARGUMENTS
7
7
 
8
8
  Do the searches first (they also satisfy the gates):
9
- 1. `fs(search, path/o/<org>/wiki", query="<terms>")` for relevant org knowledge the procedure should reference. [G1]
10
- 2. `fs(search, path/o/<org>/skills", query="<topic>")` for prior art — an existing skill to improve instead of duplicating. [G2 — also enforced on writing a new skill.] If a close match exists, prefer `/drafted:improve-skill`.
9
+ 1. `fs(search, path="/o/<org>/wiki", query="<terms>")` for relevant org knowledge the procedure should reference. [G1]
10
+ 2. `fs(search, path="/o/<org>/skills", query="<topic>")` for prior art — an existing skill to improve instead of duplicating. [G2 — also enforced on writing a new skill.] If a close match exists, prefer `/drafted:improve-skill`.
11
11
 
12
12
  Then define a PROPER procedure, not a vague note:
13
13
  - a clear trigger ("when to use this"),
@@ -15,4 +15,4 @@ Then define a PROPER procedure, not a vague note:
15
15
  - success criteria / what "done right" looks like,
16
16
  - written in the second person so any agent can follow it directly. Keep it sharp (~40 lines).
17
17
 
18
- Show the draft to the user with a proposed `name` (Title Case), one-line `description`, `tags` (3-5), and `triggerPatterns`. After approval, write it with `fs(write, path/o/<org>/skills/<slug>", content=...)` — the slug is derived from the name. Confirm with the slug and note it will auto-surface on matching tasks.
18
+ Show the draft to the user with a proposed `name` (Title Case), one-line `description`, `tags` (3-5), and `triggerPatterns`. After approval, write it with `fs(write, path="/o/<org>/skills/<slug>", content=...)` — the slug is derived from the name. Confirm with the slug and note it will auto-surface on matching tasks.
@@ -7,7 +7,7 @@ Session-end deposit. Harvest what's durable from this conversation back into the
7
7
 
8
8
  Review the session, then **present the user options for which store(s) to deposit into** — don't auto-decide. Offer any that apply:
9
9
 
10
- - **Knowledge → wiki** — durable facts, decisions, or findings worth keeping. Search first (`fs(search, path/o/<org>/wiki", ...)`) to avoid fragmenting, then `fs(write, path/o/<org>/wiki/<path>", ...)`.
10
+ - **Knowledge → wiki** — durable facts, decisions, or findings worth keeping. Search first (`fs(search, path="/o/<org>/wiki", ...)`) to avoid fragmenting, then `fs(write, path="/o/<org>/wiki/<path>", ...)`.
11
11
  - **Procedure → skill** — a repeatable way of working that emerged. Follow `/drafted:create-skill`.
12
12
  - **Template → surface** — a reusable project structure that emerged. Build it as a project via `fs(mkdir, ...)` + frames.
13
13
 
@@ -7,8 +7,8 @@ When the user had to correct the work in this project, codify the correction so
7
7
 
8
8
  1. Identify the recurring correction(s) or standing rule from this session.
9
9
  2. Choose the right Drafted-side gate per correction (each counts toward the project's context budget):
10
- - **Project anchor** — a brief, constraint, or style guide that must be in context project-wide: `fs(write, path/o/<org>/projects/<project>/<layer>/<lane>/<file>", content=...)` it, then anchor it so it surfaces on open. [G5]
11
- - **Attached skill** — a procedure that must be loaded before work: `/drafted:create-skill` (or `fs(search, path/o/<org>/skills", ...)` for an existing one), then attach it to the project. [G4]
10
+ - **Project anchor** — a brief, constraint, or style guide that must be in context project-wide: `fs(write, path="/o/<org>/projects/<project>/<layer>/<lane>/<file>", content=...)` it, then anchor it so it surfaces on open. [G5]
11
+ - **Attached skill** — a procedure that must be loaded before work: `/drafted:create-skill` (or `fs(search, path="/o/<org>/skills", ...)` for an existing one), then attach it to the project. [G4]
12
12
  - **Layer rule** — a standing instruction for one stage: set that layer's rules so work in it is gated. [G6]
13
13
  3. Propose which mechanism for each correction, confirm with the user, then apply.
14
14
  4. Confirm what is now enforced — the next session in this project will be gated on it automatically.
@@ -5,10 +5,10 @@ argument-hint: <which skill, and what's off>
5
5
 
6
6
  Improve an existing org skill when it underperformed in practice. Skill / issue: $ARGUMENTS
7
7
 
8
- 1. `fs(search, path/o/<org>/skills", query="<slug>")` then `fs(read, path/o/<org>/skills/<slug>")` the skill in question — read it fully.
8
+ 1. `fs(search, path="/o/<org>/skills", query="<slug>")` then `fs(read, path="/o/<org>/skills/<slug>")` the skill in question — read it fully.
9
9
  2. Pinpoint the inefficiency: a missing step, a wrong instruction, an ambiguous trigger, or a step that wastes effort.
10
10
  3. Propose the specific edit to the user — show before/after of the changed steps.
11
- 4. After approval, `fs(write, path/o/<org>/skills/<slug>", content=<updated>)` — writing an existing skill updates it (the version bumps automatically). If it was archived, writing restores it.
11
+ 4. After approval, `fs(write, path="/o/<org>/skills/<slug>", content=<updated>)` — writing an existing skill updates it (the version bumps automatically). If it was archived, writing restores it.
12
12
  5. Confirm what changed so the next agent benefits.
13
13
 
14
14
  Skills are the org's stable processes — every fix compounds across everyone who uses them.
@@ -5,10 +5,10 @@ argument-hint: <what's wrong, or the topic to clean up>
5
5
 
6
6
  Improve the org wiki when knowledge has drifted. Issue/topic: $ARGUMENTS
7
7
 
8
- 1. `fs(search, path/o/<org>/wiki", query="<terms>")` (3-5 paraphrased queries) and `fs(read, path/o/<org>/wiki/<path>")` the affected pages — don't trust titles, open them.
8
+ 1. `fs(search, path="/o/<org>/wiki", query="<terms>")` (3-5 paraphrased queries) and `fs(read, path="/o/<org>/wiki/<path>")` the affected pages — don't trust titles, open them.
9
9
  2. Diagnose: duplicate pages, a stale fact, a contradiction, or knowledge fragmented across pages.
10
10
  3. Propose the fix to the user: consolidate duplicates, correct the fact, reconcile the contradiction, or re-link fragments.
11
- 4. Apply with `fs(write, path/o/<org>/wiki/<path>", content=<updated>)` (hashline `edit` for surgical changes) or `fs(mv, path/o/<org>/wiki/<from>", to/o/<org>/wiki/<to>")` (which rewrites inbound links). Check what links to a page before moving or archiving it.
12
- 5. Never hard-delete — `fs(rm, path/o/<org>/wiki/<path>")` moves a page to the archive folder.
11
+ 4. Apply with `fs(write, path="/o/<org>/wiki/<path>", content=<updated>)` (hashline `edit` for surgical changes) or `fs(mv, path="/o/<org>/wiki/<from>", to="/o/<org>/wiki/<to>")` (which rewrites inbound links). Check what links to a page before moving or archiving it.
12
+ 5. Never hard-delete — `fs(rm, path="/o/<org>/wiki/<path>")` moves a page to the archive folder.
13
13
 
14
14
  Leave the wiki more coherent than you found it — fewer, sharper, better-linked pages.
@@ -12,9 +12,9 @@ First decide WHAT to ingest. If it's obvious from the conversation (a research r
12
12
  3. **Interrogate the user** (grill-me) — when the knowledge is in their head. Interview relentlessly, walking ONE branch of the decision tree at a time and proposing your recommended answer at each step, until you reach shared understanding. Then structure what you captured.
13
13
 
14
14
  Then deposit:
15
- - `fs(search, path/o/<org>/wiki", query="<terms>")` first (3-5 paraphrased queries) so you don't fragment existing pages.
15
+ - `fs(search, path="/o/<org>/wiki", query="<terms>")` first (3-5 paraphrased queries) so you don't fragment existing pages.
16
16
  - Propose the page set to the user before writing.
17
- - Write with `fs(write, path/o/<org>/wiki/<path>", content=...)` per page. Cross-link related pages.
17
+ - Write with `fs(write, path="/o/<org>/wiki/<path>", content=...)` per page. Cross-link related pages.
18
18
  - Confirm what landed where, with the page links.
19
19
 
20
20
  The wiki is the org's durable knowledge — write for the next agent and teammate, not just this session.