@forwardimpact/map 0.11.1 → 0.13.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 (59) hide show
  1. package/README.md +1 -1
  2. package/bin/fit-map.js +91 -34
  3. package/package.json +14 -4
  4. package/schema/json/capability.schema.json +33 -0
  5. package/schema/json/discipline.schema.json +2 -6
  6. package/schema/rdf/capability.ttl +48 -0
  7. package/schema/rdf/discipline.ttl +6 -19
  8. package/src/index-generator.js +67 -38
  9. package/src/index.js +10 -25
  10. package/src/loader.js +407 -559
  11. package/src/schema-validation.js +327 -307
  12. package/src/validation.js +54 -0
  13. package/examples/behaviours/_index.yaml +0 -8
  14. package/examples/behaviours/outcome_ownership.yaml +0 -43
  15. package/examples/behaviours/polymathic_knowledge.yaml +0 -41
  16. package/examples/behaviours/precise_communication.yaml +0 -39
  17. package/examples/behaviours/relentless_curiosity.yaml +0 -37
  18. package/examples/behaviours/systems_thinking.yaml +0 -40
  19. package/examples/capabilities/_index.yaml +0 -8
  20. package/examples/capabilities/business.yaml +0 -205
  21. package/examples/capabilities/delivery.yaml +0 -1001
  22. package/examples/capabilities/people.yaml +0 -68
  23. package/examples/capabilities/reliability.yaml +0 -349
  24. package/examples/capabilities/scale.yaml +0 -1672
  25. package/examples/copilot-setup-steps.yaml +0 -25
  26. package/examples/devcontainer.yaml +0 -21
  27. package/examples/disciplines/_index.yaml +0 -6
  28. package/examples/disciplines/data_engineering.yaml +0 -68
  29. package/examples/disciplines/engineering_management.yaml +0 -61
  30. package/examples/disciplines/software_engineering.yaml +0 -68
  31. package/examples/drivers.yaml +0 -202
  32. package/examples/framework.yaml +0 -73
  33. package/examples/levels.yaml +0 -115
  34. package/examples/questions/behaviours/outcome_ownership.yaml +0 -228
  35. package/examples/questions/behaviours/polymathic_knowledge.yaml +0 -275
  36. package/examples/questions/behaviours/precise_communication.yaml +0 -248
  37. package/examples/questions/behaviours/relentless_curiosity.yaml +0 -248
  38. package/examples/questions/behaviours/systems_thinking.yaml +0 -238
  39. package/examples/questions/capabilities/business.yaml +0 -107
  40. package/examples/questions/capabilities/delivery.yaml +0 -101
  41. package/examples/questions/capabilities/people.yaml +0 -106
  42. package/examples/questions/capabilities/reliability.yaml +0 -105
  43. package/examples/questions/capabilities/scale.yaml +0 -104
  44. package/examples/questions/skills/architecture_design.yaml +0 -115
  45. package/examples/questions/skills/cloud_platforms.yaml +0 -105
  46. package/examples/questions/skills/code_quality.yaml +0 -162
  47. package/examples/questions/skills/data_modeling.yaml +0 -107
  48. package/examples/questions/skills/devops.yaml +0 -111
  49. package/examples/questions/skills/full_stack_development.yaml +0 -118
  50. package/examples/questions/skills/sre_practices.yaml +0 -113
  51. package/examples/questions/skills/stakeholder_management.yaml +0 -116
  52. package/examples/questions/skills/team_collaboration.yaml +0 -106
  53. package/examples/questions/skills/technical_writing.yaml +0 -110
  54. package/examples/self-assessments.yaml +0 -64
  55. package/examples/stages.yaml +0 -191
  56. package/examples/tracks/_index.yaml +0 -5
  57. package/examples/tracks/platform.yaml +0 -47
  58. package/examples/tracks/sre.yaml +0 -46
  59. package/examples/vscode-settings.yaml +0 -21
