@forwardimpact/pathway 0.17.1 → 0.18.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forwardimpact/pathway",
3
- "version": "0.17.1",
3
+ "version": "0.18.0",
4
4
  "description": "Career progression web app and CLI for exploring roles and generating agent teams",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -40,8 +40,8 @@
40
40
  "./commands": "./src/commands/index.js"
41
41
  },
42
42
  "dependencies": {
43
- "@forwardimpact/schema": "^0.9.0",
44
- "@forwardimpact/model": "^1.1.0",
43
+ "@forwardimpact/schema": "^0.10.0",
44
+ "@forwardimpact/model": "^1.2.0",
45
45
  "mustache": "^4.2.0",
46
46
  "simple-icons": "^16.7.0",
47
47
  "yaml": "^2.3.4"
@@ -40,6 +40,8 @@ import {
40
40
  generateSkillMarkdown,
41
41
  deriveToolkit,
42
42
  buildAgentIndex,
43
+ getDisciplineAbbreviation,
44
+ toKebabCase,
43
45
  } from "@forwardimpact/model";
44
46
  import { formatAgentProfile } from "../formatters/agent/profile.js";
45
47
  import {
@@ -205,7 +207,9 @@ function listAgentCombinations(data, agentData, verbose = false) {
205
207
  );
206
208
  const humanTrack = data.tracks.find((t) => t.id === track.id);
207
209
  if (humanDiscipline && humanTrack) {
208
- console.log(`${discipline.id} ${track.id}`);
210
+ const abbrev = getDisciplineAbbreviation(discipline.id);
211
+ const agentName = `${abbrev}-${toKebabCase(track.id)}`;
212
+ console.log(`${agentName} ${discipline.id} ${track.id}`);
209
213
  }
210
214
  }
211
215
  }
@@ -338,6 +342,16 @@ export async function runAgentCommand({ data, args, options, dataDir }) {
338
342
  const [disciplineId] = args;
339
343
  const trackId = options.track;
340
344
 
345
+ // Reject unexpected positional args (track must use --track=<id>)
346
+ if (args.length > 1) {
347
+ console.error(
348
+ formatError(
349
+ `Unexpected argument: ${args[1]}. Did you mean --track=${args[1]}?`,
350
+ ),
351
+ );
352
+ process.exit(1);
353
+ }
354
+
341
355
  if (!disciplineId) {
342
356
  console.error(
343
357
  formatError(
@@ -96,6 +96,7 @@ export function createRouter(options = {}) {
96
96
  const path = fullPath.split("?")[0];
97
97
  const matched = matchRoute(path);
98
98
  if (matched) {
99
+ window.scrollTo(0, 0);
99
100
  matched.handler(matched.params);
100
101
  } else {
101
102
  onNotFound(path);
@@ -52,10 +52,17 @@ handoffs:
52
52
 
53
53
  ## Required skills
54
54
 
55
- **MANDATORY:** Before starting work, you MUST read the relevant skill files for
56
- project-specific guidance, required tools, and technology standards. Pre-training
57
- knowledge alone is insufficient—skills contain organizational standards that
58
- override general knowledge.
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.
59
66
 
60
67
  Each skill contains marked-up sections and references for precise navigation:
61
68
 
@@ -70,8 +77,10 @@ Each skill contains marked-up sections and references for precise navigation:
70
77
  preferences.
71
78
  {{#isOnboard}}
72
79
  - `scripts/install.sh` — Self-contained install script for environment setup.
73
- Run this script to install prerequisites and configure the development
74
- environment. Focus on setup only — do not begin feature implementation.
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.
75
84
  - `references/REFERENCE.md` — Detailed code examples and reference material.
76
85
  Consult this for implementation patterns, common pitfalls, and verification
77
86
  steps.