syntaur 0.4.4 → 0.5.0

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.
Files changed (72) hide show
  1. package/dashboard/dist/assets/{_basePickBy-CWivToyi.js → _basePickBy-Bcut0btZ.js} +1 -1
  2. package/dashboard/dist/assets/{_baseUniq-C-qj6E4l.js → _baseUniq-AQSP2JEk.js} +1 -1
  3. package/dashboard/dist/assets/{arc-Dn5BIqMa.js → arc-BLTpY9lc.js} +1 -1
  4. package/dashboard/dist/assets/{architectureDiagram-2XIMDMQ5-D5D0K7rY.js → architectureDiagram-2XIMDMQ5-CJtwMY_X.js} +1 -1
  5. package/dashboard/dist/assets/{blockDiagram-WCTKOSBZ-DVmYPMbu.js → blockDiagram-WCTKOSBZ-Don-O7X7.js} +1 -1
  6. package/dashboard/dist/assets/{c4Diagram-IC4MRINW-BEasxbnl.js → c4Diagram-IC4MRINW-C_M3yTTB.js} +1 -1
  7. package/dashboard/dist/assets/channel-BfXmPwE5.js +1 -0
  8. package/dashboard/dist/assets/{chunk-4BX2VUAB-LDIrtI5E.js → chunk-4BX2VUAB-CGss0jXe.js} +1 -1
  9. package/dashboard/dist/assets/{chunk-55IACEB6-CaEBUJYu.js → chunk-55IACEB6-BatoPJga.js} +1 -1
  10. package/dashboard/dist/assets/{chunk-FMBD7UC4-B-GjCpdr.js → chunk-FMBD7UC4-DxH4wO82.js} +1 -1
  11. package/dashboard/dist/assets/{chunk-JSJVCQXG-BLVVcezm.js → chunk-JSJVCQXG-BL3izAFQ.js} +1 -1
  12. package/dashboard/dist/assets/{chunk-KX2RTZJC-DqCNEw4h.js → chunk-KX2RTZJC-GnqXwnge.js} +1 -1
  13. package/dashboard/dist/assets/{chunk-NQ4KR5QH-BCPbFf5I.js → chunk-NQ4KR5QH-gvCn4QMb.js} +1 -1
  14. package/dashboard/dist/assets/{chunk-QZHKN3VN-Ci0C85q_.js → chunk-QZHKN3VN-CYGWogyi.js} +1 -1
  15. package/dashboard/dist/assets/{chunk-WL4C6EOR-VVhAMMYU.js → chunk-WL4C6EOR-D9mVTQ1F.js} +1 -1
  16. package/dashboard/dist/assets/classDiagram-VBA2DB6C-D7_G1qy0.js +1 -0
  17. package/dashboard/dist/assets/classDiagram-v2-RAHNMMFH-D7_G1qy0.js +1 -0
  18. package/dashboard/dist/assets/clone-BKG-N796.js +1 -0
  19. package/dashboard/dist/assets/{cose-bilkent-S5V4N54A-CO9uwgYO.js → cose-bilkent-S5V4N54A-CUWQCKt4.js} +1 -1
  20. package/dashboard/dist/assets/{dagre-KLK3FWXG-bwLLXcL4.js → dagre-KLK3FWXG-CH3ijEvV.js} +1 -1
  21. package/dashboard/dist/assets/{diagram-E7M64L7V-RuS5R6V1.js → diagram-E7M64L7V-sq83lpV1.js} +1 -1
  22. package/dashboard/dist/assets/{diagram-IFDJBPK2-BQDJAHQd.js → diagram-IFDJBPK2-BzQG_rtq.js} +1 -1
  23. package/dashboard/dist/assets/{diagram-P4PSJMXO-yLEsgzE5.js → diagram-P4PSJMXO-Dg0eZn0q.js} +1 -1
  24. package/dashboard/dist/assets/{erDiagram-INFDFZHY-na6dUhY0.js → erDiagram-INFDFZHY-4b9eQ0uj.js} +1 -1
  25. package/dashboard/dist/assets/{flowDiagram-PKNHOUZH-BIcrzwJR.js → flowDiagram-PKNHOUZH-C9fzKcsZ.js} +1 -1
  26. package/dashboard/dist/assets/{ganttDiagram-A5KZAMGK-DHWRJn-D.js → ganttDiagram-A5KZAMGK-Bzt6i9SH.js} +1 -1
  27. package/dashboard/dist/assets/{gitGraphDiagram-K3NZZRJ6-LGxDjL71.js → gitGraphDiagram-K3NZZRJ6-D0wFOagh.js} +1 -1
  28. package/dashboard/dist/assets/{graph-BUqNu277.js → graph-EEIGvqDh.js} +1 -1
  29. package/dashboard/dist/assets/index-Bu6ma6my.css +1 -0
  30. package/dashboard/dist/assets/index-C7f0ySJE.js +481 -0
  31. package/dashboard/dist/assets/{infoDiagram-LFFYTUFH-DidoA2hb.js → infoDiagram-LFFYTUFH-DLYMsj1D.js} +1 -1
  32. package/dashboard/dist/assets/{ishikawaDiagram-PHBUUO56-CdlZkbhV.js → ishikawaDiagram-PHBUUO56-DVebKkzl.js} +1 -1
  33. package/dashboard/dist/assets/{journeyDiagram-4ABVD52K-luhcz_gn.js → journeyDiagram-4ABVD52K-BsmgOWVw.js} +1 -1
  34. package/dashboard/dist/assets/{kanban-definition-K7BYSVSG-Coidw9XE.js → kanban-definition-K7BYSVSG-BTnHf0ey.js} +1 -1
  35. package/dashboard/dist/assets/{layout-_aBAAleE.js → layout-BbM7HRvv.js} +1 -1
  36. package/dashboard/dist/assets/{linear-D8mFnDSx.js → linear-C37bJKPO.js} +1 -1
  37. package/dashboard/dist/assets/{mermaid.core-BpP2keU-.js → mermaid.core-MZ_JgnRL.js} +4 -4
  38. package/dashboard/dist/assets/{mindmap-definition-YRQLILUH-LjvrTe2z.js → mindmap-definition-YRQLILUH-CgHS4hFo.js} +1 -1
  39. package/dashboard/dist/assets/{pieDiagram-SKSYHLDU-CkA2iU6e.js → pieDiagram-SKSYHLDU-CmAgopJe.js} +1 -1
  40. package/dashboard/dist/assets/{quadrantDiagram-337W2JSQ-BRmhKHQG.js → quadrantDiagram-337W2JSQ-BvzYUPR6.js} +1 -1
  41. package/dashboard/dist/assets/{requirementDiagram-Z7DCOOCP-BYCQ4uFX.js → requirementDiagram-Z7DCOOCP-Bs52VP7k.js} +1 -1
  42. package/dashboard/dist/assets/{sankeyDiagram-WA2Y5GQK-C8SVk50M.js → sankeyDiagram-WA2Y5GQK-aXvGPR1o.js} +1 -1
  43. package/dashboard/dist/assets/{sequenceDiagram-2WXFIKYE-CbA_2lnP.js → sequenceDiagram-2WXFIKYE-CzgcfU6K.js} +1 -1
  44. package/dashboard/dist/assets/{stateDiagram-RAJIS63D-D6ZtjAHE.js → stateDiagram-RAJIS63D-BXBJf9Hq.js} +1 -1
  45. package/dashboard/dist/assets/stateDiagram-v2-FVOUBMTO-QqOtsuOs.js +1 -0
  46. package/dashboard/dist/assets/{timeline-definition-YZTLITO2-B2Uf-emK.js → timeline-definition-YZTLITO2-BsXp26Ai.js} +1 -1
  47. package/dashboard/dist/assets/{treemap-KZPCXAKY-CYnFKsuJ.js → treemap-KZPCXAKY-C3WbDii1.js} +1 -1
  48. package/dashboard/dist/assets/{vennDiagram-LZ73GAT5-Cnj0qiDO.js → vennDiagram-LZ73GAT5-B28LMHWd.js} +1 -1
  49. package/dashboard/dist/assets/{xychartDiagram-JWTSCODW-BJy2mbL9.js → xychartDiagram-JWTSCODW-C3Xwz8mS.js} +1 -1
  50. package/dashboard/dist/index.html +2 -2
  51. package/dist/dashboard/server.js +1329 -402
  52. package/dist/dashboard/server.js.map +1 -1
  53. package/dist/index.js +1591 -533
  54. package/dist/index.js.map +1 -1
  55. package/examples/playbooks/assignment-creation.md +19 -0
  56. package/examples/playbooks/assignment-planning.md +28 -0
  57. package/package.json +1 -1
  58. package/platforms/claude-code/.orphaned_at +1 -0
  59. package/platforms/claude-code/agents/syntaur-expert.md +2 -2
  60. package/platforms/claude-code/commands/create-assignment/create-assignment.md +1 -1
  61. package/platforms/codex/agents/syntaur-operator.md +2 -2
  62. package/vendor/syntaur-skills/README.md +12 -0
  63. package/vendor/syntaur-skills/skills/create-assignment/SKILL.md +5 -4
  64. package/dashboard/dist/assets/channel-DqU_8tiy.js +0 -1
  65. package/dashboard/dist/assets/classDiagram-VBA2DB6C-D29Eeoe8.js +0 -1
  66. package/dashboard/dist/assets/classDiagram-v2-RAHNMMFH-D29Eeoe8.js +0 -1
  67. package/dashboard/dist/assets/clone-Bok8Q3Jj.js +0 -1
  68. package/dashboard/dist/assets/index-D-fepllQ.js +0 -481
  69. package/dashboard/dist/assets/index-DnHyQJJH.css +0 -1
  70. package/dashboard/dist/assets/stateDiagram-v2-FVOUBMTO-DeYN4wV6.js +0 -1
  71. package/examples/playbooks/plan-versioning.md +0 -36
  72. package/examples/playbooks/read-before-plan.md +0 -30