@@ -1,248 +0,0 @@
1
- # yaml-language-server: $schema=https://www.forwardimpact.team/schema/json/behaviour-questions.schema.json
2
-
3
- professionalQuestions:
4
- emerging:
5
- - id: comm_pro_emerg_1
6
- text:
7
- A product manager asks you to explain why a feature will take longer
8
- than expected. They need to update the client by end of day.
9
- context:
10
- The delay is caused by an unexpected API limitation in a third-party
11
- service. The PM has no technical background but is under pressure from
12
- the client. You've been working on this for 2 days and just discovered
13
- the blocker.
14
- simulationPrompts:
15
- - How would you explain the technical blocker to the PM?
16
- - What information do they need vs what details can you leave out?
17
- - How would you frame the timeline impact clearly?
18
- - How would you write this up if they asked for a brief email summary?
19
- lookingFor:
20
- - Communicates basic technical concepts in accessible language
21
- - Adapts level of detail for the audience
22
- - Provides clear timeline impact without overwhelming with detail
23
- - Shows willingness to communicate proactively
24
- expectedDurationMinutes: 20
25
-
26
- developing:
27
- - id: comm_pro_dev_1
28
- text:
29
- You need to write a specification for a feature that will be partially
30
- implemented by an AI coding tool. The feature involves complex business
31
- rules.
32
- context:
33
- The feature calculates tiered pricing based on customer segment, volume,
34
- and contract terms. Previous attempts to use AI for similar features
35
- resulted in subtle logic errors because the specs were ambiguous. Your
36
- team relies on AI tools for ~40% of implementation.
37
- simulationPrompts:
38
- - How would you structure the specification to minimize ambiguity?
39
- - What's the difference between a spec humans can follow and one AI can
40
- follow?
41
- - How would you verify the AI interpreted your spec correctly?
42
- - Walk me through how you'd document one of the pricing rules
43
- lookingFor:
44
- - Writes clear specifications that reduce ambiguity
45
- - Considers how AI tools parse requirements differently than humans
46
- - Crafts effective prompts and specifications for AI consumption
47
- - Adapts communication style for different audiences
48
- expectedDurationMinutes: 20
49
-
50
- practicing:
51
- - id: comm_pro_pract_1
52
- text:
53
- You need to present a proposed architecture change to a room with the
54
- CTO, product managers, and frontend engineers. Each group cares about
55
- different aspects.
56
- context:
57
- The change migrates from a monolith to microservices for the payments
58
- domain. The CTO cares about strategic alignment, PMs care about feature
59
- velocity impact, and engineers care about implementation details. You
60
- have 30 minutes and expect pushback from PMs about the 6-week
61
- productivity dip.
62
- simulationPrompts:
63
- - How would you structure the presentation for this mixed audience?
64
- - How do you translate between technical and business language?
65
- - How do you handle questions from stakeholders with conflicting
66
- priorities?
67
- - How do you separate what needs deciding now vs what can be decided
68
- later?
69
- lookingFor:
70
- - Separates concerns precisely for different audiences
71
- - Translates between technical and business language fluently
72
- - Facilitates productive discussion among stakeholders with competing
73
- priorities
74
- - Enables clear decisions by structuring information precisely
75
- expectedDurationMinutes: 20
76
-
77
- role_modeling:
78
- - id: comm_pro_role_1
79
- text:
80
- Your function has recurring miscommunication between engineering and
81
- product. Requirements are interpreted differently, leading to rework.
82
- context:
83
- In the last quarter, 3 major features needed significant rework due to
84
- specification ambiguity. Engineers blame vague requirements. Product
85
- managers blame engineers for not asking clarifying questions. You've
86
- been asked to propose a better process. The function has 40 engineers
87
- and 8 product managers.
88
- simulationPrompts:
89
- - What's the root cause of the miscommunication pattern?
90
- - What spec-driven practices would you introduce?
91
- - How do you get buy-in from both engineering and product?
92
- - How do you mentor others on precise communication without being
93
- prescriptive?
94
- lookingFor:
95
- - Creates spec-driven development practices that reduce ambiguity
96
- - Mentors others on precise communication across the function
97
- - Bridges communication gaps between engineering and product
98
- - Drives clarity as a core value, not just a process
99
- expectedDurationMinutes: 20
100
-
101
- exemplifying:
102
- - id: comm_pro_exemp_1
103
- text:
104
- The organisation wants to adopt spec-driven AI development but has no
105
- standards for how specifications should be written across teams.
106
- context:
107
- Teams use different formats, levels of detail, and terminology. AI tool
108
- effectiveness varies wildly between teams. External clients are starting
109
- to ask about the company's AI development methodology for compliance
110
- purposes. You've been asked to lead the standardization effort.
111
- simulationPrompts:
112
- - How would you define organizational communication standards?
113
- - How do you balance standardization with team autonomy?
114
- - How would you represent this externally to clients and industry?
115
- - How would you measure whether communication precision is improving?
116
- lookingFor:
117
- - Shapes organizational standards for technical communication
118
- - Defines spec-driven AI development practices at scale
119
- - Represents the organization's approach externally with authority
120
- - Creates standards that improve outcomes, not just compliance
121
- expectedDurationMinutes: 20
122
- followUps:
123
- - How would you handle teams that resist the standardization?
124
-
125
- managementQuestions:
126
- emerging:
127
- - id: comm_mgmt_emerg_1
128
- text:
129
- You notice that standup updates from your team are vague — "still
130
- working on it" with no specifics. Sprint planning decisions are being
131
- made on incomplete information.
132
- context:
133
- Your team of 6 engineers has been together for 3 months. Some members
134
- are quiet and uncomfortable speaking in groups. Others give detailed
135
- updates but talk for too long. The standups regularly run over 15
136
- minutes.
137
- simulationPrompts:
138
- - How would you improve the quality of standup communication?
139
- - How do you coach a quiet team member to share more effectively?
140
- - How do you coach a verbose team member to be more concise?
141
- - What structure or format would you introduce?
142
- lookingFor:
143
- - Identifies communication gaps affecting team effectiveness
144
- - Coaches individuals on clear, concise communication
145
- - Creates structures that support better communication
146
- - Shows awareness of different communication styles
147
- expectedDurationMinutes: 20
148
-
149
- developing:
150
- - id: comm_mgmt_dev_1
151
- text:
152
- A team member's pull request descriptions are consistently unclear,
153
- causing reviewers to misunderstand the intent and approve problematic
154
- changes.
155
- context:
156
- Two bugs in the last month were traced back to PRs where the reviewer
157
- didn't understand the full scope of the change. The team member is
158
- technically strong but their written communication is ambiguous. Other
159
- team members are reluctant to review their PRs.
160
- simulationPrompts:
161
- - How do you give feedback on their communication without undermining
162
- their technical confidence?
163
- - What would you suggest as a PR description standard?
164
- - How do you make clear communication a team expectation, not just an
165
- individual issue?
166
- - How do you verify the coaching is working?
167
- lookingFor:
168
- - Provides constructive feedback on communication skills
169
- - Sets clear communication expectations for the team
170
- - Coaches without undermining technical confidence
171
- - Makes communication quality a team norm
172
- expectedDurationMinutes: 20
173
-
174
- practicing:
175
- - id: comm_mgmt_pract_1
176
- text:
177
- Your team needs to communicate a breaking API change to 5 consuming
178
- teams. Past breaking changes caused friction because of poor
179
- communication timing and unclear migration guides.
180
- context:
181
- The API change removes deprecated endpoints used by at least 3 teams.
182
- Your team wants to ship in 4 weeks. Previous breaking changes led to
183
- angry messages in Slack and escalations. You need to manage both the
184
- technical communication and the stakeholder relationships.
185
- simulationPrompts:
186
- - How would you structure the communication plan?
187
- - How do you help your team communicate effectively with each consuming
188
- team?
189
- - What communication standards would you establish for breaking changes?
190
- - How do you handle a team that doesn't respond to the migration
191
- timeline?
192
- lookingFor:
193
- - Establishes communication standards for high-impact changes
194
- - Coaches team members on stakeholder communication
195
- - Creates communication practices that become team norms
196
- - Manages multi-stakeholder communication proactively
197
- expectedDurationMinutes: 20
198
-
199
- role_modeling:
200
- - id: comm_mgmt_role_1
201
- text:
202
- Cross-functional meetings in your area are unproductive — engineers and
203
- product managers talk past each other, decisions aren't captured, and
204
- actions are unclear.
205
- context:
206
- You manage 3 teams and participate in weekly cross-functional meetings
207
- with product, design, and engineering. The meetings often end without
208
- clear decisions. Product managers feel engineers don't listen to
209
- business context; engineers feel product doesn't understand technical
210
- constraints.
211
- simulationPrompts:
212
- - How do you model precise communication in these meetings?
213
- - What facilitation practices would you introduce?
214
- - How do you establish shared language between engineering and product?
215
- - How do you make your communication standards visible to peers?
216
- lookingFor:
217
- - Models precise communication in leadership settings
218
- - Establishes facilitation practices that drive clarity
219
- - Creates shared language across functions
220
- - Drives communication as a core value, not just a skill
221
- expectedDurationMinutes: 20
222
-
223
- exemplifying:
224
- - id: comm_mgmt_exemp_1
225
- text:
226
- You've been asked to develop strategic communication capabilities across
227
- your organization to support AI-driven development practices.
228
- context:
229
- Your organization has 100+ engineers across 15 teams. AI tools are being
230
- adopted but spec quality varies wildly. Customer-facing communication
231
- about AI capabilities is inconsistent. The CEO wants the organization to
232
- be known for communication excellence.
233
- simulationPrompts:
234
- - How do you develop strategic communication capabilities at scale?
235
- - How do you handle communication breakdowns between teams as an
236
- organizational pattern?
237
- - How do you build communication excellence into hiring and development?
238
- - How do you balance transparency with appropriate information
239
- boundaries?
240
- lookingFor:
241
- - Develops organizational communication strategy
242
- - Addresses communication patterns systemically, not individually
243
- - Builds communication excellence into talent development
244
- - Shows strategic judgment about communication at enterprise scale
245
- expectedDurationMinutes: 20
246
- followUps:
247
- - How would you measure communication effectiveness across the
248
- organization?
@@ -1,248 +0,0 @@
1
- # yaml-language-server: $schema=https://www.forwardimpact.team/schema/json/behaviour-questions.schema.json
2
-
3
- professionalQuestions:
4
- emerging:
5
- - id: cur_pro_emerg_1
6
- text:
7
- You've been assigned to fix a bug in a service you've never worked on.
8
- The fix is straightforward but you don't understand why the code is
9
- structured the way it is.
10
- context:
11
- The service handles payment reconciliation. The bug is a simple
12
- off-by-one error in a date filter. The codebase uses patterns you
13
- haven't seen before — event sourcing with a custom projection layer.
14
- Your team lead said "just fix the bug and move on."
15
- simulationPrompts:
16
- - Would you just fix the bug or try to understand the broader system?
17
- - What questions would you ask about the codebase?
18
- - How would you decide how deep to go given you were told to move on?
19
- - What would you do if you found something else that looked wrong while
20
- investigating?
21
- lookingFor:
22
- - Shows curiosity beyond the immediate task
23
- - Asks meaningful questions about why, not just what
24
- - Willing to explore unfamiliar territory
25
- - Balances curiosity with practical delivery
26
- expectedDurationMinutes: 20
27
-
28
- developing:
29
- - id: cur_pro_dev_1
30
- text:
31
- Your team's CI pipeline takes 45 minutes. Everyone accepts it as normal.
32
- You suspect it could be much faster but nobody has investigated.
33
- context:
34
- The pipeline runs unit tests, integration tests, and two rounds of
35
- linting. It was set up 2 years ago and has been added to but never
36
- optimized. When you mentioned it might be slow, a senior engineer said
37
- "it's fine, we're used to it." You have no pipeline expertise.
38
- simulationPrompts:
39
- - How would you investigate this despite not being a CI expert?
40
- - What would your first experiment be?
41
- - How would you approach learning about pipeline optimization?
42
- - How do you handle the pushback from the senior engineer who thinks
43
- it's fine?
44
- lookingFor:
45
- - Investigates root causes independently
46
- - Experiments with unfamiliar technology without fear of failure
47
- - Seeks to understand how things work rather than accepting the status
48
- quo
49
- - Shows self-directed exploration patterns
50
- expectedDurationMinutes: 20
51
-
52
- practicing:
53
- - id: cur_pro_pract_1
54
- text:
55
- A new AI coding tool claims to reduce development time by 50%. Your
56
- company is considering adopting it but wants someone to evaluate it
57
- thoroughly.
58
- context:
59
- The tool is a code generation agent that can handle entire user stories.
60
- Marketing materials are impressive but vague on limitations. Your
61
- company has 60 engineers. You've been given 2 weeks to evaluate it and
62
- make a recommendation. No one on your team has used AI agents beyond
63
- basic copilot tools.
64
- simulationPrompts:
65
- - How would you design your evaluation? What would you test?
66
- - How do you separate marketing claims from reality?
67
- - What failure modes would you specifically look for?
68
- - How would you structure your findings to help the organization decide?
69
- lookingFor:
70
- - Systematic approach to investigating new technology
71
- - Treats the evaluation as discovery, not confirmation
72
- - Protects time for thorough exploration
73
- - Discovers requirements through immersion in the problem space
74
- expectedDurationMinutes: 20
75
-
76
- role_modeling:
77
- - id: cur_pro_role_1
78
- text:
79
- Your team consistently delivers features on time but rarely questions
80
- whether they're building the right things. Product requirements are
81
- accepted at face value.
82
- context:
83
- Over the last 6 months, 2 features were shipped and then unused because
84
- the underlying assumptions were wrong. The team is highly skilled at
85
- execution but doesn't push back on requirements or explore the problem
86
- space. When you've asked "why are we building this?" in planning, you
87
- get polite but empty answers.
88
- simulationPrompts:
89
- - How would you shift the team culture toward questioning and discovery?
90
- - How do you model curiosity without slowing delivery?
91
- - What specific practices would you introduce?
92
- - How do you create safety for engineers to challenge assumptions?
93
- lookingFor:
94
- - Drives curiosity through challenging questions
95
- - Creates environments where exploration is encouraged
96
- - Models problem discovery orientation
97
- - Seeks out ambiguity rather than avoiding it
98
- expectedDurationMinutes: 20
99
-
100
- exemplifying:
101
- - id: cur_pro_exemp_1
102
- text:
103
- Your organization wants to become "AI-native" but most teams treat AI
104
- tools as autocomplete. There's no culture of experimentation with new AI
105
- capabilities.
106
- context:
107
- The company has 200+ engineers. AI tool licenses are available to
108
- everyone but usage data shows 80% of usage is basic code completion.
109
- Only 3 teams have experimented with AI agents. The CTO has asked you to
110
- lead a transformation toward deeper AI integration. Budget is available
111
- but cultural resistance is strong.
112
- simulationPrompts:
113
- - How do you create a culture of experimentation at organizational
114
- scale?
115
- - How do you sponsor initiatives that might fail?
116
- - How do you influence engineers who are skeptical or intimidated by AI?
117
- - How would you share learnings across 200+ engineers effectively?
118
- lookingFor:
119
- - Shapes organizational culture around curiosity and learning
120
- - Sponsors experimental initiatives across the organization
121
- - Recognized as a thought leader in problem discovery
122
- - Influences practices around innovation and exploration
123
- expectedDurationMinutes: 20
124
- followUps:
125
- - How would you measure whether the organization is becoming more
126
- curious?
127
-
128
- managementQuestions:
129
- emerging:
130
- - id: cur_mgmt_emerg_1
131
- text:
132
- A team member asks if they can spend a day investigating a new database
133
- technology. Your sprint is fully committed and you're behind by 2 story
134
- points.
135
- context:
136
- The team member is your most productive engineer. The database
137
- technology could solve a scaling problem you'll face in 3 months. You've
138
- never managed competing priorities between exploration and delivery
139
- before. Your manager tracks sprint velocity closely.
140
- simulationPrompts:
141
- - How do you decide whether to approve the exploration time?
142
- - How would you frame this to your manager?
143
- - What boundaries would you set on the exploration?
144
- - How do you make this a learning opportunity regardless of the outcome?
145
- lookingFor:
146
- - Supports team learning and exploration
147
- - Shows awareness of balancing curiosity with delivery
148
- - Creates space for investigation even under pressure
149
- - Treats learning as valuable, not wasteful
150
- expectedDurationMinutes: 20
151
-
152
- developing:
153
- - id: cur_mgmt_dev_1
154
- text:
155
- You notice your team only learns reactively — they pick up new skills
156
- when forced by a project requirement but never explore proactively.
157
- context:
158
- The team of 7 engineers is competent and delivers well. But when a
159
- project required Kubernetes knowledge, nobody had it and the team
160
- scrambled. This has happened 3 times in the past year. Engineers say
161
- they'd love to learn but "there's never time."
162
- simulationPrompts:
163
- - How would you create structured opportunities for exploration?
164
- - How do you make learning feel safe, not like extra work?
165
- - What would you do if an exploration produces no tangible outcome?
166
- - How do you balance your delivery commitments with learning time?
167
- lookingFor:
168
- - Creates time and space for exploration
169
- - Balances delivery with learning proactively
170
- - Encourages experimentation without fear of failure
171
- - Makes curiosity part of the team's rhythm, not an exception
172
- expectedDurationMinutes: 20
173
-
174
- practicing:
175
- - id: cur_mgmt_pract_1
176
- text:
177
- Two of your teams have different approaches to adopting new technology.
178
- One team experiments constantly but ships slowly. The other never
179
- experiments but delivers predictably.
180
- context:
181
- You manage both teams. The experimental team has found valuable
182
- innovations but missed deadlines 3 times. The predictable team delivers
183
- on time but their tech stack is becoming outdated. Leadership is
184
- starting to question the experimental team's reliability.
185
- simulationPrompts:
186
- - How do you calibrate the right level of exploration for each team?
187
- - What would you take from each team's culture to improve the other?
188
- - How do you protect the experimental team from leadership pressure?
189
- - How do you encourage the predictable team to question their
190
- assumptions?
191
- lookingFor:
192
- - Builds team culture that values questioning assumptions
193
- - Calibrates exploration against delivery needs
194
- - Protects space for curiosity while maintaining accountability
195
- - Creates sustainable patterns for experimentation
196
- expectedDurationMinutes: 20
197
-
198
- role_modeling:
199
- - id: cur_mgmt_role_1
200
- text:
201
- Your engineering function is solving the same problems repeatedly across
202
- teams because there's no culture of sharing discoveries or asking "has
203
- anyone solved this before?"
204
- context:
205
- You lead 3 teams with 25 engineers total. In the last quarter, two teams
206
- independently built similar caching solutions. Another team
207
- re-investigated a technology that was evaluated and rejected 6 months
208
- ago. Engineers are curious individually but there's no collective
209
- curiosity.
210
- simulationPrompts:
211
- - How do you create collective curiosity, not just individual curiosity?
212
- - What structures would you put in place for sharing discoveries?
213
- - How do you model curiosity visibly as a leader?
214
- - How do you make "has anyone solved this?" the first question, not the
215
- last?
216
- lookingFor:
217
- - Models curiosity visibly in leadership
218
- - Creates environments where discoveries are shared
219
- - Builds collective inquiry practices
220
- - Drives curiosity as a cultural value across teams
221
- expectedDurationMinutes: 20
222
-
223
- exemplifying:
224
- - id: cur_mgmt_exemp_1
225
- text:
226
- The organization wants to launch an internal innovation program but
227
- previous attempts failed because they felt disconnected from real work.
228
- context:
229
- Two previous "hack week" programs were cancelled after low
230
- participation. Engineers felt the initiatives were performative — good
231
- ideas went nowhere after the event. Leadership still believes in the
232
- concept but wants a different approach. You've been asked to design
233
- something that creates genuine, sustainable curiosity.
234
- simulationPrompts:
235
- - Why did previous programs fail and how would yours be different?
236
- - How do you build organizational systems that reward genuine curiosity?
237
- - How do you ensure discoveries from the program feed back into real
238
- work?
239
- - How do you coach other managers to foster curiosity in their teams?
240
- lookingFor:
241
- - Builds organizational systems that reward curiosity
242
- - Creates sustainable exploration programs, not performative ones
243
- - Coaches other managers on fostering curiosity
244
- - Balances predictable delivery with organizational learning
245
- expectedDurationMinutes: 20
246
- followUps:
247
- - How do you handle the inevitable pushback from delivery-focused
248
- managers?