docs: align persona-template skill workflow

This commit is contained in:
wassname
2026-06-25 14:08:19 +08:00
parent 8b99b2dca0
commit 9e73d9fa46
2 changed files with 40 additions and 18 deletions
@@ -5,39 +5,58 @@ description: "Use this repo to choose, validate, and export persona templates an
# Persona Template Library # Persona Template Library
Use this skill when working inside this repo on persona-template selection, Use this skill when working inside this repo to choose persona templates, write
persona-pair selection, OpenRouter validation runs, or dataset export. mirrored persona pairs, validate scenario suffixes on OpenRouter, or export the
dataset.
## Canonical Files ## Canonical Files
- `docs/choosing_personas.md`: workflow for choosing personas and templates. - `README.qmd`: single source for README.md and GitHub Pages.
- `README.md`: quick-start workflow, headline results, and plot for readers.
- `docs/choosing_personas.md`: workflow for writing mirrored persona pairs.
- `docs/persona_prompt_prior_art.md`: annotated prior art for persona prompt - `docs/persona_prompt_prior_art.md`: annotated prior art for persona prompt
shapes used by steering repos and papers. shapes used by steering repos and papers.
- `data/template_catalog.yaml`: reusable template inventory. - `data/template_catalog.yaml`: reusable template inventory.
- `data/persona_pairs_pilot_two.jsonl`: measured pilot persona pairs. - `data/persona_pairs_pilot_two.jsonl`: measured pilot persona pairs.
- `data/persona_pairs_v2_candidates.jsonl`: candidate persona pairs. - `data/persona_pairs_v2_candidates.jsonl`: candidate persona pairs.
- `data/scenarios_*.jsonl`: candidate scenario suffixes to validate on the
target model.
- `out/stats/`: local generated stats and examples; ignored by git, so do not - `out/stats/`: local generated stats and examples; ignored by git, so do not
assume these exist in a clean checkout. assume these exist in a clean checkout.
- `scripts/validate_persona_axes_openrouter.py`: live and dry-run validator. - `scripts/validate_persona_axes_openrouter.py`: live and dry-run validator.
- `scripts/export_persona_template_stats.py`: converts validator artifacts into - `scripts/export_persona_template_stats.py`: converts validator artifacts into
examples and score tables. examples and score tables.
- `scripts/summarize_model_matrix.py`: summarizes latest model-matrix logs for
the README/Pages render.
- `scripts/build_hf_dataset.py`: builds the Hugging Face splits, including - `scripts/build_hf_dataset.py`: builds the Hugging Face splits, including
`main`, `template_pair_cells`, `persona_pairs`, `examples`, and `controls`. `main`, `template_pair_cells`, `persona_pairs`, `examples`, and `controls`.
## Workflow ## Workflow
1. Read `docs/choosing_personas.md`. Use the repo in this order:
2. Read `docs/persona_prompt_prior_art.md` when choosing new persona pairs or
template shapes from prior work. 1. Choose persona templates from the `README.md` Results Snapshot table, the
3. If the global `persona-steering` skill is available, read it too; it has the Hugging Face `main` split, or `data/template_catalog.yaml`.
longer literature notes, curation rules, and worked examples behind this 2. Choose persona pairs with `docs/choosing_personas.md`. Mirror-test each pair:
repo's shorter guide. every positive clause needs a negative counterpart that only flips the
4. Choose candidate persona pairs by mirror-testing them: each positive clause intended pole.
needs a negative counterpart that only flips the intended pole. 3. Choose scenario suffixes by validating them on the target model with
5. Choose candidate templates that bind the persona to behavior, judgment, or `scripts/validate_persona_axes_openrouter.py`. Keep suffixes that elicit the
perspective rather than pure identity. behavior mode you need: doing, judging, explaining, refusing, moral tradeoffs,
6. Run a dry-run validator command before live OpenRouter calls. or multi-turn behavior.
7. After a live run, export stats and inspect examples before trusting scores. 4. Run a dry-run validator command before live OpenRouter calls.
5. After a live run, export stats and inspect examples before trusting scores.
Read `docs/persona_prompt_prior_art.md` when choosing new persona pairs or
template shapes from prior work. If the global `persona-steering` skill is
available, read it for longer curation rules and worked examples.
For report edits, edit `README.qmd` and render both outputs:
```sh
just readme
just pages
```
The steering arithmetic matters: a direction is the average positive-minus- The steering arithmetic matters: a direction is the average positive-minus-
negative difference. Any systematic length, refusal, formality, confidence, negative difference. Any systematic length, refusal, formality, confidence,
@@ -87,5 +106,6 @@ uv run python scripts/export_persona_template_stats.py \
Refresh README tables: Refresh README tables:
```sh ```sh
just results-table just readme
just pages
``` ```
+4 -2
View File
@@ -160,10 +160,12 @@ uv run python scripts/export_persona_template_stats.py \
--out-prefix out/stats/v2_pilot_seed24 --out-prefix out/stats/v2_pilot_seed24
``` ```
Refresh the README table when the committed stats change. Refresh the rendered README and GitHub Pages site when the committed stats
change.
```sh ```sh
just results-table just readme
just pages
``` ```
## Accept Or Drop ## Accept Or Drop