@@ -0,0 +1,19 @@
1
+ ---
2
+ name: "Assignment Creation"
3
+ slug: assignment-creation
4
+ description: "Rules for how agents should create new assignments"
5
+ when_to_use: "Before creating a new assignment (project-nested or standalone)"
6
+ created: "2026-04-23T00:00:00Z"
7
+ updated: "2026-04-23T00:00:00Z"
8
+ tags:
9
+ - protocol
10
+ - assignments
11
+ ---
12
+
13
+ # Assignment Creation
14
+
15
+ Rules for creating new assignments.
16
+
17
+ 1. Do not pre-populate assignments with specific todos unless the user explicitly asks for them. Todos belong to the planning phase, and baking them into the assignment at creation time locks in an approach before the agent has read the project context, decision records, or dependencies. Let the assignment describe the goal and acceptance criteria; let the plan describe the steps.
18
+
19
+ 2. The initial status of a newly created assignment should usually be `brainstorming`. Assignments typically need to be shaped — goal clarified, acceptance criteria refined, scope discussed — before they're ready to be planned or worked on. Only skip `brainstorming` when the user has already fully specified the assignment and explicitly wants it to start in a later state.
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: "Assignment Planning"
3
+ slug: assignment-planning
4
+ description: "Rules for how agents should update an assignment's todos when planning"
5
+ when_to_use: "When creating a plan for an assignment, or creating a new plan after a prior one has been executed"
6
+ created: "2026-04-23T00:00:00Z"
7
+ updated: "2026-04-23T00:00:00Z"
8
+ tags:
9
+ - protocol
10
+ - planning
11
+ - assignments
12
+ ---
13
+
14
+ # Assignment Planning
15
+
16
+ Rules for updating an assignment's todos during planning.
17
+
18
+ 1. When planning an assignment, add these three todos to the assignment:
19
+ - [ ] Create plan
20
+ - [ ] Review plan (include link to the plan .md)
21
+ - [ ] Execute plan (include link to the plan .md)
22
+
23
+ 2. If asked to create a new plan after a prior plan has been implemented (i.e. its "Execute plan" todo is checked off), add three new todos for the new cycle:
24
+ - [ ] Create new plan
25
+ - [ ] Review new plan (include link to the new plan .md)
26
+ - [ ] Execute new plan (include link to the new plan .md)
27
+
28
+ Leave the old todos intact. Mark them as done and/or outdated if appropriate, but do not delete them — the history of plan cycles is part of the assignment record.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "syntaur",
3
- "version": "0.4.4",
3
+ "version": "0.5.0",
4
4
  "description": "Project workflow CLI with dashboard, Claude Code plugin, and Codex plugin",
