@forwardimpact/map 0.11.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/LICENSE +201 -0
- package/README.md +67 -0
- package/bin/fit-map.js +287 -0
- package/examples/behaviours/_index.yaml +8 -0
- package/examples/behaviours/outcome_ownership.yaml +43 -0
- package/examples/behaviours/polymathic_knowledge.yaml +41 -0
- package/examples/behaviours/precise_communication.yaml +39 -0
- package/examples/behaviours/relentless_curiosity.yaml +37 -0
- package/examples/behaviours/systems_thinking.yaml +40 -0
- package/examples/capabilities/_index.yaml +8 -0
- package/examples/capabilities/business.yaml +205 -0
- package/examples/capabilities/delivery.yaml +1001 -0
- package/examples/capabilities/people.yaml +68 -0
- package/examples/capabilities/reliability.yaml +349 -0
- package/examples/capabilities/scale.yaml +1672 -0
- package/examples/copilot-setup-steps.yaml +25 -0
- package/examples/devcontainer.yaml +21 -0
- package/examples/disciplines/_index.yaml +6 -0
- package/examples/disciplines/data_engineering.yaml +68 -0
- package/examples/disciplines/engineering_management.yaml +61 -0
- package/examples/disciplines/software_engineering.yaml +68 -0
- package/examples/drivers.yaml +202 -0
- package/examples/framework.yaml +73 -0
- package/examples/levels.yaml +115 -0
- package/examples/questions/behaviours/outcome_ownership.yaml +228 -0
- package/examples/questions/behaviours/polymathic_knowledge.yaml +275 -0
- package/examples/questions/behaviours/precise_communication.yaml +248 -0
- package/examples/questions/behaviours/relentless_curiosity.yaml +248 -0
- package/examples/questions/behaviours/systems_thinking.yaml +238 -0
- package/examples/questions/capabilities/business.yaml +107 -0
- package/examples/questions/capabilities/delivery.yaml +101 -0
- package/examples/questions/capabilities/people.yaml +106 -0
- package/examples/questions/capabilities/reliability.yaml +105 -0
- package/examples/questions/capabilities/scale.yaml +104 -0
- package/examples/questions/skills/architecture_design.yaml +115 -0
- package/examples/questions/skills/cloud_platforms.yaml +105 -0
- package/examples/questions/skills/code_quality.yaml +162 -0
- package/examples/questions/skills/data_modeling.yaml +107 -0
- package/examples/questions/skills/devops.yaml +111 -0
- package/examples/questions/skills/full_stack_development.yaml +118 -0
- package/examples/questions/skills/sre_practices.yaml +113 -0
- package/examples/questions/skills/stakeholder_management.yaml +116 -0
- package/examples/questions/skills/team_collaboration.yaml +106 -0
- package/examples/questions/skills/technical_writing.yaml +110 -0
- package/examples/self-assessments.yaml +64 -0
- package/examples/stages.yaml +191 -0
- package/examples/tracks/_index.yaml +5 -0
- package/examples/tracks/platform.yaml +47 -0
- package/examples/tracks/sre.yaml +46 -0
- package/examples/vscode-settings.yaml +21 -0
- package/package.json +49 -0
- package/schema/json/behaviour-questions.schema.json +95 -0
- package/schema/json/behaviour.schema.json +73 -0
- package/schema/json/capability-questions.schema.json +95 -0
- package/schema/json/capability.schema.json +229 -0
- package/schema/json/defs.schema.json +132 -0
- package/schema/json/discipline.schema.json +123 -0
- package/schema/json/drivers.schema.json +48 -0
- package/schema/json/framework.schema.json +68 -0
- package/schema/json/levels.schema.json +121 -0
- package/schema/json/self-assessments.schema.json +52 -0
- package/schema/json/skill-questions.schema.json +83 -0
- package/schema/json/stages.schema.json +88 -0
- package/schema/json/track.schema.json +95 -0
- package/schema/rdf/behaviour-questions.ttl +128 -0
- package/schema/rdf/behaviour.ttl +130 -0
- package/schema/rdf/capability.ttl +466 -0
- package/schema/rdf/defs.ttl +396 -0
- package/schema/rdf/discipline.ttl +313 -0
- package/schema/rdf/drivers.ttl +84 -0
- package/schema/rdf/framework.ttl +166 -0
- package/schema/rdf/levels.ttl +357 -0
- package/schema/rdf/self-assessments.ttl +147 -0
- package/schema/rdf/skill-questions.ttl +155 -0
- package/schema/rdf/stages.ttl +166 -0
- package/schema/rdf/track.ttl +225 -0
- package/src/index-generator.js +65 -0
- package/src/index.js +44 -0
- package/src/levels.js +553 -0
- package/src/loader.js +608 -0
- package/src/modifiers.js +23 -0
- package/src/schema-validation.js +438 -0
- package/src/validation.js +2136 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# yaml-language-server: $schema=https://www.forwardimpact.team/schema/json/self-assessments.schema.json
|
|
2
|
+
|
|
3
|
+
- id: example_mid_swe
|
|
4
|
+
skillLevels:
|
|
5
|
+
architecture_design: working
|
|
6
|
+
code_quality: working
|
|
7
|
+
devops: foundational
|
|
8
|
+
ai_augmented_development: foundational
|
|
9
|
+
technical_debt_management: foundational
|
|
10
|
+
lean_thinking: awareness
|
|
11
|
+
data_modeling: awareness
|
|
12
|
+
stakeholder_management: awareness
|
|
13
|
+
technical_writing: foundational
|
|
14
|
+
ai_literacy: foundational
|
|
15
|
+
service_management: awareness
|
|
16
|
+
behaviourMaturities:
|
|
17
|
+
precise_communication: developing
|
|
18
|
+
relentless_curiosity: developing
|
|
19
|
+
outcome_ownership: developing
|
|
20
|
+
polymathic_knowledge: emerging
|
|
21
|
+
systems_thinking: developing
|
|
22
|
+
|
|
23
|
+
# Example: Senior Data Engineer
|
|
24
|
+
- id: example_senior_de
|
|
25
|
+
skillLevels:
|
|
26
|
+
data_modeling: practitioner
|
|
27
|
+
data_integration: practitioner
|
|
28
|
+
architecture_design: working
|
|
29
|
+
code_quality: working
|
|
30
|
+
devops: working
|
|
31
|
+
cloud_platforms: working
|
|
32
|
+
ai_literacy: working
|
|
33
|
+
stakeholder_management: foundational
|
|
34
|
+
technical_writing: foundational
|
|
35
|
+
ai_augmented_development: foundational
|
|
36
|
+
lean_thinking: foundational
|
|
37
|
+
behaviourMaturities:
|
|
38
|
+
precise_communication: practicing
|
|
39
|
+
relentless_curiosity: practicing
|
|
40
|
+
outcome_ownership: practicing
|
|
41
|
+
polymathic_knowledge: developing
|
|
42
|
+
systems_thinking: practicing
|
|
43
|
+
|
|
44
|
+
# Example: Data Scientist - R&D Focus
|
|
45
|
+
- id: example_ds_rd
|
|
46
|
+
skillLevels:
|
|
47
|
+
model_development: working
|
|
48
|
+
data_analysis: working
|
|
49
|
+
statistical_modeling: working
|
|
50
|
+
data_modeling: foundational
|
|
51
|
+
ai_evaluation: working
|
|
52
|
+
technical_writing: foundational
|
|
53
|
+
business_immersion: foundational
|
|
54
|
+
code_quality: foundational
|
|
55
|
+
stakeholder_management: awareness
|
|
56
|
+
ai_literacy: working
|
|
57
|
+
multi_audience_communication: foundational
|
|
58
|
+
service_management: awareness
|
|
59
|
+
behaviourMaturities:
|
|
60
|
+
precise_communication: developing
|
|
61
|
+
relentless_curiosity: practicing
|
|
62
|
+
outcome_ownership: developing
|
|
63
|
+
polymathic_knowledge: developing
|
|
64
|
+
systems_thinking: developing
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# yaml-language-server: $schema=https://www.forwardimpact.team/schema/json/stages.schema.json
|
|
2
|
+
|
|
3
|
+
- id: specify
|
|
4
|
+
name: Specify
|
|
5
|
+
emojiIcon: "🎯"
|
|
6
|
+
summary: Defines requirements, user stories, and acceptance criteria
|
|
7
|
+
description:
|
|
8
|
+
Your primary task is to define WHAT users need and WHY, not how to build it.
|
|
9
|
+
Gather requirements, write user stories, and define acceptance criteria.
|
|
10
|
+
handoffs:
|
|
11
|
+
- targetStage: specify
|
|
12
|
+
label: Refine Spec
|
|
13
|
+
prompt: Refine spec.md with more detail or clarity.
|
|
14
|
+
- targetStage: specify
|
|
15
|
+
label: Alternative Spec
|
|
16
|
+
prompt: Create an alternative spec.md exploring a different approach.
|
|
17
|
+
- targetStage: plan
|
|
18
|
+
label: Create Plan
|
|
19
|
+
prompt: Create plan.md based on spec.md.
|
|
20
|
+
constraints:
|
|
21
|
+
- Do not write implementation code or execute system commands
|
|
22
|
+
- Focus on WHAT users need and WHY, not HOW to implement
|
|
23
|
+
- Write specifications as markdown files under specs/[feature-name]/spec.md
|
|
24
|
+
- Before writing the spec, conduct an interactive Q&A session with the user
|
|
25
|
+
- Ask each critical question one at a time and WAIT for answers
|
|
26
|
+
- You MUST ask questions interactively — do NOT embed unanswered questions
|
|
27
|
+
- Only after the user has answered your critical questions should you write
|
|
28
|
+
the spec document
|
|
29
|
+
- No technology choices, APIs, or code structure in specifications
|
|
30
|
+
readChecklist: []
|
|
31
|
+
confirmChecklist:
|
|
32
|
+
- spec.md exists with user stories and acceptance criteria
|
|
33
|
+
- No unresolved or open questions in spec.md
|
|
34
|
+
|
|
35
|
+
- id: plan
|
|
36
|
+
name: Plan
|
|
37
|
+
emojiIcon: "📐"
|
|
38
|
+
summary: Designs architecture, makes technology choices, and defines contracts
|
|
39
|
+
description:
|
|
40
|
+
Your primary task is to define HOW to build the solution. Make technology
|
|
41
|
+
choices, design architecture, define contracts and data models.
|
|
42
|
+
handoffs:
|
|
43
|
+
- targetStage: plan
|
|
44
|
+
label: Refine Plan
|
|
45
|
+
prompt: Refine plan.md with more detail or clarity.
|
|
46
|
+
- targetStage: plan
|
|
47
|
+
label: Alternative Plan
|
|
48
|
+
prompt: Create an alternative plan.md exploring a different approach.
|
|
49
|
+
- targetStage: onboard
|
|
50
|
+
label: Set Up Environment
|
|
51
|
+
prompt: Prepare the development environment based on plan.md requirements.
|
|
52
|
+
constraints:
|
|
53
|
+
- Do not write implementation code or execute system commands
|
|
54
|
+
- Every technology choice must trace back to a specific requirement
|
|
55
|
+
- Write plans as markdown files under specs/[feature-name]/plan.md
|
|
56
|
+
- Define contracts and data models before implementation details
|
|
57
|
+
- Document rationale for architectural decisions
|
|
58
|
+
readChecklist: []
|
|
59
|
+
confirmChecklist:
|
|
60
|
+
- spec.md exists with user stories and acceptance criteria
|
|
61
|
+
- No unresolved or open questions in spec.md
|
|
62
|
+
- plan.md exists with technology choices and architecture
|
|
63
|
+
- Contracts and data models defined where applicable
|
|
64
|
+
- No unresolved or open questions in plan.md
|
|
65
|
+
|
|
66
|
+
- id: onboard
|
|
67
|
+
name: Onboard
|
|
68
|
+
emojiIcon: "🔧"
|
|
69
|
+
summary:
|
|
70
|
+
Prepares the development environment with dependencies, tools, and
|
|
71
|
+
credentials
|
|
72
|
+
description:
|
|
73
|
+
Your primary task is to prepare the development environment with all
|
|
74
|
+
prerequisites for coding. Install dependencies, configure tools, set up
|
|
75
|
+
credentials, and verify the environment is ready for implementation.
|
|
76
|
+
handoffs:
|
|
77
|
+
- targetStage: onboard
|
|
78
|
+
label: Retry Setup
|
|
79
|
+
prompt: Re-run the environment setup to fix remaining issues.
|
|
80
|
+
- targetStage: plan
|
|
81
|
+
label: Update Plan
|
|
82
|
+
prompt: Update plan.md because the environment setup revealed issues.
|
|
83
|
+
- targetStage: code
|
|
84
|
+
label: Start Coding
|
|
85
|
+
prompt: Implement the tasks defined in plan.md.
|
|
86
|
+
constraints:
|
|
87
|
+
- Do not implement feature code; focus only on environment setup
|
|
88
|
+
- Verify each tool and dependency works before moving on
|
|
89
|
+
- Document all environment configuration in a reproducible way
|
|
90
|
+
- Never hardcode secrets; use .env files or secret managers
|
|
91
|
+
- Track progress with the todo tool
|
|
92
|
+
readChecklist: []
|
|
93
|
+
confirmChecklist:
|
|
94
|
+
- plan.md exists with technology choices and architecture
|
|
95
|
+
- No unresolved or open questions in plan.md
|
|
96
|
+
- Install scripts (scripts/install.sh) executed for all skills that provide
|
|
97
|
+
them
|
|
98
|
+
- All dependencies installed and versions verified
|
|
99
|
+
- Environment variables and secrets configured (.env files, tokens)
|
|
100
|
+
- Linter and formatter configured and passing on existing code
|
|
101
|
+
- Build and test commands run successfully
|
|
102
|
+
- Version control hooks and CI checks are operational
|
|
103
|
+
- Development server or runtime starts without errors
|
|
104
|
+
|
|
105
|
+
- id: code
|
|
106
|
+
name: Code
|
|
107
|
+
emojiIcon: "💻"
|
|
108
|
+
summary: Implements solutions, writes tests, and iterates to completion
|
|
109
|
+
description:
|
|
110
|
+
Your primary task is to implement the solution. Write code, write tests, and
|
|
111
|
+
iterate until the implementation is complete.
|
|
112
|
+
handoffs:
|
|
113
|
+
- targetStage: review
|
|
114
|
+
label: Request Review
|
|
115
|
+
prompt: Review the implemented changes.
|
|
116
|
+
constraints:
|
|
117
|
+
- Implement one task at a time, verify before moving on
|
|
118
|
+
- Write tests alongside implementation
|
|
119
|
+
- Track progress with the todo tool
|
|
120
|
+
readChecklist: []
|
|
121
|
+
confirmChecklist:
|
|
122
|
+
- spec.md exists with user stories and acceptance criteria
|
|
123
|
+
- plan.md exists with technology choices and architecture
|
|
124
|
+
- No unresolved [NEEDS CLARIFICATION] markers in plan.md
|
|
125
|
+
- All dependencies installed and versions verified
|
|
126
|
+
- Linter and formatter configured and passing
|
|
127
|
+
- Build and test commands run successfully
|
|
128
|
+
- Implementation complete according to plan.md
|
|
129
|
+
- Tests written and passing
|
|
130
|
+
- Self-review completed
|
|
131
|
+
|
|
132
|
+
- id: review
|
|
133
|
+
name: Review
|
|
134
|
+
emojiIcon: "🔍"
|
|
135
|
+
summary:
|
|
136
|
+
Verifies implementation, tests acceptance criteria, and documents findings
|
|
137
|
+
description:
|
|
138
|
+
Your primary task is to verify the implementation works correctly. Run the
|
|
139
|
+
application, test against acceptance criteria, document findings.
|
|
140
|
+
handoffs:
|
|
141
|
+
- targetStage: code
|
|
142
|
+
label: Request Changes
|
|
143
|
+
prompt: Address the findings in review.md.
|
|
144
|
+
- targetStage: plan
|
|
145
|
+
label: Needs Re-planning
|
|
146
|
+
prompt: Update plan.md to address issues found in review.md.
|
|
147
|
+
- targetStage: deploy
|
|
148
|
+
label: Deploy
|
|
149
|
+
prompt: Deploy the approved changes.
|
|
150
|
+
constraints:
|
|
151
|
+
- Do not make code edits
|
|
152
|
+
- Write review findings as markdown under specs/[feature-name]/review.md
|
|
153
|
+
- Prioritize actionable feedback over exhaustive lists
|
|
154
|
+
- Track findings and required changes with the todo tool
|
|
155
|
+
- Run the application locally and verify changes work as expected
|
|
156
|
+
- Test user-facing functionality against acceptance criteria
|
|
157
|
+
readChecklist: []
|
|
158
|
+
confirmChecklist:
|
|
159
|
+
- Implementation complete according to plan.md
|
|
160
|
+
- Tests written and passing
|
|
161
|
+
- Self-review completed
|
|
162
|
+
- Application runs locally without errors
|
|
163
|
+
- Changes verified against acceptance criteria through manual testing
|
|
164
|
+
- No blocking issues identified in review
|
|
165
|
+
- Review approved
|
|
166
|
+
|
|
167
|
+
- id: deploy
|
|
168
|
+
name: Deploy
|
|
169
|
+
emojiIcon: "🚀"
|
|
170
|
+
summary: Ships changes to production and monitors deployment workflows
|
|
171
|
+
description:
|
|
172
|
+
Your primary task is to ship the changes to production. Push code, monitor
|
|
173
|
+
CI/CD workflows, and verify successful deployment.
|
|
174
|
+
handoffs:
|
|
175
|
+
- targetStage: code
|
|
176
|
+
label: Fix Pipeline
|
|
177
|
+
prompt: Fix the failing workflow issues identified during deployment.
|
|
178
|
+
constraints:
|
|
179
|
+
- Use git push to deploy changes
|
|
180
|
+
- Use gh CLI to monitor triggered workflows (gh run list, gh run watch)
|
|
181
|
+
- Do not make code edits; hand off to code stage if fixes are needed
|
|
182
|
+
- Verify all workflows complete successfully before considering deployment
|
|
183
|
+
done
|
|
184
|
+
readChecklist: []
|
|
185
|
+
confirmChecklist:
|
|
186
|
+
- Application runs locally without errors
|
|
187
|
+
- Changes verified against acceptance criteria through manual testing
|
|
188
|
+
- No blocking issues identified in review
|
|
189
|
+
- Review approved
|
|
190
|
+
- All triggered workflows are green
|
|
191
|
+
- Deployment verified in target environment
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# yaml-language-server: $schema=https://www.forwardimpact.team/schema/json/track.schema.json
|
|
2
|
+
|
|
3
|
+
name: Platform
|
|
4
|
+
|
|
5
|
+
# Shared content (used by both human job descriptions and agent profiles)
|
|
6
|
+
description:
|
|
7
|
+
Internal tooling and infrastructure focus, building shared capabilities that
|
|
8
|
+
enable other engineering teams. Treats the platform as a product with
|
|
9
|
+
developers as customers.
|
|
10
|
+
roleContext:
|
|
11
|
+
In this platform-focused role, you will build internal tooling and shared
|
|
12
|
+
infrastructure that enables other engineering teams to be more productive. You
|
|
13
|
+
will treat the platform as a product—conducting user research, building golden
|
|
14
|
+
paths, and optimizing for developer experience.
|
|
15
|
+
|
|
16
|
+
# Derivation inputs - used by both human and agent profiles
|
|
17
|
+
skillModifiers:
|
|
18
|
+
delivery: 1
|
|
19
|
+
business: 1
|
|
20
|
+
reliability: -1
|
|
21
|
+
behaviourModifiers:
|
|
22
|
+
systems_thinking: 1
|
|
23
|
+
precise_communication: 1
|
|
24
|
+
assessmentWeights:
|
|
25
|
+
skillWeight: 0.6
|
|
26
|
+
behaviourWeight: 0.4
|
|
27
|
+
|
|
28
|
+
# Agent-specific content
|
|
29
|
+
agent:
|
|
30
|
+
identity: |
|
|
31
|
+
You are a Platform {roleTitle} agent. Your primary focus is
|
|
32
|
+
building self-service capabilities that enable other engineers.
|
|
33
|
+
You treat checklists the way surgeons and pilots do—not as a
|
|
34
|
+
crutch, but as a discipline that catches the errors expertise
|
|
35
|
+
alone cannot prevent.
|
|
36
|
+
priority: |
|
|
37
|
+
Developer experience is paramount. You design golden paths, maintain
|
|
38
|
+
backward compatibility, and document everything. Code quality and
|
|
39
|
+
architecture matter because your consumers depend on your stability.
|
|
40
|
+
|
|
41
|
+
Every API change must consider developer experience. Treat breaking
|
|
42
|
+
changes with extreme caution—your consumers build on your stability.
|
|
43
|
+
constraints:
|
|
44
|
+
- Maintain backward compatibility
|
|
45
|
+
- Document breaking changes with migration guides
|
|
46
|
+
- Test all changes against real consumer use cases
|
|
47
|
+
- Design for Day 50, not just Day 1
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# yaml-language-server: $schema=https://www.forwardimpact.team/schema/json/track.schema.json
|
|
2
|
+
|
|
3
|
+
name: SRE
|
|
4
|
+
|
|
5
|
+
# Shared content (used by both human job descriptions and agent profiles)
|
|
6
|
+
description:
|
|
7
|
+
Site Reliability Engineering focus on system reliability, observability, and
|
|
8
|
+
incident response
|
|
9
|
+
roleContext:
|
|
10
|
+
In this Site Reliability Engineering role, you will focus on system
|
|
11
|
+
reliability, observability, and incident response. You will ensure our
|
|
12
|
+
services meet their reliability targets while driving continuous improvement
|
|
13
|
+
in system resilience and operational excellence.
|
|
14
|
+
|
|
15
|
+
# Derivation inputs - used by both human and agent profiles
|
|
16
|
+
skillModifiers:
|
|
17
|
+
scale: 1
|
|
18
|
+
reliability: 1
|
|
19
|
+
delivery: -1
|
|
20
|
+
behaviourModifiers:
|
|
21
|
+
outcome_ownership: 1
|
|
22
|
+
relentless_curiosity: 1
|
|
23
|
+
assessmentWeights:
|
|
24
|
+
skillWeight: 0.6
|
|
25
|
+
behaviourWeight: 0.4
|
|
26
|
+
|
|
27
|
+
# Agent-specific content
|
|
28
|
+
agent:
|
|
29
|
+
identity: |
|
|
30
|
+
You are an SRE {roleTitle} agent. Your primary focus is
|
|
31
|
+
system reliability, observability, and incident response. You
|
|
32
|
+
treat checklists the way surgeons and pilots do—not as a crutch,
|
|
33
|
+
but as a discipline that catches the errors expertise alone
|
|
34
|
+
cannot prevent.
|
|
35
|
+
priority: |
|
|
36
|
+
Reliability is non-negotiable. You instrument everything, design for
|
|
37
|
+
graceful degradation, and maintain error budgets. Every change
|
|
38
|
+
considers blast radius and recovery paths.
|
|
39
|
+
|
|
40
|
+
Production stability trumps feature velocity. No change ships without
|
|
41
|
+
understanding its impact on system reliability.
|
|
42
|
+
constraints:
|
|
43
|
+
- Never compromise on observability instrumentation
|
|
44
|
+
- Document all runbooks and incident response procedures
|
|
45
|
+
- Verify failover mechanisms regularly
|
|
46
|
+
- Consider blast radius for all changes
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Enable coding agent
|
|
2
|
+
chat.agent.enabled: true
|
|
3
|
+
|
|
4
|
+
# Maximum requests per agent session (high limit for complex tasks)
|
|
5
|
+
chat.agent.maxRequests: 999
|
|
6
|
+
|
|
7
|
+
# Enable edits v2 for improved code editing
|
|
8
|
+
chat.edits2.enabled: true
|
|
9
|
+
|
|
10
|
+
# Enable extension unification for consistent behavior
|
|
11
|
+
chat.extensionUnification.enabled: true
|
|
12
|
+
|
|
13
|
+
# Enable custom agents to be used as subagents
|
|
14
|
+
# Required for multi-agent workflows with handoffs
|
|
15
|
+
chat.customAgentInSubagent.enabled: true
|
|
16
|
+
|
|
17
|
+
# Enable agent skills for enhanced agent capabilities
|
|
18
|
+
chat.useAgentSkills: true
|
|
19
|
+
|
|
20
|
+
# Enable skill adherence prompt to improve agent compliance with defined skills
|
|
21
|
+
chat.experimental.useSkillAdherencePrompt: true
|
package/package.json
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@forwardimpact/map",
|
|
3
|
+
"version": "0.11.0",
|
|
4
|
+
"description": "Public data model for career frameworks, consumed by AI agents and engineers",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/forwardimpact/monorepo",
|
|
9
|
+
"directory": "products/map"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://www.forwardimpact.team/map",
|
|
12
|
+
"type": "module",
|
|
13
|
+
"main": "src/index.js",
|
|
14
|
+
"bin": {
|
|
15
|
+
"fit-map": "./bin/fit-map.js"
|
|
16
|
+
},
|
|
17
|
+
"scripts": {
|
|
18
|
+
"generate-index": "node ./bin/fit-map.js generate-index",
|
|
19
|
+
"validate": "node ./bin/fit-map.js validate"
|
|
20
|
+
},
|
|
21
|
+
"files": [
|
|
22
|
+
"bin/",
|
|
23
|
+
"examples/",
|
|
24
|
+
"src/",
|
|
25
|
+
"schema/"
|
|
26
|
+
],
|
|
27
|
+
"exports": {
|
|
28
|
+
".": "./src/index.js",
|
|
29
|
+
"./loader": "./src/loader.js",
|
|
30
|
+
"./validation": "./src/validation.js",
|
|
31
|
+
"./schema-validation": "./src/schema-validation.js",
|
|
32
|
+
"./index-generator": "./src/index-generator.js",
|
|
33
|
+
"./levels": "./src/levels.js",
|
|
34
|
+
"./examples/*": "./examples/*",
|
|
35
|
+
"./schema/json/*": "./schema/json/*",
|
|
36
|
+
"./schema/rdf/*": "./schema/rdf/*"
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"ajv": "^8.17.1",
|
|
40
|
+
"ajv-formats": "^3.0.1",
|
|
41
|
+
"yaml": "^2.3.4"
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"n3": "^2.0.1"
|
|
45
|
+
},
|
|
46
|
+
"engines": {
|
|
47
|
+
"node": ">=18.0.0"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://www.forwardimpact.team/schema/json/behaviour-questions.schema.json",
|
|
4
|
+
"title": "Behaviour Interview Questions",
|
|
5
|
+
"description": "Stakeholder simulation interview questions for a behaviour, organized by role type (professional/management) and maturity level. Each question presents a realistic stakeholder scenario to assess behavioural maturity.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"professionalQuestions": {
|
|
9
|
+
"description": "Questions for professional/IC roles (e.g., engineers)",
|
|
10
|
+
"$ref": "#/$defs/maturityQuestions"
|
|
11
|
+
},
|
|
12
|
+
"managementQuestions": {
|
|
13
|
+
"description": "Questions for management roles (e.g., engineering managers, product managers)",
|
|
14
|
+
"$ref": "#/$defs/maturityQuestions"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"additionalProperties": false,
|
|
18
|
+
"$defs": {
|
|
19
|
+
"maturityQuestions": {
|
|
20
|
+
"type": "object",
|
|
21
|
+
"description": "Questions organized by behaviour maturity level",
|
|
22
|
+
"properties": {
|
|
23
|
+
"emerging": {
|
|
24
|
+
"type": "array",
|
|
25
|
+
"items": { "$ref": "#/$defs/question" }
|
|
26
|
+
},
|
|
27
|
+
"developing": {
|
|
28
|
+
"type": "array",
|
|
29
|
+
"items": { "$ref": "#/$defs/question" }
|
|
30
|
+
},
|
|
31
|
+
"practicing": {
|
|
32
|
+
"type": "array",
|
|
33
|
+
"items": { "$ref": "#/$defs/question" }
|
|
34
|
+
},
|
|
35
|
+
"role_modeling": {
|
|
36
|
+
"type": "array",
|
|
37
|
+
"items": { "$ref": "#/$defs/question" }
|
|
38
|
+
},
|
|
39
|
+
"exemplifying": {
|
|
40
|
+
"type": "array",
|
|
41
|
+
"items": { "$ref": "#/$defs/question" }
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"additionalProperties": false
|
|
45
|
+
},
|
|
46
|
+
"question": {
|
|
47
|
+
"type": "object",
|
|
48
|
+
"required": ["id", "text", "lookingFor", "simulationPrompts"],
|
|
49
|
+
"properties": {
|
|
50
|
+
"id": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"pattern": "^[a-z][a-z0-9_]*$",
|
|
53
|
+
"description": "Unique question identifier (format: {abbrev}_{maturity_abbrev}_{number})"
|
|
54
|
+
},
|
|
55
|
+
"text": {
|
|
56
|
+
"type": "string",
|
|
57
|
+
"maxLength": 300,
|
|
58
|
+
"description": "The stakeholder scenario (second person, sets up a realistic situation)"
|
|
59
|
+
},
|
|
60
|
+
"context": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"description": "Additional context to set up the simulation scenario"
|
|
63
|
+
},
|
|
64
|
+
"simulationPrompts": {
|
|
65
|
+
"type": "array",
|
|
66
|
+
"description": "3-5 guiding prompts to steer the simulation and probe the candidate's behaviour",
|
|
67
|
+
"minItems": 2,
|
|
68
|
+
"maxItems": 5,
|
|
69
|
+
"items": { "type": "string" }
|
|
70
|
+
},
|
|
71
|
+
"lookingFor": {
|
|
72
|
+
"type": "array",
|
|
73
|
+
"description": "2-4 indicators of strong behavioural response",
|
|
74
|
+
"minItems": 2,
|
|
75
|
+
"maxItems": 4,
|
|
76
|
+
"items": { "type": "string" }
|
|
77
|
+
},
|
|
78
|
+
"expectedDurationMinutes": {
|
|
79
|
+
"type": "integer",
|
|
80
|
+
"minimum": 10,
|
|
81
|
+
"default": 20,
|
|
82
|
+
"description": "Expected duration in minutes (default: 20 for stakeholder simulation)"
|
|
83
|
+
},
|
|
84
|
+
"followUps": {
|
|
85
|
+
"type": "array",
|
|
86
|
+
"description": "1-3 probing questions for deeper exploration",
|
|
87
|
+
"minItems": 1,
|
|
88
|
+
"maxItems": 3,
|
|
89
|
+
"items": { "type": "string" }
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"additionalProperties": false
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://www.forwardimpact.team/schema/json/behaviour.schema.json",
|
|
4
|
+
"title": "Behaviour",
|
|
5
|
+
"description": "Mindset and way of working that underpins effective application of skills",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["name", "human"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"name": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "Human-readable behaviour name"
|
|
12
|
+
},
|
|
13
|
+
"human": {
|
|
14
|
+
"$ref": "#/$defs/behaviourHumanSection",
|
|
15
|
+
"description": "Human-specific content"
|
|
16
|
+
},
|
|
17
|
+
"agent": {
|
|
18
|
+
"$ref": "#/$defs/behaviourAgentSection",
|
|
19
|
+
"description": "Agent-specific content"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"additionalProperties": false,
|
|
23
|
+
"$defs": {
|
|
24
|
+
"behaviourHumanSection": {
|
|
25
|
+
"type": "object",
|
|
26
|
+
"required": ["description", "maturityDescriptions"],
|
|
27
|
+
"properties": {
|
|
28
|
+
"description": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"description": "Description of the behaviour"
|
|
31
|
+
},
|
|
32
|
+
"maturityDescriptions": {
|
|
33
|
+
"$ref": "#/$defs/maturityDescriptions",
|
|
34
|
+
"description": "Description of expectations at each maturity level"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"additionalProperties": false
|
|
38
|
+
},
|
|
39
|
+
"maturityDescriptions": {
|
|
40
|
+
"type": "object",
|
|
41
|
+
"properties": {
|
|
42
|
+
"emerging": { "type": "string" },
|
|
43
|
+
"developing": { "type": "string" },
|
|
44
|
+
"practicing": { "type": "string" },
|
|
45
|
+
"role_modeling": { "type": "string" },
|
|
46
|
+
"exemplifying": { "type": "string" }
|
|
47
|
+
},
|
|
48
|
+
"required": [
|
|
49
|
+
"emerging",
|
|
50
|
+
"developing",
|
|
51
|
+
"practicing",
|
|
52
|
+
"role_modeling",
|
|
53
|
+
"exemplifying"
|
|
54
|
+
],
|
|
55
|
+
"additionalProperties": false
|
|
56
|
+
},
|
|
57
|
+
"behaviourAgentSection": {
|
|
58
|
+
"type": "object",
|
|
59
|
+
"required": ["title", "workingStyle"],
|
|
60
|
+
"properties": {
|
|
61
|
+
"title": {
|
|
62
|
+
"type": "string",
|
|
63
|
+
"description": "Short title for the behaviour's agent application"
|
|
64
|
+
},
|
|
65
|
+
"workingStyle": {
|
|
66
|
+
"type": "string",
|
|
67
|
+
"description": "How the agent should apply this behaviour"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"additionalProperties": false
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|