← Back to history

Pipeline run

8722a59d-0e2d-48ba-b140-aedb60e80258

Pipeline LLM cost (USD)
API 1: $0.0085 API 2: $0.0003 API 3: $0.0000 Total: $0.0088

Client output enrichment

v2 Skill cluster · Nature of work · AI index · Tech stack maturity · Evidence · KRA description
Nature of work · Mobile Security / Malware Analysis / Reverse Engineering
Analyze Android APKs and binaries with static/dynamic reverse engineering to detect, classify, and decompile malicious or potentially harmful apps, including obfuscated code and code-level security issues. Use tools like IDA Pro/OllyDbg for malware analysis and debugging.
"Analyze Android apps(APK), including binaries"
Tech stack maturity
Mainstream Modern
Android and Java are established, widely used technologies that are actively maintained and commonly deployed in modern software environments, though they are not typically categorized as cloud-native or bleeding-edge.
AI index (0 = no AI use, 5 = totally AI-dependent · v2.1)
0.00 / 5
· Title match
· Has AI skill
· AI skill (primary)
· AI skill (secondary)
· On AI team
· Builds AI products
vocab breakdown (legacy)
Assistants (×1):
Frameworks (×2):
Models / concepts (×3):
Evidence — skills matched in JD (14)
Android Java APK Reverse Engineering Malware Analysis Assembly Static Analysis Dynamic Analysis OWASP Top 10 OWASP ESAPI SANS Top 25 WASC IDA Pro OllyDbg
Skill cluster (3 dimension groups, role-scoped)
Java Language and JVM
Java
Web Application Vulnerability Concepts
OWASP Top 10
Cross-cutting / unaligned
Android APK Reverse Engineering Malware Analysis Assembly Static Analysis Dynamic Analysis OWASP ESAPI SANS Top 25 WASC IDA Pro OllyDbg
Show KRA description ↓
Engineers/Agents (Android Developer/Reverse Engineering/Malware Analyst) 4-8 years of experience in Application Security • Experience with Android (OS and apps),Java • Experience in Android Application development • Analyze Android apps(APK), including binaries • Identify mobile threats and classify them • Reverse Engineering of malicious binaries • Experience of Reverse Engineering on Android application Packages (APKs) • Malware analysis experience with swift detection techniques of analyzing malicious binaries • Good to have understanding or experience of PHA (Potentially Harmful applications) classification on android platform • 3 years of relevant work experience including experience Reverse Engineering and code-level security auditing, as well as experience handling obfuscated code • Assembly language experience • Experience in analyzing malicious APKs • Experience with static and dynamic analysis of malicious binaries • Excellent interpersonal and communication skills • Strong self motivation and orientation toward results • General ability to solve complicated problems • Strong exposure to popular application security standards including OWASP TOP 10, OWASP Enterprise Security API (ESAPI) framework, SANS TOP 25, WASC etc. • Good exposure in conducting Malware analysis & reverse engineering on APKs • Experience on tools such as IDA Pro or OllyDbg • Experience on Reverse Engineering tools around APKs (preferable) Mobile Security, Malware Analysis, Reverse Engineering, Malicious code detection, APK Decompile & Debug (IDA Pro ,OllyDbg), Android platform experience

Signals

Skill full-stack-engineer
0.20
Alias android-engineer
1.00
KRA android-engineer
0.52

Post-classification

Centroidupdated · n=1
Alias collision log
New-role queue
New skills captured8
New KRA capturedyes

Captured for admin review

APK primary Incident Response / Forensics Analyst pending
Reverse Engineering primary Incident Response / Forensics Analyst pending
Malware Analysis primary Incident Response / Forensics Analyst pending
Assembly Incident Response / Forensics Analyst pending
OWASP ESAPI Incident Response / Forensics Analyst pending
SANS Top 25 Incident Response / Forensics Analyst pending
WASC Incident Response / Forensics Analyst pending
OllyDbg Incident Response / Forensics Analyst pending
R&R fragment (sim 0.00) Incident Response / Forensics Analyst pending

Engineers/Agents (Android Developer/Reverse Engineering/Malware Analyst) 4-8 years of experience in Application Security • Experience with Android (OS and apps),Java • Experience in Android Applicat…

Status: completed Created: 2026-05-27T16:48:14.142170Z Updated: 2026-05-27T16:49:56.205093Z API 3 duration: 26500 ms
Flow Current 3-step pipeline

1 POST /skills/extract-from-jd

2 POST /skills/extract-details

3 POST /skills/final-role-output

Role Chosen role & resolution

Incident Response / Forensics Analyst

domain · Security CASE DOMAIN

slug: incident-response-forensics-analyst · id: 192 · source: db

Domain=Security; The JD is centered on malware analysis, reverse engineering, and analyzing malicious APKs/binaries, which best matches an Incident Response / Forensics Analyst rather than a general Android developer.

Matched skills

AndroidJavaAndroid Application developmentAPKReverse Engineeringmalicious binariesmalicious APKsstatic and dynamic analysisAssembly languageIDA ProOllyDbgOWASP TOP 10OWASP Enterprise Security API (ESAPI)SANS TOP 25WASC

Matched dimensions

Mobile SecurityMalware AnalysisReverse EngineeringMalicious code detectionCode-level security auditingApplication security standards knowledge

Matched KRAs

Analyze Android apps(APK), including binariesIdentify mobile threats and classify themReverse Engineering of malicious binariesAnalyze malicious APKsConduct Malware analysis & reverse engineering on APKsHandle obfuscated codeUse static and dynamic analysis of malicious binaries

Resolution: in_db — role exists in library; skill↔dim and role↔dim links saved when applicable.

0
New skills
0
Skill↔dim saved
0
Role↔dim saved
0
Skipped

Job description

Hi Everyone,
Greetings from Lancesoft India !!
We are having urgent openings with Android Developer.
Please go through the JD and apply who's profile matches .


Experience :-  3 - 5 years
Start Date :- Immediate - 30 Days only
Mode of Hire : Hybrid
• Job Description
Engineers/Agents (Android Developer/Reverse Engineering/Malware Analyst)
4-8 years of experience in Application Security 
 
• Experience with Android (OS and apps),Java
• Experience in Android Application development
• Analyze Android apps(APK), including binaries
• Identify mobile threats and classify them
• Reverse Engineering of malicious binaries
• Experience of Reverse Engineering on Android application Packages (APKs)
• Malware analysis experience with swift detection techniques of analyzing malicious binaries 
• Good to have understanding or experience of PHA (Potentially Harmful applications) classification on android platform
• 3 years of relevant work experience including experience Reverse Engineering and code-level security auditing, as well as experience handling obfuscated code
• Assembly language experience
• Experience in analyzing malicious APKs
• Experience with static and dynamic analysis of malicious binaries
• Excellent interpersonal and communication skills
• Strong self motivation and orientation toward results
• General ability to solve complicated problems
• Strong exposure to popular application security standards including OWASP TOP 10, OWASP Enterprise Security API (ESAPI) framework, SANS TOP 25, WASC etc.
• Good exposure in conducting Malware analysis & reverse engineering on APKs

• Experience on tools such as IDA Pro or OllyDbg
• Experience on Reverse Engineering tools around APKs (preferable)

Mobile Security, Malware Analysis, Reverse Engineering, Malicious code detection, APK Decompile & Debug (IDA Pro ,OllyDbg), Android platform experience



If interest for above Job description and 100% matching can share or apply to mail I'd
Mail I'd : Kajol.Kamble@lancesoft.in

Skills from this JD

Each row merges API 1 extraction, API 2 library match / v3 orchestration (dimensions + locked dims), and API 3 persistence tags.

Android Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Android id=1595 · android

Aliases — catalog

  • Android (CANONICAL)

Context tags (catalog)

API Level Android SDK Android Studio Firebase Gradle Java Jetpack Kotlin LiveData MVVM Material Design RecyclerView Retrofit Room XML

Stored enrichment (catalog DB)

Category
Platform
Sub-category
Mobile Platform
Vendor
Google
License
apache_2
Year introduced
2008
Confidence
0.95
Version strategy
NOT_APPLICABLE

Maturity reasoning: Android appears in large volumes of mobile job postings and remains a standard platform in hiring pipelines; Google continues active platform releases and OEM ecosystem support, indicating broad adoption.

Skill profile (library / DB)

Skill nature
PLATFORM
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
9
Sub-category id
1201
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • React Frontend Development Catalog dimension db id 96

    Library dimension (catalog)

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
React Frontend Development
d_init_01
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Java Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Java id=1 · java

Aliases — catalog

  • Java (CANONICAL) primary
  • JDK (VERSION)
  • JDK 10 (VERSION)
  • JDK 11 (VERSION)
  • JDK 12 (VERSION)
  • JDK 13 (VERSION)
  • JDK 14 (VERSION)
  • JDK 15 (VERSION)
  • JDK 16 (VERSION)
  • JDK 17 (VERSION)
  • JDK 18 (VERSION)
  • JDK 19 (VERSION)
  • JDK 20 (VERSION)
  • JDK 21 (VERSION)
  • JDK 5 (VERSION)
  • JDK 6 (VERSION)
  • JDK 7 (VERSION)
  • JDK 8 (VERSION)
  • JDK 9 (VERSION)
  • Java 1.0 (VERSION)
  • Java 1.1 (VERSION)
  • Java 1.2 (VERSION)
  • Java 1.3 (VERSION)
  • Java 1.4 (VERSION)
  • Java 1.5 (VERSION)
  • Java 1.6 (VERSION)
  • Java 1.7 (VERSION)
  • Java 1.8 (VERSION)
  • Java 10 (VERSION)
  • Java 11 (VERSION)
  • Java 12 (VERSION)
  • Java 13 (VERSION)
  • Java 14 (VERSION)
  • Java 15 (VERSION)
  • Java 16 (VERSION)
  • Java 17 (VERSION)
  • Java 18 (VERSION)
  • Java 19 (VERSION)
  • Java 20 (VERSION)
  • Java 21 (VERSION)
  • Java 5 (VERSION)
  • Java 6 (VERSION)
  • Java 7 (VERSION)
  • Java 8 (VERSION)
  • Java 9 (VERSION)
  • Java11 (VERSION)
  • Java17 (VERSION)
  • Java21 (VERSION)
  • Java8 (VERSION)
  • OpenJDK 11 (VERSION)
  • OpenJDK 17 (VERSION)
  • OpenJDK 21 (VERSION)
  • OpenJDK 8 (VERSION)
  • java 11 (VERSION)
  • java 17 (VERSION)
  • java 21 (VERSION)
  • java 4 (VERSION)
  • java 5 (VERSION)
  • java 6 (VERSION)
  • java 7 (VERSION)
  • java 8 (VERSION)
  • java lts (VERSION)
  • java-11 (VERSION)
  • java-17 (VERSION)
  • java-21 (VERSION)
  • java-4 (VERSION)
  • java-5 (VERSION)
  • java-6 (VERSION)
  • java-7 (VERSION)
  • java-8 (VERSION)
  • java11 (VERSION)
  • java17 (VERSION)
  • java21 (VERSION)
  • java4 (VERSION)
  • java5 (VERSION)
  • java6 (VERSION)
  • java7 (VERSION)
  • java8 (VERSION)
  • jdk 11 (VERSION)
  • jdk 17 (VERSION)
  • jdk 21 (VERSION)
  • jdk 4 (VERSION)
  • jdk 5 (VERSION)
  • jdk 6 (VERSION)
  • jdk 7 (VERSION)
  • jdk 8 (VERSION)
  • jdk11 (VERSION)
  • jdk17 (VERSION)
  • jdk21 (VERSION)
  • jdk4 (VERSION)
  • jdk5 (VERSION)
  • jdk6 (VERSION)
  • jdk7 (VERSION)
  • jdk8 (VERSION)
  • jvm21 (VERSION)

