Jobs & skills framework — configuration guide
This guide is for administrators preparing the job and skill catalogue. Keep configuration ownership separate from implementation generation. A modern navigation shell can open a legacy form. Daily browsing is covered by the functional guide; contracts and source paths are in the technical guide.
Ownership and generation
| Owner / scope | Legacy | Nextgen |
|---|---|---|
| Project / platform core | Permission profiles, tenant feature activation, field definitions, translations and controlled import preparation. | API authentication and action permissions, company context, validation, persistence and asynchronous consumers. |
| Customer administrator | Authorized Jobs and skills screens: references, groups, skills, job descriptions and statuses. Availability depends on the tenant and actual permissions. | Framework CRUD APIs verified. No dedicated nextgen customer editor identified in inspected front-end routes; do not invent a parallel screen or configure legacy settings through an unrelated nextgen page. |
Customer administrators can maintain records through the authorized Jobs and skills workspace. Nextgen API routes provide separate integration contracts; use the interface and integration paths enabled for your deployment.
Customer administrator — legacy
Prepare the catalogue in dependency order
- Agree on reference ownership, publication rules, languages and stable codes.
- Prepare References before importing or creating dependent records.
- Prepare Skill groups, then skills and job descriptions, then attach skills to jobs with the required mastery and importance where supported.
- Review publication status, translations and representative employee visibility before wider release.
This order is Documented in Confluence in the Jobs & Skills Framework playbook, v8, 8 August 2023. The current code confirms repository relationships, but no import or publication was performed during this documentation work.
References: separate public visibility from main status
Open Jobs and skills → References with authorized access. Review the translated name, public / visible to employees option and main option before saving through your normal change process.
| Field | Allowed values / default evidence | Scope, dependency and effect |
|---|---|---|
| Name | Translated text; actual form validation must be checked before submission. | Identifies the repository containing jobs, skills and groups. Names are not stable import identifiers. |
| Public / employee visibility | Boolean, optional in the legacy form. Existing values are record-specific; no universal legacy creation default verified. | Affects repository availability in relevant screens. Do not assume every employee job route applies the same repository predicate. |
| Main | Boolean, optional in the legacy form. | Current legacy controller demotes other repositories when selected as main. It is different from public visibility. |
| System type | Code distinguishes Neobrain and External. | Existing system records may have restricted naming; do not rename or remove system references to follow an old playbook literally. |
Source: legacy src/Company/ReferentialBundle/Controller/DefaultController.php and src/Main/ConfigBundle/Form/Type/ReferentialType.php. How to manage your repositories?, v10, 27 March 2023, documents visibility and historical main behavior. Its statement that main has no customer impact is not a reason to ignore the current single-main enforcement. Different employee catalogue queries require route-specific validation.
Skill groups
Open Skill groups and inspect the group before assigning skills. Verified in code, SkillGroupType exposes translated title, repository, measurable checkbox, weight, type and position.
| Setting | Values and validation | Effect / safe preparation |
|---|---|---|
| Title / repository | Required translated title and repository. | Establish the container before dependent skill imports. |
| Type | Multiple choices from hard, soft, other. | Classifies the group. The historical guide recommends one group per type; it is documentary guidance, not a newly verified uniqueness validator. |
| Weight | Required, nonblank string in the inspected form. | Used as configured weighting; do not impose an unverified numeric range or mandatory 50/50 split. |
| Measurable | Optional boolean. | Review assessment expectations with the platform team; no universal initial value verified. |
| Position | Integer, empty-data fallback 1 in the form. | Ordering input exists in current code. The 2023 guide's claim that position was unsupported was not revalidated at runtime. |
How to manage your skills groups?, v4, 20 February 2023, describes assigning previously ungrouped skills. Treat that as a remediation scenario; do not assume it reassigns all existing groups.
Skill content, translations and identifiers
Open Skills, select the pencil and review each language tab. Maintain the skill title, description and mastery-label meanings consistently. A translated field can be empty even when another language contains content.

