# Persona

> >

- **Type:** Skill
- **Install:** `agentstack add skill-jazz1x-honne-persona`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [jazz1x](https://agentstack.voostack.com/s/jazz1x)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [jazz1x](https://github.com/jazz1x)
- **Source:** https://github.com/jazz1x/honne/tree/main/skills/persona
- **Website:** https://skills.sh/jazz1x/honne

## Install

```sh
agentstack add skill-jazz1x-honne-persona
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# honne — Persona Synthesis

**When invoked, execute Step 1 through Step 5 in order immediately. Do not summarize the skill or ask what the user wants — invocation itself is the request. Start by asking the Step 1 question.**

## Step 1: Locale HITL

Invoke `AskUserQuestion` tool:

- `question`: "Locale?"
- `options`: `[{"label":"ko","description":"한국어"},{"label":"en","description":"English"},{"label":"jp","description":"日本語"}]`

Set `LOCALE` from the reply. Do not use plain-text Q&A — arrow-key selection only.

## Step 2: Load and Validate

Check that persona.json exists:

```bash
bash "${CLAUDE_PLUGIN_ROOT}/scripts/honne" persona check --persona .honne/persona.json
```

- Exit 66 → tell user: "`.honne/persona.json` not found. Please run `/honne:whoami` first to generate your persona." Stop.
- Exit 0 → proceed.

Check staleness:

```bash
python3 -c "import json,datetime; d=json.load(open('.honne/persona.json')); ts=datetime.datetime.fromisoformat(d.get('generated_at','2000-01-01T00:00:00Z').replace('Z','+00:00')); print((datetime.datetime.now(datetime.timezone.utc)-ts).days)"
```
Capture stdout as `STALE_DAYS`.

If `STALE_DAYS` exceeds 7 (or the value of `HONNE_PERSONA_STALE_DAYS` if set): warn "persona.json last updated {STALE_DAYS} days ago — consider re-running `/honne:whoami`." Then continue.

## Step 3: Build Conflict Payload

Read `.honne/persona.json` in your mental context. Construct CONFLICT_PAYLOAD as a JSON object without writing to any file or using heredocs:

```
CONFLICT_PAYLOAD = {
  "locale": "",
  "antipattern": {
    "claim": "",
    "explanation": "",
    "evidence_strength": 
  }  — or null if antipattern axis is absent or claim is null,
  "signature": {
    "claim": "",
    "explanation": "",
    "evidence_strength": 
  }  — or null if signature axis is absent or claim is null,
  "supporting_axes": {
    "": {"claim": "...", "explanation": "...", "evidence_strength": }
    for each of the 5 remaining axes: lexicon, reaction, workflow, obsession, ritual
  }
}
```

Do NOT use `python3 를 실행하세요.`
- en: `Two personas generated:\n- .honne/personas/antipattern.md — {persona_antipattern.name}\n- .honne/personas/signature.md — {persona_signature.name}\n- .honne/personas/judge.md — judge\n\nRun /honne:crush  to stage a live debate.`
- jp: `ふたつのペルソナが生成されました:\n- .honne/personas/antipattern.md — {persona_antipattern.name}\n- .honne/personas/signature.md — {persona_signature.name}\n- .honne/personas/judge.md — 審判者\n\nライブ討論を行うには /honne:crush  を実行してください。`

**Case B — `conflict_present=false`, exactly one persona non-null**:

- ko: `하나의 인격만 생성되었습니다 (반대 축이 감지되지 않음):\n- .honne/personas/{slot}.md — {persona.name}\n\n/honne:crush 토론은 두 축이 모두 필요합니다. 더 많은 세션을 수집한 뒤 /honne:whoami를 재실행하세요.`
- en: `Only one persona generated (opposite axis not detected):\n- .honne/personas/{slot}.md — {persona.name}\n\n/honne:crush debate requires both axes. Collect more sessions and re-run /honne:whoami.`
- jp: `ペルソナが1つだけ生成されました (反対軸が検出されませんでした):\n- .honne/personas/{slot}.md — {persona.name}\n\n/honne:crush ディベートには両軸が必要です。さらにセッションを収集し /honne:whoami を再実行してください。`

Where `{slot}` is `antipattern` or `signature` depending on which is non-null.

**Case C — `conflict_present=false`, both personas null**:

- ko: `인격이 생성되지 않았습니다 (두 축 모두 감지되지 않음). 세션을 더 수집한 뒤 /honne:whoami를 재실행하세요.`
- en: `No personas generated (neither axis detected). Collect more sessions and re-run /honne:whoami.`
- jp: `ペルソナは生成されませんでした (両軸とも検出されず)。セッションを追加収集し /honne:whoami を再実行してください。`

**IMPORTANT**: This skill only generates files. Do not claim the persona is running, applied, or in use. Personas are independent artifacts — users invoke `/honne:crush` for live debate.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [jazz1x](https://github.com/jazz1x)
- **Source:** [jazz1x/honne](https://github.com/jazz1x/honne)
- **License:** MIT
- **Homepage:** https://skills.sh/jazz1x/honne

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-jazz1x-honne-persona
- Seller: https://agentstack.voostack.com/s/jazz1x
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