Context tags (catalog)

APIs Apache Tomcat Concurrency Design patterns Garbage collection GraalVM Gradle Hibernate JDBC JDK JPA JUnit JVM Java 8 Java EE JavaFX Kafka Lambda expressions Maven Microservices Mockito Object-oriented REST RESTful SOAP Servlets Spring Spring Boot Tomcat microservices

Stored enrichment (catalog DB)

Category
Language
Sub-category
Programming Language
Vendor
Oracle
License
other_open
Year introduced
1995
Confidence
0.99
Version strategy
SEPARATE_ENTITY
Version tag
21

Maturity reasoning: Java is a hiring-pipeline staple with very high JD volume across enterprise backend, Android, and cloud roles; it remains widely supported by major vendors and frameworks like Spring.

Skill profile (library / DB)

Skill nature
LANGUAGE
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
6
Sub-category id
96
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Java Language and JVM Catalog dimension db id 279

    Library dimension (catalog)

    Roles linked in library: Java Backend Developer, Kotlin Backend Developer, Scala Backend Developer

  • Kotlin and Java Catalog dimension db id 161

    Library dimension (catalog)

    Roles linked in library: Android Developer

  • Native Mobile Languages Catalog dimension db id 274

    Library dimension (catalog)

    Roles linked in library: Native Mobile Developer

  • Pega Programming Languages & DSLs Catalog dimension db id 267

    Library dimension (catalog)

    Roles linked in library: Pega Developer

  • Programming Languages Catalog dimension db id 1

    Library dimension (catalog)

    Roles linked in library: Backend Developer, Fullstack Developer, Fullstack Developer

  • Programming Languages & DSLs Catalog dimension db id 475

    Library dimension (catalog)

    Roles linked in library: Engineering Manager

  • Programming Languages for Data Work Catalog dimension db id 21

    Library dimension (catalog)

    Roles linked in library: Data Engineer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Java Language and JVM
java-language-and-jvm
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Kotlin and Java
kotlin-and-java
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Native Mobile Languages
native-mobile-languages
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Pega Programming Languages & DSLs
pega-programming-languages-dsls
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Programming Languages
programming-languages
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Programming Languages & DSLs
programming-languages-dsls
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Programming Languages for Data Work
programming-languages-for-data-work
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
APK Primary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).

Derived legacy fields
Category
Security Tools
Sub-category
general
Skill nature
TOOL
Volatility
FAST
Typical lifespan
SHORT_LIVED
Version strategy
VERSIONED
Reverse Engineering Primary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).

Derived legacy fields
Category
Security Tools
Sub-category
general
Skill nature
PRACTICE
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED
Malware Analysis Primary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).

Derived legacy fields
Category
Security Tools
Sub-category
general
Skill nature
PRACTICE
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED
Assembly Secondary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).

Derived legacy fields
Category
Programming Languages
Sub-category
general
Skill nature
LANGUAGE
Volatility
STABLE
Typical lifespan
EVERGREEN
Version strategy
UNVERSIONED
Static Analysis Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: static analysis id=368 · static-analysis

Aliases — catalog

  • static analysis (CANONICAL) primary

Context tags (catalog)

Coverity ESLint SAST SonarQube abstract interpretation bug finding clang-tidy code quality control flow graph data flow analysis dead code linting security scanning symbolic execution taint analysis

Stored enrichment (catalog DB)

Category
Concept
Sub-category
Static Analysis Concept
Confidence
0.86
Version strategy
NOT_APPLICABLE

Maturity reasoning: Static analysis is a standard SDLC practice and appears in many JDs for code quality/security roles; major vendors like SonarSource, CodeQL, and Semgrep show sustained adoption across languages.

Skill profile (library / DB)

Skill nature
CONCEPT
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
2
Sub-category id
224
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Forensics and Malware Analysis Catalog dimension db id 68

    Library dimension (catalog)

    Roles linked in library: Cyber Security Engineer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Forensics and Malware Analysis
forensics-and-malware-analysis
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Dynamic Analysis Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: dynamic analysis id=369 · dynamic-analysis

Aliases — catalog

  • dynamic analysis (CANONICAL) primary

Context tags (catalog)

concurrency debugger emulation fuzzing heap dump instrumentation memory leak observability performance bottleneck profiling race condition runtime behavior sandbox stack trace tracing

Stored enrichment (catalog DB)

Category
Concept
Sub-category
Dynamic Analysis Concept
Confidence
0.86
Version strategy
NOT_APPLICABLE

Maturity reasoning: Common in security and QA JDs; tools like Valgrind, ASan, and runtime profilers are standard for debugging, fuzzing, and vulnerability detection.

Skill profile (library / DB)

Skill nature
CONCEPT
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
2
Sub-category id
212
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Forensics and Malware Analysis Catalog dimension db id 68

    Library dimension (catalog)

    Roles linked in library: Cyber Security Engineer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Forensics and Malware Analysis
forensics-and-malware-analysis
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
OWASP Top 10 Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: OWASP Top 10 id=76 · owasp-top-10

Aliases — catalog

  • OWASP Top 10 (CANONICAL) primary
  • owasp top 10 2004 (VERSION)
  • owasp top 10 2007 (VERSION)
  • owasp top 10 2010 (VERSION)
  • owasp top 10 2013 (VERSION)
  • owasp top 10 2017 (VERSION)
  • owasp top 10 2021 (VERSION)
  • owasp top 10 2023 (VERSION)
  • owasp top 10 2024 (VERSION)
  • owasp-top-10-2004 (VERSION)
  • owasp-top-10-2007 (VERSION)
  • owasp-top-10-2010 (VERSION)
  • owasp-top-10-2013 (VERSION)
  • owasp-top-10-2017 (VERSION)
  • owasp-top-10-2021 (VERSION)
  • owasp-top-10-2023 (VERSION)
  • owasp-top-10-2024 (VERSION)

Context tags (catalog)

A10:2021 A1:2021 A2:2021 A3:2021 A4:2021 A5:2021 A6:2021 A7:2021 A8:2021 A9:2021 CSRF OWASP ZAP SQL injection SSRF XML external entities XSS XXE access control authentication authorization broken access control broken authentication command injection cross-site scripting injection input validation insecure deserialization insufficient logging penetration testing risk assessment secure coding security headers security misconfiguration sensitive data sensitive data exposure server-side request forgery session management threat modeling vulnerabilities vulnerability assessment

Stored enrichment (catalog DB)

Category
Standard
Sub-category
Application Security Standard
Vendor
OWASP
License
unknown
Year introduced
2003
Confidence
0.93
Version strategy
SEPARATE_ENTITY
Version tag
2021

Maturity reasoning: OWASP Top 10 is a common baseline in security job descriptions and vendor training; many JDs explicitly require familiarity with it for AppSec and secure coding roles.

Skill profile (library / DB)

Skill nature
STANDARD
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
12
Sub-category id
269
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Backend Security Hardening Catalog dimension db id 16

    Library dimension (catalog)

    Roles linked in library: .NET Backend Developer, Backend Developer, Java Backend Developer, Kotlin Backend Developer, Node.js Backend Developer, PHP Backend Developer, Python Backend Developer, Ruby Backend Developer, Scala Backend Developer

  • Cloud Security Governance Catalog dimension db id 138

    Library dimension (catalog)

    Roles linked in library: Cloud Architect

  • Web Application Vulnerability Concepts Catalog dimension db id 69

    Library dimension (catalog)

    Roles linked in library: Cyber Security Engineer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Backend Security Hardening
backend-security-hardening
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Cloud Security Governance
cloud-security-governance
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Web Application Vulnerability Concepts
web-application-vulnerability-concepts
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
OWASP ESAPI Secondary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).

Derived legacy fields
Category
Security Tools
Sub-category
general
Skill nature
TOOL
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED
SANS Top 25 Secondary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).

Derived legacy fields
Category
Security Tools
Sub-category
general
Skill nature
CONCEPT
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED
WASC Secondary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).

Derived legacy fields
Category
Security Tools
Sub-category
general
Skill nature
CONCEPT
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED
IDA Pro Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: IDA Pro id=364 · ida-pro

Aliases — catalog

  • IDA Pro (CANONICAL) primary

Context tags (catalog)

ARM ELF Ghidra Mach-O PE assembly binary analysis debugger decompiler disassembler p-code patching static analysis symbols x86

Stored enrichment (catalog DB)

Category
Tool
Sub-category
Reverse Engineering Tool
Vendor
Hex-Rays
License
proprietary
Year introduced
1990
Confidence
0.98
Version strategy
NOT_APPLICABLE

Maturity reasoning: IDA Pro appears in specialized reverse-engineering/malware-analysis JDs at low volume compared with mainstream dev tools; its market is concentrated in security research and binary analysis roles.

Skill profile (library / DB)

Skill nature
TOOL
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
13
Sub-category id
293
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Forensics and Malware Analysis Catalog dimension db id 68

    Library dimension (catalog)

    Roles linked in library: Cyber Security Engineer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Forensics and Malware Analysis
forensics-and-malware-analysis
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
OllyDbg Secondary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).

Derived legacy fields
Category
Security Tools
Sub-category
general
Skill nature
TOOL
Volatility
FAST
Typical lifespan
SHORT_LIVED
Version strategy
VERSIONED

