@nestr/mcp 0.1.47 → 0.1.49

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.
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAOnE,OAAO,EAAE,WAAW,EAAuB,MAAM,iBAAiB,CAAC;AAQnE,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzG,uFAAuF;IACvF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA0qCD,wBAAgB,YAAY,CAAC,MAAM,GAAE,oBAAyB,GAAG,MAAM,CAgOtE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAOnE,OAAO,EAAE,WAAW,EAAuB,MAAM,iBAAiB,CAAC;AAQnE,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzG,uFAAuF;IACvF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAktCD,wBAAgB,YAAY,CAAC,MAAM,GAAE,oBAAyB,GAAG,MAAM,CAgOtE"}
package/build/server.js CHANGED
@@ -266,7 +266,7 @@ Nestr uses different formats for different fields:
266
266
  - **\`purpose\`**: The aspirational future state this nest is working towards. **Most important for workspaces, circles, and roles** — it defines the north star and context boundary for the organization, circle, or role. Everything within that container should serve its purpose. For other nests (tasks, projects, etc.), prefer \`description\` or \`fields\` for detailed information — but purpose can be set if it serves the user. Supports HTML.
267
267
  - **\`description\`**: The primary field for detailed information about a nest. Use for project details, task context, acceptance criteria, Definition of Done, and any persistent information about the nest. Supports HTML.
268
268
  - **\`fields\`**: Structured data defined by labels (e.g., \`fields['project.status']\`, \`fields['metric.frequency']\`). Use for structured, label-specific information.
269
- - **Comment \`body\`**: HTML supported (same tags as above, including base64 images). Use \`@username\` for mentions. **Use comments for progress updates**, status changes, and conversation — not purpose or description.
269
+ - **Comment \`body\`**: HTML supported (same tags as above, including base64 images). Supports @mentions using the format \`@{userId|email|circle|everyone}\`: \`@{userId}\` mentions by user ID, \`@{email}\` mentions by any email the user is registered with in Nestr, \`@{circle}\` notifies all role fillers in the nearest ancestor circle, \`@{everyone}\` is available in the UI but not yet via the API. **Use comments for progress updates**, status changes, and conversation — not purpose or description.
270
270
  - **\`data\`**: Generic key-value store. Also used internally by Nestr and other integrations — **never overwrite or remove existing keys**. When adding your own data, namespace it under \`mcp.\` (e.g., \`{ "mcp.lastSync": "2025-01-01" }\`) to avoid conflicts. Not rendered in UI.
271
271
 
272
272
  **Where to put information:**
@@ -365,7 +365,7 @@ This cascades through the entire hierarchy, which may be many layers deep. When
365
365
  1. **Start by listing workspaces** to get the workspace ID and check if it has the "anchor-circle" label
366
366
  2. **Use search** to find specific items rather than browsing through hierarchies
367
367
  3. **Check labels** to understand what type of nest you're working with
368
- 4. **Use @mentions** in comments to notify team members
368
+ 4. **Use @mentions** in comments to notify team members: \`@{userId}\`, \`@{email}\`, or \`@{circle}\` for all role fillers
369
369
  5. **Respect the hierarchy**: nests live under parents (workspace → circle → role/project → task)
370
370
  6. **Maintain skills on roles and circles** for AI knowledge persistence:
371
371
  - Before doing work from a role, check for existing skills under that role or its circle — they contain processes, patterns, and domain knowledge from prior sessions
@@ -475,14 +475,43 @@ GET /nests/{nestId}/children?hints=true
475
475
  \`\`\`
476
476
 
477
477
  Each hint object has:
478
- - \`type\` — machine-readable identifier (e.g., \`unassigned_role\`, \`stale_project\`, \`unread_comments\`)
478
+ - \`type\` — machine-readable identifier (e.g., \`unassigned_role\`, \`stale_project\`, \`comments\`)
479
479
  - \`label\` — human/LLM-readable description of the hint
480
480
  - \`severity\` — \`info\` (neutral context) | \`suggestion\` (improvement opportunity) | \`warning\` (needs attention) | \`alert\` (urgent)
481
481
  - \`count\` — numeric value where applicable (otherwise absent)
482
- - \`url\` — relative API URL to drill into the related resource (starts with \`/nests/\`)
482
+ - \`toolCall\` — pre-mapped tool call to drill into the hint: \`{ tool: "nestr_search", params: { workspaceId: "...", query: "..." } }\`. Call the specified tool with the given params to investigate.
483
483
  - \`lastPost\` — (comments hints only) ISO timestamp of the most recent comment
484
484
  - \`readAt\` — (comments hints only, user-scoped auth only) ISO timestamp of when the user last read comments. Compare \`lastPost > readAt\` to detect unread comments.
485
485
 
486
+ **Available hint types:**
487
+
488
+ | Type | Severity | Applies to | Meaning |
489
+ |------|----------|-----------|---------|
490
+ | \`open_work\` | info | all | Count of incomplete child work items |
491
+ | \`comments\` | info | all | Comment count (check \`lastPost > readAt\` for unread) |
492
+ | \`individual_action\` | warning | all | Work not assigned to an organizational role |
493
+ | \`stale_work\` | warning | all | No activity in 30+ days |
494
+ | \`no_purpose\` | warning | role, circle | Missing purpose statement |
495
+ | \`unassigned_role\` | warning | role | No users assigned to energize role |
496
+ | \`no_accountabilities\` | warning | role | Role has no accountabilities defined |
497
+ | \`skills\` | info | role | Count of skill documents |
498
+ | \`no_active_work\` | suggestion | role | Has accountabilities but no active projects |
499
+ | \`overloaded_role\` | warning | role | 5+ active concurrent projects |
500
+ | \`pending_tensions\` | info | role, circle | Count of unresolved tensions |
501
+ | \`election_overdue\` | alert | role | Re-election due date has passed |
502
+ | \`election_due_soon\` | warning | role | Re-election due within 30 days |
503
+ | \`no_facilitator\` | warning | circle | Facilitator role not assigned |
504
+ | \`no_rep_link\` | suggestion | circle | Rep-link role not assigned (non-anchor only) |
505
+ | \`stale_governance\` | suggestion | circle | No governance changes in 6+ months |
506
+ | \`no_strategy\` | suggestion | circle | Circle missing strategy |
507
+ | \`unfilled_roles\` | info | circle | Count of roles with no assigned users |
508
+ | \`project_waiting\` | info | project | Blocked with documented reason |
509
+ | \`project_waiting_no_reason\` | warning | project | Waiting without documented reason |
510
+ | \`project_no_breakdown\` | suggestion | project | Active project with no task breakdown |
511
+ | \`project_no_acceptance_criteria\` | suggestion | project | Missing description/acceptance criteria |
512
+ | \`project_overdue\` | warning | project | Past due date |
513
+ | \`no_proposed_output\` | suggestion | tension | Tension has no proposed output yet |
514
+
486
515
  Example response with hints:
487
516
  \`\`\`json
488
517
  {
@@ -493,13 +522,19 @@ Example response with hints:
493
522
  "type": "unassigned_role",
494
523
  "label": "This role has no users assigned to energize it...",
495
524
  "severity": "warning",
496
- "url": "/nests/roleId"
525
+ "toolCall": { "tool": "nestr_get_nest", "params": { "nestId": "roleId" } }
526
+ },
527
+ {
528
+ "type": "no_active_work",
529
+ "label": "Role has accountabilities but no active projects",
530
+ "severity": "suggestion",
531
+ "toolCall": { "tool": "nestr_search", "params": { "workspaceId": "wsId", "query": "in:roleId label:project completed:false" } }
497
532
  }
498
533
  ]
499
534
  }
500
535
  \`\`\`
501
536
 
502
- Use hints to proactively surface issues to the user — for example, when reviewing a circle's roles, hints can reveal which roles need attention without separate queries.
537
+ Use hints to proactively surface issues to the user — for example, when reviewing a circle's roles, hints can reveal which roles need attention without separate queries. Use the \`toolCall\` to drill into any hint directly.
503
538
 
504
539
  ## Important Labels
505
540
 
@@ -1012,9 +1047,13 @@ An interactive list for displaying and managing completable items (tasks and pro
1012
1047
 
1013
1048
  #### When to Use
1014
1049
 
1050
+ **Default to text output. Only use this app when you are certain the results are completable items.**
1051
+
1052
+ The decision to use the app must be made AFTER you have fetched the data and confirmed the results contain completable items. Do not decide to use the app before seeing what the data looks like.
1053
+
1015
1054
  Only use the completable list app when **ALL** of these conditions are met:
1016
1055
  1. The user **explicitly asks to see or manage a list** as the primary goal of their request
1017
- 2. The results are **completable items** — tasks, projects, todos, or inbox items
1056
+ 2. You have **already fetched the results** and confirmed they are **completable items** — tasks, projects, todos, or inbox items
1018
1057
  3. The results are **not empty** — there must be at least one item to display
1019
1058
 
1020
1059
  Examples where you SHOULD use the app:
@@ -1025,8 +1064,9 @@ Examples where you SHOULD use the app:
1025
1064
  #### When NOT to Use
1026
1065
 
1027
1066
  Do NOT use the app when:
1028
- - **The results are not completable items.** Roles, circles, metrics, policies, accountabilities, domains, and any other structural nests must NEVER be shown in the completable list app. Always respond in text for these.
1067
+ - **The results are not completable items.** Roles, circles, metrics, policies, accountabilities, domains, and any other structural or governance nests must NEVER be shown in the completable list app. Always respond in text for these. A list of roles should be printed as text, never rendered in the app.
1029
1068
  - **The search returns no results.** Never render an empty completable list — just tell the user no items were found.
1069
+ - **The results are mixed types.** If a search returns a mix of completable and non-completable items (e.g., roles and tasks), respond in text.
1030
1070
  - **Searching as part of processing a larger request** (e.g., finding roles to determine where work belongs, looking up a project to add a task to it, gathering context for a question). In these cases, just use the search results internally and respond in text.
1031
1071
  - **The user asked a question**, not for a list (e.g., "What's the status of project X?" — answer in text, don't show a list with one item).
1032
1072
  - **You are in the middle of a multi-step workflow** and the search is an intermediate step, not the final output.
@@ -1214,10 +1254,10 @@ export function createServer(config = {}) {
1214
1254
  },
1215
1255
  instructions: [
1216
1256
  SERVER_INSTRUCTIONS,
1257
+ SERVER_INSTRUCTIONS_REFERENCE,
1217
1258
  DOING_WORK_INSTRUCTIONS,
1218
1259
  TENSION_PROCESSING_INSTRUCTIONS,
1219
1260
  WORKSPACE_SETUP_INSTRUCTIONS,
1220
- SERVER_INSTRUCTIONS_REFERENCE,
1221
1261
  ].join("\n\n"),
1222
1262
  });
1223
1263
  // Register tool list handler
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doing-work.d.ts","sourceRoot":"","sources":["../../src/skills/doing-work.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,uBAAuB,QAuP5B,CAAC"}
1
+ {"version":3,"file":"doing-work.d.ts","sourceRoot":"","sources":["../../src/skills/doing-work.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,uBAAuB,QA4K5B,CAAC"}
@@ -9,102 +9,77 @@
9
9
  export const DOING_WORK_INSTRUCTIONS = `
