Define a New Role
You need to add a new role to your engineering standard. Pathway can generate a first draft from your existing disciplines, levels, and tracks. You do not write from scratch.
Prerequisites
Complete the
Authoring Agent-Aligned Engineering Standards
guide first. The steps below assume
npx fit-map validate passes. They also assume your
data/pathway/ directory contains at least one
discipline, one level, and one capability with skills.
Step 1: Choose the building blocks
A role is a combination of three entities: a discipline (the engineering specialty), a level (the career rung), and an optional track (a work-context modifier). Before you create anything new, check what already exists.
List your disciplines:
npx fit-pathway discipline --list
Example output:
software-engineering
data-engineering
engineering-management
List available tracks:
npx fit-pathway track --list
Example output:
platform
sre
If the new role fits an existing discipline and track, skip to Step 4. Otherwise, continue to create the missing entity.
Step 2: Create a discipline
Create a new YAML file in data/pathway/disciplines/.
The filename is the discipline ID in kebab-case.
# data/pathway/disciplines/site-reliability.yaml
specialization: Site Reliability Engineering
roleTitle: Site Reliability Engineer
isProfessional: true
validTracks:
- null # allow trackless (generalist)
- platform
coreSkills:
- sre-practices
- incident-management
- observability
supportingSkills:
- cloud-platforms
- change-management
broadSkills:
- architecture-design
- stakeholder-management
Required fields:
-
specialization-- the display name (e.g., "Site Reliability Engineering") -
roleTitle-- the base title that generated roles use (e.g., "Site Reliability Engineer") -
coreSkills-- at least one skill ID. These map to the level'scoreproficiency -
validTracks-- which tracks this discipline allows. Includenullto permit a generalist (trackless) configuration
Every skill ID in coreSkills,
supportingSkills, and broadSkills must
reference a skill that exists in your
data/pathway/capabilities/ files. Run
npx fit-pathway skill --list to see available IDs.
See the
YAML Schema Reference for
the full set of discipline fields. The set includes the
human: and agent: sections,
behaviourModifiers, minLevel, and
hidden.
Step 3: Create a track (optional)
If the new role needs a work-context modifier that does not exist
yet, create a track file in data/pathway/tracks/:
# data/pathway/tracks/security.yaml
name: Security Engineering
skillModifiers:
reliability: 1
delivery: -1
behaviourModifiers:
systems-thinking: 1
Track skillModifiers target
capability IDs. They do not target individual skill
IDs. A modifier of +1 raises all skills in that
capability by one proficiency level. A modifier of
-1 lowers them by one. After you create the track, add
its ID to the validTracks array in every discipline
that should support it.
Step 4: Generate and review the role
With the discipline, level, and optional track in place, generate the role to see the derived requirements:
npx fit-pathway job site_reliability J060
The output includes a behaviour profile and a skill matrix with derived proficiencies:
## Skill Matrix
| Skill | Level |
| --- | --- |
| SRE Practices | Working |
| Incident Management | Working |
| Observability | Working |
| Cloud Platforms | Foundational |
| Change Management | Foundational |
| Architecture Design | Awareness |
| Stakeholder Management | Awareness |
Add a track to see how modifiers shift expectations:
npx fit-pathway job site_reliability J060 --track=platform
The skill matrix reflects the track's
skillModifiers. Capabilities with a
+1 modifier appear one proficiency level higher.
Capabilities with a -1 modifier appear one level lower.
Step 5: Customize and iterate
If the derived expectations do not match what the organization needs, adjust:
-
Wrong proficiency levels? -- Move skill IDs
between
coreSkills,supportingSkills, andbroadSkills. Core inherits the highest baseline. - Missing skills? -- Add the skill to a capability file. Then reference it in the discipline.
-
Track over- or under-corrects? -- Adjust
skillModifiersvalues. -
Behaviour emphasis wrong? -- Update
behaviourModifierson the discipline or track.
After each change, re-run npx fit-map validate to
confirm the YAML is structurally correct. Then regenerate the role
to check the result.
Verify
Three checks confirm the new role is complete:
1. Validation passes --
npx fit-map validate prints
Validation passed.
2. The role generates with the expected shape:
npx fit-pathway job site_reliability J060
Confirm the skill matrix and behaviour profile match what the organization expects at this discipline and level.
3. All valid combinations include the new role:
npx fit-pathway job --list
software-engineering J040, Software Engineer Level I
software-engineering J060, Software Engineer Level II
software-engineering J060 platform, Software Engineer Level II - Platform
site_reliability J060, Site Reliability Engineer Level II
site_reliability J060 platform, Site Reliability Engineer Level II - Platform
The new discipline appears with every level it supports.