@forwardimpact/schema 0.4.0 → 0.6.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 +2 -2
- package/examples/capabilities/business.yaml +1 -1
- package/examples/capabilities/delivery.yaml +9 -7
- package/examples/capabilities/people.yaml +1 -1
- package/examples/capabilities/reliability.yaml +32 -11
- package/examples/capabilities/scale.yaml +1 -1
- package/examples/questions/behaviours/outcome_ownership.yaml +226 -49
- package/examples/questions/behaviours/polymathic_knowledge.yaml +273 -45
- package/examples/questions/behaviours/precise_communication.yaml +246 -52
- package/examples/questions/behaviours/relentless_curiosity.yaml +246 -48
- package/examples/questions/behaviours/systems_thinking.yaml +236 -50
- package/examples/questions/capabilities/business.yaml +107 -0
- package/examples/questions/capabilities/delivery.yaml +104 -0
- package/examples/questions/capabilities/people.yaml +104 -0
- package/examples/questions/capabilities/reliability.yaml +103 -0
- package/examples/questions/capabilities/scale.yaml +103 -0
- package/examples/questions/skills/architecture_design.yaml +102 -51
- package/examples/questions/skills/cloud_platforms.yaml +90 -44
- package/examples/questions/skills/code_quality.yaml +86 -45
- package/examples/questions/skills/data_modeling.yaml +93 -43
- package/examples/questions/skills/devops.yaml +91 -44
- package/examples/questions/skills/full_stack_development.yaml +93 -45
- package/examples/questions/skills/sre_practices.yaml +92 -41
- package/examples/questions/skills/stakeholder_management.yaml +97 -46
- package/examples/questions/skills/team_collaboration.yaml +87 -40
- package/examples/questions/skills/technical_writing.yaml +89 -40
- package/package.json +9 -9
- package/schema/json/behaviour-questions.schema.json +53 -26
- package/schema/json/capability-questions.schema.json +95 -0
- package/schema/json/capability.schema.json +2 -2
- package/schema/json/skill-questions.schema.json +34 -19
- package/schema/rdf/behaviour-questions.ttl +39 -7
- package/schema/rdf/capability.ttl +3 -3
- package/schema/rdf/defs.ttl +3 -3
- package/schema/rdf/skill-questions.ttl +28 -1
- package/{lib → src}/levels.js +37 -80
- package/{lib → src}/loader.js +9 -5
- package/{lib → src}/modifiers.js +3 -3
- package/{lib → src}/validation.js +74 -37
- /package/{lib → src}/index-generator.js +0 -0
- /package/{lib → src}/index.js +0 -0
- /package/{lib → src}/schema-validation.js +0 -0
|
@@ -1,42 +1,91 @@
|
|
|
1
1
|
# yaml-language-server: $schema=https://www.forwardimpact.team/schema/json/skill-questions.schema.json
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
3
|
+
professionalQuestions:
|
|
4
|
+
awareness:
|
|
5
|
+
- id: tw_pro_aware_1
|
|
6
|
+
text: How do you approach documenting your code and work?
|
|
7
|
+
lookingFor:
|
|
8
|
+
- Basic documentation habits
|
|
9
|
+
- Understanding of documentation importance
|
|
10
|
+
expectedDurationMinutes: 5
|
|
11
|
+
foundational:
|
|
12
|
+
- id: tw_pro_found_1
|
|
13
|
+
text: What makes a good README file? Walk me through what you'd include.
|
|
14
|
+
lookingFor:
|
|
15
|
+
- README best practices
|
|
16
|
+
- Reader-centric documentation
|
|
17
|
+
expectedDurationMinutes: 5
|
|
18
|
+
working:
|
|
19
|
+
- id: tw_pro_work_1
|
|
20
|
+
text:
|
|
21
|
+
How do you write technical specifications that enable others to
|
|
22
|
+
implement features?
|
|
23
|
+
followUps:
|
|
24
|
+
- How detailed do you go?
|
|
25
|
+
lookingFor:
|
|
26
|
+
- Spec writing skills
|
|
27
|
+
- Communication of technical requirements
|
|
28
|
+
expectedDurationMinutes: 8
|
|
29
|
+
practitioner:
|
|
30
|
+
- id: tw_pro_pract_1
|
|
31
|
+
text:
|
|
32
|
+
How do you establish documentation standards and practices in your team?
|
|
33
|
+
lookingFor:
|
|
34
|
+
- Documentation leadership
|
|
35
|
+
- Spec-driven development advocacy
|
|
36
|
+
expectedDurationMinutes: 8
|
|
37
|
+
expert:
|
|
38
|
+
- id: tw_pro_expert_1
|
|
39
|
+
text: How do you create organizational documentation culture and systems?
|
|
40
|
+
lookingFor:
|
|
41
|
+
- Enterprise documentation strategy
|
|
42
|
+
- Knowledge management systems
|
|
43
|
+
expectedDurationMinutes: 10
|
|
44
|
+
|
|
45
|
+
managementQuestions:
|
|
46
|
+
awareness:
|
|
47
|
+
- id: tw_mgmt_aware_1
|
|
48
|
+
text: How do you ensure your team documents their work appropriately?
|
|
49
|
+
lookingFor:
|
|
50
|
+
- Basic documentation expectations
|
|
51
|
+
- Team documentation awareness
|
|
52
|
+
expectedDurationMinutes: 5
|
|
53
|
+
foundational:
|
|
54
|
+
- id: tw_mgmt_found_1
|
|
55
|
+
text:
|
|
56
|
+
How do you set documentation expectations and standards for your team?
|
|
57
|
+
followUps:
|
|
58
|
+
- How do you handle resistance to documentation?
|
|
59
|
+
lookingFor:
|
|
60
|
+
- Documentation standard setting
|
|
61
|
+
- Team buy-in practices
|
|
62
|
+
expectedDurationMinutes: 5
|
|
63
|
+
working:
|
|
64
|
+
- id: tw_mgmt_work_1
|
|
65
|
+
text:
|
|
66
|
+
How do you balance documentation effort with delivery speed in your
|
|
67
|
+
team?
|
|
68
|
+
followUps:
|
|
69
|
+
- What is the minimum documentation you require?
|
|
70
|
+
lookingFor:
|
|
71
|
+
- Documentation vs velocity trade-offs
|
|
72
|
+
- Pragmatic documentation approach
|
|
73
|
+
expectedDurationMinutes: 8
|
|
74
|
+
practitioner:
|
|
75
|
+
- id: tw_mgmt_pract_1
|
|
76
|
+
text: How do you build a documentation culture within your team?
|
|
77
|
+
followUps:
|
|
78
|
+
- How do you keep documentation current?
|
|
79
|
+
lookingFor:
|
|
80
|
+
- Documentation culture development
|
|
81
|
+
- Knowledge management practices
|
|
82
|
+
expectedDurationMinutes: 8
|
|
83
|
+
expert:
|
|
84
|
+
- id: tw_mgmt_expert_1
|
|
85
|
+
text:
|
|
86
|
+
How do you drive documentation practices and knowledge sharing across
|
|
87
|
+
multiple teams?
|
|
88
|
+
lookingFor:
|
|
89
|
+
- Cross-team documentation leadership
|
|
90
|
+
- Organizational knowledge strategy
|
|
91
|
+
expectedDurationMinutes: 10
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forwardimpact/schema",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Schema definitions and data loading for skills, behaviours, and role frameworks",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
},
|
|
11
11
|
"homepage": "https://www.forwardimpact.team/schema",
|
|
12
12
|
"type": "module",
|
|
13
|
-
"main": "
|
|
13
|
+
"main": "src/index.js",
|
|
14
14
|
"bin": {
|
|
15
15
|
"fit-schema": "./bin/fit-schema.js"
|
|
16
16
|
},
|
|
@@ -21,16 +21,16 @@
|
|
|
21
21
|
"files": [
|
|
22
22
|
"bin/",
|
|
23
23
|
"examples/",
|
|
24
|
-
"
|
|
24
|
+
"src/",
|
|
25
25
|
"schema/"
|
|
26
26
|
],
|
|
27
27
|
"exports": {
|
|
28
|
-
".": "./
|
|
29
|
-
"./loader": "./
|
|
30
|
-
"./validation": "./
|
|
31
|
-
"./schema-validation": "./
|
|
32
|
-
"./index-generator": "./
|
|
33
|
-
"./levels": "./
|
|
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
34
|
"./examples/*": "./examples/*",
|
|
35
35
|
"./schema/json/*": "./schema/json/*",
|
|
36
36
|
"./schema/rdf/*": "./schema/rdf/*"
|
|
@@ -2,35 +2,50 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://www.forwardimpact.team/schema/json/behaviour-questions.schema.json",
|
|
4
4
|
"title": "Behaviour Interview Questions",
|
|
5
|
-
"description": "
|
|
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
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
8
|
+
"professionalQuestions": {
|
|
9
|
+
"description": "Questions for professional/IC roles (e.g., engineers)",
|
|
10
|
+
"$ref": "#/$defs/maturityQuestions"
|
|
11
11
|
},
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
},
|
|
16
|
-
"practicing": {
|
|
17
|
-
"type": "array",
|
|
18
|
-
"items": { "$ref": "#/$defs/question" }
|
|
19
|
-
},
|
|
20
|
-
"role_modeling": {
|
|
21
|
-
"type": "array",
|
|
22
|
-
"items": { "$ref": "#/$defs/question" }
|
|
23
|
-
},
|
|
24
|
-
"exemplifying": {
|
|
25
|
-
"type": "array",
|
|
26
|
-
"items": { "$ref": "#/$defs/question" }
|
|
12
|
+
"managementQuestions": {
|
|
13
|
+
"description": "Questions for management roles (e.g., engineering managers, product managers)",
|
|
14
|
+
"$ref": "#/$defs/maturityQuestions"
|
|
27
15
|
}
|
|
28
16
|
},
|
|
29
17
|
"additionalProperties": false,
|
|
30
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
|
+
},
|
|
31
46
|
"question": {
|
|
32
47
|
"type": "object",
|
|
33
|
-
"required": ["id", "text", "lookingFor"],
|
|
48
|
+
"required": ["id", "text", "lookingFor", "simulationPrompts"],
|
|
34
49
|
"properties": {
|
|
35
50
|
"id": {
|
|
36
51
|
"type": "string",
|
|
@@ -39,20 +54,32 @@
|
|
|
39
54
|
},
|
|
40
55
|
"text": {
|
|
41
56
|
"type": "string",
|
|
42
|
-
"maxLength":
|
|
43
|
-
"description": "The
|
|
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" }
|
|
44
70
|
},
|
|
45
71
|
"lookingFor": {
|
|
46
72
|
"type": "array",
|
|
47
|
-
"description": "2-4
|
|
48
|
-
"minItems":
|
|
73
|
+
"description": "2-4 indicators of strong behavioural response",
|
|
74
|
+
"minItems": 2,
|
|
49
75
|
"maxItems": 4,
|
|
50
76
|
"items": { "type": "string" }
|
|
51
77
|
},
|
|
52
78
|
"expectedDurationMinutes": {
|
|
53
79
|
"type": "integer",
|
|
54
|
-
"minimum":
|
|
55
|
-
"
|
|
80
|
+
"minimum": 10,
|
|
81
|
+
"default": 20,
|
|
82
|
+
"description": "Expected duration in minutes (default: 20 for stakeholder simulation)"
|
|
56
83
|
},
|
|
57
84
|
"followUps": {
|
|
58
85
|
"type": "array",
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://www.forwardimpact.team/schema/json/capability-questions.schema.json",
|
|
4
|
+
"title": "Capability Decomposition Questions",
|
|
5
|
+
"description": "Decomposition interview questions for a capability, organized by role type (professional/management) and level. Inspired by Palantir's decomposition interview technique.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"professionalQuestions": {
|
|
9
|
+
"description": "Questions for professional/IC roles (e.g., engineers)",
|
|
10
|
+
"$ref": "#/$defs/levelQuestions"
|
|
11
|
+
},
|
|
12
|
+
"managementQuestions": {
|
|
13
|
+
"description": "Questions for management roles (e.g., engineering managers, product managers)",
|
|
14
|
+
"$ref": "#/$defs/levelQuestions"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"additionalProperties": false,
|
|
18
|
+
"$defs": {
|
|
19
|
+
"levelQuestions": {
|
|
20
|
+
"type": "object",
|
|
21
|
+
"description": "Questions organized by capability level",
|
|
22
|
+
"properties": {
|
|
23
|
+
"awareness": {
|
|
24
|
+
"type": "array",
|
|
25
|
+
"items": { "$ref": "#/$defs/question" }
|
|
26
|
+
},
|
|
27
|
+
"foundational": {
|
|
28
|
+
"type": "array",
|
|
29
|
+
"items": { "$ref": "#/$defs/question" }
|
|
30
|
+
},
|
|
31
|
+
"working": {
|
|
32
|
+
"type": "array",
|
|
33
|
+
"items": { "$ref": "#/$defs/question" }
|
|
34
|
+
},
|
|
35
|
+
"practitioner": {
|
|
36
|
+
"type": "array",
|
|
37
|
+
"items": { "$ref": "#/$defs/question" }
|
|
38
|
+
},
|
|
39
|
+
"expert": {
|
|
40
|
+
"type": "array",
|
|
41
|
+
"items": { "$ref": "#/$defs/question" }
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"additionalProperties": false
|
|
45
|
+
},
|
|
46
|
+
"question": {
|
|
47
|
+
"type": "object",
|
|
48
|
+
"required": ["id", "text", "lookingFor", "decompositionPrompts"],
|
|
49
|
+
"properties": {
|
|
50
|
+
"id": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"pattern": "^[a-z][a-z0-9_]*$",
|
|
53
|
+
"description": "Unique question identifier (format: {capability_abbrev}_{level_abbrev}_{number})"
|
|
54
|
+
},
|
|
55
|
+
"text": {
|
|
56
|
+
"type": "string",
|
|
57
|
+
"maxLength": 200,
|
|
58
|
+
"description": "The problem statement or scenario (second person, open-ended)"
|
|
59
|
+
},
|
|
60
|
+
"context": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"description": "Optional additional context to set up the scenario"
|
|
63
|
+
},
|
|
64
|
+
"decompositionPrompts": {
|
|
65
|
+
"type": "array",
|
|
66
|
+
"description": "3-5 guiding questions to help the candidate structure their thinking",
|
|
67
|
+
"minItems": 2,
|
|
68
|
+
"maxItems": 5,
|
|
69
|
+
"items": { "type": "string" }
|
|
70
|
+
},
|
|
71
|
+
"lookingFor": {
|
|
72
|
+
"type": "array",
|
|
73
|
+
"description": "2-4 indicators of a strong decomposition approach",
|
|
74
|
+
"minItems": 2,
|
|
75
|
+
"maxItems": 4,
|
|
76
|
+
"items": { "type": "string" }
|
|
77
|
+
},
|
|
78
|
+
"expectedDurationMinutes": {
|
|
79
|
+
"type": "integer",
|
|
80
|
+
"minimum": 5,
|
|
81
|
+
"default": 15,
|
|
82
|
+
"description": "Expected duration in minutes (default: 15 for decomposition)"
|
|
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
|
+
}
|
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
"type": "string",
|
|
20
20
|
"description": "Emoji for visual representation"
|
|
21
21
|
},
|
|
22
|
-
"
|
|
22
|
+
"ordinalRank": {
|
|
23
23
|
"type": "integer",
|
|
24
24
|
"minimum": 1,
|
|
25
|
-
"description": "
|
|
25
|
+
"description": "Numeric rank for ordering capabilities (1 = first)"
|
|
26
26
|
},
|
|
27
27
|
"description": {
|
|
28
28
|
"type": "string",
|
|
@@ -2,32 +2,47 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://www.forwardimpact.team/schema/json/skill-questions.schema.json",
|
|
4
4
|
"title": "Skill Interview Questions",
|
|
5
|
-
"description": "Interview questions for a skill, organized by level",
|
|
5
|
+
"description": "Interview questions for a skill, organized by role type (professional/management) and level",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
8
|
+
"professionalQuestions": {
|
|
9
|
+
"description": "Questions for professional/IC roles (e.g., engineers)",
|
|
10
|
+
"$ref": "#/$defs/levelQuestions"
|
|
11
11
|
},
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
},
|
|
16
|
-
"working": {
|
|
17
|
-
"type": "array",
|
|
18
|
-
"items": { "$ref": "#/$defs/question" }
|
|
19
|
-
},
|
|
20
|
-
"practitioner": {
|
|
21
|
-
"type": "array",
|
|
22
|
-
"items": { "$ref": "#/$defs/question" }
|
|
23
|
-
},
|
|
24
|
-
"expert": {
|
|
25
|
-
"type": "array",
|
|
26
|
-
"items": { "$ref": "#/$defs/question" }
|
|
12
|
+
"managementQuestions": {
|
|
13
|
+
"description": "Questions for management roles (e.g., engineering managers, product managers)",
|
|
14
|
+
"$ref": "#/$defs/levelQuestions"
|
|
27
15
|
}
|
|
28
16
|
},
|
|
29
17
|
"additionalProperties": false,
|
|
30
18
|
"$defs": {
|
|
19
|
+
"levelQuestions": {
|
|
20
|
+
"type": "object",
|
|
21
|
+
"description": "Questions organized by skill level",
|
|
22
|
+
"properties": {
|
|
23
|
+
"awareness": {
|
|
24
|
+
"type": "array",
|
|
25
|
+
"items": { "$ref": "#/$defs/question" }
|
|
26
|
+
},
|
|
27
|
+
"foundational": {
|
|
28
|
+
"type": "array",
|
|
29
|
+
"items": { "$ref": "#/$defs/question" }
|
|
30
|
+
},
|
|
31
|
+
"working": {
|
|
32
|
+
"type": "array",
|
|
33
|
+
"items": { "$ref": "#/$defs/question" }
|
|
34
|
+
},
|
|
35
|
+
"practitioner": {
|
|
36
|
+
"type": "array",
|
|
37
|
+
"items": { "$ref": "#/$defs/question" }
|
|
38
|
+
},
|
|
39
|
+
"expert": {
|
|
40
|
+
"type": "array",
|
|
41
|
+
"items": { "$ref": "#/$defs/question" }
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"additionalProperties": false
|
|
45
|
+
},
|
|
31
46
|
"question": {
|
|
32
47
|
"type": "object",
|
|
33
48
|
"required": ["id", "text", "lookingFor"],
|
|
@@ -7,7 +7,10 @@
|
|
|
7
7
|
# =============================================================================
|
|
8
8
|
# Behaviour Questions Schema
|
|
9
9
|
# =============================================================================
|
|
10
|
-
#
|
|
10
|
+
# Stakeholder simulation interview questions for assessing behaviours,
|
|
11
|
+
# organized by role type (professional/management) and maturity level.
|
|
12
|
+
# Each question presents a realistic stakeholder scenario with simulation
|
|
13
|
+
# prompts to guide the interview panel.
|
|
11
14
|
# =============================================================================
|
|
12
15
|
|
|
13
16
|
# -----------------------------------------------------------------------------
|
|
@@ -26,6 +29,12 @@ fit:atMaturity a rdf:Property ;
|
|
|
26
29
|
rdfs:domain fit:Question ;
|
|
27
30
|
rdfs:range fit:BehaviourMaturity .
|
|
28
31
|
|
|
32
|
+
fit:simulationPrompts a rdf:Property ;
|
|
33
|
+
rdfs:label "simulationPrompts"@en ;
|
|
34
|
+
rdfs:comment "Guiding prompts to steer the stakeholder simulation and probe the candidate's behaviour"@en ;
|
|
35
|
+
rdfs:domain fit:Question ;
|
|
36
|
+
rdfs:range xsd:string .
|
|
37
|
+
|
|
29
38
|
# =============================================================================
|
|
30
39
|
# SHACL SHAPES
|
|
31
40
|
# =============================================================================
|
|
@@ -48,27 +57,42 @@ fit:BehaviourQuestionShape a sh:NodeShape ;
|
|
|
48
57
|
sh:property [
|
|
49
58
|
sh:path fit:text ;
|
|
50
59
|
sh:datatype xsd:string ;
|
|
51
|
-
sh:maxLength
|
|
60
|
+
sh:maxLength 300 ;
|
|
52
61
|
sh:minCount 1 ;
|
|
53
62
|
sh:maxCount 1 ;
|
|
54
63
|
sh:name "text" ;
|
|
55
|
-
sh:description "The
|
|
64
|
+
sh:description "The stakeholder scenario (under 300 characters)" ;
|
|
65
|
+
] ;
|
|
66
|
+
sh:property [
|
|
67
|
+
sh:path fit:context ;
|
|
68
|
+
sh:datatype xsd:string ;
|
|
69
|
+
sh:maxCount 1 ;
|
|
70
|
+
sh:name "context" ;
|
|
71
|
+
sh:description "Additional context to set up the simulation scenario" ;
|
|
72
|
+
] ;
|
|
73
|
+
sh:property [
|
|
74
|
+
sh:path fit:simulationPrompts ;
|
|
75
|
+
sh:datatype xsd:string ;
|
|
76
|
+
sh:minCount 2 ;
|
|
77
|
+
sh:maxCount 5 ;
|
|
78
|
+
sh:name "simulationPrompts" ;
|
|
79
|
+
sh:description "3-5 guiding prompts to steer the simulation" ;
|
|
56
80
|
] ;
|
|
57
81
|
sh:property [
|
|
58
82
|
sh:path fit:lookingFor ;
|
|
59
83
|
sh:datatype xsd:string ;
|
|
60
|
-
sh:minCount
|
|
84
|
+
sh:minCount 2 ;
|
|
61
85
|
sh:maxCount 4 ;
|
|
62
86
|
sh:name "lookingFor" ;
|
|
63
|
-
sh:description "2-4
|
|
87
|
+
sh:description "2-4 indicators of strong behavioural response" ;
|
|
64
88
|
] ;
|
|
65
89
|
sh:property [
|
|
66
90
|
sh:path fit:expectedDurationMinutes ;
|
|
67
91
|
sh:datatype xsd:integer ;
|
|
68
|
-
sh:minInclusive
|
|
92
|
+
sh:minInclusive 10 ;
|
|
69
93
|
sh:maxCount 1 ;
|
|
70
94
|
sh:name "expectedDurationMinutes" ;
|
|
71
|
-
sh:description "Expected duration in minutes" ;
|
|
95
|
+
sh:description "Expected duration in minutes (default: 20)" ;
|
|
72
96
|
] ;
|
|
73
97
|
sh:property [
|
|
74
98
|
sh:path fit:followUps ;
|
|
@@ -93,4 +117,12 @@ fit:BehaviourQuestionShape a sh:NodeShape ;
|
|
|
93
117
|
sh:maxCount 1 ;
|
|
94
118
|
sh:name "atMaturity" ;
|
|
95
119
|
sh:description "The behaviour maturity this question is for" ;
|
|
120
|
+
] ;
|
|
121
|
+
sh:property [
|
|
122
|
+
sh:path fit:forRoleType ;
|
|
123
|
+
sh:in ( fit:professional fit:management ) ;
|
|
124
|
+
sh:minCount 1 ;
|
|
125
|
+
sh:maxCount 1 ;
|
|
126
|
+
sh:name "forRoleType" ;
|
|
127
|
+
sh:description "The role type this question is for" ;
|
|
96
128
|
] .
|
|
@@ -197,12 +197,12 @@ fit:CapabilityShape a sh:NodeShape ;
|
|
|
197
197
|
sh:description "Emoji for visual representation" ;
|
|
198
198
|
] ;
|
|
199
199
|
sh:property [
|
|
200
|
-
sh:path fit:
|
|
200
|
+
sh:path fit:ordinalRank ;
|
|
201
201
|
sh:datatype xsd:integer ;
|
|
202
202
|
sh:minInclusive 1 ;
|
|
203
203
|
sh:maxCount 1 ;
|
|
204
|
-
sh:name "
|
|
205
|
-
sh:description "
|
|
204
|
+
sh:name "ordinalRank" ;
|
|
205
|
+
sh:description "Numeric rank for ordering capabilities (1 = first)" ;
|
|
206
206
|
] ;
|
|
207
207
|
sh:property [
|
|
208
208
|
sh:path fit:description ;
|
package/schema/rdf/defs.ttl
CHANGED
|
@@ -134,9 +134,9 @@ fit:emojiIcon a rdf:Property ;
|
|
|
134
134
|
rdfs:comment "Emoji for visual representation"@en ;
|
|
135
135
|
rdfs:range xsd:string .
|
|
136
136
|
|
|
137
|
-
fit:
|
|
138
|
-
rdfs:label "
|
|
139
|
-
rdfs:comment "
|
|
137
|
+
fit:ordinalRank a rdf:Property ;
|
|
138
|
+
rdfs:label "ordinalRank"@en ;
|
|
139
|
+
rdfs:comment "Numeric rank for ordering (1 = first)"@en ;
|
|
140
140
|
rdfs:range xsd:integer .
|
|
141
141
|
|
|
142
142
|
fit:ordinal a rdf:Property ;
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
# =============================================================================
|
|
8
8
|
# Skill Questions Schema
|
|
9
9
|
# =============================================================================
|
|
10
|
-
# Interview questions for assessing skills
|
|
10
|
+
# Interview questions for assessing skills, organized by role type
|
|
11
|
+
# (professional/management) and level.
|
|
11
12
|
# =============================================================================
|
|
12
13
|
|
|
13
14
|
# -----------------------------------------------------------------------------
|
|
@@ -18,6 +19,18 @@ fit:Question a rdfs:Class ;
|
|
|
18
19
|
rdfs:label "Question"@en ;
|
|
19
20
|
rdfs:comment "Interview question for assessing skills or behaviours"@en .
|
|
20
21
|
|
|
22
|
+
fit:RoleType a rdfs:Class ;
|
|
23
|
+
rdfs:label "RoleType"@en ;
|
|
24
|
+
rdfs:comment "Type of role: professional (IC) or management"@en .
|
|
25
|
+
|
|
26
|
+
fit:professional a fit:RoleType ;
|
|
27
|
+
rdfs:label "professional"@en ;
|
|
28
|
+
rdfs:comment "Professional/individual contributor roles"@en .
|
|
29
|
+
|
|
30
|
+
fit:management a fit:RoleType ;
|
|
31
|
+
rdfs:label "management"@en ;
|
|
32
|
+
rdfs:comment "Management roles"@en .
|
|
33
|
+
|
|
21
34
|
# -----------------------------------------------------------------------------
|
|
22
35
|
# Properties
|
|
23
36
|
# -----------------------------------------------------------------------------
|
|
@@ -58,6 +71,12 @@ fit:atLevel a rdf:Property ;
|
|
|
58
71
|
rdfs:domain fit:Question ;
|
|
59
72
|
rdfs:range fit:SkillLevel .
|
|
60
73
|
|
|
74
|
+
fit:forRoleType a rdf:Property ;
|
|
75
|
+
rdfs:label "forRoleType"@en ;
|
|
76
|
+
rdfs:comment "The role type this question is intended for (professional or management)"@en ;
|
|
77
|
+
rdfs:domain fit:Question ;
|
|
78
|
+
rdfs:range fit:RoleType .
|
|
79
|
+
|
|
61
80
|
# =============================================================================
|
|
62
81
|
# SHACL SHAPES
|
|
63
82
|
# =============================================================================
|
|
@@ -125,4 +144,12 @@ fit:SkillQuestionShape a sh:NodeShape ;
|
|
|
125
144
|
sh:maxCount 1 ;
|
|
126
145
|
sh:name "atLevel" ;
|
|
127
146
|
sh:description "The skill level this question is for" ;
|
|
147
|
+
] ;
|
|
148
|
+
sh:property [
|
|
149
|
+
sh:path fit:forRoleType ;
|
|
150
|
+
sh:in ( fit:professional fit:management ) ;
|
|
151
|
+
sh:minCount 1 ;
|
|
152
|
+
sh:maxCount 1 ;
|
|
153
|
+
sh:name "forRoleType" ;
|
|
154
|
+
sh:description "The role type this question is for" ;
|
|
128
155
|
] .
|