The skill editor separates translated title, description and mastery-level labels by language tab. Select each language to maintain and review its content before saving.
Verified in code: SkillType exposes translated content, optional code/group, required repository and tags. The controller can generate an NB_… code when the tenant's auto-code capability is active and the code is absent. Its effective activation/default was not verified. Do not replace stable external codes merely because titles change. Automatic translation was observed as a control; provider, overwrite behavior and quotas were not validated.
Job definitions, expected skills and publication
Prepare the title, descriptive sections, reference, stable code and status, then attach the relevant skills. Set expected mastery and importance for each skill where those controls are available. These describe the job; employee mastery and motivation are individual data. The nextgen job–skill DTO does not establish an identical importance field or fixed mastery scale.
Status choices are tenant-defined. Validate the status's actual employee-visible property rather than relying on the displayed name “Published”. Job custom fields can expose additional filters independently in manager and employee contexts. For example, the inspected custom field “famille” was separate from the standard family selector.
Use the status rules configured for the company and confirm employee visibility in the relevant workspace before wider publication. See Creating a job description for the documented workflow.
Replacing or importing a framework
The Lexi import guide, v4, 28 May 2026, documents mapping old and new identities before replacement: one-to-one, merges, splits, additions and removals. Preserve the link to existing assessments deliberately. A Lexi export is not automatically a SmartMobility-ready import file. Its example mastery/importance scales are documentary context, not universal nextgen API constraints.
Before any approved migration, reconcile codes, translated names, repositories, groups, job–skill requirements and assessment mappings in a test process. No import, backup recovery or automatic rollback was tested here. Reverting a visibility checkbox is not recovery of deleted or merged records.
Platform-team reference — legacy
The following are code-defined dependencies, not customer self-service instructions. Effective tenant values and global defaults were not verified.
| Capability / key | Code-defined dependency and user effect |
|---|---|
referentiel_r, referentiel_c, job_c_d, job_duplicate | Action-specific catalogue rights. Some job write actions use OR checks; others differ. Audit route-level checks before changing a profile. |
job_direction_bofo | Enables the manager direction filter in the checked template. |
module_metiers_filter_directions_bo | Despite the key name, the inspected template uses its inverse to expose job-family filtering. Check code before changing it. |
module_metiers_filter_evolutions_bo | Controls development/evolution filtering through an inverted visibility condition. |
qualification_levels_bofo | Exposes qualification-level controls when active. |
check_classification | Participates in classification consistency-filter visibility through the checked template condition. |
Job custom fields, contexts bo / fo | Control additional manager/employee fields and filters. A field label need not be translated automatically. |
jobs_matching_profile | Conditions the employee recommendation area. A visible proximity dot does not establish a universal threshold or refresh schedule. |
skill_autogenerated_code | Enables controller-generated skill codes when absent. Review identifier ownership first. |
export_job_descriptions_as_CSV | Changes export format selection in the legacy export path. No export was run. |
Sources: legacy Job and Skill controllers, job list template, Customer/InternalJobBundle/Controller/DefaultController.php and SearchService.php. The 2023 playbook recommends some hidden filters and group weights for its project scenario; these recommendations are not current global defaults. Its negatively phrased rights table conflicts with positive descriptions, so current route checks take precedence for implementation claims.
Platform-team reference — nextgen
Verified in code: configure supported API authentication/action permissions and company context for /api/v1/job, /skill, /skill-group, /referential and nested job skills. Use the reference DTO's required locale and boolean fields; do not reuse a legacy import row as an API request.
The first new reference is made main by the listener. Creating/updating a main reference demotes the previous main. Deletion is guarded by a deletability check, including dependent jobs, skills and groups; it is not a universal cleanup operation. Job/skill-group deletions are configured as soft deletes; skill/reference and job–skill deletion use different policies. See the technical contracts.
Job-assignment and skill-attached events can propagate missing skills to employee records asynchronously. Prepare the relevant consumer runtime and monitoring as part of deployment. Do not promise immediate profile updates, removal symmetry or replacement of assessed levels. AIhub import pipelines are separate integrations; a catalogue Save is not proof of an immediate AIhub refresh.
Customer administrator — nextgen
No dedicated framework administration UI was identified in nextgen-front/src/router/private-routes.ts and the related bounded module search. Nextgen backend CRUD is verified; screen parity, deployment exposure, customer role provisioning and shared persistence with the legacy site are not verified. Use the available authorized catalogue interface and agreed integration process; do not claim an equivalent nextgen settings page exists.
Validation, rollout and troubleshooting
Validate in an approved test scope before any real change: representative EN/FR job and skill titles; repository/group relationships; stable codes; expected mastery separate from assessments; publication with the employee persona; manager and employee filters; and permissions on each action. Recheck empty translations and route-specific visibility when a manager can see more than an employee.
For a denied API action, verify the exact action permission and company context. For an invalid reference or repeated job–skill attachment, use the technical guide's validation contracts. For delayed user skills, investigate event/consumer processing rather than repeatedly creating the relationship. Recovery for destructive replacement requires an agreed migration and backup process; none was exercised here.
Evidence and limitations
- Observed in application: 15 October 2026, smartmobility.io; existing manager session; independently captured EN/FR list and skill-edit screens. No settings, permissions, imports or forms were saved. Platform-core and dedicated nextgen settings screenshots were unavailable; repository/group field tables are code-backed rather than live form captures.
- Verified in code: paths and symbols above plus nextgen
src/Domain/V1/{Job,Skill,SkillGroup,JobSkill,Referential}/DTO, routing YAML,ReferentielListener, repositories and consumers detailed in the technical guide. Local source does not prove deployment identity or shared storage. - Documented in Confluence: feature-specific playbook and reference/group/job/Lexi guides cited above with verified versions/dates. Supplied PS entry points Delivery Philosophy & Project Methodology, v7, 30 December 2025, and Onboarding/learning and partner certification, v9, 18 February 2026, provide methodology context rather than verified feature switches. Supplied KBCT entry
2136702980was unavailable. - Not verified: effective platform defaults, numeric weighting constraints beyond the inspected form, complete save/error behavior, translation overwrite rules, nextgen editor parity, migration rollback and live event delivery. Conflicts in the 2023 reference/group guidance are explicitly retained above rather than silently treated as current rules.
Last updated on 3 November 2026