You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: SKILL.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -133,7 +133,9 @@ Local-library-first rule (applies only when the Zotero check above succeeds):
133
133
- High-quality notes should usually contain multiple meaningful `###` subheadings in the technical sections when the paper is non-trivial.
134
134
- The note must include figure/table placeholders for all major visuals rather than silently skipping them.
135
135
- Every kept figure/table placeholder must appear directly under the most relevant analytical section named by its `建议位置`; do not collect unresolved placeholders in catch-all sections such as `剩余图表占位` or `Remaining figures`.
136
+
- Every kept figure/table placeholder must use the standard `> [!figure]` callout format with `建议位置`, `放置原因`, and `当前状态`; do not use ordinary paragraph markers such as `[图表占位 | Fig. 1]`, `图表占位:Table 2`, or `Figure Placeholder | Fig. 3`.
136
137
- Real images may replace some placeholders, but only if they clearly match the corresponding paper figure/table.
138
+
- When inserting a real image, prefer the `obsidian_embed` returned by `scripts/materialize_figure_asset.py`.
137
139
- Figure captions in the note must preserve the original paper numbering such as `Fig. 1` or `Table 2`.
138
140
- The note must pass a style gate: no mixed Chinese-English prose lines except stable proper nouns or citation metadata.
139
141
- Style gate enforcement: when `lint_note.py` output contains `passes_style_gate: false`, fix the reported issues and re-run lint. Keep fixing and re-running until lint passes — multiple rounds are normal and expected. Do not decide that any failure is an acceptable exception — proper nouns, math formulas, and citation metadata are not automatic exemptions. Only escalate to the user if the same failures appear unchanged across multiple rounds with no reduction, indicating the model is unable to make further progress independently.
Copy file name to clipboardExpand all lines: references/final-writing.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -211,16 +211,18 @@ If the bundle contains candidate figure pages or candidate image files:
211
211
- prefer the candidate with the strongest caption/page-context agreement
212
212
- treat identity match and visual usability as separate gates
213
213
- never treat a matching label or caption as sufficient approval to insert an image
214
-
- reject caption-only crops, missing table bodies, large text/title/abstract crops, and crops with very low visual body ratio
214
+
- reject caption-only crops, missing table bodies, table crops contaminated by running prose or another Figure/Table caption, large text/title/abstract crops, and crops with very low visual body ratio
215
215
- if visual quality is missing, ambiguous, or failed, keep the placeholder
216
216
- still make the final decision yourself rather than trusting the candidate ranking blindly
217
217
218
218
Final-note figure rules:
219
219
- keep the original paper numbering, such as `Fig. 1`, `Fig. 3`, `Table 2`
220
220
- do not rename them to `图 1`, `图 2` just because of note order
221
221
- if you replace a placeholder with a real image, keep the same paper figure id in the caption
222
+
- if you replace a placeholder with a real image, prefer the `obsidian_embed` returned by `scripts/materialize_figure_asset.py`
222
223
- if an important figure cannot be confidently extracted, keep a placeholder with a short explanation
223
224
- every kept placeholder must appear directly under its most relevant analytical section; do not create catch-all sections such as `剩余图表占位`, `未放置图表`, `Remaining figures`, or `Leftover figures`
225
+
- every kept placeholder must use the standard `[!figure]` callout format; never use ordinary paragraph markers such as `[图表占位 | Fig. 1]`, `图表占位:Table 2`, or `Figure Placeholder | Fig. 3`
224
226
-`reject_visual_quality` means the candidate image is unsafe to insert, not that the final note must keep a placeholder for that rejected candidate
225
227
- for survey papers, summarize repetitive representative-work figures or appendix tables in prose when they do not materially help the reader as standalone callouts
226
228
- text may be complete even when figures are partial; do not let missing images erase textual coverage
Copy file name to clipboardExpand all lines: references/model-synthesis.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ The rule is simple:
37
37
- inspect `figure_assets[].quality_signals` when available
38
38
- match likely figures by page proximity, caption context, and candidate snippets
39
39
- require both identity match and visual usability before insertion
40
-
- fail closed on caption-only crops, missing table bodies, large text/title/abstract crops, or very low visual body ratio
40
+
- fail closed on caption-only crops, missing table bodies, table crops contaminated by running prose or another Figure/Table caption, large text/title/abstract crops, or very low visual body ratio
41
41
- keep the final semantic matching decision on the model side
42
42
Build the note in placeholder-first order:
43
43
- plan placeholders for all major figures/tables that matter to the note
@@ -51,10 +51,11 @@ The rule is simple:
51
51
-`> 建议位置:...`
52
52
-`> 放置原因:...`
53
53
-`> 当前状态:...`
54
+
- never use ordinary paragraph markers such as `[图表占位 | Fig. 1]`, `图表占位:Table 2`, or `Figure Placeholder | Fig. 3`
54
55
If you decide to insert a real image instead of leaving a placeholder:
55
56
- call `scripts/materialize_figure_asset.py`
56
57
- copy the chosen candidate image into the vault
57
-
- insert the returned Obsidian embed into the note
58
+
- insert the returned Obsidian embed into the note; Markdown image syntax is a compatibility fallback, not the preferred note format
58
59
This figure step belongs to the same note-generation task:
59
60
- do not stop after a text-only draft just to ask the user whether figures should be inserted
60
61
- finish the replacement-or-placeholder decision before final save
"label/caption match is not insertion approval; it only proves identity, and visual usability is a separate hard gate.",
368
-
"Reject caption-only crops, missing table body crops, large text/title/abstract crops, and low visual body ratio crops.",
368
+
"Reject caption-only crops, missing table body crops, table crops with paragraph or other-caption contamination, large text/title/abstract crops, and low visual body ratio crops.",
369
369
"If visual quality is missing, ambiguous, or marked review/reject, fail closed: keep the placeholder instead of inserting the image.",
370
370
"Every kept placeholder must appear directly under the most relevant analytical section named by its `建议位置`; do not collect unresolved placeholders in catch-all sections such as `剩余图表占位`, `未放置图表`, `Remaining figures`, or `Leftover figures`.",
371
+
"Every kept placeholder must use the standard `> [!figure]` callout with `建议位置`, `放置原因`, and `当前状态`; never use plain paragraph placeholders such as `[图表占位 | Fig. 1]`, `图表占位:Table 2`, or `Figure Placeholder | Fig. 3`.",
371
372
"`reject_visual_quality` means the candidate image is unsafe to insert; it does not require keeping a final-note placeholder for every rejected candidate.",
372
373
"For survey papers, summarize repetitive representative-work figures or appendix tables in prose when they do not materially help the reader as standalone callouts.",
374
+
"When inserting a real image, prefer the `obsidian_embed` returned by materialize_figure_asset.py; Markdown image syntax is a compatibility fallback, not the preferred note format.",
0 commit comments