10
10
  ## Doing Work
11
11
 
12
- Work is the operational expression of purpose. If work does not contribute — directly or indirectly — to the purpose of the organization, it should not be done. Every project, task, and action should trace back through the hierarchy: task → project → role purpose → circle purpose → organizational purpose. If that chain breaks, either the work doesn't belong, or there's a governance tension (a missing role, accountability, or circle).
12
+ Work is the operational expression of purpose. If work does not contribute — directly or indirectly — to the purpose of the organization, it should not be done. Every project, task, and action should trace back: task → project → role purpose → circle purpose → organizational purpose. If that chain breaks, either the work doesn't belong, or there's a governance tension.
13
13
 
14
14
  ### Where Work Lives
15
15
 
16
- In role-based self-organization, understanding where work lives is crucial:
16
+ **Work should live under roles.** Each task or project should be owned by a role that has the accountability for it. Work belongs to roles, not to people or agents. When someone energizes a role, they do the work *because* they fill that role, not in their own right.
17
17
 
18
- **Work should live under roles.** The goal is to do all work from a role. Each task or project should be owned by a role that has the accountability for it. Work belongs to roles, not to people or agents. A person or agent has no authority to impact organizational work only roles can. When someone energizes a role, they do the work *because* they fill that role, not in their own right.
18
+ **Circles as roles.** From a super-circle's perspective, a sub-circle is just another role. Work directly under a circle (not under a role within it) is work the circle-as-a-whole does for its super-circle.
19
19
 
