一键导入
nemawashi-show
Use when user wants to view, show, list, or display profile data for one or more people - read-only display of profiles stored in PROFILE_DIR
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when user wants to view, show, list, or display profile data for one or more people - read-only display of profiles stored in PROFILE_DIR
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when user wants to refresh one or more profiles end-to-end - runs nemawashi-collect followed by nemawashi-analyze for each named target (or --all), dispatching one profile-updater agent per target with throttled parallelism.
Use when starting any conversation - establishes how to find and use interpersonal communication skills
Use when user wants to analyze a person's behavioral patterns - reads profile data and adds psychological analysis with actionable DO/DON'T communication rules
Use when user wants to upgrade legacy profile data to a newer on-disk format - lists available migrations, presents the candidate profile counts, and applies each migration via LLM-driven transformation
Use when user needs help replying to someone, crafting a message, or deciding what to say - references profiles to tailor communication strategy
Use when user wants to check which profiles need re-analysis - scans all profiles for staleness and new unanalyzed data
| name | nemawashi-show |
| description | Use when user wants to view, show, list, or display profile data for one or more people - read-only display of profiles stored in PROFILE_DIR |
Display profile data so the user can quickly review what's been collected and analyzed about a person, or see who has been profiled.
nemawashi-collect or nemawashi-analyzeNot for:
nemawashi-collect (creates/updates raw data) or nemawashi-analyze (regenerates analysis)nemawashi-checknemawashi-replyDetermine the operation from the user's phrasing:
| Operation | Trigger | Target |
|---|---|---|
| List | no name, or "list" / "一覧" / "誰がいる" | all profiles |
| Person | name only, or "show X" / "X見せて" | full profile for one person |
| Section | name + section keyword | one section for one person |
Section keywords (case-insensitive):
| Keyword | Target |
|---|---|
profile / no keyword | profile.md (default) |
relationship / 関係 | relationship.md |
facts / 事実 | facts.jsonl + facts.md (merged, see below) |
contradictions / 矛盾 | contradictions.md |
basic / info | ## Basic Info section of profile.md |
communication / 話し方 | ## Communication Patterns section of profile.md |
work / 仕事 | ## Work Patterns section of profile.md |
core / pattern / synthesis | ## Core Pattern section of profile.md |
summary / frameworks / 分析 | ## Framework Summary section of profile.md |
defense / 防衛 | frameworks/defense-mechanisms.md |
tki / conflict-mode / 競合 | frameworks/thomas-kilmann-tki.md |
ta / ego / エゴ | frameworks/transactional-analysis-ta.md |
motivators / motivation / 動機 | frameworks/core-motivators.md |
biases / cognitive / バイアス | frameworks/cognitive-biases.md |
attachment / 愛着 | frameworks/attachment-style.md |
do/don't / strategy / rules / 戦略 | Aggregated Rules section across all frameworks/*.md, grouped by situation category. See Aggregated rules view below. |
The framework slugs on the right (defense-mechanisms, thomas-kilmann-tki, …) are the canonical set defined in skills/nemawashi-analyze/FRAMEWORKS.md; adding a new framework means adding a row above plus an alias keyword for it.
The common case is "user typed an exact directory name" — go straight to the target file. Only fall back to fuzzy resolution when the direct read misses.
PROFILE_DIR/<name>/<file> immediately (e.g. PROFILE_DIR/<name>/profile.md for a person operation, PROFILE_DIR/<name>/relationship.md for <name> relationship, etc.). If the read succeeds, you have resolved the person in one tool call — proceed to Step 3.PROFILE_DIR/ (ignore README.md and any non-directory entries).nemawashi-collect if there are no close matches.The direct-read path is the happy path: typed name → exact-match → one tool call. The fuzzy path is for typos, partial names, and missing profiles.
PROFILE_DIR/:
profile.md (name, role, last_updated).<!-- analyzed: YYYY-MM-DD, facts_count: N --> comment if present.facts.jsonl (if present) + lines in facts.md matching ^- \[[0-9]{4}-[0-9]{2}(-[0-9]{2})?\] (if present). Sum both — profiles mid-migration may have content in both files.contradictions.md and whether it has content beyond the header.| Person | Role | Last Analyzed | Facts | Contradictions |
|--------|------|---------------|-------|----------------|
| alice | Acme Corp Eng | 2026-05-16 | 47 | 12 |
| bob | (n/a) | never | 23 | — |
Use
show <name>to view a full profile, or<name> facts/<name> DO/DON'Tfor sections.
profile.md and render it as-is. Do NOT summarize or paraphrase — the user wants to see the actual content.profile.md, append a short footer:
Also available:
<name> relationship,<name> facts,<name> contradictions,<name> do/don't,<name> <framework-slug>.
profile.md is missing but fact data exists (facts.jsonl and/or facts.md), render the facts using the same merged view as the section operation below, and note "No analyzed profile yet — run nemawashi-analyze for ."relationship.md / contradictions.md / frameworks/<slug>.md): render the whole file. For framework files, also print a one-line footer pointing back: Summary in profile.md → ## Framework Summary.facts: read both facts.jsonl (if present) and facts.md (if present) and render a merged chronological view:
facts.jsonl record, format as: - [YYYY-MM-DD] [<source>] <content> (<url>) — omit the URL block if absent. Channel/repository/meeting_title go in parentheses after content when present.facts.md line, render as-is (already in markdown bullet form).## <heading> inside profile.md: extract lines from that ## <heading> up to (but not including) the next ## heading. Render that block.do/don't / strategy / rules (the aggregated rules view): see Aggregated rules view below.When the user asks for do/don't / strategy / rules, gather rules from every frameworks/<slug>.md and present them grouped by situation category. This is the cross-framework rollup of what used to live in profile.md → ## Communication Strategy:
PROFILE_DIR/<person>/frameworks/*.md. If the directory is missing or empty, report "No framework analysis yet — run nemawashi-analyze <person>." and stop.### When Requesting
**Defense Mechanisms** (Confirmed)
- DO: <rule> [signal: <tag>]
- DON'T: <rule> [signal: <tag>]
**Conflict Mode (TKI)** (Confirmed)
- DO: ...
- DON'T: ...
Skip a framework's block under a situation if its rules are only the (no framework-specific rule for this situation) placeholder.<name> do/don't conflict), filter to that one situation only.Optional filter: <name> do/don't <framework-slug> restricts to a single framework's rules across all situations (functionally equivalent to opening frameworks/<slug>.md, but rendered situation-major rather than file-as-written).
PROFILE_DIR/. Run nemawashi-collect or nemawashi-discover to start."facts.jsonl nor facts.md is present: facts count = 0.contradictions.md has only a header (no entries): report "—" in the list view; in section view, render it as-is so the user sees it's empty.nemawashi-analyze.vim it if they want to edit:
📄 ~/.local/share/supernemawashi/profiles/alice/profile.md
profile.md is missing (only fact data — facts.jsonl and/or facts.md): render the merged facts view and suggest running nemawashi-analyze.alice strategy when there's no Communication Strategy yet): report missing and suggest running nemawashi-analyze.After #41 lands, each frameworks/<slug>.md is a derived snapshot of the latest assertion in frameworks/<slug>.jsonl. Two new flags let the user query past states.
nemawashi-show <name> --as-of YYYY-MM-DDReconstructs the per-framework view as it was on that date. For each framework slug in the profile:
ASSERTION=<skill-root>/../nemawashi-analyze/assertion.sh
DEF=<plugin-root>/skills/nemawashi-analyze/frameworks/<slug>.md
JSONL=PROFILE_DIR/<name>/frameworks/<slug>.jsonl
entry=$(bash "$ASSERTION" fold "$JSONL" --as-of YYYY-MM-DD)
if [ -n "$entry" ]; then
bash "$ASSERTION" render "$entry" "$DEF"
else
echo "<slug>: no analysis as of YYYY-MM-DD"
fi
Render each framework's output in the same shape as the default nemawashi-show <name> view, then synthesize a brief banner noting the as-of date.
If a framework's .jsonl does not exist (the profile predates #41 and migration 04-frameworks-temporal-model has not run), fall back to reading .md directly and note the limitation in the output.
nemawashi-show <name> <slug> --historyPrints the chronological assertion log for one framework. Useful for spotting when a classification changed.
ASSERTION=<skill-root>/../nemawashi-analyze/assertion.sh
bash "$ASSERTION" history PROFILE_DIR/<name>/frameworks/<slug>.jsonl
Output is one line per assertion: <asserted_at>: <classification> (<confidence>).
For a diff between two specific dates, the user can compose fold + render themselves:
DATE_A=2026-03-01
DATE_B=2026-05-01
diff \
<(bash "$ASSERTION" render "$(bash "$ASSERTION" fold "$JSONL" --as-of $DATE_A)" "$DEF") \
<(bash "$ASSERTION" render "$(bash "$ASSERTION" fold "$JSONL" --as-of $DATE_B)" "$DEF")
A dedicated nemawashi-diff skill is on the roadmap (see the spec's "Open follow-ups") but out of scope for #41.
ls PROFILE_DIR/ + fuzzy match when the direct read misses. Don't over-engineer.