| name | simpread-mcp-helper |
| description | Search and synthesize SimpRead unread content through the SimpRead MCP tools. Use when Codex needs to find SimpRead items by keyword, tag, or date window; filter results by creation date; fetch snapshots from localhost reading pages; and turn them into grounded reading recaps, topic briefings, timelines, or comparative summaries with per-page localhost citations. |
SimpRead MCP Helper Skill Guide
Overview
Use this skill to turn SimpRead unread items into structured briefings grounded in the local snapshot pages.
Only use SimpRead MCP tools for retrieval. Do not substitute Wikipedia or web browsing when the request is specifically about the user's SimpRead library.
Core Workflow
Command modifiers and aliases
~x is a shorthand pattern where x represents any single modifier letter. Any LLM receiving ~<letter> must expand it to ::mcp:-<letter> before processing. For example: ~r โ ::mcp:-r, ~a โ ::mcp:-a, ~m โ ::mcp:-m. So ๆฅ่ฏข ๆๅทดๅ
~r is identical to ๆฅ่ฏข ๆๅทดๅ
::mcp:-r.
-r or -r ๆนๆก means: keep the original task intent of xxxx, but in the final output replace local snapshot links with original article URLs.
- Here
xxxx can be any supported request shape, such as a reading recap, a keyword briefing, a tag briefing, a history briefing, or another valid SimpRead analysis request.
- When
-r is present, first complete the normal retrieval and analysis flow for xxxx, then call get_unread_by_idx for every cited local snapshot id and replace the final citation target with the original article URL.
-r is a global output modifier, not a standalone recap mode.
- If the user says only
-r or -r ๆนๆก without any base task, ask for or infer the missing base task only if the surrounding context makes it obvious; otherwise default to treating it as an original-URL conversion request for the already referenced items.
Recommended phrasing:
ไปๆฅ้
่ฏปๅ้กพ โ normal recap with local snapshot citations
ไปๆฅ้
่ฏปๅ้กพ -r โ recap with citations replaced by original article URLs
ๆฅ่ฏขๆ ็ญพ AIๆไบ ๅนถ็ๆ็ฎๆฅ -r โ tag briefing with citations replaced by original article URLs
ๆฅ่ฏข OpenAI ็ธๅ
ณๅ
ๅฎนๅนถ็ๆ็ฎๆฅ -r ๆนๆก โ keyword briefing with citations replaced by original article URLs
--kami means: after completing the base task and any citation rewriting, render the final output as a professional HTML document using the kami long-doc template, and save to outputs/.
--kami is a cross-environment universal modifier โ it does not need ::mcp: prefix.
- Before executing, check if kami skill is available (read
command/render.md for the pre-check logic). If not installed, prompt the user to install.
--lite means: render the final output as a lightweight HTML document using tools/template/lite.html, zero dependencies, saved to outputs/. This is the default rendering mode.
--lite is a cross-environment universal modifier โ it does not need ::mcp: prefix.
- If neither
--lite nor --kami is specified and a rendering modifier is implied, default to --lite.
- If
-r and --kami or --lite are both present, apply -r first (citation rewrite), then the rendering modifier (HTML output).
--kami / --lite do not change the retrieval scope or analytical structure โ they only transform the final output format.
Recommended phrasing with --kami:
ๆฅ่ฏขๅ
ณ้ฎ่ฏ ๆๅทดๅ
ๅนถ็ๆ็ฎๆฅ --kami โ keyword briefing rendered as kami HTML
ไปๆฅ้
่ฏปๅ้กพ --kami โ reading recap rendered as kami HTML
ๆฅ่ฏขๆ ็ญพ AIๆไบ ๅนถ็ๆ็ฎๆฅ -r --kami โ tag briefing with citations replaced, then rendered as kami HTML
Recommended phrasing with --lite:
ๆฅ่ฏขๅ
ณ้ฎ่ฏ ๆๅทดๅ
ๅนถ็ๆ็ฎๆฅ --lite โ keyword briefing rendered as lite HTML
ไปๆฅ้
่ฏปๅ้กพ --lite โ reading recap rendered as lite HTML
ๆฅ่ฏขๆ ็ญพ AIๆไบ ๅนถ็ๆ็ฎๆฅ -r --lite โ tag briefing with citations replaced, then rendered as lite HTML
Cross-Environment Command Protocol
When this skill is invoked together with Wiki commands (e.g., /report), follow these rules:
่ก็ช่ชชๆ๏ผ-r has different meanings in different environments:
| ็ฏๅข | -r ๅซไน |
|---|
Wiki ๅฝไปค (/command/*.md) | --report (็ๆ็ฎๆฅ) |
| MCP ็ฏๅข (ๆฌ Skill) | ๆฟๆขๅฟซ็
ง้พๆฅไธบๅๅง URL |
ๆทท็จๆ ผๅผ๏ผ
/report ๆๅทดๅ
-m ::mcp:-r โ Wiki: Mermaid + MCP: replace citations
/report ๆๅทดๅ
::mcp:-r -m โ ๅไธ๏ผ้กบๅบๆ ๅ
ณ
/report ๆๅทดๅ
-m ~r โ ๅไธ๏ผ~r ๆฏ ::mcp:-r ็็ผฉๅ๏ผๆๆๅฎๅ
จ็ธๅ
::mcp: ๅ็ผ๏ผWhen a Wiki command uses ::mcp: prefix before a modifier, that modifier belongs to this MCP environment.
่ชๅจๆฃๆต๏ผๅฝๆง่ก Wiki ๅฝไปคๆถ๏ผๅฆๆๆฃๆตๅฐ้่ฆ MCP ่ฝๅ๏ผๅฆๆฟๆขๅฟซ็
ง้พๆฅ๏ผ๏ผ่ชๅจๅฏ็จ -r ่กไธบใ
1. Choose the right MCP entry point
Pick the retrieval tool based on the user's query shape:
search_content for keyword searches such as company names, people, products, or concepts.
search_tag for tag-based retrieval such as ๅๅฒ/ๅฐๆฐๆฐๆ or ็งๆๅฒ่ฏ/AIๆไบ.
get_daily for time windows such as today, yesterday, week, last7, last30.
get_unread_list Strictly use this when the user asks for a specific number of unread items (e.g., "Top 5 unread") or a simple unread list without deep analysis.
get_unread_by_idx for snapshot id retrieval such as http://localhost:7026/reading/1234 1234 is snapshot id.
Pagination Handling
When search_content or search_tag returns paginated results (e.g., "ๅทฒๅไธบ 8 ้กต"), you MUST:
- Call
get_unread_list for ALL pages to retrieve all titles first
- Then filter/analyze based on ALL retrieved titles
- Only call
get_snapshot for the filtered subset
Do NOT skip pages unless the user explicitly limits the scope (e.g., "only check page 1" or "็ฌฌไธ้กตๅณๅฏ").
Rationale: To properly "filter within results" (ๅจๆญค็ปๆไธญ็ญ้), you need visibility into all titles across all pages. Relevant items may not appear on page 1, and titles that seem unrelated may actually contain relevant content (e.g., "ๆๅทดๅ
ๆๅฝ่ฟไบค็ปไบไธไธชๅๅท้ฅผ็" may discuss CEO changes).
Complete Flow:
User Command: ๆฅ่ฏขๅ
ณ้ฎ่ฏ ๆๅทดๅ
ๅจๆญค็ปๆไธญ ๆพๅบไธๆฐไปป ceo ็ธๅ
ณ็ๅ
ๅฎน
โ
โโโโโโโโโโโโโโโโโโโโโโโโโ
โ search_content โ
โ or โ
โ search_tag โ
โ (keyword: ๆๅทดๅ
) โ
โโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโ
โ Returns: 153 items โ
โ 8 pages, 20 per page โ
โ Instruction: call โ
โ get_unread_list 8x โ
โโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโ
โ Call get_unread_list โ
โ page=0,1,2,3,4,5,6,7 โ
โโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโ
โ Get ALL titles list โ
โ (title-based list) โ
โโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโ
โ Filter CEO-related โ
โ (search titles for โ
โ keywords: CEO, ๆฐไปป, โ
โ ๆขๅธ
, Brian Niccol) โ
โโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโ
โ Call get_snapshot โ
โ (only for filtered โ
โ subset) โ
โโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโ
โ Output result โ
โ (format depends on โ
โ whether "็ฎๆฅ" is โ
โ triggered) โ
โโโโโโโโโโโโโโโโโโโโโโโโโ
2. Filter aggressively before reading snapshots
The search results often include many candidates. Before calling get_snapshot:
- keep only items relevant to the user's exact topic
- obey explicit date limits such as
ไป
ๆด็ๅปบ็ซๆฅๆไธบ 2026 ๅนดไปฅๅ
็ๅ
ๅฎน
- prefer primary topic matches over tangential mentions
- avoid duplicate or near-duplicate items unless each contributes distinct evidence
When the result set is large, select a focused subset that can support a coherent briefing instead of exhaustively opening everything.
3. Fetch the actual content with get_snapshot
Search results only provide titles, links, dates, and tags. They are not enough for analysis.
For every item you decide to use in the final briefing, call get_snapshot on its numeric id and read the actual content before writing.
Link replacement rule for -r
When the final output contains one or more local snapshot links such as http://localhost:7026/reading/1234 and -r is present:
- treat the numeric suffix after
/reading/ as the snapshot id
- call
get_unread_by_idx with that snapshot id
- replace the citation target with the returned original article URL
- do this for every cited local snapshot link that appears in the final output
- only replace actual citation links; do not treat unrelated numbers in the body text as snapshot ids
If multiple citations appear, repeat this conversion for each cited snapshot id one by one until all final citation targets are replaced.
If the same http://localhost:7026/reading/xxx link appears more than once, call get_unread_by_idx only once for that snapshot id and reuse the returned original article URL for every repeated citation target.
4. Ground every conclusion in local citations
When writing, cite pages exactly in this format by default:
[้กต้ขๆ ้ข](http://localhost:7026/reading/xxx)๏ผ่ฏดๆ...
If -r is present, replace http://localhost:7026/reading/xxx with the original article URL returned by get_unread_by_idx, while keeping the page title and the grounded explanation.
Rules:
- remove a
็ฎๆฆ | prefix if present in the title
- use each page in only one most-relevant section when grouping by theme
- do not cite items you did not open with
get_snapshot
- when
-r is present, every cited local snapshot id must be converted to its original article URL via get_unread_by_idx before final output
- keep conclusions traceable to one or more cited pages
Output precedence rules
When multiple output constraints appear together, apply them in this order:
- Preserve the base task intent of
xxxx.
- Preserve any explicitly requested structure such as
ไธฅๆ ผๆ็
ง่พๅบ่งๅ่พๅบ.
- Apply
-r as a citation-target rewrite step, replacing local snapshot links with original article URLs via get_unread_by_idx.
- Apply
--lite or --kami last as an HTML rendering step, converting the final markdown output into a styled HTML file saved to outputs/. See command/render.md for the full rendering specification. Default to --lite if neither is specified.
This means -r changes the final citation targets, and --lite / --kami change the output format, but neither should change the retrieval scope or the analytical structure.
5. Match the output mode
Common modes:
- ้
่ฏปๅ้กพ: organize by time-window recap and then theme
- ๅ
ณ้ฎ่ฏ/ไธ้ข็ฎๆฅ: organize by key actions, strategic tensions, and future outlook
- ๅๅฒ/็ฅ่ฏๅไธป้ข: organize by timeline, lineage, phases, and structural transitions
If the user asks for ไธฅๆ ผๆ็
ง่พๅบ่งๅ่พๅบ, mirror their requested structure exactly. If -r is also present, preserve the requested structure but replace citation targets with original article URLs.
Writing Guidance
Reading recap
Use when the user asks for today/yesterday/week style reviews.
Recommended flow:
- state total item count and coverage areas
- summarize each selected page once
- regroup into 2-4 deeper themes
- close with a synthesis of what changed in that time window
Briefing Trigger Protocol
When the user mentions ็ฎๆฅ, ็ๆ็ฎๆฅ, or ่พๅบ็ฎๆฅ, the final output must use the full Wiki /report structure from command/report.md, even if retrieval happens in this MCP workflow.
Required sections: ๆ ธๅฟๆถๆๅพ, ๅ
ณ้ฎๆผ่ฟ/ไบๅฎ่กจ, ๆทฑๅบฆ้ป่พๆ่งฃ, ็ฎๆฅๆป็ปไธ่กๅจๅปบ่ฎฎ.
-m uses Mermaid; -a uses ASCII; -r replaces local snapshot links with original article URLs; ::mcp:-r forces MCP link rewriting in mixed Wiki/MCP requests; --lite renders as lightweight HTML (default); --kami renders as kami HTML.
If the user asks for a time-window recap without ็ฎๆฅ, use the normal recap workflow; if ็ฎๆฅ is also requested, keep recap retrieval but use the full /report structure for output.
Output Mode Selection
Based on whether the user's command contains specific keywords, choose different output formats:
| Trigger Keywords | Output Format | Format Source |
|---|
็ฎๆฅ, ็ๆ็ฎๆฅ, ่พๅบ็ฎๆฅ | Wiki /report structure | command/report.md |
| None of the above | Format rules from returned content | Output Format from search_content or search_tag |
Examples:
ๆฅ่ฏขๅ
ณ้ฎ่ฏ ่ฑไผ่พพ ๅนถ็ๆ็ฎๆฅ โ Use /report structure (core architecture diagram + key evolution/facts table + deep logic breakdown + briefing summary and action recommendations)
ๆฅ่ฏขๅ
ณ้ฎ่ฏ ่ฑไผ่พพ โ Use format rules from returned content
ๆฅ่ฏขๆ ็ญพ ๆๅทดๅ
โ Use format rules from returned content
ไปๆฅ้
่ฏปๅ้กพ โ Use format rules from returned content
ไปๆฅ้
่ฏปๅ้กพ ็ๆ็ฎๆฅ โ Use /report structure
Key Differences:
- With "็ฎๆฅ" keyword: Output a structured analysis report including visual architecture diagrams, timeline tables, deep breakdowns, and other complete sections
- Without "็ฎๆฅ" keyword: Output a lightweight summary, with format defined by the Workflow in
search_content or search_tag response
History / evolution briefing
Use when the user asks for a long historical arc.
Recommended flow:
- identify the root lineage or earliest documented layer
- trace major transitions in sequence
- separate political succession from ethnogenesis when needed
- explain not only who replaced whom, but what institutional or cultural continuity remained
Date Filtering Rules
When the user gives a temporal constraint, enforce it before snapshot retrieval and again before writing.
Examples:
ไป
ๆด็ๅปบ็ซๆฅๆไธบ 2026 ๅนดไปฅๅ
็ๅ
ๅฎน means include only items whose listed creation date is in 2026
2026 ๅนด 4 ๆไนๅ means include only items dated after 2026-04-30
่ฟไธๆฅ should use get_daily with the relevant time window instead of ad hoc keyword search when possible
If a result list mixes valid and invalid dates, explicitly exclude the out-of-range items from analysis.
Recommended Selection Heuristics
When too many results match:
- prioritize recency for fast-moving topics like AI companies
- prioritize canonical overview pieces plus a few high-signal supporting pieces
- include at most one or two items for each repetitive sub-angle unless the differences matter
- prefer articles with concrete facts, dates, metrics, or strategy details over vague commentary
Reference File
For reusable patterns and exact command mapping, see references/patterns.md.