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.
- package/dashboard/dist/assets/{_basePickBy-CWivToyi.js → _basePickBy-Bcut0btZ.js} +1 -1
- package/dashboard/dist/assets/{_baseUniq-C-qj6E4l.js → _baseUniq-AQSP2JEk.js} +1 -1
- package/dashboard/dist/assets/{arc-Dn5BIqMa.js → arc-BLTpY9lc.js} +1 -1
- package/dashboard/dist/assets/{architectureDiagram-2XIMDMQ5-D5D0K7rY.js → architectureDiagram-2XIMDMQ5-CJtwMY_X.js} +1 -1
- package/dashboard/dist/assets/{blockDiagram-WCTKOSBZ-DVmYPMbu.js → blockDiagram-WCTKOSBZ-Don-O7X7.js} +1 -1
- package/dashboard/dist/assets/{c4Diagram-IC4MRINW-BEasxbnl.js → c4Diagram-IC4MRINW-C_M3yTTB.js} +1 -1
- package/dashboard/dist/assets/channel-BfXmPwE5.js +1 -0
- package/dashboard/dist/assets/{chunk-4BX2VUAB-LDIrtI5E.js → chunk-4BX2VUAB-CGss0jXe.js} +1 -1
- package/dashboard/dist/assets/{chunk-55IACEB6-CaEBUJYu.js → chunk-55IACEB6-BatoPJga.js} +1 -1
- package/dashboard/dist/assets/{chunk-FMBD7UC4-B-GjCpdr.js → chunk-FMBD7UC4-DxH4wO82.js} +1 -1
- package/dashboard/dist/assets/{chunk-JSJVCQXG-BLVVcezm.js → chunk-JSJVCQXG-BL3izAFQ.js} +1 -1
- package/dashboard/dist/assets/{chunk-KX2RTZJC-DqCNEw4h.js → chunk-KX2RTZJC-GnqXwnge.js} +1 -1
- package/dashboard/dist/assets/{chunk-NQ4KR5QH-BCPbFf5I.js → chunk-NQ4KR5QH-gvCn4QMb.js} +1 -1
- package/dashboard/dist/assets/{chunk-QZHKN3VN-Ci0C85q_.js → chunk-QZHKN3VN-CYGWogyi.js} +1 -1
- package/dashboard/dist/assets/{chunk-WL4C6EOR-VVhAMMYU.js → chunk-WL4C6EOR-D9mVTQ1F.js} +1 -1
- package/dashboard/dist/assets/classDiagram-VBA2DB6C-D7_G1qy0.js +1 -0
- package/dashboard/dist/assets/classDiagram-v2-RAHNMMFH-D7_G1qy0.js +1 -0
- package/dashboard/dist/assets/clone-BKG-N796.js +1 -0
- package/dashboard/dist/assets/{cose-bilkent-S5V4N54A-CO9uwgYO.js → cose-bilkent-S5V4N54A-CUWQCKt4.js} +1 -1
- package/dashboard/dist/assets/{dagre-KLK3FWXG-bwLLXcL4.js → dagre-KLK3FWXG-CH3ijEvV.js} +1 -1
- package/dashboard/dist/assets/{diagram-E7M64L7V-RuS5R6V1.js → diagram-E7M64L7V-sq83lpV1.js} +1 -1
- package/dashboard/dist/assets/{diagram-IFDJBPK2-BQDJAHQd.js → diagram-IFDJBPK2-BzQG_rtq.js} +1 -1
- package/dashboard/dist/assets/{diagram-P4PSJMXO-yLEsgzE5.js → diagram-P4PSJMXO-Dg0eZn0q.js} +1 -1
- package/dashboard/dist/assets/{erDiagram-INFDFZHY-na6dUhY0.js → erDiagram-INFDFZHY-4b9eQ0uj.js} +1 -1
- package/dashboard/dist/assets/{flowDiagram-PKNHOUZH-BIcrzwJR.js → flowDiagram-PKNHOUZH-C9fzKcsZ.js} +1 -1
- package/dashboard/dist/assets/{ganttDiagram-A5KZAMGK-DHWRJn-D.js → ganttDiagram-A5KZAMGK-Bzt6i9SH.js} +1 -1
- package/dashboard/dist/assets/{gitGraphDiagram-K3NZZRJ6-LGxDjL71.js → gitGraphDiagram-K3NZZRJ6-D0wFOagh.js} +1 -1
- package/dashboard/dist/assets/{graph-BUqNu277.js → graph-EEIGvqDh.js} +1 -1
- package/dashboard/dist/assets/index-Bu6ma6my.css +1 -0
- package/dashboard/dist/assets/index-C7f0ySJE.js +481 -0
- package/dashboard/dist/assets/{infoDiagram-LFFYTUFH-DidoA2hb.js → infoDiagram-LFFYTUFH-DLYMsj1D.js} +1 -1
- package/dashboard/dist/assets/{ishikawaDiagram-PHBUUO56-CdlZkbhV.js → ishikawaDiagram-PHBUUO56-DVebKkzl.js} +1 -1
- package/dashboard/dist/assets/{journeyDiagram-4ABVD52K-luhcz_gn.js → journeyDiagram-4ABVD52K-BsmgOWVw.js} +1 -1
- package/dashboard/dist/assets/{kanban-definition-K7BYSVSG-Coidw9XE.js → kanban-definition-K7BYSVSG-BTnHf0ey.js} +1 -1
- package/dashboard/dist/assets/{layout-_aBAAleE.js → layout-BbM7HRvv.js} +1 -1
- package/dashboard/dist/assets/{linear-D8mFnDSx.js → linear-C37bJKPO.js} +1 -1
- package/dashboard/dist/assets/{mermaid.core-BpP2keU-.js → mermaid.core-MZ_JgnRL.js} +4 -4
- package/dashboard/dist/assets/{mindmap-definition-YRQLILUH-LjvrTe2z.js → mindmap-definition-YRQLILUH-CgHS4hFo.js} +1 -1
- package/dashboard/dist/assets/{pieDiagram-SKSYHLDU-CkA2iU6e.js → pieDiagram-SKSYHLDU-CmAgopJe.js} +1 -1
- package/dashboard/dist/assets/{quadrantDiagram-337W2JSQ-BRmhKHQG.js → quadrantDiagram-337W2JSQ-BvzYUPR6.js} +1 -1
- package/dashboard/dist/assets/{requirementDiagram-Z7DCOOCP-BYCQ4uFX.js → requirementDiagram-Z7DCOOCP-Bs52VP7k.js} +1 -1
- package/dashboard/dist/assets/{sankeyDiagram-WA2Y5GQK-C8SVk50M.js → sankeyDiagram-WA2Y5GQK-aXvGPR1o.js} +1 -1
- package/dashboard/dist/assets/{sequenceDiagram-2WXFIKYE-CbA_2lnP.js → sequenceDiagram-2WXFIKYE-CzgcfU6K.js} +1 -1
- package/dashboard/dist/assets/{stateDiagram-RAJIS63D-D6ZtjAHE.js → stateDiagram-RAJIS63D-BXBJf9Hq.js} +1 -1
- package/dashboard/dist/assets/stateDiagram-v2-FVOUBMTO-QqOtsuOs.js +1 -0
- package/dashboard/dist/assets/{timeline-definition-YZTLITO2-B2Uf-emK.js → timeline-definition-YZTLITO2-BsXp26Ai.js} +1 -1
- package/dashboard/dist/assets/{treemap-KZPCXAKY-CYnFKsuJ.js → treemap-KZPCXAKY-C3WbDii1.js} +1 -1
- package/dashboard/dist/assets/{vennDiagram-LZ73GAT5-Cnj0qiDO.js → vennDiagram-LZ73GAT5-B28LMHWd.js} +1 -1
- package/dashboard/dist/assets/{xychartDiagram-JWTSCODW-BJy2mbL9.js → xychartDiagram-JWTSCODW-C3Xwz8mS.js} +1 -1
- package/dashboard/dist/index.html +2 -2
- package/dist/dashboard/server.js +1329 -402
- package/dist/dashboard/server.js.map +1 -1
- package/dist/index.js +1591 -533
- package/dist/index.js.map +1 -1
- package/examples/playbooks/assignment-creation.md +19 -0
- package/examples/playbooks/assignment-planning.md +28 -0
- package/package.json +1 -1
- package/platforms/claude-code/.orphaned_at +1 -0
- package/platforms/claude-code/agents/syntaur-expert.md +2 -2
- package/platforms/claude-code/commands/create-assignment/create-assignment.md +1 -1
- package/platforms/codex/agents/syntaur-operator.md +2 -2
- package/vendor/syntaur-skills/README.md +12 -0
- package/vendor/syntaur-skills/skills/create-assignment/SKILL.md +5 -4
- package/dashboard/dist/assets/channel-DqU_8tiy.js +0 -1
- package/dashboard/dist/assets/classDiagram-VBA2DB6C-D29Eeoe8.js +0 -1
- package/dashboard/dist/assets/classDiagram-v2-RAHNMMFH-D29Eeoe8.js +0 -1
- package/dashboard/dist/assets/clone-Bok8Q3Jj.js +0 -1
- package/dashboard/dist/assets/index-D-fepllQ.js +0 -481
- package/dashboard/dist/assets/index-DnHyQJJH.css +0 -1
- package/dashboard/dist/assets/stateDiagram-v2-FVOUBMTO-DeYN4wV6.js +0 -1
- package/examples/playbooks/plan-versioning.md +0 -36
- 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
|
@@ -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.
|
|
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,
|
|
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};
|