@forwardimpact/pathway 0.24.0 → 0.25.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/src/slide-main.js CHANGED
@@ -53,6 +53,20 @@ function showLoading() {
53
53
  }
54
54
  }
55
55
 
56
+ /**
57
+ * Escape HTML special characters to prevent XSS
58
+ * @param {string} text
59
+ * @returns {string}
60
+ */
61
+ function escapeHtml(text) {
62
+ return text
63
+ .replace(/&/g, "&")
64
+ .replace(/</g, "&lt;")
65
+ .replace(/>/g, "&gt;")
66
+ .replace(/"/g, "&quot;")
67
+ .replace(/'/g, "&#039;");
68
+ }
69
+
56
70
  /**
57
71
  * Render error slide
58
72
  * @param {string} title
@@ -62,8 +76,8 @@ function renderError(title, message) {
62
76
  const container = getSlideContent();
63
77
  container.innerHTML = `
64
78
  <div class="slide-error">
65
- <h1>${title}</h1>
66
- <p>${message}</p>
79
+ <h1>${escapeHtml(title)}</h1>
80
+ <p>${escapeHtml(message)}</p>
67
81
  <a href="#/">← Back to Index</a>
68
82
  </div>
69
83
  `;
package/src/slides.html CHANGED
@@ -8,7 +8,7 @@
8
8
  <script type="importmap">
9
9
  {
10
10
  "imports": {
11
- "mustache": "https://esm.sh/mustache@4.2.0",
11
+ "mustache": "/vendor/mustache.mjs",
12
12
  "@forwardimpact/map": "/map/lib/index.js",
13
13
  "@forwardimpact/map/levels": "/map/lib/levels.js",
14
14
  "@forwardimpact/map/loader": "/map/lib/loader.js",
@@ -3,22 +3,13 @@
3
3
  name: {{name}}
4
4
  {{/name}}
5
5
  description: {{{description}}}
6
- {{#infer}}
7
- infer: {{infer}}
8
- {{/infer}}
9
- {{#handoffs.length}}
10
- handoffs:
11
- {{#handoffs}}
12
- - label: {{label}}
13
- {{#agent}}
14
- agent: {{agent}}
15
- {{/agent}}
16
- prompt: "{{{prompt}}}"
17
- {{#send}}
18
- send: {{send}}
19
- {{/send}}
20
- {{/handoffs}}
21
- {{/handoffs.length}}
6
+ model: sonnet
7
+ {{#skills.length}}
8
+ skills:
9
+ {{#skills}}
10
+ - {{.}}
11
+ {{/skills}}
12
+ {{/skills.length}}
22
13
  ---
23
14
 
24
15
  # {{title}}
@@ -41,89 +32,77 @@ handoffs:
41
32
  {{#hasWorkingStyles}}
42
33
 
43
34
  ## Working style
44
- {{#workingStyles}}
45
35
 
46
- ### {{title}}
36
+ {{#workingStyles}}
37
+ **{{title}}**
47
38
 
48
39
  {{{content}}}
40
+
49
41
  {{/workingStyles}}
50
42
  {{/hasWorkingStyles}}
51
43
  {{#hasSkills}}
52
44
 
53
45
  ## Required skills
54
46
 
55
- **MANDATORY:** Before starting work, you MUST read ALL listed skill files below,
56
- not just the most relevant one. Every skill contributes project-specific
57
- guidance, required tools, and technology standards. Pre-training knowledge alone
58
- is insufficient—skills contain organizational standards that override general
59
- knowledge.
60
-
61
- **FIRST ACTION:** Read every skill file listed below. For each skill, note
62
- its `<read_then_do_{{stageId}}>` and `<do_then_confirm_{{stageId}}>` checklist
63
- items. List all checklist items from all skills before beginning any work. Do
64
- not start implementation until every skill has been read and its checklists
65
- acknowledged.
66
-
67
- Each skill contains marked-up sections and references for precise navigation:
68
-
69
- - `<read_then_do_{{stageId}}>` — Read-Then-Do checklist for the
70
- {{stageName}} stage. Read and understand these items BEFORE starting work.
71
- These are prerequisites and context you must absorb first.
72
- - `<do_then_confirm_{{stageId}}>` — Do-Then-Confirm checklist for the
73
- {{stageName}} stage. Complete your work, then verify each item. These are
74
- quality gates to check AFTER implementation.
75
- - `<required_tools>` — Mandatory tools for this skill. You MUST use these
76
- organizational standards that override general knowledge or personal
77
- preferences.
78
- {{#isOnboard}}
79
- - `scripts/install.sh` — Self-contained install script for environment setup.
80
- **Step 1 of onboarding — run FIRST:** Execute
81
- `bash .claude/skills/<skill-name>/scripts/install.sh` for each skill before
82
- doing any manual setup. Only install manually if the script is missing or
83
- fails. Do not skip this step even if you can install the same tools manually.
84
- - `references/REFERENCE.md` — Detailed code examples and reference material.
85
- Consult this for implementation patterns, common pitfalls, and verification
86
- steps.
87
- {{/isOnboard}}
88
-
89
- | Skill | Location | Use when |
90
- | ----- | -------- | -------- |
47
+ | Skill | Use when |
48
+ | ----- | -------- |
91
49
  {{#skillIndex}}
92
- | {{{name}}} | `.claude/skills/{{dirname}}/SKILL.md` | {{{useWhen}}} |
50
+ | {{{name}}} | {{{useWhen}}} |
93
51
  {{/skillIndex}}
52
+ {{#isOnboard}}
53
+
54
+ For each skill, run `bash .claude/skills/<skill-name>/scripts/install.sh`
55
+ BEFORE any manual setup. Consult `references/REFERENCE.md` for implementation
56
+ patterns.
57
+ {{/isOnboard}}
94
58
  {{/hasSkills}}
95
- {{#hasAgentIndex}}
59
+ {{#hasStageTransitions}}
60
+
61
+ ## Stage transitions
62
+ {{#stageTransitions}}
63
+
64
+ When your work is complete, the next stage is **{{targetStageName}}**.
96
65
 
97
- ## Required subagent delegations
66
+ {{{summaryInstruction}}}
67
+ {{#hasEntryCriteria}}
98
68
 
99
- **MANDATORY:** You MUST delegate work outside your speciality using the
100
- `runSubagent` tool. Do not attempt work that another agent is better suited for.
69
+ The {{targetStageName}} stage requires the following entry criteria:
70
+ {{#entryCriteria}}
71
+ - [ ] {{{.}}}
72
+ {{/entryCriteria}}
101
73
 
102
- You are part of an agentic team with specialized roles. Attempting work outside
103
- your speciality produces inferior results and violates team structure. If you
104
- cannot delegate due to a blocking constraint, document in your output: (1) the
105
- specialized work required, (2) the specific constraint preventing delegation,
106
- and (3) the compromised approach with acknowledged limitations.
74
+ If critical items are missing, continue working in the current stage.
75
+ {{/hasEntryCriteria}}
76
+ {{/stageTransitions}}
77
+ {{/hasStageTransitions}}
107
78
 
108
- | Agent name | Speciality | Description |
109
- | ---------- | ---------- | ----------- |
110
- {{#agentIndex}}
111
- | `{{id}}` | {{{name}}} | {{{description}}} |
112
- {{/agentIndex}}
113
- {{/hasAgentIndex}}
79
+ {{#hasReturnFormat}}
114
80
 
115
81
  ## Return format
116
82
 
117
- When completing work (for handoff or as a subagent), provide:
83
+ When completing work, provide:
118
84
 
119
- 1. **Work completed**: What was accomplished
120
- 2. **Checklist status**: Items verified from skill Do-Then-Confirm checklists
121
- 3. **Recommendation**: Ready for next stage, or needs more work
85
+ {{#returnFormat}}
86
+ 1. {{{.}}}
87
+ {{/returnFormat}}
88
+ {{/hasReturnFormat}}
122
89
 
123
90
  {{#hasConstraints}}
124
91
  ## Constraints
125
92
 
126
- {{#constraints}}
93
+ {{#hasStageConstraints}}
94
+ {{#stageConstraints}}
95
+ - {{{.}}}
96
+ {{/stageConstraints}}
97
+ {{/hasStageConstraints}}
98
+ {{#hasDisciplineOrTrackConstraints}}
99
+
100
+ **General:**
101
+ {{#disciplineConstraints}}
102
+ - {{{.}}}
103
+ {{/disciplineConstraints}}
104
+ {{#trackConstraints}}
127
105
  - {{{.}}}
128
- {{/constraints}}
106
+ {{/trackConstraints}}
107
+ {{/hasDisciplineOrTrackConstraints}}
129
108
  {{/hasConstraints}}