prompt-profile 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +189 -43
- package/dist/bin.js +5025 -1182
- package/dist/prompts/map.md +73 -2
- package/dist/prompts/merge.md +18 -0
- package/dist/prompts/reduce.md +71 -4
- package/dist/prompts/translate.md +18 -4
- package/package.json +6 -3
package/README.md
CHANGED
|
@@ -1,38 +1,60 @@
|
|
|
1
1
|
# prompt-profile
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
personal profile.
|
|
3
|
+
Read your past prompts from AI coding agents (Claude Code, Codex) on your computer, analyse them
|
|
4
|
+
with the `claude` or `codex` CLI you are already logged in to, and get a personal profile report.
|
|
5
|
+
Reading, cleaning, redaction and the report happen locally; the selected, redacted prompts are sent
|
|
6
|
+
through that CLI to its model service and use your subscription quota (no API key).
|
|
5
7
|
|
|
6
|
-

|
|
7
9
|
|
|
8
10
|
[Sample HTML report](https://erictsai83.github.io/prompt-profile/sample-report.html)
|
|
9
|
-
· [Sample profile JSON](
|
|
11
|
+
· [Sample profile JSON](https://erictsai83.github.io/prompt-profile/sample-profile.json) (all sample data is hand-written and fictional;
|
|
12
|
+
every example is rendered by the current code on each change to `main`).
|
|
10
13
|
|
|
11
|
-
###
|
|
14
|
+
### Example reports
|
|
12
15
|
|
|
13
|
-
The
|
|
16
|
+
The same fictional profile, rendered two ways:
|
|
14
17
|
|
|
15
|
-
- [Full report](https://erictsai83.github.io/prompt-profile/demo/full/report.html): what you see on your own machine, with
|
|
16
|
-
|
|
18
|
+
- [Full report](https://erictsai83.github.io/prompt-profile/demo/full/report.html): what you see on your own machine, with prompt
|
|
19
|
+
quotes, suggested rewrites, project names, exact dates and fun facts.
|
|
17
20
|
- [Shareable report](https://erictsai83.github.io/prompt-profile/demo/without-personal/report.html): the same profile rendered with
|
|
18
21
|
`--exclude personal`: no quotes, rewrites or fun facts, projects shown as "Project A, B…",
|
|
19
22
|
dates by month. This is what you would post publicly.
|
|
20
23
|
|
|
21
|
-
The
|
|
24
|
+
The card never contains prompt quotes. Project names may appear in normal mode;
|
|
25
|
+
`--exclude projects` (also included in `--exclude personal`) anonymizes known project names
|
|
26
|
+
in both the report and card, including generated identity text. The full report
|
|
22
27
|
in every look (`--look`; render only, no new analysis):
|
|
23
28
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
<table>
|
|
30
|
+
<tr>
|
|
31
|
+
<td width="50%" align="center">
|
|
32
|
+
<a href="https://erictsai83.github.io/prompt-profile/demo/full/report.html"><img src="https://erictsai83.github.io/prompt-profile/demo/full/card.png" width="420" alt="Classic card"></a><br>
|
|
33
|
+
<a href="https://erictsai83.github.io/prompt-profile/demo/full/report.html">Classic</a> (default)
|
|
34
|
+
</td>
|
|
35
|
+
<td width="50%" align="center">
|
|
36
|
+
<a href="https://erictsai83.github.io/prompt-profile/demo/signal/report.html"><img src="https://erictsai83.github.io/prompt-profile/demo/signal/card.png" width="420" alt="Signal card"></a><br>
|
|
37
|
+
<a href="https://erictsai83.github.io/prompt-profile/demo/signal/report.html">Signal</a>
|
|
38
|
+
</td>
|
|
39
|
+
</tr>
|
|
40
|
+
<tr>
|
|
41
|
+
<td width="50%" align="center">
|
|
42
|
+
<a href="https://erictsai83.github.io/prompt-profile/demo/afterhours/report.html"><img src="https://erictsai83.github.io/prompt-profile/demo/afterhours/card.png" width="420" alt="Afterhours card"></a><br>
|
|
43
|
+
<a href="https://erictsai83.github.io/prompt-profile/demo/afterhours/report.html">Afterhours</a>
|
|
44
|
+
</td>
|
|
45
|
+
<td width="50%" align="center">
|
|
46
|
+
<a href="https://erictsai83.github.io/prompt-profile/demo/studio/report.html"><img src="https://erictsai83.github.io/prompt-profile/demo/studio/card.png" width="420" alt="Studio card"></a><br>
|
|
47
|
+
<a href="https://erictsai83.github.io/prompt-profile/demo/studio/report.html">Studio</a>
|
|
48
|
+
</td>
|
|
49
|
+
</tr>
|
|
50
|
+
</table>
|
|
29
51
|
|
|
30
52
|
## Quick start
|
|
31
53
|
|
|
32
54
|
1. Install [Claude Code](https://claude.com/claude-code) or [Codex](https://github.com/openai/codex)
|
|
33
55
|
and log in once (`claude`, or `codex login`). prompt-profile uses it to analyse your prompts;
|
|
34
56
|
**no API key needed**.
|
|
35
|
-
2. Run it (Node.js ≥
|
|
57
|
+
2. Run it (Node.js ≥ 24):
|
|
36
58
|
|
|
37
59
|
```bash
|
|
38
60
|
npx prompt-profile@latest
|
|
@@ -40,14 +62,34 @@ in every look (`--look`; render only, no new analysis):
|
|
|
40
62
|
|
|
41
63
|
`@latest` makes npx fetch the newest version instead of reusing one it cached earlier.
|
|
42
64
|
|
|
43
|
-
3.
|
|
44
|
-
|
|
45
|
-
|
|
65
|
+
3. Before anything is sent it shows a summary and asks `Continue?`:
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
● Range: last 3m · 2026-07-28 → 2026-10-28
|
|
69
|
+
In range: Claude Code 1,204 · Codex 311 prompts
|
|
70
|
+
1,515 prompts in 182 sessions after cleaning → 1,515 selected in 24 chunks
|
|
71
|
+
No sampling: every chunk is analysed
|
|
72
|
+
Read, cleaned and redacted on this computer; the report and analysis cache are written only here.
|
|
73
|
+
● Sent off this computer: the selected, redacted prompts go through your logged-in Claude Code CLI (claude -p) to its model service
|
|
74
|
+
No API key: uses your subscription quota, base estimate 25 calls (24 chunks + 1 final profile)
|
|
75
|
+
Intermediate merges and retries (up to 2 per call) can add calls.
|
|
76
|
+
No hard limit: add --max-calls <n> to stop after n CLI calls.
|
|
77
|
+
Free first: --dry-run writes what would be sent without calling any LLM; `prompt-profile stats` shows statistics.
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
(Illustrative numbers.) The calls use your Claude / ChatGPT subscription quota.
|
|
81
|
+
|
|
46
82
|
4. When it is done, the report opens in your browser. Everything is written to
|
|
47
83
|
`./prompt-profile-report/`.
|
|
48
84
|
|
|
49
|
-
|
|
50
|
-
|
|
85
|
+
### Look first, for free
|
|
86
|
+
|
|
87
|
+
- `npx prompt-profile@latest --dry-run` prints the same summary, then writes the exact chunks that
|
|
88
|
+
would be sent to `--out` (`chunks/*.txt`, `plan.json`) and calls no LLM. The chunks are your
|
|
89
|
+
redacted prompt text: keep them private and delete them when done.
|
|
90
|
+
- `npx prompt-profile@latest stats` shows statistics; nothing leaves your computer.
|
|
91
|
+
|
|
92
|
+
Both work without a logged-in CLI.
|
|
51
93
|
|
|
52
94
|
## Install
|
|
53
95
|
|
|
@@ -75,7 +117,7 @@ folder. Move the executable to a folder on your `PATH` to run it as `prompt-prof
|
|
|
75
117
|
|
|
76
118
|
## Requirements
|
|
77
119
|
|
|
78
|
-
- Node.js ≥
|
|
120
|
+
- Node.js ≥ 24, or the standalone executable (no Node.js needed)
|
|
79
121
|
- [Claude Code](https://claude.com/claude-code) (`claude`) or [Codex](https://github.com/openai/codex)
|
|
80
122
|
(`codex`) installed and logged in
|
|
81
123
|
- **No API key needed**: the analysis runs your own logged-in `claude -p` or `codex exec` in the
|
|
@@ -85,27 +127,48 @@ folder. Move the executable to a folder on your `PATH` to run it as `prompt-prof
|
|
|
85
127
|
|
|
86
128
|
## What you get
|
|
87
129
|
|
|
130
|
+
The CLI writes HTML, `profile.json`, and `card*.png`; it does not automatically export PDF.
|
|
131
|
+
For a static PDF, open `report.html`, select a language, then use your browser’s Print → Save
|
|
132
|
+
as PDF. Printing includes both report views in that language. The offline HTML stays interactive;
|
|
133
|
+
both formats use the same profile without another analysis call. Files in `output/pdf/` are
|
|
134
|
+
fictional development review exports, not automatic CLI outputs.
|
|
135
|
+
|
|
88
136
|
Written to `./prompt-profile-report/` (change it with `--out`):
|
|
89
137
|
|
|
90
|
-
- `report.html`: your private, single-file report that works offline:
|
|
91
|
-
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
-
|
|
100
|
-
|
|
101
|
-
|
|
138
|
+
- `report.html`: your private, single-file report that works offline, with two pages:
|
|
139
|
+
- **Who they are** (opens first): archetype, up to three observations with medium or high
|
|
140
|
+
confidence each with one of your own prompts, observed collaboration preferences, the portrait story with its quotes,
|
|
141
|
+
and fun facts
|
|
142
|
+
- **Facts & evidence**: every measurement with its source and denominator: four measured
|
|
143
|
+
habits with their definitions, tool and prompt-wording shares, a daily calendar and a
|
|
144
|
+
weekday × hour heatmap (hover or tap for the count and main projects), project chapters,
|
|
145
|
+
all traits with their quotes and how widely they are supported, the evidence for and
|
|
146
|
+
against each preference, the five dimensions and how it was measured
|
|
147
|
+
- **how you work with AI** (facts page): a capability map (plan, delegate, extend, verify,
|
|
148
|
+
ship) with the skills you used and what each does, subagent types, MCP servers, models,
|
|
149
|
+
pull requests, parallel sessions and prompt-writing habits; counted from tool metadata and
|
|
150
|
+
the skill descriptions recorded in your transcripts, never tool inputs, outputs or skill
|
|
151
|
+
arguments
|
|
152
|
+
- **how you steer the AI** (facts page): in how many of the analysed conversations with
|
|
153
|
+
follow-ups you redirected the AI's approach, and separately how often you asked it to fix a
|
|
154
|
+
broken result, with examples; one-shot requests are not counted against you
|
|
155
|
+
- **how to improve your prompts** (facts page): 2–4 suggestions, each with a real prompt of
|
|
156
|
+
yours and a suggested rewrite, plus signals such as very short
|
|
157
|
+
follow-ups, and what changed since your last report
|
|
158
|
+
- **usage during this period** (facts page only): Claude Code and Codex side by side with
|
|
159
|
+
the plan each runs on, tokens by kind, the share of each tool, months and models, and the
|
|
160
|
+
**API list-price equivalent** in USD. Detailed breakdowns stay here; the card can show a
|
|
161
|
+
compact token total and API estimate. The "Who they are" page does not show usage
|
|
102
162
|
- a language switch when there is more than one language
|
|
103
163
|
|
|
104
164
|
It shows everything by default, quotes and project folder names included. To share it, leave
|
|
105
165
|
parts out with `--exclude` (below).
|
|
106
166
|
|
|
107
167
|
- `card.png`: a 1200 × 630 share card in the default language, plus `card.<lang>.png` for each
|
|
108
|
-
other language (**omits evidence quotes**)
|
|
168
|
+
other language (**omits evidence quotes**). Includes the introduction, up to two supported
|
|
169
|
+
behaviors, prompt/conversation counts, token usage and an API estimate in USD. Missing and
|
|
170
|
+
partial pricing are labeled; `--exclude usage` removes usage from HTML and PNG.
|
|
171
|
+
`--card-hide stats` hides the card’s measured summary
|
|
109
172
|
- `profile.json`: the raw profile data (re-create the report with `prompt-profile render`)
|
|
110
173
|
|
|
111
174
|
### Leaving parts out
|
|
@@ -120,6 +183,7 @@ Written to `./prompt-profile-report/` (change it with `--out`):
|
|
|
120
183
|
| `coaching` | "Improve your prompts" and "since your last report" |
|
|
121
184
|
| `funfacts` | Fun facts |
|
|
122
185
|
| `custom-names` | Names and descriptions of your own skills, custom agent types and private MCP servers (only counted) |
|
|
186
|
+
| `usage` | Plans, token counts and API list-price equivalents |
|
|
123
187
|
| `personal` | All of the above |
|
|
124
188
|
|
|
125
189
|
```bash
|
|
@@ -151,20 +215,22 @@ cards agree.
|
|
|
151
215
|
## Usage
|
|
152
216
|
|
|
153
217
|
```bash
|
|
154
|
-
prompt-profile # analyse the last
|
|
218
|
+
prompt-profile # analyse the last 3 months and write the report
|
|
155
219
|
prompt-profile --since 3m # 1m / 3m / 6m / 1y / all (also <n>d, <n>w)
|
|
156
220
|
prompt-profile --engine codex # which CLI analyses your prompts (default: auto, Claude Code first)
|
|
157
221
|
prompt-profile --model <name> # model passed to claude / codex
|
|
222
|
+
prompt-profile --effort medium # reasoning effort: low / medium / high / xhigh / max (default: the CLI's)
|
|
158
223
|
prompt-profile --out <dir> # output folder
|
|
159
224
|
prompt-profile --max-calls 40 # cap CLI invocations, including merges and retries
|
|
160
225
|
prompt-profile --full # no sampling, analyse everything (slower, uses more quota)
|
|
161
226
|
prompt-profile --no-cache # do not read the analysis cache
|
|
162
227
|
prompt-profile --yes # skip the confirmation (required in non-interactive sessions)
|
|
163
|
-
prompt-profile --dry-run #
|
|
228
|
+
prompt-profile --dry-run # free: the summary, plus what would be sent written into --out
|
|
164
229
|
prompt-profile --verbose # full errors and LLM call timings
|
|
165
230
|
prompt-profile --lang zh-TW,en # report languages, the first is the default (en, zh-TW)
|
|
166
|
-
prompt-profile --look signal # classic (default) / signal / afterhours / studio
|
|
231
|
+
prompt-profile --look signal # classic (default) / signal / afterhours / studio / prism / slate / folio
|
|
167
232
|
prompt-profile --card-hide stats,graphic # leave traits / stats / graphic out of card.png
|
|
233
|
+
prompt-profile --name Eric # title the report "Eric’s prompt profile" (not stored in profile.json)
|
|
168
234
|
|
|
169
235
|
prompt-profile stats # statistics only, no LLM (free and fast)
|
|
170
236
|
prompt-profile render profile.json # re-create the report from an existing profile.json
|
|
@@ -177,7 +243,8 @@ prompt-profile render profile.json --look studio --card-hide stats
|
|
|
177
243
|
Looks and `--card-hide` only change how the report and card are drawn: no new analysis and no
|
|
178
244
|
LLM calls, and the original report is kept. `--card-hide` changes the share card only; the
|
|
179
245
|
private report and `profile.json` still contain everything, including quotes. The card never
|
|
180
|
-
contains quotes
|
|
246
|
+
contains prompt quotes in any look. Project names follow the same `--exclude projects` choice
|
|
247
|
+
as the report.
|
|
181
248
|
|
|
182
249
|
Languages: without `--lang`, a Chinese system locale gives a Traditional Chinese report with an
|
|
183
250
|
English switch (`zh-TW,en`); any other locale gives English. The profile is written in English
|
|
@@ -186,14 +253,55 @@ and then translated, one extra CLI call per extra language; quotes stay as you w
|
|
|
186
253
|
Exit codes: `0` success · `1` error · `2` usage / needs `--yes` · `3` no data · `4` no usable LLM
|
|
187
254
|
CLI · `5` rate limited · `130` interrupted (a re-run resumes from the cache).
|
|
188
255
|
|
|
256
|
+
## Small histories and stopped runs
|
|
257
|
+
|
|
258
|
+
**Small histories.** A role, featured observations and prompt coaching each need verified quotes
|
|
259
|
+
from at least two sessions (the same rule that sets trait confidence and preference axes). When
|
|
260
|
+
nothing in a profile reaches that, the report is titled "Early observations": it states how many
|
|
261
|
+
prompts and sessions it is based on, keeps the observations, five dimensions and measurements,
|
|
262
|
+
and leaves out the generated role and the "Improve your prompts" section. The card does the same.
|
|
263
|
+
The terminal says so after the run; a longer `--since` range or more history adds evidence.
|
|
264
|
+
|
|
265
|
+
**If a run stops.** Progress is shown by phase (chunks, merges, the final profile, verification,
|
|
266
|
+
translations, writing files); there is no time estimate. When a run stops early, the error says
|
|
267
|
+
what was saved and prints the exact command to run again:
|
|
268
|
+
|
|
269
|
+
| What happened | What is saved | What a re-run does |
|
|
270
|
+
| --------------------------------------------------------------------- | ------------------------------------------------------- | ----------------------------------------------------------------------------- |
|
|
271
|
+
| Ctrl-C, rate limit, timeout, malformed output, too many failed chunks | Finished chunk results in the analysis cache; no report | Reuses cached chunks and merges; the final profile and translations run again |
|
|
272
|
+
| `--max-calls` reached | Same; cached results do not use the budget again | Same; raise `--max-calls` if it stops again |
|
|
273
|
+
| The final profile step failed | Chunk results | Repeats only the final profile and translation calls |
|
|
274
|
+
| An intermediate merge failed (large histories) | Chunk results and finished merges | Repeats the unfinished merges, then the final profile and translations |
|
|
275
|
+
| A translation failed | The report, without that language | The printed command adds it (final profile + translation) |
|
|
276
|
+
| A card was not created (e.g. the Chinese font download failed) | The report and `profile.json` | `prompt-profile render <profile.json>` retries the cards, no analysis |
|
|
277
|
+
|
|
278
|
+
The re-run command keeps your flags and leaves out `--no-cache`, so it reads the cache. When
|
|
279
|
+
prompt-profile was started with npx, the printed commands start with `npx prompt-profile@<version>`
|
|
280
|
+
(the same version, so the cache matches); otherwise with the installed `prompt-profile`.
|
|
281
|
+
A CLI's own error message can quote what it was sent, so it is shown only with `--verbose`.
|
|
282
|
+
|
|
189
283
|
## Privacy
|
|
190
284
|
|
|
191
285
|
**Files read** (read-only):
|
|
192
286
|
|
|
193
|
-
| Source | Paths (override with an environment variable)
|
|
194
|
-
| ----------- |
|
|
195
|
-
| Claude Code | `~/.claude/projects/*/*.jsonl`, `~/.claude/history.jsonl` (`CLAUDE_CONFIG_DIR`)
|
|
196
|
-
| Codex | `~/.codex/sessions/**/rollout-*.jsonl
|
|
287
|
+
| Source | Paths (override with an environment variable) |
|
|
288
|
+
| ----------- | ------------------------------------------------------------------------------------------------------------------ |
|
|
289
|
+
| Claude Code | `~/.claude/projects/*/*.jsonl`, `~/.claude/history.jsonl` (`CLAUDE_CONFIG_DIR`) |
|
|
290
|
+
| Codex | `~/.codex/sessions/**/rollout-*.jsonl` (and zstd-compressed `.jsonl.zst`), `~/.codex/history.jsonl` (`CODEX_HOME`) |
|
|
291
|
+
|
|
292
|
+
**Usage and plan** (the "Usage during this period" section): token counts and model names from
|
|
293
|
+
the same logs (Claude Code subagent transcripts in `projects/*/*/subagents/` included), the plan
|
|
294
|
+
from `claude auth status --json` (`subscriptionType` only), an undocumented rate-limit hint from
|
|
295
|
+
`~/.claude.json` (`oauthAccount.userRateLimitTier` only), and the ChatGPT plan type from
|
|
296
|
+
`~/.codex/auth.json`, decoded locally from the id token's payload. No token, API key, email,
|
|
297
|
+
account or organization id is stored, cached, logged or sent; a missing or unreadable file gives
|
|
298
|
+
"unknown", never an error. Usage, plans and amounts stay on your machine: they are not sent to
|
|
299
|
+
the LLM. Amounts are computed from an embedded list-price table (no download) and are an **API
|
|
300
|
+
list-price equivalent**: what the usage would cost on the public API, not what you paid. Neither
|
|
301
|
+
provider offers a way to read a subscription's usage as a bill, so this is how every local usage
|
|
302
|
+
tool works (Claude Code's own session cost does the same); responses in fast mode (Claude
|
|
303
|
+
`speed: "fast"`, Codex priority) use the fast-mode list prices, and a model or tier without a
|
|
304
|
+
listed price stays "unknown" rather than being estimated.
|
|
197
305
|
|
|
198
306
|
**Prompt selection and preprocessing**: adapters select user prompts, excluding recognized system
|
|
199
307
|
messages, tool output and sub-agent conversations, then:
|
|
@@ -209,7 +317,7 @@ messages, tool output and sub-agent conversations, then:
|
|
|
209
317
|
|
|
210
318
|
Selected, cleaned and redacted prompt text is sent **off your machine** through your logged-in
|
|
211
319
|
CLI to its model service, along with project basenames. Intermediate observations, supporting
|
|
212
|
-
quotes and
|
|
320
|
+
quotes and prompt statistics are sent during merge/final analysis. Text that does not match a
|
|
213
321
|
redaction rule can remain unchanged, including names and confidential prose.
|
|
214
322
|
|
|
215
323
|
Reports, `profile.json`, dry-run exports and analysis caches are written locally and are not
|
|
@@ -269,3 +377,41 @@ bundled prompts, fonts, WASM rendering and file permissions.
|
|
|
269
377
|
## License
|
|
270
378
|
|
|
271
379
|
MIT
|
|
380
|
+
|
|
381
|
+
### Collaboration portraits
|
|
382
|
+
|
|
383
|
+
Reports have two locally switchable views: a chart-led overview of collaboration preferences,
|
|
384
|
+
workflow techniques and activity; and a detailed third-person portrait for readers who may not
|
|
385
|
+
know the person, with interactions, supporting quotes, skill descriptions and suggestions.
|
|
386
|
+
Evidence is expanded by default. Language and view switches work offline without JavaScript;
|
|
387
|
+
printing includes both views.
|
|
388
|
+
Quotes are verified against redacted prompts. Only the user's side of an interaction is
|
|
389
|
+
available; requests do not prove successful outcomes. Statistics and contextual observations
|
|
390
|
+
remain available alongside the narrative in their respective views. Older profiles remain renderable.
|
|
391
|
+
|
|
392
|
+
Four original preference axes describe how the person starts (define/explore), paces work
|
|
393
|
+
(stepwise/whole task), assigns decisions (direct/delegate), and converges (criteria/refinement).
|
|
394
|
+
A complete combination receives a stable role name. Each preference needs verified evidence
|
|
395
|
+
from at least two sessions; contradictory or insufficient evidence stays unresolved, and no
|
|
396
|
+
complete role is assigned. These are contextual observations, not psychological assessments,
|
|
397
|
+
ability scores or a validated personality instrument. The system is independent of MBTI.
|
|
398
|
+
|
|
399
|
+
Re-analyse to generate the new portrait; rendering an older profile does not create new
|
|
400
|
+
analysis. `pnpm dev:report` renders an entirely fictional portrait for local inspection.
|
|
401
|
+
|
|
402
|
+
### Choose a report template
|
|
403
|
+
|
|
404
|
+
- **Prism** puts supported signature behaviors above a clear visual overview.
|
|
405
|
+
- **Slate** combines a compact identity workspace with precise activity charts.
|
|
406
|
+
- **Folio** gives the portrait and evidence a quieter, connected reading rhythm.
|
|
407
|
+
|
|
408
|
+
Each includes a matching 1200 × 630 card. [Browse fictional examples](https://erictsai83.github.io/prompt-profile/demo/templates/index.html).
|
|
409
|
+
Existing looks and the classic default remain available. Change presentation without reanalysis:
|
|
410
|
+
|
|
411
|
+
```bash
|
|
412
|
+
prompt-profile render profile.json --look prism
|
|
413
|
+
prompt-profile render profile.json --look slate
|
|
414
|
+
prompt-profile render profile.json --look folio --card-hide stats
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
The card hiding options affect only the card; report exclusions remain available through `--exclude`.
|