All API 3 persistence rows

Same grid as the skill-extractor “Persistence items” table: one row per (skill × dimension) work item.

Skill Tag Dimension Skill↔dim Role↔dim Outcome Notes
Android in_db
React Frontend Development
d_init_01
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Java in_db
Java Language and JVM
java-language-and-jvm
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Java in_db
Kotlin and Java
kotlin-and-java
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Java in_db
Native Mobile Languages
native-mobile-languages
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Java in_db
Pega Programming Languages & DSLs
pega-programming-languages-dsls
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Java in_db
Programming Languages
programming-languages
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Java in_db
Programming Languages & DSLs
programming-languages-dsls
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Java in_db
Programming Languages for Data Work
programming-languages-for-data-work
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Static Analysis in_db
Forensics and Malware Analysis
forensics-and-malware-analysis
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Dynamic Analysis in_db
Forensics and Malware Analysis
forensics-and-malware-analysis
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
OWASP Top 10 in_db
Backend Security Hardening
backend-security-hardening
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
OWASP Top 10 in_db
Cloud Security Governance
cloud-security-governance
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
OWASP Top 10 in_db
Web Application Vulnerability Concepts
web-application-vulnerability-concepts
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
IDA Pro in_db
Forensics and Malware Analysis
forensics-and-malware-analysis
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)

Library artifacts (this run)

