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.

Skill file

Preview skill file
---
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).

Source

Creator's repository · soultrace-ai/soultrace-skill

View on GitHub

Security

Security checks in progress
Results will appear here once audits complete
What this skill can do
Reads your filesConnects to the internetRuns code on your machine
Checked by 3 independent security firms
Does it try to trick the AI?Not yet checkedPending · Gen Agent Trust Hub
Does it sneak in hidden code?Not yet checkedPending · Socket
Does it have known bugs?Not yet checkedPending · Snyk