
soultrace
Take a personality assessment via the SoulTrace API. Use when the user wants to take a personality test, discover their psychological archetype, understand their personality traits, or get a color-based personality profile. The API uses a 5-color psychological model (White=structure, Blue=understanding, Black=agency, Red=intensity, Green=connection) with Bayesian adaptive question selection to classify users into one of 25 archetypes. Triggers on: personality test, personality assessment, what's my personality, take a quiz, archetype test, color personality, soultrace.
"Take a personality assessment via the SoulTrace API. Use when the user wants to take a personality test, discover their psychological archetype, understand their personality traits, or get a color-based personality profile. The API uses a 5-color psychological model (White=structure, Blue=understanding, Black=agency, Red=intensity, Green=connection) with Bayesian adaptive question selection to classify users into one of 25 archetypes. Triggers on: personality test, personality assessment, what's my personality, take a quiz, archetype test, color personality, soultrace."
SoulTrace Personality Assessment
Take an adaptive personality assessment through the soultrace API. Answer 24 questions on a 1-7 Likert scale and receive your personality archetype based on a 5-color psychological model.
API Endpoint
POST https://soultrace.app/api/agent
No authentication required. Rate limited to 100 requests/hour per IP.
How It Works
The API is stateless. You pass all accumulated answers with every request, and the server replays the Bayesian inference to select the next optimal question.
Step 1: Start the test
Send an empty answers array to get the first question:
curl -X POST https://soultrace.app/api/agent \
-H "Content-Type: application/json" \
-d '{"answers": []}'
Response:
{
"status": "in_progress",
"question": {
"id": 42,
"text": "I find deep satisfaction in mastering complex systems."
},
"currentDistribution": {
"white": 0.2,
"blue": 0.2,
"black": 0.2,
"red": 0.2,
"green": 0.2
},
"entropy": 2.322,
"progress": { "answered": 0, "total": 24 }
}
Step 2: Answer questions
The user answers each question on a scale of 1-7:
- 1 = Strongly Disagree
- 4 = Neutral
- 7 = Strongly Agree
Append the answer and send all answers so far:
curl -X POST https://soultrace.app/api/agent \
-H "Content-Type: application/json" \
-d '{"answers": [{"questionId": 42, "score": 6}]}'
Keep accumulating answers. Each response gives the next question.
Step 3: Get results
After 24 answers, the response automatically returns the final result:
{
"status": "complete",
"resultId": "abc-123-def",
"resultUrl": "https://soultrace.app/en/results/abc-123-def",
"distribution": {
"white": 0.15,
"blue": 0.35,
"black": 0.25,
"red": 0.10,
"green": 0.15
},
"entropy": 1.89,
"archetype": {
"key": "blue-black",
"name": "Strategist",
"alignmentScore": 87.3,
"coreDynamic": "...",
"strengths": ["..."],
"weaknesses": ["..."]
},
"topMatches": [
{ "key": "blue-black", "name": "Strategist", "alignmentScore": 87.3 },
{ "key": "blue", "name": "Rationalist", "alignmentScore": 82.1 },
{ "key": "black-blue", "name": "Operator", "alignmentScore": 78.5 }
],
"shadowColors": [
{ "color": "red", "score": 0.10 },
{ "color": "green", "score": 0.15 }
],
"progress": { "answered": 24, "total": 24 }
}
Agent Interaction Protocol
When a user asks to take the personality test:
- Start by calling the API with
{"answers": []}. - Present each question to the user clearly. Tell them to answer 1-7 (1=Strongly Disagree, 4=Neutral, 7=Strongly Agree).
- Collect the user's numeric answer (1-7). If they give a non-numeric or descriptive answer, map it to the scale:
- "strongly disagree" / "not at all" → 1
- "disagree" / "not really" → 2
- "slightly disagree" → 3
- "neutral" / "maybe" / "sometimes" → 4
- "slightly agree" → 5
- "agree" / "yes" → 6
- "strongly agree" / "absolutely" → 7
- Accumulate answers and send ALL previous answers plus the new one each time.
- After all 24 questions, present the results with:
- Their archetype name and alignment score
- Their color distribution (show as percentages)
- Their top 3 archetype matches
- The link to their full results page
- Never skip questions or auto-answer on behalf of the user.
Score Scale
| Score | Meaning |
|---|---|
| 1 | Strongly Disagree |
| 2 | Disagree |
| 3 | Slightly Disagree |
| 4 | Neutral |
| 5 | Slightly Agree |
| 6 | Agree |
| 7 | Strongly Agree |
The 5 Colors
| Color | Drive | Essence |
|---|---|---|
| White | Structure, fairness | Order, responsibility |
| Blue | Understanding, mastery | Curiosity, precision |
| Black | Agency, achievement | Ambition, strategy |
| Red | Intensity, expression | Passion, honesty |
| Green | Connection, growth | Belonging, patience |
Rate Limits
- 100 requests per hour per IP
- Each test requires 25 requests (1 start + 24 answers)
- Maximum ~4 complete tests per hour
Error Handling
| Status | Meaning |
|---|---|
| 400 | Invalid request body or answers format |
| 429 | Rate limit exceeded (check Retry-After header) |
| 500 | Server error |
API Info
GET https://soultrace.app/api/agent
Returns API metadata (version, question count, score range).
You Might Also Like
Related Skills

subagent-driven-development
Use when executing implementation plans with independent tasks in the current session
obra
verification-before-completion
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
obra
dispatching-parallel-agents
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
obra
finishing-a-development-branch
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
obra
using-git-worktrees
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - ensures an isolated workspace exists via native tools or git worktree fallback
obra
writing-plans
Use when you have a spec or requirements for a multi-step task, before touching code
obra