ljg-blind
Blind Spot Scan —— Read all your conversations with AI from yesterday, identify exposed cognitive blind spots (not gaps in knowledge, but thinking habits that keep certain truths consistently invisible), then select a precise chapter from WeChat Reading to fill the gap and compile a complete analysis note. Use when user says '扫盲区', '盲区', '照盲区', '看看我的思维盲区', '我昨天想漏了什么', 'blind spot', 'ljg-blind', '/ljg-blind', or requests analysis of yesterday's AI conversations for cognitive blind spots along with a targeted weread chapter to address them. Optional parameter: Pass a date (YYYY-MM-DD) to scan that day instead of yesterday. NOT FOR deep diving into a single opinion (use ljg-think), ranking down a field (use ljg-rank), reading along with a text (use ljg-read), or finding constraints in a field (use ljg-constraint).
NPX Install
npx skill4agent add lijigang/ljg-skills ljg-blindTags
Translated version includes tags in frontmatterSKILL.md Content (Chinese)
View Translation Comparison →Blind Spot Scan
What is a Blind Spot
Five Blind Spot Signals
- Avoidance Point — A difficult question is raised, then quickly closed. Evidence: The question is brought up, then the topic is switched abruptly, or brushed off with a line like "let's put this aside for now".
- Spinning Framework — Repeatedly switching perspectives on the same issue without any concrete progress. Evidence: A single problem is framed in three or four different ways, each only scratched the surface, with no conclusion in the end.
- Single Viewfinder — Only one or two frameworks are used all day (e.g., "constraint", "evolution", "game theory" for every issue), without trying other lenses. This is the most hidden blind spot: the more handy a framework is, the more it blocks what other frameworks can reveal. (Jigang Li views the world as f(x), with four default frameworks; precisely because they're default, it's critical to check if only one was used today.)
- Unchecked Premise — A default assumption runs through the entire conversation, treated as a hard constraint without ever questioning if it's a false wall. Evidence: A statement like "this is how it should be" is repeated but never challenged by himself.
- Adjacent Gap — From what he asked, infer the corner that should have been asked but wasn't. Don't guess out of thin air; it must be pointed to by his own clues.
Which One to Choose
- Leverage — Filling this blind spot will unlock the most possibilities for the next step.
- True Blindness — It's something he truly can't see, not something he knows about but is putting off.
- Mission Alignment — Aligns with M0 (finding new viewfinders) / M1 (seeking essence). If the blind spot is directly blocking his main line of thinking, prioritize it. Check to confirm the main line.
~/.claude/PAI/USER/TELOS/MISSION.md
Operation Steps
Step 1 · Set Date
# Default to yesterday; use the passed YYYY-MM-DD if provided (macOS BSD date)
target=${1:-$(date -v-1d +%Y-%m-%d)}Step 2 · Retrieve Conversations from the Day
~/.claude/projects/-Users-lijigang*/*.jsonltarget=<date from previous step>
out=/tmp/ljg-blind-${target}.txt
: > "$out"
# Only take top-level conversation files (exclude subagents/workflows), keep only real human plain text
for f in $(rg -l "\"timestamp\":\"${target}" ~/.claude/projects/-Users-lijigang*/ 2>/dev/null | grep -vE 'subagents/|workflows/'); do
jq -r 'select(.type=="user" and ((.timestamp // "") | startswith("'"${target}"'"))) |
(.message.content) as $c |
(if ($c|type)=="string" then $c
elif ($c|type)=="array" then ([$c[] | select(.type=="text") | .text] | join(" "))
else "" end) as $t |
select($t|length>0) |
"[" + (.timestamp|.[11:16]) + "] " + $t' "$f" 2>/dev/null >> "$out"
done
# Filter out tool echoes / system noise / current call request itself
grep -vE 'tool_use_id|system-reminder|caveat|Caveat|local-command|command-name|command-message|<task-notification>|ljg-blind|扫盲区' "$out" > "${out}.f" && mv "${out}.f" "$out"
wc -c "$out"Step 3 · Identify the Blind Spot
Step 4 · Select Chapter from WeChat Reading
WEREAD_API_KEYwrk-xxxxexport WEREAD_API_KEY=<key>- Search for Books — Extract 1-2 core keywords from the blind spot:
curl -s -X POST https://i.weread.qq.com/api/agent/gateway \
-H "Authorization: Bearer $WEREAD_API_KEY" -H "Content-Type: application/json" \
-d '{"api_name":"/store/search","keyword":"<core keyword>","count":8,"skill_version":"1.0.3"}' \
| jq -r '.results[].books[]?.bookInfo | "\(.bookId)\t\(.title)\t\(.author)\tRating \(.newRating)"'- Check Table of Contents — Select the 1 most relevant chapter, not the whole book or a general preface:
curl -s -X POST https://i.weread.qq.com/api/agent/gateway \
-H "Authorization: Bearer $WEREAD_API_KEY" -H "Content-Type: application/json" \
-d '{"api_name":"/book/chapterinfo","bookId":"<bookId>","skill_version":"1.0.3"}' \
| jq -r '.chapters[] | select(.level<=2) | "\(.chapterUid)\t[\(.level)] \(.title)\t\(.wordCount) characters"'-
Estimate Reading Time —(Chinese reading speed), rounded up to the nearest multiple of 5. If there's no wordCount, estimate between 15-45 minutes based on the table of contents; if the title includes macro terms like "Part 1/Part 2" or "Volume 1", multiply the time by 1.5.
wordCount / 280 -
Construct Link:
weread://reading?bId={bookId}&chapterUid={chapterUid}
weread://reading?bId={bookId}Step 5 · Write the Note
date +%Y%m%dT%H%M%Sdate "+%Y-%m-%d %a %H:%M"~/Documents/notes/{timestamp}--blind-spot-{topic}__blind.org#+title: Blind Spot Scan · {One-sentence summary of the blind spot}
#+date: [YYYY-MM-DD Weekday HH:MM]
#+filetags: :blind:weread:topology:
* What You Were Thinking Yesterday
<1-2 paragraphs. The thinking landscape of the day's conversations — what topics were discussed, what core they revolved around. Provide evidence: which sentences reveal this. Don't just list events, focus on the main line.>
* Identified Blind Spot
<The 1 selected blind spot. First, state in one sentence what type it is (avoidance point / spinning framework / single viewfinder / unchecked premise / adjacent gap). Then use 2-3 paragraphs to explain: what it specifically looks like, where it was exposed yesterday, why you couldn't see it yourself. Highlight the leverage — what possibilities will unlock after filling it.>
* This Chapter is for You
- Book: 《Book Title》 — Author
- Chapter: <Chapter Title>
- Estimated Time: About N minutes
- Link: [[weread://reading?bId=XXX&chapterUid=YYY][Open in WeChat Reading]]
- Why This Chapter: <3-4 sentences. Connect the blind spot to this chapter — what this chapter specifically talks about, how it fills the blind spot. Don't vaguely say "broaden horizons", explain exactly which part of this chapter targets which gap in the blind spot.>Tone Rules (Strictly Follow When Writing Notes)
- Write in Chinese, avoid translationese. Use fewer words like "然而 / 此外 / 值得注意的是"; avoid nominalization ("对…的理解" → "懂…", "做出…的决定" → "决定"); omit subjects when possible; prioritize short sentences. After writing, read it aloud and ask: Would a Chinese person who hasn't read translated novels say this? Would Wang Zengqi write this? Rewrite entire paragraphs if they feel awkward, don't just replace words.
- Avoid metal metaphors with cutting-edge style. Do not use phrases like "this cut", "go deeper", "sharp words", "solidify", "nail down", "hard words"—this set of self-praising meta-rhetoric is prohibited. Readers can tell if the blind spot is identified accurately; there's no need to boast about the intensity.
- Be warm, have edges, make judgments. You can have a stance, don't pretend to be neutral to the point of hypocrisy; but clearly mark that it's a judgment, not an objective fact.
Strict org Syntax (No Mixed Markdown)
- Use /
*/**for headings, not***# - Bold: , italic:
*text*, monospaced:/text/~code~ - Lists use , not
-(since*is for headings in org)* - Links: , not
[[url][text]][text](url) - Dividers: , not
-----; do not use markdown's---for quotes>
Self-Check (Go Through Before Finishing)
- Does the blind spot have specific evidence? Can each point be traced back to specific sentences from yesterday? If not, go back to Step 3.
- Did you only select 1 blind spot and explain it thoroughly? Or did you greedily point out three or four?
- Are bookId and chapterUid non-empty and formatted correctly in the chapter link?
- Did you check for translationese? Scan for nominalization, sentences with "是…的", and unnecessary conjunctions.
- Did you check for cutting-edge metal metaphors? Remove all phrases like "this cut", "nail down", "solidify".
- Do all three sections have content, no empty paragraphs?
Division of Labor with "Morning Letter"
陈平安思维拓扑.org