Kind Detail DB id
canonical_skill_proposed APK | type=Security Tools subtype=general nature=TOOL lifespan=SHORT_LIVED
canonical_skill_proposed Reverse Engineering | type=Security Tools subtype=general nature=PRACTICE lifespan=MULTI_YEAR
canonical_skill_proposed Malware Analysis | type=Security Tools subtype=general nature=PRACTICE lifespan=MULTI_YEAR
canonical_skill_proposed Assembly | type=Programming Languages subtype=general nature=LANGUAGE lifespan=EVERGREEN
canonical_skill_proposed OWASP ESAPI | type=Security Tools subtype=general nature=TOOL lifespan=MULTI_YEAR
canonical_skill_proposed SANS Top 25 | type=Security Tools subtype=general nature=CONCEPT lifespan=MULTI_YEAR
canonical_skill_proposed WASC | type=Security Tools subtype=general nature=CONCEPT lifespan=MULTI_YEAR
canonical_skill_proposed OllyDbg | type=Security Tools subtype=general nature=TOOL lifespan=SHORT_LIVED
nano JD Parser — gpt-4.1-nano click to toggle
RoleAndroid Developer
CompanyLancesoft India
Experience3 - 5 years
DomainIT Services & Consulting
Location(hybrid)
JD type pass
Show raw JSON
{
  "JD_type": "pass",
  "about_company": null,
  "certifications": [],
  "company_name": "Lancesoft India",
  "ctc": null,
  "domain": {
    "primary": {
      "aliases": [],
      "domain": "IT Services \u0026 Consulting"
    },
    "secondary": null
  },
  "education": [],
  "experience": {
    "max": 5,
    "min": 3,
    "raw": "3 - 5 years"
  },
  "job_locations": [
    {
      "aliases": [],
      "city": null,
      "country": null,
      "state": null,
      "work_mode": "hybrid"
    }
  ],
  "role": "Android Developer",
  "role_aliases": [
    "Android Engineer",
    "Mobile Developer",
    "Android Application Developer"
  ],
  "role_archetype": "Engineering",
  "roles_and_responsibilities": [
    {
      "bullet_count": 18,
      "heading": "Job Description",
      "heading_was_present": true,
      "source_marker": {
        "first_5_words": "Engineers/Agents (Android Developer/Reverse",
        "last_5_words": "APK Decompile \u0026 Debug (IDA Pro ,OllyDbg),"
      },
      "text": "Engineers/Agents (Android Developer/Reverse Engineering/Malware Analyst)\n4-8 years of experience in Application Security \n\n\u2022 Experience with Android (OS and apps),Java\n\u2022 Experience in Android Application development\n\u2022 Analyze Android apps(APK), including binaries\n\u2022 Identify mobile threats and classify them\n\u2022 Reverse Engineering of malicious binaries\n\u2022 Experience of Reverse Engineering on Android application Packages (APKs)\n\u2022 Malware analysis experience with swift detection techniques of analyzing malicious binaries \n\u2022 Good to have understanding or experience of PHA (Potentially Harmful applications) classification on android platform\n\u2022 3 years of relevant work experience including experience Reverse Engineering and code-level security auditing, as well as experience handling obfuscated code\n\u2022 Assembly language experience\n\u2022 Experience in analyzing malicious APKs\n\u2022 Experience with static and dynamic analysis of malicious binaries\n\u2022 Excellent interpersonal and communication skills\n\u2022 Strong self motivation and orientation toward results\n\u2022 General ability to solve complicated problems\n\u2022 Strong exposure to popular application security standards including OWASP TOP 10, OWASP Enterprise Security API (ESAPI) framework, SANS TOP 25, WASC etc.\n\u2022 Good exposure in conducting Malware analysis \u0026 reverse engineering on APKs\n\n\u2022 Experience on tools such as IDA Pro or OllyDbg\n\u2022 Experience on Reverse Engineering tools around APKs (preferable)\n\nMobile Security, Malware Analysis, Reverse Engineering, Malicious code detection, APK Decompile \u0026 Debug (IDA Pro ,OllyDbg), Android platform experience",
      "word_count": 309
    }
  ],
  "urls": []
}
API 1 — extract-from-jd click to toggle
{
  "final_skills": [
    {
      "is_primary": true,
      "skill_name": "Android"
    },
    {
      "is_primary": true,
      "skill_name": "Java"
    },
    {
      "is_primary": true,
      "skill_name": "APK"
    },
    {
      "is_primary": true,
      "skill_name": "Reverse Engineering"
    },
    {
      "is_primary": true,
      "skill_name": "Malware Analysis"
    },
    {
      "is_primary": false,
      "skill_name": "Assembly"
    },
    {
      "is_primary": false,
      "skill_name": "Static Analysis"
    },
    {
      "is_primary": false,
      "skill_name": "Dynamic Analysis"
    },
    {
      "is_primary": false,
      "skill_name": "OWASP Top 10"
    },
    {
      "is_primary": false,
      "skill_name": "OWASP ESAPI"
    },
    {
      "is_primary": false,
      "skill_name": "SANS Top 25"
    },
    {
      "is_primary": false,
      "skill_name": "WASC"
    },
    {
      "is_primary": false,
      "skill_name": "IDA Pro"
    },
    {
      "is_primary": false,
      "skill_name": "OllyDbg"
    }
  ],
  "jd_role": {
    "display_name": "Android Developer",
    "rationale": null,
    "role_aliases": [
      "Android Engineer",
      "Mobile Developer",
      "Android Application Developer"
    ],
    "role_archetype": "Engineering",
    "slug": ""
  },
  "nano_parsed": {
    "JD_type": "pass",
    "about_company": null,
    "certifications": [],
    "company_name": "Lancesoft India",
    "ctc": null,
    "domain": {
      "primary": {
        "aliases": [],
        "domain": "IT Services \u0026 Consulting"
      },
      "secondary": null
    },
    "education": [],
    "experience": {
      "max": 5,
      "min": 3,
      "raw": "3 - 5 years"
    },
    "job_locations": [
      {
        "aliases": [],
        "city": null,
        "country": null,
        "state": null,
        "work_mode": "hybrid"
      }
    ],
    "role": "Android Developer",
    "role_aliases": [
      "Android Engineer",
      "Mobile Developer",
      "Android Application Developer"
    ],
    "role_archetype": "Engineering",
    "roles_and_responsibilities": [
      {
        "bullet_count": 18,
        "heading": "Job Description",
        "heading_was_present": true,
        "source_marker": {
          "first_5_words": "Engineers/Agents (Android Developer/Reverse",
          "last_5_words": "APK Decompile \u0026 Debug (IDA Pro ,OllyDbg),"
        },
        "text": "Engineers/Agents (Android Developer/Reverse Engineering/Malware Analyst)\n4-8 years of experience in Application Security \n\n\u2022 Experience with Android (OS and apps),Java\n\u2022 Experience in Android Application development\n\u2022 Analyze Android apps(APK), including binaries\n\u2022 Identify mobile threats and classify them\n\u2022 Reverse Engineering of malicious binaries\n\u2022 Experience of Reverse Engineering on Android application Packages (APKs)\n\u2022 Malware analysis experience with swift detection techniques of analyzing malicious binaries \n\u2022 Good to have understanding or experience of PHA (Potentially Harmful applications) classification on android platform\n\u2022 3 years of relevant work experience including experience Reverse Engineering and code-level security auditing, as well as experience handling obfuscated code\n\u2022 Assembly language experience\n\u2022 Experience in analyzing malicious APKs\n\u2022 Experience with static and dynamic analysis of malicious binaries\n\u2022 Excellent interpersonal and communication skills\n\u2022 Strong self motivation and orientation toward results\n\u2022 General ability to solve complicated problems\n\u2022 Strong exposure to popular application security standards including OWASP TOP 10, OWASP Enterprise Security API (ESAPI) framework, SANS TOP 25, WASC etc.\n\u2022 Good exposure in conducting Malware analysis \u0026 reverse engineering on APKs\n\n\u2022 Experience on tools such as IDA Pro or OllyDbg\n\u2022 Experience on Reverse Engineering tools around APKs (preferable)\n\nMobile Security, Malware Analysis, Reverse Engineering, Malicious code detection, APK Decompile \u0026 Debug (IDA Pro ,OllyDbg), Android platform experience",
        "word_count": 309
      }
    ],
    "urls": []
  },
  "rejected": false,
  "rejection_reason": null,
  "run_id": "8722a59d-0e2d-48ba-b140-aedb60e80258",
  "stage3_signals": {
    "alias_found": true,
    "alias_match_roles": [
      {
        "display_name": "Android Developer",
        "kra_matches": null,
        "matched_count": null,
        "matched_skills": null,
        "role_id": 4,
        "score": 1.0,
        "slug": "android-engineer",
        "total_count": null
      },
      {
        "display_name": "Native Mobile Developer",
        "kra_matches": null,
        "matched_count": null,
        "matched_skills": null,
        "role_id": 75,
        "score": 1.0,
        "slug": "native-mobile-developer",
        "total_count": null
      }
    ],
    "kra_match_roles": [
      {
        "display_name": "Android Developer",
        "kra_matches": [
          {
            "kra_text": "Investigates and resolves app crashes, ANR issues, and device-specific compatibility bugs using Crashlytics, Firebase, and Android Logcat.",
            "sentence": "Mobile Security, Malware Analysis, Reverse Engineering, Malicious code detection, APK Decompile \u0026 Debug (IDA Pro ,OllyDbg), Android platform experience",
            "similarity": 0.557
          },
          {
            "kra_text": "Prepares Android releases by managing build variants, ProGuard configurations, signing keystores, and Google Play Store submission requirements.",
            "sentence": "Analyze Android apps(APK), including binaries",
            "similarity": 0.5181
          },
          {
            "kra_text": "Prepares Android releases by managing build variants, ProGuard configurations, signing keystores, and Google Play Store submission requirements.",
            "sentence": "Experience of Reverse Engineering on Android application Packages (APKs)",
            "similarity": 0.4813
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 4,
        "score": 0.5188,
        "slug": "android-engineer",
        "total_count": null
      },
      {
        "display_name": "Cyber Security Engineer",
        "kra_matches": [
          {
            "kra_text": "Conducts security posture assessments, vulnerability scans, and penetration testing to identify weaknesses and evaluate overall system security.",
            "sentence": "4-8 years of experience in Application Security",
            "similarity": 0.5167
          },
          {
            "kra_text": "Defines secure engineering standards, secure coding guidelines, threat intelligence feeds, and compliance requirements for the organization.",
            "sentence": "Strong exposure to popular application security standards including OWASP TOP 10, OWASP Enterprise Security API (ESAPI) framework, SANS TOP 25, WASC etc. \u2022 Good exposure in conducting Malware analysis \u0026 reverse engineering on APKs",
            "similarity": 0.4923
          },
          {
            "kra_text": "Leads security incident response investigations including forensic analysis, malware triage, containment actions, and post-incident remediation coordination.",
            "sentence": "Mobile Security, Malware Analysis, Reverse Engineering, Malicious code detection, APK Decompile \u0026 Debug (IDA Pro ,OllyDbg), Android platform experience",
            "similarity": 0.4837
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 5,
        "score": 0.4976,
        "slug": "cybersecurity-engineer",
        "total_count": null
      },
      {
        "display_name": "React Native Developer",
        "kra_matches": [
          {
            "kra_text": "handle permissions and device behaviors",
            "sentence": "Good to have understanding or experience of PHA (Potentially Harmful applications) classification on android platform",
            "similarity": 0.4649
          },
          {
            "kra_text": "prepare mobile releases",
            "sentence": "Mobile Security, Malware Analysis, Reverse Engineering, Malicious code detection, APK Decompile \u0026 Debug (IDA Pro ,OllyDbg), Android platform experience",
            "similarity": 0.4503
          },
          {
            "kra_text": "prepare mobile releases",
            "sentence": "Identify mobile threats and classify them",
            "similarity": 0.4446
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 73,
        "score": 0.4533,
        "slug": "react-native-developer",
        "total_count": null
      },
      {
        "display_name": "Hybrid Mobile Developer",
        "kra_matches": [
          {
            "kra_text": "Debugs cross-platform mobile issues including native module bridge failures, platform-specific rendering differences, and build configuration conflicts.",
            "sentence": "Mobile Security, Malware Analysis, Reverse Engineering, Malicious code detection, APK Decompile \u0026 Debug (IDA Pro ,OllyDbg), Android platform experience",
            "similarity": 0.5154
          },
          {
            "kra_text": "Accesses native device capabilities including camera, location services, Bluetooth, and biometric authentication through React Native or Flutter plugins.",
            "sentence": "Good to have understanding or experience of PHA (Potentially Harmful applications) classification on android platform",
            "similarity": 0.4267
          },
          {
            "kra_text": "Manages build configurations, code signing certificates, and app store release submissions for both Google Play and Apple App Store.",
            "sentence": "Analyze Android apps(APK), including binaries",
            "similarity": 0.4157
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 11,
        "score": 0.4526,
        "slug": "hybrid-mobile-developer",
        "total_count": null
      },
      {
        "display_name": "Native Mobile Developer",
        "kra_matches": [
          {
            "kra_text": "mobile defect diagnosis and performance tuning",
            "sentence": "Mobile Security, Malware Analysis, Reverse Engineering, Malicious code detection, APK Decompile \u0026 Debug (IDA Pro ,OllyDbg), Android platform experience",
            "similarity": 0.4861
          },
          {
            "kra_text": "mobile defect diagnosis and performance tuning",
            "sentence": "Identify mobile threats and classify them",
            "similarity": 0.4108
          },
          {
            "kra_text": "mobile defect diagnosis and performance tuning",
            "sentence": "Malware analysis experience with swift detection techniques of analyzing malicious binaries",
            "similarity": 0.398
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 75,
        "score": 0.4316,
        "slug": "native-mobile-developer",
        "total_count": null
      }
    ],
    "skill_match_roles": [
      {
        "display_name": "Fullstack Developer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "Java"
        ],
        "role_id": 15,
        "score": 0.2,
        "slug": "full-stack-engineer",
        "total_count": 5
      },
      {
        "display_name": "Data Engineer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "Java"
        ],
        "role_id": 2,
        "score": 0.2,
        "slug": "data-engineer",
        "total_count": 5
      },
      {
        "display_name": "Android Developer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "Java"
        ],
        "role_id": 4,
        "score": 0.2,
        "slug": "android-engineer",
        "total_count": 5
      },
      {
        "display_name": "Pega Developer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "Java"
        ],
        "role_id": 24,
        "score": 0.2,
        "slug": "pega-developer",
        "total_count": 5
      },
      {
        "display_name": "Backend Developer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "Java"
        ],
        "role_id": 1,
        "score": 0.2,
        "slug": "backend-engineer",
        "total_count": 5
      }
    ]
  },
  "stage4_decision": {
    "alias_collision_detected": false,
    "case": "DOMAIN",
    "chosen_role": {
      "display_name": "Incident Response / Forensics Analyst",
      "kra_matches": null,
      "matched_count": null,
      "matched_skills": null,
      "role_id": 192,
      "score": 0.95,
      "slug": "incident-response-forensics-analyst",
      "total_count": null
    },
    "confidence": 0.95,
    "is_new_role": false,
    "llm2_fired": false,
    "llm2_reasoning": null,
    "matched_dimensions": [
      "Mobile Security",
      "Malware Analysis",
      "Reverse Engineering",
      "Malicious code detection",
      "Code-level security auditing",
      "Application security standards knowledge"
    ],
    "matched_kras": [
      "Analyze Android apps(APK), including binaries",
      "Identify mobile threats and classify them",
      "Reverse Engineering of malicious binaries",
      "Analyze malicious APKs",
      "Conduct Malware analysis \u0026 reverse engineering on APKs",
      "Handle obfuscated code",
      "Use static and dynamic analysis of malicious binaries"
    ],
    "matched_skills": [
      "Android",
      "Java",
      "Android Application development",
      "APK",
      "Reverse Engineering",
      "malicious binaries",
      "malicious APKs",
      "static and dynamic analysis",
      "Assembly language",
      "IDA Pro",
      "OllyDbg",
      "OWASP TOP 10",
      "OWASP Enterprise Security API (ESAPI)",
      "SANS TOP 25",
      "WASC"
    ],
    "new_role_display_name": null,
    "new_role_slug": null,
    "queued": false,
    "reasoning": "Domain=Security; The JD is centered on malware analysis, reverse engineering, and analyzing malicious APKs/binaries, which best matches an Incident Response / Forensics Analyst rather than a general Android developer.",
    "sub_role": null
  },
  "stage5_updates": {
    "centroid_n_after": 1,
    "centroid_updated": true,
    "collision_log_id": null,
    "new_kra_attached": {
      "best_kra_similarity": 0.0,
      "queue_id": 1679,
      "r_and_r_preview": "Engineers/Agents (Android Developer/Reverse Engineering/Malware Analyst)\n4-8 years of experience in Application Security \n\n\u2022 Experience with Android (OS and apps),Java\n\u2022 Experience in Android Applicat",
      "role_display_name": "Incident Response / Forensics Analyst",
      "role_slug": "incident-response-forensics-analyst",
      "status": "pending"
    },
    "new_skills_attached": [
      {
        "is_primary": true,
        "queue_id": 22156,
        "role_display_name": "Incident Response / Forensics Analyst",
        "role_slug": "incident-response-forensics-analyst",
        "skill_name": "APK",
        "status": "pending"
      },
      {
        "is_primary": true,
        "queue_id": 22157,
        "role_display_name": "Incident Response / Forensics Analyst",
        "role_slug": "incident-response-forensics-analyst",
        "skill_name": "Reverse Engineering",
        "status": "pending"
      },
      {
        "is_primary": true,
        "queue_id": 22158,
        "role_display_name": "Incident Response / Forensics Analyst",
        "role_slug": "incident-response-forensics-analyst",
        "skill_name": "Malware Analysis",
        "status": "pending"
      },
      {
        "is_primary": false,
        "queue_id": 22159,
        "role_display_name": "Incident Response / Forensics Analyst",
        "role_slug": "incident-response-forensics-analyst",
        "skill_name": "Assembly",
        "status": "pending"
      },
      {
        "is_primary": false,
        "queue_id": 22160,
        "role_display_name": "Incident Response / Forensics Analyst",
        "role_slug": "incident-response-forensics-analyst",
        "skill_name": "OWASP ESAPI",
        "status": "pending"
      },
      {
        "is_primary": false,
        "queue_id": 22161,
        "role_display_name": "Incident Response / Forensics Analyst",
        "role_slug": "incident-response-forensics-analyst",
        "skill_name": "SANS Top 25",
        "status": "pending"
      },
      {
        "is_primary": false,
        "queue_id": 22162,
        "role_display_name": "Incident Response / Forensics Analyst",
        "role_slug": "incident-response-forensics-analyst",
        "skill_name": "WASC",
        "status": "pending"
      },
      {
        "is_primary": false,
        "queue_id": 22163,
        "role_display_name": "Incident Response / Forensics Analyst",
        "role_slug": "incident-response-forensics-analyst",
        "skill_name": "OllyDbg",
        "status": "pending"
      }
    ],
    "queue_entry_id": null,
    "v3_pipeline_triggered": false,
    "v3_role_slug": null,
    "v3_run_id": null
  }
}
API 2 — extract-details
{
  "alias_matches": [
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 2541,
      "existing_alias_text": "Android",
      "input_term": "Android",
      "matched_canonical": {
        "category_id": 9,
        "display_name": "Android",
        "id": 1595,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PLATFORM",
        "slug": "android",
        "sub_category_id": 1201,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 1,
      "existing_alias_text": "Java",
      "input_term": "Java",
      "matched_canonical": {
        "category_id": 6,
        "display_name": "Java",
        "id": 1,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LANGUAGE",
        "slug": "java",
        "sub_category_id": 96,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 684,
      "existing_alias_text": "static analysis",
      "input_term": "Static Analysis",
      "matched_canonical": {
        "category_id": 2,
        "display_name": "static analysis",
        "id": 368,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "static-analysis",
        "sub_category_id": 224,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 685,
      "existing_alias_text": "dynamic analysis",
      "input_term": "Dynamic Analysis",
      "matched_canonical": {
        "category_id": 2,
        "display_name": "dynamic analysis",
        "id": 369,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "dynamic-analysis",
        "sub_category_id": 212,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 217,
      "existing_alias_text": "OWASP Top 10",
      "input_term": "OWASP Top 10",
      "matched_canonical": {
        "category_id": 12,
        "display_name": "OWASP Top 10",
        "id": 76,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "STANDARD",
        "slug": "owasp-top-10",
        "sub_category_id": 269,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 680,
      "existing_alias_text": "IDA Pro",
      "input_term": "IDA Pro",
      "matched_canonical": {
        "category_id": 13,
        "display_name": "IDA Pro",
        "id": 364,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "TOOL",
        "slug": "ida-pro",
        "sub_category_id": 293,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    }
  ],
  "candidate_roles": [
    {
      "display_name": "Java Backend Developer",
      "id": 79,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "java-backend-developer",
      "source": "db"
    },
    {
      "display_name": "Kotlin Backend Developer",
      "id": 84,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "kotlin-server-backend-developer",
      "source": "db"
    },
    {
      "display_name": "Scala Backend Developer",
      "id": 87,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "scala-backend-developer",
      "source": "db"
    },
    {
      "display_name": "Android Developer",
      "id": 4,
      "rationale": null,
      "role_archetype": null,
      "slug": "android-engineer",
      "source": "db"
    },
    {
      "display_name": "Native Mobile Developer",
      "id": 75,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "native-mobile-developer",
      "source": "db"
    },
    {
      "display_name": "Pega Developer",
      "id": 24,
      "rationale": null,
      "role_archetype": null,
      "slug": "pega-developer",
      "source": "db"
    },
    {
      "display_name": "Backend Developer",
      "id": 1,
      "rationale": null,
      "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
      "slug": "backend-engineer",
      "source": "db"
    },
    {
      "display_name": "Fullstack Developer",
      "id": 15,
      "rationale": null,
      "role_archetype": null,
      "slug": "full-stack-engineer",
      "source": "db"
    },
    {
      "display_name": "Fullstack Developer",
      "id": 435,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "fullstack-developer",
      "source": "db"
    },
    {
      "display_name": "Engineering Manager",
      "id": 121,
      "rationale": null,
      "role_archetype": null,
      "slug": "engineering-manager",
      "source": "db"
    },
    {
      "display_name": "Data Engineer",
      "id": 2,
      "rationale": null,
      "role_archetype": null,
      "slug": "data-engineer",
      "source": "db"
    },
    {
      "display_name": "Cyber Security Engineer",
      "id": 5,
      "rationale": null,
      "role_archetype": null,
      "slug": "cybersecurity-engineer",
      "source": "db"
    },
    {
      "display_name": ".NET Backend Developer",
      "id": 83,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "dotnet-backend-developer",
      "source": "db"
    },
    {
      "display_name": "Node.js Backend Developer",
      "id": 82,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "node-backend-developer",
      "source": "db"
    },
    {
      "display_name": "PHP Backend Developer",
      "id": 86,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "php-backend-developer",
      "source": "db"
    },
    {
      "display_name": "Python Backend Developer",
      "id": 80,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "python-backend-developer",
      "source": "db"
    },
    {
      "display_name": "Ruby Backend Developer",
      "id": 85,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "ruby-backend-developer",
      "source": "db"
    },
    {
      "display_name": "Cloud Architect",
      "id": 9,
      "rationale": null,
      "role_archetype": null,
      "slug": "cloud-architect",
      "source": "db"
    }
  ],
  "chosen_role": {
    "display_name": "Incident Response / Forensics Analyst",
    "id": 192,
    "rationale": "Domain=Security; The JD is centered on malware analysis, reverse engineering, and analyzing malicious APKs/binaries, which best matches an Incident Response / Forensics Analyst rather than a general Android developer.",
    "role_archetype": null,
    "slug": "incident-response-forensics-analyst",
    "source": "db"
  },
  "dimensions": [
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "React Frontend Development",
        "id": 96,
        "rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
        "slug": "d_init_01",
        "source": "db"
      },
      "input_skill": "Android",
      "llm_role": null,
      "roles_from_db": []
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Java Language and JVM",
        "id": 279,
        "rationale": "Core Java implementation skills used to build backend service logic, utilities, and internal abstractions. This is the primary coding surface for the role and includes language features plus JVM behavior that affect correctness and maintainability.",
        "slug": "java-language-and-jvm",
        "source": "db"
      },
      "input_skill": "Java",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Java Backend Developer",
          "id": 79,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "java-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Kotlin Backend Developer",
          "id": 84,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "kotlin-server-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Scala Backend Developer",
          "id": 87,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "scala-backend-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Kotlin and Java",
        "id": 161,
        "rationale": "Primary implementation languages for Android app features, platform integration, and client-side business logic. Android engineers use these languages to build screens, state flows, service adapters, and device-aware behavior.",
        "slug": "kotlin-and-java",
        "source": "db"
      },
      "input_skill": "Java",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Android Developer",
          "id": 4,
          "rationale": null,
          "role_archetype": null,
          "slug": "android-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Native Mobile Languages",
        "id": 274,
        "rationale": "Primary implementation languages used to build platform-specific app features, UI logic, and device integrations. This is the core coding surface for native mobile work on one platform.",
        "slug": "native-mobile-languages",
        "source": "db"
      },
      "input_skill": "Java",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Native Mobile Developer",
          "id": 75,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "native-mobile-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Pega Programming Languages \u0026 DSLs",
        "id": 267,
        "rationale": "Programming languages and domain-specific languages used in Pega development.",
        "slug": "pega-programming-languages-dsls",
        "source": "db"
      },
      "input_skill": "Java",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Pega Developer",
          "id": 24,
          "rationale": null,
          "role_archetype": null,
          "slug": "pega-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Programming Languages",
        "id": 1,
        "rationale": "Primary implementation languages used to build client and server feature code. Full stack engineers need enough fluency to move across layers and implement product behavior end to end.",
        "slug": "programming-languages",
        "source": "db"
      },
      "input_skill": "Java",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Backend Developer",
          "id": 1,
          "rationale": null,
          "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
          "slug": "backend-engineer",
          "source": "db"
        },
        {
          "display_name": "Fullstack Developer",
          "id": 15,
          "rationale": null,
          "role_archetype": null,
          "slug": "full-stack-engineer",
          "source": "db"
        },
        {
          "display_name": "Fullstack Developer",
          "id": 435,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "fullstack-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Programming Languages \u0026 DSLs",
        "id": 475,
        "rationale": "Oversee and guide the selection and effective use of programming and domain\u2010specific languages in software projects.",
        "slug": "programming-languages-dsls",
        "source": "db"
      },
      "input_skill": "Java",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Engineering Manager",
          "id": 121,
          "rationale": null,
          "role_archetype": null,
          "slug": "engineering-manager",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Programming Languages for Data Work",
        "id": 21,
        "rationale": "Languages used to implement data pipelines, transformations, and operational glue. This is the primary coding surface for building ingestion, enrichment, and automation logic in data engineering.",
        "slug": "programming-languages-for-data-work",
        "source": "db"
      },
      "input_skill": "Java",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Data Engineer",
          "id": 2,
          "rationale": null,
          "role_archetype": null,
          "slug": "data-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Forensics and Malware Analysis",
        "id": 68,
        "rationale": "Tools and techniques for investigating compromised hosts, malicious binaries, and attacker tradecraft. This dimension is distinct because it centers on post-compromise analysis rather than prevention or monitoring.",
        "slug": "forensics-and-malware-analysis",
        "source": "db"
      },
      "input_skill": "Static Analysis",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Cyber Security Engineer",
          "id": 5,
          "rationale": null,
          "role_archetype": null,
          "slug": "cybersecurity-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Forensics and Malware Analysis",
        "id": 68,
        "rationale": "Tools and techniques for investigating compromised hosts, malicious binaries, and attacker tradecraft. This dimension is distinct because it centers on post-compromise analysis rather than prevention or monitoring.",
        "slug": "forensics-and-malware-analysis",
        "source": "db"
      },
      "input_skill": "Dynamic Analysis",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Cyber Security Engineer",
          "id": 5,
          "rationale": null,
          "role_archetype": null,
          "slug": "cybersecurity-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Backend Security Hardening",
        "id": 16,
        "rationale": "Security practices specific to server-side application code and service exposure. Focuses on protecting backend endpoints, secrets, and data handling from common application-layer threats.",
        "slug": "backend-security-hardening",
        "source": "db"
      },
      "input_skill": "OWASP Top 10",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": ".NET Backend Developer",
          "id": 83,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "dotnet-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Backend Developer",
          "id": 1,
          "rationale": null,
          "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
          "slug": "backend-engineer",
          "source": "db"
        },
        {
          "display_name": "Java Backend Developer",
          "id": 79,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "java-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Kotlin Backend Developer",
          "id": 84,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "kotlin-server-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Node.js Backend Developer",
          "id": 82,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "node-backend-developer",
          "source": "db"
        },
        {
          "display_name": "PHP Backend Developer",
          "id": 86,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "php-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Python Backend Developer",
          "id": 80,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "python-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Ruby Backend Developer",
          "id": 85,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "ruby-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Scala Backend Developer",
          "id": 87,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "scala-backend-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Cloud Security Governance",
        "id": 138,
        "rationale": "Platform-level security guardrails for cloud environments, including policy enforcement, posture management, and control baselines. Cloud Architects define these boundaries even when implementation is owned by security teams.",
        "slug": "cloud-security-governance",
        "source": "db"
      },
      "input_skill": "OWASP Top 10",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Cloud Architect",
          "id": 9,
          "rationale": null,
          "role_archetype": null,
          "slug": "cloud-architect",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Web Application Vulnerability Concepts",
        "id": 69,
        "rationale": "Common web exploit classes and defensive patterns used to assess application risk. This cluster is coherent because the role repeatedly reviews the same families of flaws across services and frameworks.",
        "slug": "web-application-vulnerability-concepts",
        "source": "db"
      },
      "input_skill": "OWASP Top 10",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Cyber Security Engineer",
          "id": 5,
          "rationale": null,
          "role_archetype": null,
          "slug": "cybersecurity-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Forensics and Malware Analysis",
        "id": 68,
        "rationale": "Tools and techniques for investigating compromised hosts, malicious binaries, and attacker tradecraft. This dimension is distinct because it centers on post-compromise analysis rather than prevention or monitoring.",
        "slug": "forensics-and-malware-analysis",
        "source": "db"
      },
      "input_skill": "IDA Pro",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Cyber Security Engineer",
          "id": 5,
          "rationale": null,
          "role_archetype": null,
          "slug": "cybersecurity-engineer",
          "source": "db"
        }
      ]
    }
  ],
  "input_final_skills": [
    "Android",
    "Java",
    "APK",
    "Reverse Engineering",
    "Malware Analysis",
    "Assembly",
    "Static Analysis",
    "Dynamic Analysis",
    "OWASP Top 10",
    "OWASP ESAPI",
    "SANS Top 25",
    "WASC",
    "IDA Pro",
    "OllyDbg"
  ],
  "input_llm_skills": [
    "Android",
    "Java",
    "APK",
    "Reverse Engineering",
    "Malware Analysis",
    "Assembly",
    "Static Analysis",
    "Dynamic Analysis",
    "OWASP Top 10",
    "OWASP ESAPI",
    "SANS Top 25",
    "WASC",
    "IDA Pro",
    "OllyDbg"
  ],
  "new_aliases_persisted": 0,
  "run_id": "8722a59d-0e2d-48ba-b140-aedb60e80258",
  "skills_detail": [
    {
      "aliases_in_db": [
        {
          "alias_text": "Android",
          "alias_type": "CANONICAL",
          "id": 2541,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 9,
        "display_name": "Android",
        "id": 1595,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PLATFORM",
        "slug": "android",
        "sub_category_id": 1201,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "React Frontend Development",
            "id": 96,
            "rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
            "slug": "d_init_01",
            "source": "db"
          },
          "input_skill": "Android",
          "llm_role": null,
          "roles_from_db": []
        }
      ],
      "input_skill": "Android",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "Java",
          "alias_type": "CANONICAL",
          "id": 1,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK",
          "alias_type": "VERSION",
          "id": 2968,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 10",
          "alias_type": "VERSION",
          "id": 2194,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 11",
          "alias_type": "VERSION",
          "id": 4,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 12",
          "alias_type": "VERSION",
          "id": 2196,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 13",
          "alias_type": "VERSION",
          "id": 2197,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 14",
          "alias_type": "VERSION",
          "id": 2198,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 15",
          "alias_type": "VERSION",
          "id": 2199,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 16",
          "alias_type": "VERSION",
          "id": 2200,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 17",
          "alias_type": "VERSION",
          "id": 5,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 18",
          "alias_type": "VERSION",
          "id": 2202,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 19",
          "alias_type": "VERSION",
          "id": 2203,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 20",
          "alias_type": "VERSION",
          "id": 2204,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 21",
          "alias_type": "VERSION",
          "id": 6,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 5",
          "alias_type": "VERSION",
          "id": 2189,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 6",
          "alias_type": "VERSION",
          "id": 2190,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 7",
          "alias_type": "VERSION",
          "id": 2191,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 8",
          "alias_type": "VERSION",
          "id": 3,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 9",
          "alias_type": "VERSION",
          "id": 2193,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 1.0",
          "alias_type": "VERSION",
          "id": 11,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 1.1",
          "alias_type": "VERSION",
          "id": 12,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 1.2",
          "alias_type": "VERSION",
          "id": 13,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 1.3",
          "alias_type": "VERSION",
          "id": 14,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 1.4",
          "alias_type": "VERSION",
          "id": 15,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 1.5",
          "alias_type": "VERSION",
          "id": 16,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 1.6",
          "alias_type": "VERSION",
          "id": 17,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 1.7",
          "alias_type": "VERSION",
          "id": 18,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 1.8",
          "alias_type": "VERSION",
          "id": 19,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 10",
          "alias_type": "VERSION",
          "id": 2211,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 11",
          "alias_type": "VERSION",
          "id": 8,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 12",
          "alias_type": "VERSION",
          "id": 2213,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 13",
          "alias_type": "VERSION",
          "id": 2214,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 14",
          "alias_type": "VERSION",
          "id": 2215,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 15",
          "alias_type": "VERSION",
          "id": 2216,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 16",
          "alias_type": "VERSION",
          "id": 2217,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 17",
          "alias_type": "VERSION",
          "id": 9,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 18",
          "alias_type": "VERSION",
          "id": 2219,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 19",
          "alias_type": "VERSION",
          "id": 2220,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 20",
          "alias_type": "VERSION",
          "id": 2221,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 21",
          "alias_type": "VERSION",
          "id": 10,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 5",
          "alias_type": "VERSION",
          "id": 288,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 6",
          "alias_type": "VERSION",
          "id": 289,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 7",
          "alias_type": "VERSION",
          "id": 290,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 8",
          "alias_type": "VERSION",
          "id": 7,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 9",
          "alias_type": "VERSION",
          "id": 2210,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java11",
          "alias_type": "VERSION",
          "id": 2976,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java17",
          "alias_type": "VERSION",
          "id": 2977,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java21",
          "alias_type": "VERSION",
          "id": 2978,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java8",
          "alias_type": "VERSION",
          "id": 2971,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "OpenJDK 11",
          "alias_type": "VERSION",
          "id": 21,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "OpenJDK 17",
          "alias_type": "VERSION",
          "id": 22,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "OpenJDK 21",
          "alias_type": "VERSION",
          "id": 23,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "OpenJDK 8",
          "alias_type": "VERSION",
          "id": 20,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java 11",
          "alias_type": "VERSION",
          "id": 1512,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java 17",
          "alias_type": "VERSION",
          "id": 1513,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java 21",
          "alias_type": "VERSION",
          "id": 1514,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java 4",
          "alias_type": "VERSION",
          "id": 1496,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java 5",
          "alias_type": "VERSION",
          "id": 1497,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java 6",
          "alias_type": "VERSION",
          "id": 1498,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java 7",
          "alias_type": "VERSION",
          "id": 1499,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java 8",
          "alias_type": "VERSION",
          "id": 1500,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java lts",
          "alias_type": "VERSION",
          "id": 3122,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java-11",
          "alias_type": "VERSION",
          "id": 1515,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java-17",
          "alias_type": "VERSION",
          "id": 1516,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java-21",
          "alias_type": "VERSION",
          "id": 1517,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java-4",
          "alias_type": "VERSION",
          "id": 1501,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java-5",
          "alias_type": "VERSION",
          "id": 1502,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java-6",
          "alias_type": "VERSION",
          "id": 1503,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java-7",
          "alias_type": "VERSION",
          "id": 1504,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java-8",
          "alias_type": "VERSION",
          "id": 1505,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java11",
          "alias_type": "VERSION",
          "id": 1506,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java17",
          "alias_type": "VERSION",
          "id": 1507,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java21",
          "alias_type": "VERSION",
          "id": 1508,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java4",
          "alias_type": "VERSION",
          "id": 1482,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java5",
          "alias_type": "VERSION",
          "id": 1483,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java6",
          "alias_type": "VERSION",
          "id": 1484,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java7",
          "alias_type": "VERSION",
          "id": 1485,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java8",
          "alias_type": "VERSION",
          "id": 1486,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk 11",
          "alias_type": "VERSION",
          "id": 1509,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk 17",
          "alias_type": "VERSION",
          "id": 1510,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk 21",
          "alias_type": "VERSION",
          "id": 1511,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk 4",
          "alias_type": "VERSION",
          "id": 1487,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk 5",
          "alias_type": "VERSION",
          "id": 1488,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk 6",
          "alias_type": "VERSION",
          "id": 1489,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk 7",
          "alias_type": "VERSION",
          "id": 1490,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk 8",
          "alias_type": "VERSION",
          "id": 1491,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk11",
          "alias_type": "VERSION",
          "id": 1492,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk17",
          "alias_type": "VERSION",
          "id": 1493,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk21",
          "alias_type": "VERSION",
          "id": 1494,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk4",
          "alias_type": "VERSION",
          "id": 1477,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk5",
          "alias_type": "VERSION",
          "id": 1478,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk6",
          "alias_type": "VERSION",
          "id": 1479,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk7",
          "alias_type": "VERSION",
          "id": 1480,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk8",
          "alias_type": "VERSION",
          "id": 1481,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jvm21",
          "alias_type": "VERSION",
          "id": 1495,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 6,
        "display_name": "Java",
        "id": 1,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LANGUAGE",
        "slug": "java",
        "sub_category_id": 96,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Java Language and JVM",
            "id": 279,
            "rationale": "Core Java implementation skills used to build backend service logic, utilities, and internal abstractions. This is the primary coding surface for the role and includes language features plus JVM behavior that affect correctness and maintainability.",
            "slug": "java-language-and-jvm",
            "source": "db"
          },
          "input_skill": "Java",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Java Backend Developer",
              "id": 79,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "java-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Kotlin Backend Developer",
              "id": 84,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "kotlin-server-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Scala Backend Developer",
              "id": 87,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "scala-backend-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Kotlin and Java",
            "id": 161,
            "rationale": "Primary implementation languages for Android app features, platform integration, and client-side business logic. Android engineers use these languages to build screens, state flows, service adapters, and device-aware behavior.",
            "slug": "kotlin-and-java",
            "source": "db"
          },
          "input_skill": "Java",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Android Developer",
              "id": 4,
              "rationale": null,
              "role_archetype": null,
              "slug": "android-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Native Mobile Languages",
            "id": 274,
            "rationale": "Primary implementation languages used to build platform-specific app features, UI logic, and device integrations. This is the core coding surface for native mobile work on one platform.",
            "slug": "native-mobile-languages",
            "source": "db"
          },
          "input_skill": "Java",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Native Mobile Developer",
              "id": 75,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "native-mobile-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Pega Programming Languages \u0026 DSLs",
            "id": 267,
            "rationale": "Programming languages and domain-specific languages used in Pega development.",
            "slug": "pega-programming-languages-dsls",
            "source": "db"
          },
          "input_skill": "Java",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Pega Developer",
              "id": 24,
              "rationale": null,
              "role_archetype": null,
              "slug": "pega-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Programming Languages",
            "id": 1,
            "rationale": "Primary implementation languages used to build client and server feature code. Full stack engineers need enough fluency to move across layers and implement product behavior end to end.",
            "slug": "programming-languages",
            "source": "db"
          },
          "input_skill": "Java",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Backend Developer",
              "id": 1,
              "rationale": null,
              "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
              "slug": "backend-engineer",
              "source": "db"
            },
            {
              "display_name": "Fullstack Developer",
              "id": 15,
              "rationale": null,
              "role_archetype": null,
              "slug": "full-stack-engineer",
              "source": "db"
            },
            {
              "display_name": "Fullstack Developer",
              "id": 435,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "fullstack-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Programming Languages \u0026 DSLs",
            "id": 475,
            "rationale": "Oversee and guide the selection and effective use of programming and domain\u2010specific languages in software projects.",
            "slug": "programming-languages-dsls",
            "source": "db"
          },
          "input_skill": "Java",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Engineering Manager",
              "id": 121,
              "rationale": null,
              "role_archetype": null,
              "slug": "engineering-manager",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Programming Languages for Data Work",
            "id": 21,
            "rationale": "Languages used to implement data pipelines, transformations, and operational glue. This is the primary coding surface for building ingestion, enrichment, and automation logic in data engineering.",
            "slug": "programming-languages-for-data-work",
            "source": "db"
          },
          "input_skill": "Java",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Data Engineer",
              "id": 2,
              "rationale": null,
              "role_archetype": null,
              "slug": "data-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Java",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [],
      "input_skill": "APK",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Security Tools",
          "skill_nature": "TOOL",
          "sub_category": "general",
          "typical_lifespan": "SHORT_LIVED",
          "version_strategy": "VERSIONED",
          "volatility": "FAST"
        },
        "enrichment": null,
        "keep_log": [],
        "locked_dimensions": [],
        "merge_log": [],
        "placed": null,
        "relationships": null,
        "skill_id": "apk",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [],
      "input_skill": "Reverse Engineering",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Security Tools",
          "skill_nature": "PRACTICE",
          "sub_category": "general",
          "typical_lifespan": "MULTI_YEAR",
          "version_strategy": "UNVERSIONED",
          "volatility": "MEDIUM"
        },
        "enrichment": null,
        "keep_log": [],
        "locked_dimensions": [],
        "merge_log": [],
        "placed": null,
        "relationships": null,
        "skill_id": "reverse-engineering",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [],
      "input_skill": "Malware Analysis",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Security Tools",
          "skill_nature": "PRACTICE",
          "sub_category": "general",
          "typical_lifespan": "MULTI_YEAR",
          "version_strategy": "UNVERSIONED",
          "volatility": "MEDIUM"
        },
        "enrichment": null,
        "keep_log": [],
        "locked_dimensions": [],
        "merge_log": [],
        "placed": null,
        "relationships": null,
        "skill_id": "malware-analysis",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [],
      "input_skill": "Assembly",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Programming Languages",
          "skill_nature": "LANGUAGE",
          "sub_category": "general",
          "typical_lifespan": "EVERGREEN",
          "version_strategy": "UNVERSIONED",
          "volatility": "STABLE"
        },
        "enrichment": null,
        "keep_log": [],
        "locked_dimensions": [],
        "merge_log": [],
        "placed": null,
        "relationships": null,
        "skill_id": "assembly",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "static analysis",
          "alias_type": "CANONICAL",
          "id": 684,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 2,
        "display_name": "static analysis",
        "id": 368,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "static-analysis",
        "sub_category_id": 224,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Forensics and Malware Analysis",
            "id": 68,
            "rationale": "Tools and techniques for investigating compromised hosts, malicious binaries, and attacker tradecraft. This dimension is distinct because it centers on post-compromise analysis rather than prevention or monitoring.",
            "slug": "forensics-and-malware-analysis",
            "source": "db"
          },
          "input_skill": "Static Analysis",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Cyber Security Engineer",
              "id": 5,
              "rationale": null,
              "role_archetype": null,
              "slug": "cybersecurity-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Static Analysis",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "dynamic analysis",
          "alias_type": "CANONICAL",
          "id": 685,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 2,
        "display_name": "dynamic analysis",
        "id": 369,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "dynamic-analysis",
        "sub_category_id": 212,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Forensics and Malware Analysis",
            "id": 68,
            "rationale": "Tools and techniques for investigating compromised hosts, malicious binaries, and attacker tradecraft. This dimension is distinct because it centers on post-compromise analysis rather than prevention or monitoring.",
            "slug": "forensics-and-malware-analysis",
            "source": "db"
          },
          "input_skill": "Dynamic Analysis",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Cyber Security Engineer",
              "id": 5,
              "rationale": null,
              "role_archetype": null,
              "slug": "cybersecurity-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Dynamic Analysis",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "OWASP Top 10",
          "alias_type": "CANONICAL",
          "id": 217,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "owasp top 10 2004",
          "alias_type": "VERSION",
          "id": 3427,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "owasp top 10 2007",
          "alias_type": "VERSION",
          "id": 5186,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "owasp top 10 2010",
          "alias_type": "VERSION",
          "id": 3428,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "owasp top 10 2013",
          "alias_type": "VERSION",
          "id": 3429,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "owasp top 10 2017",
          "alias_type": "VERSION",
          "id": 3430,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "owasp top 10 2021",
          "alias_type": "VERSION",
          "id": 3431,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "owasp top 10 2023",
          "alias_type": "VERSION",
          "id": 5190,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "owasp top 10 2024",
          "alias_type": "VERSION",
          "id": 3432,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "owasp-top-10-2004",
          "alias_type": "VERSION",
          "id": 3433,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "owasp-top-10-2007",
          "alias_type": "VERSION",
          "id": 5192,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "owasp-top-10-2010",
          "alias_type": "VERSION",
          "id": 3434,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "owasp-top-10-2013",
          "alias_type": "VERSION",
          "id": 3435,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "owasp-top-10-2017",
          "alias_type": "VERSION",
          "id": 3436,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "owasp-top-10-2021",
          "alias_type": "VERSION",
          "id": 3437,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "owasp-top-10-2023",
          "alias_type": "VERSION",
          "id": 5196,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "owasp-top-10-2024",
          "alias_type": "VERSION",
          "id": 3438,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 12,
        "display_name": "OWASP Top 10",
        "id": 76,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "STANDARD",
        "slug": "owasp-top-10",
        "sub_category_id": 269,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Backend Security Hardening",
            "id": 16,
            "rationale": "Security practices specific to server-side application code and service exposure. Focuses on protecting backend endpoints, secrets, and data handling from common application-layer threats.",
            "slug": "backend-security-hardening",
            "source": "db"
          },
          "input_skill": "OWASP Top 10",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": ".NET Backend Developer",
              "id": 83,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "dotnet-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Backend Developer",
              "id": 1,
              "rationale": null,
              "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
              "slug": "backend-engineer",
              "source": "db"
            },
            {
              "display_name": "Java Backend Developer",
              "id": 79,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "java-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Kotlin Backend Developer",
              "id": 84,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "kotlin-server-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Node.js Backend Developer",
              "id": 82,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "node-backend-developer",
              "source": "db"
            },
            {
              "display_name": "PHP Backend Developer",
              "id": 86,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "php-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Python Backend Developer",
              "id": 80,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "python-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Ruby Backend Developer",
              "id": 85,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "ruby-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Scala Backend Developer",
              "id": 87,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "scala-backend-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Cloud Security Governance",
            "id": 138,
            "rationale": "Platform-level security guardrails for cloud environments, including policy enforcement, posture management, and control baselines. Cloud Architects define these boundaries even when implementation is owned by security teams.",
            "slug": "cloud-security-governance",
            "source": "db"
          },
          "input_skill": "OWASP Top 10",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Cloud Architect",
              "id": 9,
              "rationale": null,
              "role_archetype": null,
              "slug": "cloud-architect",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Web Application Vulnerability Concepts",
            "id": 69,
            "rationale": "Common web exploit classes and defensive patterns used to assess application risk. This cluster is coherent because the role repeatedly reviews the same families of flaws across services and frameworks.",
            "slug": "web-application-vulnerability-concepts",
            "source": "db"
          },
          "input_skill": "OWASP Top 10",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Cyber Security Engineer",
              "id": 5,
              "rationale": null,
              "role_archetype": null,
              "slug": "cybersecurity-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "OWASP Top 10",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [],
      "input_skill": "OWASP ESAPI",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Security Tools",
          "skill_nature": "TOOL",
          "sub_category": "general",
          "typical_lifespan": "MULTI_YEAR",
          "version_strategy": "UNVERSIONED",
          "volatility": "MEDIUM"
        },
        "enrichment": null,
        "keep_log": [],
        "locked_dimensions": [],
        "merge_log": [],
        "placed": null,
        "relationships": null,
        "skill_id": "owasp-esapi",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [],
      "input_skill": "SANS Top 25",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Security Tools",
          "skill_nature": "CONCEPT",
          "sub_category": "general",
          "typical_lifespan": "MULTI_YEAR",
          "version_strategy": "UNVERSIONED",
          "volatility": "MEDIUM"
        },
        "enrichment": null,
        "keep_log": [],
        "locked_dimensions": [],
        "merge_log": [],
        "placed": null,
        "relationships": null,
        "skill_id": "sans-top-25",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [],
      "input_skill": "WASC",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Security Tools",
          "skill_nature": "CONCEPT",
          "sub_category": "general",
          "typical_lifespan": "MULTI_YEAR",
          "version_strategy": "UNVERSIONED",
          "volatility": "MEDIUM"
        },
        "enrichment": null,
        "keep_log": [],
        "locked_dimensions": [],
        "merge_log": [],
        "placed": null,
        "relationships": null,
        "skill_id": "wasc",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "IDA Pro",
          "alias_type": "CANONICAL",
          "id": 680,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 13,
        "display_name": "IDA Pro",
        "id": 364,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "TOOL",
        "slug": "ida-pro",
        "sub_category_id": 293,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Forensics and Malware Analysis",
            "id": 68,
            "rationale": "Tools and techniques for investigating compromised hosts, malicious binaries, and attacker tradecraft. This dimension is distinct because it centers on post-compromise analysis rather than prevention or monitoring.",
            "slug": "forensics-and-malware-analysis",
            "source": "db"
          },
          "input_skill": "IDA Pro",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Cyber Security Engineer",
              "id": 5,
              "rationale": null,
              "role_archetype": null,
              "slug": "cybersecurity-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "IDA Pro",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [],
      "input_skill": "OllyDbg",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Security Tools",
          "skill_nature": "TOOL",
          "sub_category": "general",
          "typical_lifespan": "SHORT_LIVED",
          "version_strategy": "VERSIONED",
          "volatility": "FAST"
        },
        "enrichment": null,
        "keep_log": [],
        "locked_dimensions": [],
        "merge_log": [],
        "placed": null,
        "relationships": null,
        "skill_id": "ollydbg",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    }
  ],
  "unmatched_skills": [
    "APK",
    "Reverse Engineering",
    "Malware Analysis",
    "Assembly",
    "OWASP ESAPI",
    "SANS Top 25",
    "WASC",
    "OllyDbg"
  ]
}
API 3 — final-role-output
{
  "chosen_role": {
    "display_name": "Incident Response / Forensics Analyst",
    "id": 192,
    "rationale": "Domain=Security; The JD is centered on malware analysis, reverse engineering, and analyzing malicious APKs/binaries, which best matches an Incident Response / Forensics Analyst rather than a general Android developer.",
    "role_archetype": null,
    "slug": "incident-response-forensics-analyst",
    "source": "db"
  },
  "chosen_role_resolution": "in_db",
  "final_input_skills": [
    {
      "skill": "Android",
      "tag": "in_db"
    },
    {
      "skill": "Java",
      "tag": "in_db"
    },
    {
      "skill": "APK",
      "tag": "new"
    },
    {
      "skill": "Reverse Engineering",
      "tag": "new"
    },
    {
      "skill": "Malware Analysis",
      "tag": "new"
    },
    {
      "skill": "Assembly",
      "tag": "new"
    },
    {
      "skill": "Static Analysis",
      "tag": "in_db"
    },
    {
      "skill": "Dynamic Analysis",
      "tag": "in_db"
    },
    {
      "skill": "OWASP Top 10",
      "tag": "in_db"
    },
    {
      "skill": "OWASP ESAPI",
      "tag": "new"
    },
    {
      "skill": "SANS Top 25",
      "tag": "new"
    },
    {
      "skill": "WASC",
      "tag": "new"
    },
    {
      "skill": "IDA Pro",
      "tag": "in_db"
    },
    {
      "skill": "OllyDbg",
      "tag": "new"
    }
  ],
  "llm_cost_api1_usd": null,
  "llm_cost_api2_usd": null,
  "llm_cost_api3_usd": null,
  "llm_cost_total_usd": null,
  "persistence": {
    "items": [
      {
        "chosen_role_id": 192,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "React Frontend Development",
          "id": 96,
          "rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
          "slug": "d_init_01",
          "source": "db"
        },
        "dimension_id": 96,
        "input_skill": "Android",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [],
        "skill_dimension_saved": true,
        "skill_id": 1595,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 192,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Java Language and JVM",
          "id": 279,
          "rationale": "Core Java implementation skills used to build backend service logic, utilities, and internal abstractions. This is the primary coding surface for the role and includes language features plus JVM behavior that affect correctness and maintainability.",
          "slug": "java-language-and-jvm",
          "source": "db"
        },
        "dimension_id": 279,
        "input_skill": "Java",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Java Backend Developer",
            "id": 79,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "java-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Kotlin Backend Developer",
            "id": 84,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "kotlin-server-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Scala Backend Developer",
            "id": 87,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "scala-backend-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 192,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Kotlin and Java",
          "id": 161,
          "rationale": "Primary implementation languages for Android app features, platform integration, and client-side business logic. Android engineers use these languages to build screens, state flows, service adapters, and device-aware behavior.",
          "slug": "kotlin-and-java",
          "source": "db"
        },
        "dimension_id": 161,
        "input_skill": "Java",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Android Developer",
            "id": 4,
            "rationale": null,
            "role_archetype": null,
            "slug": "android-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 192,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Native Mobile Languages",
          "id": 274,
          "rationale": "Primary implementation languages used to build platform-specific app features, UI logic, and device integrations. This is the core coding surface for native mobile work on one platform.",
          "slug": "native-mobile-languages",
          "source": "db"
        },
        "dimension_id": 274,
        "input_skill": "Java",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Native Mobile Developer",
            "id": 75,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "native-mobile-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 192,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Pega Programming Languages \u0026 DSLs",
          "id": 267,
          "rationale": "Programming languages and domain-specific languages used in Pega development.",
          "slug": "pega-programming-languages-dsls",
          "source": "db"
        },
        "dimension_id": 267,
        "input_skill": "Java",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Pega Developer",
            "id": 24,
            "rationale": null,
            "role_archetype": null,
            "slug": "pega-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 192,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Programming Languages",
          "id": 1,
          "rationale": "Primary implementation languages used to build client and server feature code. Full stack engineers need enough fluency to move across layers and implement product behavior end to end.",
          "slug": "programming-languages",
          "source": "db"
        },
        "dimension_id": 1,
        "input_skill": "Java",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Backend Developer",
            "id": 1,
            "rationale": null,
            "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
            "slug": "backend-engineer",
            "source": "db"
          },
          {
            "display_name": "Fullstack Developer",
            "id": 15,
            "rationale": null,
            "role_archetype": null,
            "slug": "full-stack-engineer",
            "source": "db"
          },
          {
            "display_name": "Fullstack Developer",
            "id": 435,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "fullstack-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 192,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Programming Languages \u0026 DSLs",
          "id": 475,
          "rationale": "Oversee and guide the selection and effective use of programming and domain\u2010specific languages in software projects.",
          "slug": "programming-languages-dsls",
          "source": "db"
        },
        "dimension_id": 475,
        "input_skill": "Java",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Engineering Manager",
            "id": 121,
            "rationale": null,
            "role_archetype": null,
            "slug": "engineering-manager",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 192,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Programming Languages for Data Work",
          "id": 21,
          "rationale": "Languages used to implement data pipelines, transformations, and operational glue. This is the primary coding surface for building ingestion, enrichment, and automation logic in data engineering.",
          "slug": "programming-languages-for-data-work",
          "source": "db"
        },
        "dimension_id": 21,
        "input_skill": "Java",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Data Engineer",
            "id": 2,
            "rationale": null,
            "role_archetype": null,
            "slug": "data-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 192,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Forensics and Malware Analysis",
          "id": 68,
          "rationale": "Tools and techniques for investigating compromised hosts, malicious binaries, and attacker tradecraft. This dimension is distinct because it centers on post-compromise analysis rather than prevention or monitoring.",
          "slug": "forensics-and-malware-analysis",
          "source": "db"
        },
        "dimension_id": 68,
        "input_skill": "Static Analysis",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Cyber Security Engineer",
            "id": 5,
            "rationale": null,
            "role_archetype": null,
            "slug": "cybersecurity-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 368,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 192,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Forensics and Malware Analysis",
          "id": 68,
          "rationale": "Tools and techniques for investigating compromised hosts, malicious binaries, and attacker tradecraft. This dimension is distinct because it centers on post-compromise analysis rather than prevention or monitoring.",
          "slug": "forensics-and-malware-analysis",
          "source": "db"
        },
        "dimension_id": 68,
        "input_skill": "Dynamic Analysis",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Cyber Security Engineer",
            "id": 5,
            "rationale": null,
            "role_archetype": null,
            "slug": "cybersecurity-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 369,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 192,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Backend Security Hardening",
          "id": 16,
          "rationale": "Security practices specific to server-side application code and service exposure. Focuses on protecting backend endpoints, secrets, and data handling from common application-layer threats.",
          "slug": "backend-security-hardening",
          "source": "db"
        },
        "dimension_id": 16,
        "input_skill": "OWASP Top 10",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": ".NET Backend Developer",
            "id": 83,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "dotnet-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Backend Developer",
            "id": 1,
            "rationale": null,
            "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
            "slug": "backend-engineer",
            "source": "db"
          },
          {
            "display_name": "Java Backend Developer",
            "id": 79,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "java-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Kotlin Backend Developer",
            "id": 84,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "kotlin-server-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Node.js Backend Developer",
            "id": 82,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "node-backend-developer",
            "source": "db"
          },
          {
            "display_name": "PHP Backend Developer",
            "id": 86,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "php-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Python Backend Developer",
            "id": 80,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "python-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Ruby Backend Developer",
            "id": 85,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "ruby-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Scala Backend Developer",
            "id": 87,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "scala-backend-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 76,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 192,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Cloud Security Governance",
          "id": 138,
          "rationale": "Platform-level security guardrails for cloud environments, including policy enforcement, posture management, and control baselines. Cloud Architects define these boundaries even when implementation is owned by security teams.",
          "slug": "cloud-security-governance",
          "source": "db"
        },
        "dimension_id": 138,
        "input_skill": "OWASP Top 10",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Cloud Architect",
            "id": 9,
            "rationale": null,
            "role_archetype": null,
            "slug": "cloud-architect",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 76,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 192,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Web Application Vulnerability Concepts",
          "id": 69,
          "rationale": "Common web exploit classes and defensive patterns used to assess application risk. This cluster is coherent because the role repeatedly reviews the same families of flaws across services and frameworks.",
          "slug": "web-application-vulnerability-concepts",
          "source": "db"
        },
        "dimension_id": 69,
        "input_skill": "OWASP Top 10",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Cyber Security Engineer",
            "id": 5,
            "rationale": null,
            "role_archetype": null,
            "slug": "cybersecurity-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 76,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 192,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Forensics and Malware Analysis",
          "id": 68,
          "rationale": "Tools and techniques for investigating compromised hosts, malicious binaries, and attacker tradecraft. This dimension is distinct because it centers on post-compromise analysis rather than prevention or monitoring.",
          "slug": "forensics-and-malware-analysis",
          "source": "db"
        },
        "dimension_id": 68,
        "input_skill": "IDA Pro",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Cyber Security Engineer",
            "id": 5,
            "rationale": null,
            "role_archetype": null,
            "slug": "cybersecurity-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 364,
        "skill_tag": "in_db",
        "skipped_reason": null
      }
    ],
    "new_skills_created": 0,
    "role_dimension_saved": 0,
    "skill_dimension_saved": 0,
    "skipped": 0
  },
  "planner_output": null,
  "run_id": "8722a59d-0e2d-48ba-b140-aedb60e80258"
}