pre-session-portrait
Build a compressed, visualizable "portrait" of a consulting/coaching client before a session, so the paid hour is spent solving, not scoping. Runs a…
它会碰到什么
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
Pre-Session Portrait
Turn "help me with X" into a decision-grade brief before the session starts. The instrument asks the client open, voice-note-friendly questions across seven fixed lenses; the consultant (or an LLM) compresses each answer to one line, yielding a portrait that is iterable, compressible, and easy to visualize.
Design principle: rich in, compressed out. The client talks freely; compression happens after, not in their head.
The seven lenses
| # | Lens | Elicits | Compresses to |
|---|------|---------|---------------|
| 0 | ANCHOR | the topic — what the call is for (referent for every later "this") | the topic in one line |
| 1 | WHERE | what's been tried, where it stalls | current state in one line |
| 2 | HOW | cognitive style — fast/slow, visual/verbal, systems/stories | how they think |
| 3 | WHAT | live preoccupations, open loops | current focus |
| 4 | PROBLEM | the problem under the problem | the core job |
| 5 | IDEAL | concrete "solved" state (day/feeling, not tool) | desired outcome |
| 6 | TENSION | what holds them back / worries them | dominant anxiety |
| 7 | JTBD | Push · Pull · Habit · Anxiety · Trigger | switching forces |
Output schema
portrait:
where: ""
how: ""
what: ""
problem: ""
ideal: ""
tension: ""
jtbd:
push: ""
pull: ""
habit: ""
anxiety: ""
trigger: ""
How it visualizes
- 7-spoke radial / hexad map — one label per lens, the capture line as the value.
- JTBD 2×2 — Push+Pull (energy toward change) vs Habit+Anxiety (energy against). The gap = leverage.
- Iterable — re-run any lens next session; watch the capture line drift over time.
Workflow
- Gather context. Client name, consultant name, session date, and (if known) the topic. Pull prior history from vault/email/Fathom if available so the consultant-only prep notes are grounded.
- Fill the template. Copy
assets/interview-prompt.mdand substitute{{CONSULTANT}}(and topic if narrowing lens 4). Leave the seven lenses intact. - Pick a delivery (ask the user):
- Raw text — paste the substituted prompt into a message; client runs it in any clean Claude/ChatGPT.
- Secret gist —
gh gist create --desc "Pre-session portrait interview (for <name>)" interview-prompt.md. Share the gist link. Use the unpinned raw URL (/raw/<filename>) so edits propagate. - Codex one-liner — see
assets/codex-bootstrap.txt; fetches the raw gist URL and runs the interview interactively.
- Optional preview. Before sending, generate a synthetic filled-in version (answers simulated from known context) so the consultant judges the deliverable's shape. Mark it clearly as synthetic.
- After the session. Fold the returned
portrait:YAML into the client's People/Session note; diff against any prior portrait to show movement.
Delivery notes
- Secret gist ≠ auth-private: anyone with the link can read it. Fine for a benign intake; don't put client PII in the gist itself.
- Codex: run interactive
codex(notcodex exec), and include the "do not write code / touch files — this is a conversation" guard so it stays in interview mode. - Framing line to prepend when sending: "Paste this into a fresh Claude or ChatGPT chat — it'll ask you 7 quick questions and give you a block to send back to me before our call."
Call cockpit (interactive HTML)
Once a portrait is back, generate an interactive prep cockpit the consultant runs live during the session. Start from assets/cockpit-template.html — a self-contained, theme-aware single file (no external deps).
Tabs: Setup (structured stack/facts fields + a paste box for the portrait: block) · Framework (six-station pipeline with per-station AUTO/ASSIST/HUMAN + quality-gate inputs) · Questions (per-section bank, each with an autosaved answer field; add-your-own) · Decisions & Actions (dynamic add/delete rows; actions carry an owner) + a build/demo box and show-don't-tell cues · Agenda (accordion of time-blocks that expand into checkable sub-steps + per-block notes; a live timer auto-opens the current block and fills a progress bar) · Notes.
Key properties:
- Autosaved to
localStorage, namespaced by the Client-name field — so multiple cockpit files opened from the same folder (samefile://origin) never clobber each other's data. - Filled instances: copy the template and inject a
const SEED = {fields, decisions, actions}object just before// init; a one-time guard (prep::<ns>::__seeded) writes the seed into the client's namespace on first load, then the consultant's edits persist. Use this to pre-populate a cockpit from a known portrait + prior-session facts.
Also generate a client-facing recap after the session (same visual language): what we covered, current→target pipeline, decisions, what we built live, their next steps (autosaved checkboxes + fields), tech notes. Deliver as a file or publish as an Artifact URL to share a link.
Assets
assets/interview-prompt.md— the self-contained interviewer prompt (template).assets/intake-form.md— human-readable version with per-lenscapture:fields, if the consultant prefers to interview live.assets/codex-bootstrap.txt— the Codex CLI one-liner template.assets/cockpit-template.html— the interactive prep cockpit (blank, reusable; autosaved + client-namespaced).
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。