20
- **Circles as roles.** From a super-circle's perspective, a sub-circle is just another role. Work directly under a circle (not under a role within it) is work the circle-as-a-whole does for its super-circle. How that work is internally organized is irrelevant to the super-circle.
21
-
22
- **Work outside of roles.** Sometimes work needs to be done that falls within the organization's purpose but isn't yet captured by any role. This work is captured directly in a circle with the \`individual-action\` label:
23
- - **Context**: The work is for this circle's purpose (not the super-circle)
24
- - **Meaning**: Work needed for the circle but not yet assigned to a role
25
- - **Next step**: Do the work, AND create a governance tension to ensure the accountability is captured in a role going forward. The governance tension is essential — without it, the gap stays invisible.
20
+ **Work outside of roles.** When work falls within purpose but isn't captured by any role, create it directly in the circle with the \`individual-action\` label. Then do the work AND create a governance tension to ensure the accountability is captured in a role going forward.
26
21
 
27
22
  ### Finding the Right Role
28
23
 
29
- Before creating work, verify which role is accountable for it:
30
-
31
- 1. **\`nestr_get_circle_roles\`** — Returns all roles in a circle with their accountabilities and domains. The fastest way to see the full governance structure.
32
- 2. **\`nestr_search\`** with \`label:accountability\` or \`label:domain\` — Search across the workspace for specific accountabilities or domains by keyword.
33
- 3. **\`nestr_get_nest_children\`** on a specific role — Returns the role's accountabilities, domains, policies, and work items.
34
-
35
- **Role names are hints, not definitions.** Only the role's explicit purpose and accountabilities tell you what work belongs there. "Developer" might handle infrastructure; "Architect" might write code.
24
+ Before creating work, verify which role is accountable:
36
25
 
37
- **Domains define exclusive control, not expectations.** A domain doesn't mean the role will do work in that area it means the role controls organizational assets in that area. Other roles must get permission to impact those assets.
26
+ 1. **\`nestr_get_circle_roles\`** All roles in a circle with accountabilities and domains. Fastest way to see governance structure.
27
+ 2. **\`nestr_search\`** with \`label:accountability\` or \`label:domain\` — Search across the workspace by keyword.
28
+ 3. **\`nestr_get_nest_children\`** on a specific role — Returns accountabilities, domains, policies, and work items.
38
29
 
39
- When assigning work to a role, verify the role actually has accountability for it:
40
- \`\`\`
41
- 1. nestr_get_circle_roles(workspaceId, circleId)
42
- → Review accountabilities of each role
43
- 2. Find the role whose accountability matches the work
44
- 3. Create the project/task under that role
45
- \`\`\`
30
+ **Role names are hints, not definitions.** Only explicit purpose and accountabilities define what work belongs to a role.
46
31
 
47
- When the work impacts a domain held by another role, coordinate with the domain holder before proceeding.
32
+ **Domains define exclusive control, not expectations.** A domain means the role controls organizational assets in that area. Others must get permission to impact those assets.
48
33
 
49
34
  ### Strategy & Prioritization
50
35
 
51
- Work should be prioritized by the circle's strategy. Strategy is stored in \`fields['circle.strategy']\` for sub-circles, or \`fields['anchor-circle.strategy']\` for the anchor circle (workspace). Strategy applies to all roles within the circle — it defines what to focus on now and what to defer.
36
+ Strategy is stored in \`fields['circle.strategy']\` for sub-circles, or \`fields['anchor-circle.strategy']\` for the anchor circle. Strategy applies to all roles within the circle.
52
37
 
53
- **Before starting work, check the circle strategy:**
54
- 1. Fetch the parent circle and review its strategy field (\`circle.strategy\` or \`anchor-circle.strategy\` depending on the circle type)
55
- 2. Prioritize work that directly serves the strategy
56
- 3. Defer or deprioritize work that doesn't align
38
+ **Before starting work:** Fetch the parent circle and review its strategy. Prioritize aligned work; defer what doesn't align.
57
39
 
58
- **When no strategy exists:**
59
- - As a role filler (human or agent), you are free to interpret the circle's purpose and accountabilities to determine your own best-guess prioritization. Don't wait — act on your best judgment.
60
- - AND create a tension with the circle lead requesting that a strategy be set. Without a strategy, role fillers lack the guidance they need to make consistent prioritization decisions across the circle.
40
+ **When no strategy exists:** Act on your best judgment based on purpose and accountabilities. AND create a tension with the circle lead requesting a strategy be set.
61
41
 
62
- **Communicating priority order:** Use the reorder tools (\`nestr_reorder_nest\`, \`nestr_bulk_reorder\`) to arrange projects under your role in priority order. This makes your prioritization visible and transparent to the organization.
42
+ **Communicating priority order:** Use \`nestr_reorder_nest\` / \`nestr_bulk_reorder\` to arrange projects under your role in priority order.
63
43
 
64
44
  ### Creating Work vs Requesting Work
65
45
 
66
- Only create work directly under a role you (or the human you're assisting) energize. For all other roles, use tensions to request work — this respects role authority and lets the role filler decide how to execute.
46
+ Only create work directly under a role you (or the human you're assisting) energize. For all other roles, use tensions to request work — this respects role authority.
67
47
 
68
48
  #### When you energize the role
69
49
 
70
- Create the project or task directly under your role. You MUST explicitly set the \`users\` array — placing a nest under a role does NOT automatically assign it.
50
+ Create the project or task directly. You MUST explicitly set the \`users\` array — placing a nest under a role does NOT automatically assign it.
71
51
 
72
52
  \`\`\`json
73
53
  { "parentId": "yourRoleId", "title": "Complete report", "labels": ["project"], "users": ["yourUserId"] }
74
54
  \`\`\`
75
55
 
76
- If multiple people energize the same role, assign to yourself — not to others who share the role.
56
+ If multiple people energize the same role, assign to yourself.
77
57
 
78
58
  #### When another role is accountable
79
59
 
80
- Do NOT create work under another role. Instead, create a tension requesting the outcome (processing pathway 3 — request outcome, or pathway 4 — request action). The role filler decides whether and how to take on the work.
81
-
82
- - **Assistant mode**: Help the user draft the tension requesting work from the accountable role. If the user insists on creating work directly, inform them which role is accountable and who energizes it.
83
- - **Role-filler mode**: Create a tension on the circle or within the project (see Cross-role work) requesting the accountable role take on this work.
84
- - **Workspace mode**: Create a tension directed at the accountable role, or if operating in setup mode, assign based on organizational rules.
60
+ Do NOT create work under another role. Create a tension requesting the outcome (pathway 3 or 4). The role filler decides how to execute.
85
61
 
86
62
  #### When no role is accountable
87
63
 
88
- If the work falls within the organization's purpose but no role has the accountability, do the work yourself using the \`individual-action\` pattern (see Where Work Lives above) — don't let the organization be harmed by inaction while governance catches up. AND create a governance tension to capture the gap so a role becomes accountable going forward.
64
+ Do the work yourself using the \`individual-action\` pattern AND create a governance tension to capture the gap.
89
65
 
90
66
  #### Technical assignment rules
91
67
 
92
- When you ARE creating work under a role you energize:
93
68
  - **Role has one person/agent**: \`users: [userId]\`
94
69
  - **Role has multiple people, you energize it**: \`users: [yourUserId]\`
95
- - **Role is unfilled**: \`users: []\` or omit — the work belongs to the role until someone energizes it
70
+ - **Role is unfilled**: \`users: []\` or omit
96
71
 
97
72
  **Note:** Accountabilities, domains, and policies never have users assigned — they belong to roles, not people.
98
73
 
99
74
  ### Setting Up Projects
100
75
 
101
- A project is a desired outcome that requires multiple steps to achieve. It is the container for all the work needed to reach that outcome.
76
+ A project is a desired outcome requiring multiple steps.
102
77
 
103
- **Title in past tense.** Describe the project as if it's already done — this makes it immediately clear what "done" looks like. Examples: "API integration completed", "User onboarding flow redesigned", "Q1 report published". If you can't describe it in past tense, the outcome isn't clear enough yet.
78
+ **Title in past tense.** Describe as if done: "API integration completed", "User onboarding flow redesigned". If you can't describe it in past tense, the outcome isn't clear enough.
104
79
 
105
- **Acceptance criteria in description.** The \`description\` field should contain specific, verifiable criteria that define when the project is truly complete. Ask: "How would someone verify this is done without asking me?" Good acceptance criteria are observable and binary — they're either met or they're not.
80
+ **Acceptance criteria in description.** Specific, verifiable criteria defining when the project is truly complete. Ask: "How would someone verify this is done without asking me?"
106
81
 
107
- **Project status.** Set \`fields: { "project.status": "Current" }\` for actively worked projects. Statuses: \`Future\` (planned), \`Current\` (active), \`Waiting\` (blocked), \`Done\` (complete).
82
+ **Project status.** Set \`fields: { "project.status": "Current" }\` for active projects. Statuses: \`Future\`, \`Current\`, \`Waiting\`, \`Done\`.
108
83
 
109
84
  **Creating a project:**
110
85
  \`\`\`json
@@ -113,145 +88,95 @@ A project is a desired outcome that requires multiple steps to achieve. It is th
113
88
  "title": "Authentication module refactored to JWT",
114
89
  "labels": ["project"],
115
90
  "fields": { "project.status": "Current" },
116
- "description": "<b>Acceptance criteria:</b><ul><li>All endpoints use JWT for authentication</li><li>Session-based auth removed</li><li>All tests pass</li><li>API documentation updated</li></ul>",
91
+ "description": "<b>Acceptance criteria:</b><ul><li>All endpoints use JWT</li><li>Session-based auth removed</li><li>All tests pass</li><li>API docs updated</li></ul>",
117
92
  "users": ["roleFillerUserId"]
118
93
  }
119
94
  \`\`\`
120
95
 
121
- **If a project already exists**, review and enhance it:
122
- - Check if the description has clear acceptance criteria
123
- - If not, **append** to the description (don't overwrite) with suggested criteria
124
- - In assistant mode, suggest criteria to the user. In role-filler mode, define them yourself.
96
+ **If a project already exists**, check for acceptance criteria and append if missing (don't overwrite).
125
97
 
126
98
  ### Breaking Down Projects
127
99
 
128
- Break projects into tasks and, where needed, sub-projects:
100
+ **Tasks** are single, concrete actions completable in one sitting — nests without system labels under the project.
129
101
 
130
- **Tasks** are single, concrete actions that can be completed in one sitting. They are nests without system labels — just create a nest under the project. Examples: "Call supplier about pricing", "Draft intro paragraph", "Write migration script for user table".
102
+ **Sub-projects** are project-labeled nests within a project for multi-step chunks.
131
103
 
132
- **Sub-projects** are project-labeled nests within a project. Use them when a chunk of work is itself a multi-step outcome. They follow the same rules as projects (past-tense title, acceptance criteria).
133
-
134
- **Cross-role work within a project.** When breaking down a project, some tasks or sub-projects may fall outside your role's accountabilities or purpose. For these:
135
- 1. **Create a tension within the project** using \`nestr_create_tension\` with the project's ID as \`nestId\`. This keeps the tension visibly connected to the project outcome.
136
- 2. The tension requests work from the accountable role (using processing pathway 3 or 4 from the tension skill).
137
- 3. The resulting work lives under the other role but the tension within the project maintains the relationship and traceability.
138
-
139
- This pattern ensures the project remains the single container for the complete outcome, even when multiple roles contribute to it.
104
+ **Cross-role work within a project.** When tasks fall outside your role's accountabilities, create a tension within the project (\`nestr_create_tension\` with the project's ID as \`nestId\`). This keeps the tension connected to the project while requesting work from the accountable role via pathway 3 or 4.
140
105
 
141
106
  ### While Working
142
107
 
143
- **Document progress as comments** (\`nestr_add_comment\`):
144
- - Post updates to individual tasks as you work on them
145
- - Post summaries or milestone updates to the project itself
146
- - In assistant mode, capture relevant questions you asked the user and their answers
147
- - Note: Comments on a task automatically appear on the parent project, so don't double-post
108
+ **Document progress as comments** (\`nestr_add_comment\`). Post updates to tasks as you work; summaries to the project. Comments on tasks automatically appear on the parent project — don't double-post.
148
109
 
149
- **Mark tasks complete** as you finish them:
150
- - Use \`nestr_update_nest\` with \`completed: true\`
151
- - Add a final comment summarizing what was done if the outcome isn't obvious from the title
110
+ **Mark tasks complete** with \`nestr_update_nest\` (\`completed: true\`). Add a final comment if the outcome isn't obvious from the title.
152
111
 
153
112
  ### Completing Work
154
113
 
155
- A project is done when all its acceptance criteria are met. Completion is not just "I finished working on it" — it's "someone can verify the outcome matches what was described."
114
+ A project is done when all acceptance criteria are met.
156
115
 
157
- **To complete a project:**
158
- 1. Review the acceptance criteria in the description are they all met?
159
- 2. If any criteria aren't met, either complete the remaining work or update the criteria (with a comment explaining why)
116
+ 1. Review criteria — are they all met?
117
+ 2. If not, complete remaining work or update criteria (with a comment explaining why)
160
118
  3. Set \`fields: { "project.status": "Done" }\` and \`completed: true\`
161
119
  4. Add a final comment summarizing the outcome
162
120
 
163
- **After completion, check for new tensions:**
164
- - Did the work surface gaps in governance (missing roles, unclear accountabilities)?
165
- - Did the work reveal operational needs for other roles?
166
- - Is the work repeatable? If so, capture it as a skill under the role.
167
- - Capture any emerging tensions — completed work often reveals the next thing that needs to change.
121
+ **After completion:** Check for new tensions — governance gaps, operational needs for other roles, repeatable work to capture as a skill.
168
122
 
169
123
  ### Querying Work
170
124
 
171
- When someone asks for "all work in circle X", be aware of context:
172
-
173
- **Include:**
174
- - Work under roles within the circle: \`in:circleId label:!individual-action depth:2 completed:false\`
175
- - Individual actions for the circle: \`in:circleId label:individual-action depth:1 completed:false\`
125
+ When querying work in a circle:
176
126
 
177
- **Handle separately:**
178
- - Work directly in circle WITHOUT \`individual-action\` label = work the circle does for its super-circle
179
- - You may include this but explicitly note: "This work lives at the super-circle level"
180
-
181
- **Example queries:**
182
127
  \`\`\`
183
128
  in:circleId label:individual-action depth:1 completed:false
184
- -> Individual actions directly in the circle (circle's own work without a role)
129
+ -> Individual actions directly in the circle
185
130
 
186
131
  in:circleId label:!individual-action depth:2 completed:false
187
- -> Work under direct roles in the circle (depth:2 = roles + their work)
132
+ -> Work under roles in the circle (depth:2 = roles + their work)
188
133
 
189
134
  in:circleId completed:false
190
- -> ALL work in circle including sub-circles (may include super-circle context work)
135
+ -> ALL work including sub-circles
191
136
 
192
137
  in:roleId label:project project->status:Current
193
138
  -> Current projects owned by a specific role
194
139
  \`\`\`
195
140
 
141
+ Work directly in circle WITHOUT \`individual-action\` label = work the circle does for its super-circle.
142
+
196
143
  ### Agentic Work Patterns
197
144
 
198
- When an agent fills roles, it operates with the same authority and constraints as a human role filler — no more, no less. The key difference is how agents interact with humans across role boundaries.
145
+ Agents operate with the same authority and constraints as human role fillers — no more, no less.
199
146
 
200
- **Build autonomy skills.** For each role you energize, maintain a skill (labeled \`skill\`) that captures:
201
- - What decisions you can make autonomously within this role's accountabilities
202
- - What requires input or authorization from other roles (and which ones)
203
- - Which of those inputs are blocking (can't proceed without) vs. deferrable (can proceed and circle back)
204
- This skill evolves over time as you learn the boundaries. When in doubt, ask — then record the answer.
147
+ **Build autonomy skills.** For each role, maintain a skill (\`skill\` label) capturing: what you can decide autonomously, what requires other roles' input, and which inputs are blocking vs. deferrable.
205
148
 
206
- **Transparency over permission.** When making autonomous decisions within your role's authority, you don't need permission — but you do need transparency. Post a comment on the project or task explaining what you decided and why. This lets humans review and course-correct without being a bottleneck.
149
+ **Transparency over permission.** Post comments explaining what you decided and why lets humans review without being a bottleneck.
207
150
 
208
- **Protect humans from overwhelm.** When your work requires input from human-filled roles:
209
- 1. **Cluster requests.** Rather than creating tensions one at a time throughout the day, prepare multiple tensions in \`draft\` status and submit them together once or twice a day. Single requests throughout the day fragment human attention.
210
- 2. **Separate blocking from deferrable.** Clearly distinguish which requests block your progress and which can wait. If a request is deferrable, say so it lets the human prioritize.
211
- 3. **Switch projects while waiting.** If you're blocked on a request from a human-filled role, check if you can make meaningful progress on another project without significant harm to organizational purpose or strategy. Prefer switching over waiting idle — but don't context-switch so aggressively that transparency suffers.
212
- 4. **Use tensions as the communication channel.** All inter-role requests — whether for information, authorization, actions, or outcomes — flow through tensions. This keeps the communication visible, traceable, and processable within the organizational structure.
151
+ **Protect humans from overwhelm:**
152
+ 1. **Cluster requests** prepare tensions in \`draft\` status and submit together once or twice a day.
153
+ 2. **Separate blocking from deferrable**let humans prioritize.
154
+ 3. **Switch projects while waiting** prefer switching over waiting idle.
155
+ 4. **Use tensions as the communication channel** for all inter-role requests.
213
156
 
214
- **The human-agent contract:** Agents serve the same purpose as humans in self-organization — they energize roles and process tensions. The difference is operational rhythm: agents can work continuously but humans cannot. Respect this asymmetry. An agent creating 20 tensions per hour is technically correct but practically hostile. Match the cadence of the humans you interact with.
157
+ **The human-agent contract:** Agents can work continuously but humans cannot. Respect this asymmetry. An agent creating 20 tensions per hour is technically correct but practically hostile.
215
158
 
216
159
  ### Example Flows
217
160
 
218
161
  **Assistant mode:**
219
162
  \`\`\`
220
- User: "Can you refactor our authentication module to use JWT?"
221
-
222
- 1. Search for relevant role (e.g., Developer role in Tech circle)
223
- 2. Check circle strategy — does this align?
224
- 3. Create project: "Authentication module refactored to JWT"
225
- - Description: acceptance criteria (all endpoints use JWT, tests pass, docs updated)
226
- - Parent: Developer role
227
- - Assign to user
163
+ 1. Search for relevant role (e.g., Developer in Tech circle)
164
+ 2. Check circle strategy for alignment
165
+ 3. Create project under role, assign to user
228
166
  4. Break down into tasks
229
- 5. If any tasks require another role (e.g., Security review), create a tension
230
- within the project requesting that role's input
167
+ 5. Create tensions for cross-role work (e.g., Security review)
231
168
  6. Work through tasks, post findings as comments
232
- 7. Mark each task complete as finished
233
- 8. When all criteria met, complete the project
169
+ 7. Mark tasks complete; complete project when all criteria met
234
170
  \`\`\`
235
171
 
236
- **Role-filler mode (agent):**
172
+ **Role-filler mode:**
237
173
  \`\`\`
238
- Agent reviews role accountabilities and finds a gap: session-based auth
239
- doesn't meet the security accountability. Circle strategy says "harden
240
- infrastructure for enterprise clients."
241
-
242
- 1. Create project under own role: "Authentication module refactored to JWT"
243
- - Description: acceptance criteria
244
- - Assign to self
245
- 2. Break down into tasks — identify that Security Review requires
246
- the Security Lead role (human-filled)
247
- 3. Work on tasks within own authority autonomously
248
- 4. Prepare a tension within the project requesting Security Lead review
249
- (draft status — cluster with other pending requests)
250
- 5. At a natural breakpoint, submit clustered tensions
251
- 6. While waiting for Security Lead, switch to next priority project
252
- 7. When review comes back, complete remaining tasks
253
- 8. Post decision comments for transparency
254
- 9. Complete project, capture repeatable process as a skill
174
+ 1. Create project under own role, assign to self
175
+ 2. Break down tasks identify cross-role dependencies
176
+ 3. Work autonomously on tasks within own authority
177
+ 4. Cluster cross-role tensions in draft, submit at breakpoints
178
+ 5. Switch to other projects while waiting for responses
179
+ 6. Complete project, capture repeatable process as skill
255
180
  \`\`\`
256
181
  `.trim();
257
182
  //# sourceMappingURL=doing-work.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"doing-work.js","sourceRoot":"","sources":["../../src/skills/doing-work.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuPtC,CAAC,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"doing-work.js","sourceRoot":"","sources":["../../src/skills/doing-work.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4KtC,CAAC,IAAI,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tension-processing.d.ts","sourceRoot":"","sources":["../../src/skills/tension-processing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,+BAA+B,QA+RpC,CAAC"}
1
+ {"version":3,"file":"tension-processing.d.ts","sourceRoot":"","sources":["../../src/skills/tension-processing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,+BAA+B,QAqLpC,CAAC"}