@forwardimpact/schema 0.1.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/bin/fit-schema.js +260 -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 +189 -0
- package/examples/capabilities/delivery.yaml +305 -0
- package/examples/capabilities/people.yaml +68 -0
- package/examples/capabilities/reliability.yaml +414 -0
- package/examples/capabilities/scale.yaml +378 -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 +78 -0
- package/examples/disciplines/engineering_management.yaml +63 -0
- package/examples/disciplines/software_engineering.yaml +78 -0
- package/examples/drivers.yaml +202 -0
- package/examples/framework.yaml +69 -0
- package/examples/grades.yaml +115 -0
- package/examples/questions/behaviours/outcome_ownership.yaml +51 -0
- package/examples/questions/behaviours/polymathic_knowledge.yaml +47 -0
- package/examples/questions/behaviours/precise_communication.yaml +54 -0
- package/examples/questions/behaviours/relentless_curiosity.yaml +50 -0
- package/examples/questions/behaviours/systems_thinking.yaml +52 -0
- package/examples/questions/skills/architecture_design.yaml +53 -0
- package/examples/questions/skills/cloud_platforms.yaml +47 -0
- package/examples/questions/skills/code_quality.yaml +48 -0
- package/examples/questions/skills/data_modeling.yaml +45 -0
- package/examples/questions/skills/devops.yaml +46 -0
- package/examples/questions/skills/full_stack_development.yaml +47 -0
- package/examples/questions/skills/sre_practices.yaml +43 -0
- package/examples/questions/skills/stakeholder_management.yaml +48 -0
- package/examples/questions/skills/team_collaboration.yaml +42 -0
- package/examples/questions/skills/technical_writing.yaml +42 -0
- package/examples/self-assessments.yaml +64 -0
- package/examples/stages.yaml +139 -0
- package/examples/tracks/_index.yaml +5 -0
- package/examples/tracks/platform.yaml +49 -0
- package/examples/tracks/sre.yaml +48 -0
- package/examples/vscode-settings.yaml +21 -0
- package/lib/index-generator.js +65 -0
- package/lib/index.js +44 -0
- package/lib/levels.js +601 -0
- package/lib/loader.js +599 -0
- package/lib/modifiers.js +23 -0
- package/lib/schema-validation.js +438 -0
- package/lib/validation.js +2130 -0
- package/package.json +49 -0
- package/schema/json/behaviour-questions.schema.json +68 -0
- package/schema/json/behaviour.schema.json +73 -0
- package/schema/json/capability.schema.json +220 -0
- package/schema/json/defs.schema.json +132 -0
- package/schema/json/discipline.schema.json +132 -0
- package/schema/json/drivers.schema.json +48 -0
- package/schema/json/framework.schema.json +55 -0
- package/schema/json/grades.schema.json +121 -0
- package/schema/json/index.schema.json +18 -0
- package/schema/json/self-assessments.schema.json +52 -0
- package/schema/json/skill-questions.schema.json +68 -0
- package/schema/json/stages.schema.json +84 -0
- package/schema/json/track.schema.json +100 -0
- package/schema/rdf/pathway.ttl +2362 -0
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
# yaml-language-server: $schema=https://schema.forwardimpact.team/json/capability.schema.json
|
|
2
|
+
|
|
3
|
+
name: Delivery
|
|
4
|
+
emojiIcon: 🚀
|
|
5
|
+
displayOrder: 1
|
|
6
|
+
description: |
|
|
7
|
+
Building and shipping solutions that solve real problems.
|
|
8
|
+
Encompasses full-stack development, data integration, problem discovery,
|
|
9
|
+
and rapid prototyping.
|
|
10
|
+
professionalResponsibilities:
|
|
11
|
+
awareness:
|
|
12
|
+
Complete assigned implementation tasks within established patterns with
|
|
13
|
+
guidance from senior engineers
|
|
14
|
+
foundational:
|
|
15
|
+
Deliver small features end-to-end with minimal guidance, understanding how
|
|
16
|
+
your code fits the broader system
|
|
17
|
+
working:
|
|
18
|
+
Own feature delivery from design through deployment, making sound technical
|
|
19
|
+
trade-offs to ship value on time
|
|
20
|
+
practitioner:
|
|
21
|
+
Lead technical delivery of complex projects across multiple teams, unblock
|
|
22
|
+
others through hands-on contributions, and ensure engineering quality
|
|
23
|
+
expert:
|
|
24
|
+
Drive delivery of the most critical technical initiatives, establish
|
|
25
|
+
engineering delivery practices across the business unit, and be the
|
|
26
|
+
technical authority on high-stakes projects
|
|
27
|
+
managementResponsibilities:
|
|
28
|
+
awareness:
|
|
29
|
+
Track team progress and communicate status to stakeholders with guidance
|
|
30
|
+
foundational:
|
|
31
|
+
Coordinate team delivery by managing dependencies, removing blockers, and
|
|
32
|
+
keeping stakeholders informed
|
|
33
|
+
working:
|
|
34
|
+
Own team delivery outcomes—balance scope, staffing, and timeline; make
|
|
35
|
+
resourcing decisions to meet commitments
|
|
36
|
+
practitioner:
|
|
37
|
+
Drive delivery excellence across multiple teams, establish delivery metrics
|
|
38
|
+
and practices for your area, hold teams accountable, and escalate cross-team
|
|
39
|
+
risks
|
|
40
|
+
expert:
|
|
41
|
+
Shape delivery culture across the business unit, lead strategic delivery
|
|
42
|
+
transformations, and represent delivery commitments at executive level
|
|
43
|
+
skills:
|
|
44
|
+
- id: architecture_design
|
|
45
|
+
name: Architecture & Design
|
|
46
|
+
human:
|
|
47
|
+
description:
|
|
48
|
+
Ability to design software systems that are scalable, maintainable, and
|
|
49
|
+
fit for purpose. In the AI era, this includes designing systems that
|
|
50
|
+
effectively leverage AI capabilities while maintaining human oversight.
|
|
51
|
+
levelDescriptions:
|
|
52
|
+
awareness:
|
|
53
|
+
You understand basic architectural concepts (separation of concerns,
|
|
54
|
+
modularity, coupling) and can read architecture diagrams. You follow
|
|
55
|
+
established patterns with guidance.
|
|
56
|
+
foundational:
|
|
57
|
+
You explain and apply common patterns (MVC, microservices,
|
|
58
|
+
event-driven) to familiar problems. You contribute to design
|
|
59
|
+
discussions and identify when existing patterns don't fit.
|
|
60
|
+
working:
|
|
61
|
+
You design components and services independently for moderate
|
|
62
|
+
complexity. You make appropriate trade-off decisions, document design
|
|
63
|
+
rationale, and consider AI integration points in your designs.
|
|
64
|
+
practitioner:
|
|
65
|
+
You design complex multi-component systems end-to-end, evaluate
|
|
66
|
+
architectural options for large initiatives across teams, guide
|
|
67
|
+
technical decisions for your area, and mentor engineers on
|
|
68
|
+
architecture. You balance elegance with delivery needs.
|
|
69
|
+
expert:
|
|
70
|
+
You define architecture standards and patterns across the business
|
|
71
|
+
unit. You innovate on approaches to large-scale challenges, shape
|
|
72
|
+
AI-integrated system design, and are recognized externally as an
|
|
73
|
+
architecture authority.
|
|
74
|
+
agent:
|
|
75
|
+
name: architecture-design
|
|
76
|
+
description:
|
|
77
|
+
Guide for designing software systems and making architectural decisions.
|
|
78
|
+
useWhen: |
|
|
79
|
+
Asked to design a system, evaluate architecture options, or make
|
|
80
|
+
structural decisions about code organization.
|
|
81
|
+
stages:
|
|
82
|
+
specify:
|
|
83
|
+
focus: |
|
|
84
|
+
Define system requirements and constraints before design.
|
|
85
|
+
Clarify functional and non-functional requirements.
|
|
86
|
+
activities:
|
|
87
|
+
- Document functional requirements and use cases
|
|
88
|
+
- Identify non-functional requirements (scale, latency,
|
|
89
|
+
availability)
|
|
90
|
+
- Document system constraints and integration points
|
|
91
|
+
- Identify stakeholders and their concerns
|
|
92
|
+
- Mark ambiguities with [NEEDS CLARIFICATION]
|
|
93
|
+
ready:
|
|
94
|
+
- Functional requirements are documented
|
|
95
|
+
- Non-functional requirements are specified
|
|
96
|
+
- Constraints are identified
|
|
97
|
+
- Stakeholder concerns are understood
|
|
98
|
+
plan:
|
|
99
|
+
focus: Understanding requirements and designing solutions
|
|
100
|
+
activities:
|
|
101
|
+
- Gather context about existing systems and constraints
|
|
102
|
+
- Clarify non-functional requirements (scale, latency, availability)
|
|
103
|
+
- Identify key decisions that are hard to change later
|
|
104
|
+
- Evaluate trade-offs between architectural options
|
|
105
|
+
- Document approach with rationale
|
|
106
|
+
ready:
|
|
107
|
+
- Requirements are clearly understood
|
|
108
|
+
- Key decisions are documented with rationale
|
|
109
|
+
- Trade-offs are explicit
|
|
110
|
+
- Dependencies are identified
|
|
111
|
+
code:
|
|
112
|
+
focus: Implementing architecture faithfully while adapting to reality
|
|
113
|
+
activities:
|
|
114
|
+
- Verify implementation aligns with design decisions
|
|
115
|
+
- Implement interfaces and boundaries before internals
|
|
116
|
+
- Document any deviations from design with rationale
|
|
117
|
+
- Keep architecture documentation in sync with implementation
|
|
118
|
+
ready:
|
|
119
|
+
- Implementation matches documented design
|
|
120
|
+
- Deviations documented with rationale
|
|
121
|
+
- Failure modes are considered and handled
|
|
122
|
+
- Security implications are reviewed
|
|
123
|
+
review:
|
|
124
|
+
focus: Verifying architecture implementation and documentation
|
|
125
|
+
activities:
|
|
126
|
+
- Compare implementation to design documentation
|
|
127
|
+
- Verify all decisions were followed or documented
|
|
128
|
+
- Assess maintainability and extensibility
|
|
129
|
+
- Ensure architecture enables future changes
|
|
130
|
+
ready:
|
|
131
|
+
- Design docs reflect actual implementation
|
|
132
|
+
- Architecture decisions validated in practice
|
|
133
|
+
- Scalability requirements addressed
|
|
134
|
+
deploy:
|
|
135
|
+
focus: |
|
|
136
|
+
Deploy architecture and verify it performs as designed
|
|
137
|
+
in production environment.
|
|
138
|
+
activities:
|
|
139
|
+
- Deploy system components to production
|
|
140
|
+
- Verify architectural boundaries work under load
|
|
141
|
+
- Monitor performance against requirements
|
|
142
|
+
- Document any operational learnings
|
|
143
|
+
ready:
|
|
144
|
+
- System deployed successfully
|
|
145
|
+
- Performance meets requirements
|
|
146
|
+
- Monitoring confirms design assumptions
|
|
147
|
+
- Operational procedures are documented
|
|
148
|
+
implementationReference: |
|
|
149
|
+
## Common Patterns
|
|
150
|
+
|
|
151
|
+
### Service Architecture
|
|
152
|
+
- **Microservices**: Independent deployment, clear boundaries
|
|
153
|
+
- **Monolith**: Simpler deployment, easier refactoring
|
|
154
|
+
- **Modular monolith**: Boundaries within single deployment
|
|
155
|
+
|
|
156
|
+
### Data Patterns
|
|
157
|
+
- **Event sourcing**: Full audit trail, complex queries
|
|
158
|
+
- **CQRS**: Separate read and write models
|
|
159
|
+
- **Repository pattern**: Abstract data access
|
|
160
|
+
|
|
161
|
+
### Communication Patterns
|
|
162
|
+
- **REST**: Synchronous, request-response
|
|
163
|
+
- **Event-driven**: Asynchronous, loose coupling
|
|
164
|
+
- **gRPC**: Efficient, strongly typed
|
|
165
|
+
- id: full_stack_development
|
|
166
|
+
name: Full-Stack Development
|
|
167
|
+
human:
|
|
168
|
+
description:
|
|
169
|
+
Building complete solutions across frontend, APIs, databases, and
|
|
170
|
+
infrastructure without dependencies on specialists. JavaScript and
|
|
171
|
+
Python are our primary languages, with CloudFormation and Terraform for
|
|
172
|
+
infrastructure. Essential for rapid delivery and embedded engineering
|
|
173
|
+
work.
|
|
174
|
+
levelDescriptions:
|
|
175
|
+
awareness:
|
|
176
|
+
You understand how frontend, backend, and database layers work
|
|
177
|
+
together. You can make changes in one layer with guidance and
|
|
178
|
+
understand the impact on other layers.
|
|
179
|
+
foundational:
|
|
180
|
+
You build simple features across frontend and backend using JavaScript
|
|
181
|
+
or Python. You understand how layers connect through APIs and can
|
|
182
|
+
debug across the stack.
|
|
183
|
+
working:
|
|
184
|
+
You deliver complete features end-to-end independently—frontend,
|
|
185
|
+
backend, database, and infrastructure (CloudFormation/Terraform). You
|
|
186
|
+
make pragmatic technology choices and deploy what you build.
|
|
187
|
+
practitioner:
|
|
188
|
+
You build complete applications rapidly across any technology stack
|
|
189
|
+
for teams in your area. You select the right tools for each problem,
|
|
190
|
+
balance technical debt with delivery speed, and mentor engineers on
|
|
191
|
+
full-stack development.
|
|
192
|
+
expert:
|
|
193
|
+
You work comfortably in any language and rapidly acquire new skills as
|
|
194
|
+
needed. You deliver production solutions in days not months, shape
|
|
195
|
+
full-stack practices across the business unit, and exemplify
|
|
196
|
+
polymathic engineering.
|
|
197
|
+
agent:
|
|
198
|
+
name: full-stack-development
|
|
199
|
+
description:
|
|
200
|
+
Guide for building complete solutions across the full technology stack.
|
|
201
|
+
useWhen: |
|
|
202
|
+
Implementing features spanning frontend, backend, database, and
|
|
203
|
+
infrastructure layers.
|
|
204
|
+
stages:
|
|
205
|
+
specify:
|
|
206
|
+
focus: |
|
|
207
|
+
Define full-stack feature requirements and acceptance criteria.
|
|
208
|
+
Clarify user needs and system integration points.
|
|
209
|
+
activities:
|
|
210
|
+
- Identify user stories and acceptance criteria
|
|
211
|
+
- Document expected user interactions
|
|
212
|
+
- Clarify integration requirements with existing systems
|
|
213
|
+
- Define non-functional requirements (performance, security)
|
|
214
|
+
- Mark ambiguities with [NEEDS CLARIFICATION]
|
|
215
|
+
ready:
|
|
216
|
+
- User stories are documented
|
|
217
|
+
- Acceptance criteria are defined
|
|
218
|
+
- Integration points are identified
|
|
219
|
+
- Non-functional requirements are clear
|
|
220
|
+
plan:
|
|
221
|
+
focus: Designing the complete solution across layers
|
|
222
|
+
activities:
|
|
223
|
+
- Define the API contract between frontend and backend
|
|
224
|
+
- Design database schema to support the feature
|
|
225
|
+
- Plan infrastructure requirements
|
|
226
|
+
- Identify cross-layer dependencies
|
|
227
|
+
ready:
|
|
228
|
+
- API contract is defined
|
|
229
|
+
- Database schema is designed
|
|
230
|
+
- Infrastructure needs identified
|
|
231
|
+
- Layer boundaries are clear
|
|
232
|
+
code:
|
|
233
|
+
focus: Building vertically across all layers
|
|
234
|
+
activities:
|
|
235
|
+
- Implement backend API endpoints
|
|
236
|
+
- Build frontend components and integrate with API
|
|
237
|
+
- Set up database migrations and queries
|
|
238
|
+
- Configure infrastructure as code
|
|
239
|
+
- Test across layer boundaries
|
|
240
|
+
ready:
|
|
241
|
+
- Frontend connects to backend correctly
|
|
242
|
+
- Database schema supports the feature
|
|
243
|
+
- Error handling spans all layers
|
|
244
|
+
- Feature works end-to-end
|
|
245
|
+
review:
|
|
246
|
+
focus: Verifying integration across the stack
|
|
247
|
+
activities:
|
|
248
|
+
- Test complete user flows end-to-end
|
|
249
|
+
- Verify error handling at each layer
|
|
250
|
+
- Check deployment pipeline works
|
|
251
|
+
- Validate monitoring and logging
|
|
252
|
+
ready:
|
|
253
|
+
- End-to-end tests pass
|
|
254
|
+
- Deployment is automated
|
|
255
|
+
- Cross-layer errors are handled gracefully
|
|
256
|
+
deploy:
|
|
257
|
+
focus: |
|
|
258
|
+
Deploy full-stack feature to production and verify end-to-end
|
|
259
|
+
functionality in live environment.
|
|
260
|
+
activities:
|
|
261
|
+
- Deploy backend services
|
|
262
|
+
- Deploy frontend changes
|
|
263
|
+
- Run database migrations
|
|
264
|
+
- Verify feature works in production
|
|
265
|
+
- Monitor for errors and performance issues
|
|
266
|
+
ready:
|
|
267
|
+
- All components deployed successfully
|
|
268
|
+
- Feature works end-to-end in production
|
|
269
|
+
- No errors in monitoring
|
|
270
|
+
- Performance meets requirements
|
|
271
|
+
toolReferences:
|
|
272
|
+
- name: Terraform
|
|
273
|
+
url: https://developer.hashicorp.com/terraform/docs
|
|
274
|
+
simpleIcon: terraform
|
|
275
|
+
description: Infrastructure as code tool
|
|
276
|
+
useWhen: Provisioning and managing cloud infrastructure
|
|
277
|
+
- name: CloudFormation
|
|
278
|
+
url: https://docs.aws.amazon.com/cloudformation/
|
|
279
|
+
description: AWS infrastructure as code service
|
|
280
|
+
useWhen: Managing AWS infrastructure as code
|
|
281
|
+
- name: Docker
|
|
282
|
+
url: https://docs.docker.com/
|
|
283
|
+
simpleIcon: docker
|
|
284
|
+
description: Container platform
|
|
285
|
+
useWhen: Containerizing applications or managing container environments
|
|
286
|
+
implementationReference: |
|
|
287
|
+
## Technology Stack
|
|
288
|
+
|
|
289
|
+
### Primary Languages
|
|
290
|
+
- **JavaScript/TypeScript**: Frontend and Node.js backend
|
|
291
|
+
- **Python**: Backend APIs and data processing
|
|
292
|
+
|
|
293
|
+
### Infrastructure
|
|
294
|
+
- **Terraform**: Cloud infrastructure as code
|
|
295
|
+
- **CloudFormation**: AWS-specific infrastructure
|
|
296
|
+
- **Docker**: Containerization
|
|
297
|
+
|
|
298
|
+
## Layer Responsibilities
|
|
299
|
+
|
|
300
|
+
| Layer | Responsibilities |
|
|
301
|
+
|-------|-----------------|
|
|
302
|
+
| Frontend | UI/UX, client validation, API integration |
|
|
303
|
+
| Backend | Business logic, auth, external services |
|
|
304
|
+
| Database | Persistence, queries, migrations |
|
|
305
|
+
| Infrastructure | Deployment, scaling, monitoring |
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# yaml-language-server: $schema=https://schema.forwardimpact.team/json/capability.schema.json
|
|
2
|
+
|
|
3
|
+
name: People
|
|
4
|
+
emojiIcon: 👥
|
|
5
|
+
displayOrder: 6
|
|
6
|
+
description: |
|
|
7
|
+
Growing individuals and building effective teams.
|
|
8
|
+
Includes mentoring, coaching, hiring, performance management,
|
|
9
|
+
and creating inclusive environments.
|
|
10
|
+
professionalResponsibilities:
|
|
11
|
+
awareness:
|
|
12
|
+
Contribute positively to team dynamics, be open to feedback, and learn
|
|
13
|
+
actively from colleagues
|
|
14
|
+
foundational:
|
|
15
|
+
Support teammates through pair programming, knowledge sharing, and
|
|
16
|
+
constructive code reviews
|
|
17
|
+
working:
|
|
18
|
+
Mentor junior engineers on technical topics, contribute to hiring through
|
|
19
|
+
interviews, and actively build team knowledge
|
|
20
|
+
practitioner:
|
|
21
|
+
Coach multiple engineers on career growth, lead hiring for technical roles
|
|
22
|
+
across your area, and shape team technical culture
|
|
23
|
+
expert:
|
|
24
|
+
Develop technical leaders, shape engineering talent strategy across the
|
|
25
|
+
business unit, and build high-performing engineering teams
|
|
26
|
+
managementResponsibilities:
|
|
27
|
+
awareness:
|
|
28
|
+
Build positive relationships with team members and seek feedback on your
|
|
29
|
+
leadership
|
|
30
|
+
foundational:
|
|
31
|
+
Conduct effective 1:1s, provide regular feedback, support individual
|
|
32
|
+
development, and recognize contributions
|
|
33
|
+
working:
|
|
34
|
+
Manage team performance, own hiring decisions, create inclusive team
|
|
35
|
+
environments, and handle difficult conversations
|
|
36
|
+
practitioner:
|
|
37
|
+
Develop and retain talent across teams, build leadership pipelines for your
|
|
38
|
+
area, make promotion decisions, and shape team culture
|
|
39
|
+
expert:
|
|
40
|
+
Develop senior leaders, shape talent strategy across the business unit,
|
|
41
|
+
build high-performing teams, and own succession planning
|
|
42
|
+
skills:
|
|
43
|
+
- id: team_collaboration
|
|
44
|
+
name: Team Collaboration
|
|
45
|
+
isHumanOnly: true
|
|
46
|
+
human:
|
|
47
|
+
description: Working effectively with others to achieve shared goals
|
|
48
|
+
levelDescriptions:
|
|
49
|
+
awareness:
|
|
50
|
+
You participate constructively in team activities, communicate
|
|
51
|
+
clearly, and ask for help when stuck. You are reliable and follow
|
|
52
|
+
through on commitments.
|
|
53
|
+
foundational:
|
|
54
|
+
You collaborate effectively on shared work, support teammates
|
|
55
|
+
proactively, share knowledge freely, and give and receive feedback
|
|
56
|
+
constructively.
|
|
57
|
+
working:
|
|
58
|
+
You facilitate collaboration across the team, resolve minor conflicts
|
|
59
|
+
before they escalate, enable others to succeed, and contribute
|
|
60
|
+
positively to team dynamics and morale.
|
|
61
|
+
practitioner:
|
|
62
|
+
You build high-performing teams across your area, navigate complex
|
|
63
|
+
interpersonal dynamics, foster psychological safety, and create
|
|
64
|
+
environments where diverse perspectives are valued and heard.
|
|
65
|
+
expert:
|
|
66
|
+
You create collaborative culture across the business unit. You
|
|
67
|
+
transform dysfunctional team dynamics, are recognized for building
|
|
68
|
+
exceptional teams, and mentor others on collaboration excellence.
|