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.
---
name: soultrace
description: "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](https://soultrace.app/?utm_source=skills.sh&utm_medium=referral&utm_campaign=skills) 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:
```bash
curl -X POST https://soultrace.app/api/agent \
-H "Content-Type: application/json" \
-d '{"answers": []}'
```
Response:
```json
{
"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:
```bash
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:
```json
{
"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:
1. **Start** by calling the API with `{"answers": []}`.
2. **Present** each question to the user clearly. Tell them to answer 1-7 (1=Strongly Disagree, 4=Neutral, 7=Strongly Agree).
3. **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
4. **Accumulate** answers and send ALL previous answers plus the new one each time.
5. **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
6. **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
```bash
GET https://soultrace.app/api/agent
```
Returns API metadata (version, question count, score range).
Creator's repository · soultrace-ai/soultrace-skill