5
5
  "homepage": "https://github.com/prong-horn/syntaur#readme",
6
6
  "repository": {
@@ -0,0 +1 @@
1
+ 1776860006263
@@ -169,8 +169,8 @@ Only the assigned agent may write to its own assignment folder.
169
169
  | Command | Description |
170
170
  |---------|-------------|
171
171
  | `syntaur create-project <title> [--slug S] [--dir D]` | Create new project with full scaffolding |
172
- | `syntaur create-assignment <title> --project M [--priority P] [--depends-on D] [--slug S] [--type T]` | Create assignment in a project |
173
- | `syntaur create-assignment <title> --one-off [--type T]` | Create standalone assignment at `~/.syntaur/assignments/<uuid>/` (project: null, slug display-only) |
172
+ | `syntaur create-assignment <title> --project M [--priority P] [--depends-on D] [--slug S] [--type T] [--with-todos]` | Create assignment in a project. `--with-todos` pre-scaffolds a `## Todos` section (omitted by default — usually added later by `plan-assignment`). |
173
+ | `syntaur create-assignment <title> --one-off [--type T] [--with-todos]` | Create standalone assignment at `~/.syntaur/assignments/<uuid>/` (project: null, slug display-only) |
174
174
 
175
175
  ### Coordination (CLI-mediated writes)
176
176
  | Command | Description |
@@ -3,7 +3,7 @@ name: create-assignment
3
3
  description: Create a new Syntaur assignment (project-nested or standalone one-off)
4
4
  arguments:
5
5
  - name: args
6
- description: "Title and flags. See the create-assignment skill for supported forms (e.g. --project <slug>, --one-off, --type <type>)."
6
+ description: "Title and flags. See the create-assignment skill for supported forms (e.g. --project <slug>, --one-off, --type <type>, --with-todos)."
7
7
  required: false
8
8
  ---
9
9
 
@@ -80,8 +80,8 @@ Project-nested assignments live at `~/.syntaur/projects/<slug>/assignments/<aslu
80
80
  Use these commands directly when needed:
81
81
 
82
82
  - `syntaur create-project "<title>" [--slug <slug>] [--dir <path>]`
83
- - `syntaur create-assignment "<title>" --project <slug> [--slug <slug>] [--priority <level>] [--depends-on <slugs>] [--type <type>] [--dir <path>]`
84
- - `syntaur create-assignment "<title>" --one-off [--slug <slug>] [--priority <level>] [--type <type>] [--dir <path>]` — creates standalone at `~/.syntaur/assignments/<uuid>/`
83
+ - `syntaur create-assignment "<title>" --project <slug> [--slug <slug>] [--priority <level>] [--depends-on <slugs>] [--type <type>] [--dir <path>] [--with-todos]` — `--with-todos` pre-scaffolds a `## Todos` section (omitted by default; usually added later by `plan-assignment`)
84
+ - `syntaur create-assignment "<title>" --one-off [--slug <slug>] [--priority <level>] [--type <type>] [--dir <path>] [--with-todos]` — creates standalone at `~/.syntaur/assignments/<uuid>/`
85
85
  - `syntaur setup [--yes] [--claude] [--codex] [--claude-dir <path>] [--codex-dir <path>] [--codex-marketplace-path <path>] [--dashboard]`
86
86
  - `syntaur assign <assignment-slug> --agent codex --project <project-slug>`
87
87
  - `syntaur start <assignment-slug> --project <project-slug>`
@@ -13,6 +13,16 @@ syntaur setup
13
13
 
14
14
  ## Install
15
15
 
16
+ If you use Claude Code or Codex, install the `syntaur` package — these skills ship automatically with its plugin install flow:
17
+
18
+ ```bash
19
+ npm install -g syntaur
20
+ syntaur install-plugin # Claude Code → ~/.claude/skills/
21
+ syntaur install-codex-plugin # Codex → ~/.codex/skills/
22
+ ```
23
+
24
+ For any other AI coding agent (Cursor, OpenCode, custom runtimes), install the skills directly:
25
+
16
26
  ```bash
17
27
  npx skills add prong-horn/syntaur-skills
18
28
  ```
@@ -23,6 +33,8 @@ Or install a specific skill:
23
33
  npx skills add prong-horn/syntaur-skills --skill syntaur-protocol
24
34
  ```
25
35
 
36
+ > **Note:** If you install `syntaur` AND also run `npx skills add prong-horn/syntaur-skills` on the same machine, you'll get the same skills installed once — they use the same names. The `syntaur` CLI detects existing copies and skips already-current ones.
37
+
26
38
  ## Skills
27
39
 
28
40
  | Skill | Description |
@@ -7,7 +7,7 @@ description: >-
7
7
  license: MIT
8
8
  metadata:
9
9
  author: prong-horn
10
- version: "1.1.0"
10
+ version: "1.2.0"
11
11
  ---
12
12
 
13
13
  # Create Assignment
@@ -26,6 +26,7 @@ Expects arguments from the user:
26
26
  - `--type <type>` (optional): classification such as `feature`, `bug`, `refactor`, `research`, `chore`. Defaults to `feature`. When `~/.syntaur/config.md` defines `types.definitions`, the CLI validates against that list.
27
27
  - `--depends-on <slug[,slug...]>` (optional, project-nested only): comma-separated list of assignment slugs this depends on
28
28
  - `--dir <path>` (optional): override the default project directory
29
+ - `--with-todos` (optional): scaffold a `## Todos` section in `assignment.md`. **Omit unless the user explicitly asks for it.** Todos are normally a plan (added by `plan-assignment`) or populated during planning — not something to pre-create at assignment time. Pass this flag only if the user explicitly says something like "include todos", "with a todo list", "scaffold todos", etc.
29
30
 
30
31
  If no title was provided, ask the user what the assignment should be called.
31
32
 
@@ -38,13 +39,13 @@ If no active context and no project flag, ask the user which project to add it t
38
39
  Build the command from the parsed arguments:
39
40
 
40
41
  ```bash
41
- syntaur create-assignment "<title>" --project <slug> [--slug <slug>] [--priority <level>] [--type <type>] [--depends-on <slugs>] [--dir <path>]
42
+ syntaur create-assignment "<title>" --project <slug> [--slug <slug>] [--priority <level>] [--type <type>] [--depends-on <slugs>] [--dir <path>] [--with-todos]
42
43
  ```
43
44
 
44
45
  Or for a one-off (standalone at `~/.syntaur/assignments/<uuid>/`):
45
46
 
46
47
  ```bash
47
- syntaur create-assignment "<title>" --one-off [--slug <slug>] [--priority <level>] [--type <type>] [--dir <path>]
48
+ syntaur create-assignment "<title>" --one-off [--slug <slug>] [--priority <level>] [--type <type>] [--dir <path>] [--with-todos]
48
49
  ```
49
50
 
50
51
  If the command fails (e.g., project not found, slug collision, invalid type), report the error and suggest fixes.
@@ -67,6 +68,6 @@ Tell the user:
67
68
  - The assignment was created with its slug, priority, type, and location. For standalone assignments, note that the folder is named by UUID (not slug) — `slug` is display-only.
68
69
  - Files created: `assignment.md`, `progress.md`, `comments.md`, `scratchpad.md`, `handoff.md`, `decision-record.md`. **`plan.md` is NOT scaffolded** — plan files are optional and created on demand by the `plan-assignment` skill.
69
70
  - Remind the user: `progress.md` is where timestamped progress entries go (NOT `assignment.md`), and `comments.md` is CLI-mediated — write only via `syntaur comment <slug-or-uuid> "body" --type question|note|feedback [--reply-to <id>]`.
70
- - Suggest editing `assignment.md` to fill in the objective, acceptance criteria, context, and any initial todos. The `## Todos` section accepts simple tasks or markdown links to plan files.
71
+ - Suggest editing `assignment.md` to fill in the objective, acceptance criteria, and context. A `## Todos` section is **not** scaffolded by default it is added automatically by `plan-assignment` (linking the new plan file) or by `syntaur request` (cross-assignment requests). Only the `--with-todos` flag pre-scaffolds an empty `## Todos` section.
71
72
  - If dependencies were set, note them. Standalone assignments cannot declare `dependsOn`.
72
73
  - Suggest `grab-assignment <project-slug> <assignment-slug>` (or `grab-assignment --id <uuid>` for standalone) to claim and start working on it.
@@ -1 +0,0 @@
1
- import{aq as o,ar as n}from"./mermaid.core-BpP2keU-.js";const t=(r,a)=>o.lang.round(n.parse(r)[a]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-WL4C6EOR-VVhAMMYU.js";import{_ as i}from"./mermaid.core-BpP2keU-.js";import"./chunk-FMBD7UC4-B-GjCpdr.js";import"./chunk-JSJVCQXG-BLVVcezm.js";import"./chunk-55IACEB6-CaEBUJYu.js";import"./chunk-KX2RTZJC-DqCNEw4h.js";import"./index-D-fepllQ.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-WL4C6EOR-VVhAMMYU.js";import{_ as i}from"./mermaid.core-BpP2keU-.js";import"./chunk-FMBD7UC4-B-GjCpdr.js";import"./chunk-JSJVCQXG-BLVVcezm.js";import"./chunk-55IACEB6-CaEBUJYu.js";import"./chunk-KX2RTZJC-DqCNEw4h.js";import"./index-D-fepllQ.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
@@ -1 +0,0 @@
1
- import{b as r}from"./_baseUniq-C-qj6E4l.js";var e=4;function a(o){return r(o,e)}export{a as c};