Talent Angels LFX Mentorship - Onboarding & Setup Guide
Project: Talent Angels @ Learning Tokens: AI Graph Agents for Human Skills Empowerment
Mentee: Aman Sarraf
Mentorship: LF Decentralized Trust, 2026 Cohort
1. What This Project Actually Is
One-liner: Build AI agents that query knowledge graphs of global skills/occupations taxonomies, so humans can discover learning paths between any two skills or jobs.
The problem: Skills, tasks, and occupations are scattered across incompatible taxonomies (ESCO, O*NET, SFIA, BLS, Lightcast). No unified way exists for a person to ask "What skills do I need to go from Data Analyst to ML Engineer?" and get a reasoned answer across these databases.
Your solution: A suite of 3 AI Graph Agents that build and traverse knowledge graphs from these taxonomies:
| Agent | What it does |
|---|---|
| Locator | Finds the exact position of a skill/task/occupation within a taxonomy |
| Connector | Lists immediate neighbors (preceding/succeeding nodes) of a located item |
| Pathfinder | Traces all possible routes between two nodes, enabling learning journey discovery |
A future 4th agent (Evaluator) would rank paths by relevance and alignment with a user's profile.
Architecture pattern: GraphRAG (Graph-based Retrieval-Augmented Generation) - the agents use knowledge graphs as their retrieval layer instead of plain vector search.
This extends the existing Learning Tokens lab, which tokenizes learning achievements on-chain. Your agents provide the skill metadata layer that makes those tokens meaningful.
2. The Existing Codebase (Learning Tokens)
The repo at hyperledger-labs/learning-tokens has these components:
| Component | Tech | Purpose |
|---|---|---|
src/learning-token/ |
Solidity + Hardhat | Smart contracts for minting Learning Tokens (attendance, score, help tokens) |
src/learning-token-backend/ |
NestJS + TypeORM + PostgreSQL | REST API backend for managing institutions, instructors, courses, learners |
src/learning-token-dashboard/ |
React + Vite + Tailwind | Admin dashboard for the token system |
src/quorum-test-network/ |
Docker + Besu | Local blockchain test network |
npm_package ltsdk/ |
TypeScript | SDK for integrating with LMS platforms (Moodle, Canvas, Open edX) |
LMS/ |
Various | Connectors for Moodle, Canvas, Google Classroom, Open edX |
Your work is largely net-new. You're building the AI agent layer, not modifying the existing smart contract or dashboard code. But you need to understand the Learning Tokens domain model (institutions > instructors > courses > skills > learners) since your agents will eventually feed skill metadata into this system.
3. The 5 Taxonomies You'll Work With
| Taxonomy | Source | What it covers | Access |
|---|---|---|---|
| ESCO | European Commission | Skills, competences, qualifications, occupations for EU labor market | Free API |
| O*NET | US Dept of Labor | 1,000+ occupations with detailed skill/task breakdowns | Free API + DB downloads |
| SFIA | SFIA Foundation | Digital/IT skills framework (7 levels of responsibility) | Website - may need registration |
| BLS OOH | Bureau of Labor Statistics | Career outlook, salary, growth projections per occupation | Free API |
| Lightcast | Lightcast (formerly EMSI) | Crowd-sourced open skills taxonomy | Open Skills API - may need API key |
Start with O*NET and ESCO - they have the richest, most accessible APIs and well-defined skill-occupation relationships that naturally form graphs.
4. Local Machine Setup (macOS)
4.1 Core Tools
# Homebrew (if not installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Python 3.11+
brew install python@3.11
python3 --version
# Node.js 18+ (for existing Learning Tokens codebase)
brew install node@18
# Git (likely already installed)
brew install git
# Docker Desktop (for Neo4j and the existing blockchain test network)
brew install --cask docker
4.2 Graph Database - Neo4j
This is the core of your project. Install locally to experiment:
# Option A: Docker (recommended - cleanest)
docker run -d \
--name neo4j \
-p 7474:7474 -p 7687:7687 \
-e NEO4J_AUTH=neo4j/password123 \
-e NEO4J_PLUGINS='["apoc","graph-data-science"]' \
neo4j:5
# Option B: Homebrew
brew install neo4j
neo4j start
After starting, open http://localhost:7474 to access the Neo4j Browser. Login with neo4j/password123 (or whatever you set).
4.3 Python Environment
# Create project directory
mkdir -p ~/Developer/talent-angels && cd ~/Developer/talent-angels
# Virtual environment
python3 -m venv venv
source venv/bin/activate
# Core dependencies you'll need
pip install \
langchain langchain-anthropic langchain-community \
neo4j \
anthropic \
requests httpx \
python-dotenv \
pydantic \
jupyter notebook
4.4 Claude Code (Your AI Coding Tool)
# Install Claude Code
npm install -g @anthropic-ai/claude-code
# Authenticate
claude login
# Start using it in your project
cd ~/Developer/talent-angels
claude
How to use Claude Code effectively for this project:
Use it to scaffold boilerplate (Neo4j connection classes, API client wrappers, agent tool definitions)
Have it write Cypher queries by describing the graph pattern you want
Ask it to review your agent prompts and suggest improvements
Use
/initto create a CLAUDE.md file in your repo so Claude Code understands your project context
4.5 Clone the Existing Repo
cd ~/Developer
git clone https://github.com/hyperledger-labs/learning-tokens.git
cd learning-tokens
# Browse around to understand the structure
5. Key Concepts to Learn Before Starting
5.1 Knowledge Graphs & Neo4j (Weeks 1-2 of mentorship)
What to learn:
Property graph model (nodes, relationships, properties)
Cypher query language (Neo4j's SQL-equivalent)
Graph traversal patterns (shortest path, variable-length paths)
APOC library (utility procedures for Neo4j)
Hands-on exercises:
-- Create a tiny skills graph to get familiar
CREATE (py:Skill {name: "Python", category: "Programming"})
CREATE (ml:Skill {name: "Machine Learning", category: "AI"})
CREATE (stats:Skill {name: "Statistics", category: "Math"})
CREATE (da:Occupation {name: "Data Analyst"})
CREATE (mle:Occupation {name: "ML Engineer"})
CREATE (da)-[:REQUIRES]->(py)
CREATE (da)-[:REQUIRES]->(stats)
CREATE (mle)-[:REQUIRES]->(py)
CREATE (mle)-[:REQUIRES]->(ml)
CREATE (ml)-[:PREREQUISITE]->(stats)
-- Find path from Data Analyst to ML Engineer
MATCH path = shortestPath(
(a:Occupation {name: "Data Analyst"})-[*]-(b:Occupation {name: "ML Engineer"})
)
RETURN path
Resources:
Neo4j GraphAcademy - free courses, start with "Neo4j Fundamentals" and "Cypher Fundamentals"
Neo4j + LLM course - directly relevant
5.2 Agentic AI Design (Weeks 3-4)
What to learn:
Tool use / function calling with LLMs
System prompt design (persona, instructions, guardrails)
Agent orchestration patterns (routing, chaining, parallel)
LangChain/LangGraph basics
Key pattern for this project:
User Query
-> LLM interprets intent (which agent? which taxonomy?)
-> Agent selects tools (Cypher query generator, API caller, graph traverser)
-> Tool executes against Neo4j / taxonomy APIs
-> LLM synthesizes results into natural language
Resources:
LangGraph docs - for multi-agent orchestration
Building Effective Agents - Anthropic's guide
5.3 GraphRAG
Regular RAG retrieves text chunks from a vector database. GraphRAG retrieves structured relationships from a knowledge graph. For your project:
Nodes = skills, tasks, occupations, competencies
Edges = REQUIRES, ENABLES, PART_OF, PREREQUISITE, RELATED_TO
Queries = graph traversals (not vector similarity searches)
Resources:
Neo4j GraphRAG for Python - official library
Microsoft's GraphRAG paper - foundational reading
6. Pre-Mentorship Preparation Plan
Do these before or during the first 2 weeks to hit the ground running:
Week -2 to -1 (Before start)
| Task | Time | What to do |
|---|---|---|
| Set up local env | 2 hrs | Install everything from Section 4 |
| Neo4j basics | 4 hrs | Complete Neo4j Fundamentals on GraphAcademy |
| Cypher basics | 3 hrs | Complete Cypher Fundamentals on GraphAcademy |
| Read O*NET docs | 2 hrs | Understand the O*NET data structure |
| Read ESCO docs | 2 hrs | Explore the ESCO API |
| Clone & explore | 1 hr | Clone learning-tokens repo, read through the backend modules |
Week 1 (First week of mentorship)
| Task | Time | What to do |
|---|---|---|
| Ingest O*NET into Neo4j | 4 hrs | Download O*NET database, write a Python script to load occupations + skills as nodes and relationships as edges |
| First Cypher queries | 2 hrs | Write queries that find skills for an occupation, occupations for a skill, paths between occupations |
| Anthropic tool use | 3 hrs | Build a simple agent that takes a natural language query and generates a Cypher query |
| Team sync | 1 hr | Meet co-mentees, align on who does what |
7. Starter Project: Build a Minimal Locator Agent
Here's a concrete mini-project to validate your setup and build muscle memory:
# talent_angels/locator.py
"""Minimal Locator agent that finds skills/occupations in a Neo4j graph."""
import anthropic
from neo4j import GraphDatabase
import json
# Neo4j connection
driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "password123"))
# Define the tool for Claude
tools = [
{
"name": "search_graph",
"description": "Search the skills/occupations knowledge graph using a Cypher query",
"input_schema": {
"type": "object",
"properties": {
"cypher_query": {
"type": "string",
"description": "A Neo4j Cypher query to execute against the skills graph"
}
},
"required": ["cypher_query"]
}
}
]
def run_cypher(query: str) -> list:
with driver.session() as session:
result = session.run(query)
return [record.data() for record in result]
def chat(user_message: str):
client = anthropic.Anthropic()
messages = [{"role": "user", "content": user_message}]
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
system="""You are a Locator agent for the Talent Angels system.
You help users find skills, tasks, and occupations in a knowledge graph.
The graph has :Skill and :Occupation nodes connected by :REQUIRES relationships.
Generate Cypher queries to answer user questions about skills and occupations.""",
tools=tools,
messages=messages,
)
# Handle tool use
while response.stop_reason == "tool_use":
tool_block = next(b for b in response.content if b.type == "tool_use")
result = run_cypher(tool_block.input["cypher_query"])
messages.append({"role": "assistant", "content": response.content})
messages.append({
"role": "user",
"content": [{"type": "tool_result", "tool_use_id": tool_block.id, "content": json.dumps(result)}]
})
response = client.messages.create(
model="claude-sonnet-4-20250514", max_tokens=1024,
system="You are a Locator agent...", # same system prompt
tools=tools, messages=messages,
)
return response.content[0].text
if __name__ == "__main__":
print(chat("What skills does a Data Scientist need?"))
This is ~60 lines and exercises: Neo4j connection, Anthropic tool use, Cypher generation, and the Locator agent pattern. Extend it to become the real thing.
8. How You'll Use Claude Code Day-to-Day
# In your project directory
cd ~/Developer/talent-angels
claude
# Example prompts:
# "Write a Python script to download O*NET occupation data and load it into Neo4j"
# "Create a Cypher query that finds all paths between two skills up to 4 hops"
# "Design the system prompt for the Connector agent"
# "Review my agent code and suggest improvements for error handling"
# "Write tests for the Locator agent's Cypher generation"
Tips for AI-assisted development on this project:
Start each session with context: "I'm building AI graph agents for skill taxonomy querying. Here's my current code..."
Use Claude Code to write Cypher queries - describe the pattern in English, let it generate the query
Have it scaffold new agent classes following the pattern of your first working agent
Use it for prompt engineering - iterate on system prompts for each agent type
9. Mentorship Timeline Mapped to Deliverables
| Weeks | Phase | Your focus |
|---|---|---|
| 1-2 | Knowledge Graphs | Neo4j setup, data modeling, Cypher fluency |
| 3-6 | Purpose & Scope | Define use cases, user needs, success criteria with mentors |
| 7-8 | System Prompt Design | Design prompts for Locator, Connector, Pathfinder agents |
| 9-10 | Choose LLM + 1st Meetup | Benchmark models, select base model, present progress |
| 11-13 | Tools & Integrations | Build taxonomy API clients, Neo4j tools, agent-as-tool patterns |
| 14-16 | Memory System | Add conversation memory, vector storage for taxonomy data |
| 17-19 | Orchestration + 2nd Meetup | Multi-agent routing, error handling, agent-to-agent communication |
| 20-22 | User Interface | Chat interface or webapp for interacting with agents |
| 23-25 | Testing & Events | Unit tests, quality metrics, iteration |
| 26 | 3rd Meetup | Final presentation |
10. Quick Reference: Key Links
| Resource | URL |
|---|---|
| Project Issue | https://github.com/LF-Decentralized-Trust-Mentorships/mentorship-program/issues/80 |
| Learning Tokens Repo | https://github.com/hyperledger-labs/learning-tokens |
| Neo4j GraphAcademy | https://graphacademy.neo4j.com |
| O*NET API | https://www.onetcenter.org/developers.html |
| ESCO API | https://esco.ec.europa.eu/en/use-esco/statistical-data-and-api |
| Anthropic Tool Use | https://docs.anthropic.com/en/docs/build-with-claude/tool-use/overview |
| LangGraph Docs | https://langchain-ai.github.io/langgraph |
| Mentor (Alfonso) | alfonsogovela@me.com |
| Mentor (Alberto) | alberto@danil.ai |



