@binarycheater/research-sidecar 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +244 -0
  3. package/README.zh.md +244 -0
  4. package/bin/research-sidecar.mjs +87 -0
  5. package/dist/client/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  6. package/dist/client/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  7. package/dist/client/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  8. package/dist/client/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  9. package/dist/client/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  10. package/dist/client/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  11. package/dist/client/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  12. package/dist/client/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  13. package/dist/client/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  14. package/dist/client/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  15. package/dist/client/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  16. package/dist/client/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  17. package/dist/client/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  18. package/dist/client/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  19. package/dist/client/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  20. package/dist/client/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  21. package/dist/client/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  22. package/dist/client/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  23. package/dist/client/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  24. package/dist/client/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  25. package/dist/client/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  26. package/dist/client/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  27. package/dist/client/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  28. package/dist/client/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  29. package/dist/client/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  30. package/dist/client/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  31. package/dist/client/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  32. package/dist/client/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  33. package/dist/client/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  34. package/dist/client/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  35. package/dist/client/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  36. package/dist/client/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  37. package/dist/client/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  38. package/dist/client/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  39. package/dist/client/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  40. package/dist/client/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  41. package/dist/client/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  42. package/dist/client/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  43. package/dist/client/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  44. package/dist/client/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  45. package/dist/client/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  46. package/dist/client/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  47. package/dist/client/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  48. package/dist/client/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  49. package/dist/client/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  50. package/dist/client/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  51. package/dist/client/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  52. package/dist/client/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  53. package/dist/client/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  54. package/dist/client/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  55. package/dist/client/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  56. package/dist/client/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  57. package/dist/client/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  58. package/dist/client/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  59. package/dist/client/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  60. package/dist/client/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  61. package/dist/client/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  62. package/dist/client/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  63. package/dist/client/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  64. package/dist/client/assets/index-BpVgCKdz.css +1 -0
  65. package/dist/client/assets/index-D7VDrQ1Q.js +324 -0
  66. package/dist/client/index.html +13 -0
  67. package/dist-server/lib/context.js +70 -0
  68. package/dist-server/lib/files.js +118 -0
  69. package/dist-server/lib/graphDiscovery.js +69 -0
  70. package/dist-server/lib/openaiProvider.js +89 -0
  71. package/dist-server/lib/prompt.js +30 -0
  72. package/dist-server/lib/researchGraph.js +144 -0
  73. package/dist-server/lib/researchGraphManifest.js +221 -0
  74. package/dist-server/lib/sidebarLayout.js +17 -0
  75. package/dist-server/lib/store.js +190 -0
  76. package/dist-server/lib/tools.js +205 -0
  77. package/dist-server/lib/types.js +1 -0
  78. package/dist-server/lib/workspaceInstall.js +157 -0
  79. package/dist-server/lib/workspaceMeta.js +171 -0
  80. package/dist-server/server/config.js +82 -0
  81. package/dist-server/server/index.js +365 -0
  82. package/package.json +83 -0
  83. package/scripts/codex-sidecar.mjs +325 -0
  84. package/scripts/prepare-package.mjs +14 -0
  85. package/skills/research-graph-sop/SKILL.md +183 -0
  86. package/skills/research-graph-sop/agents/openai.yaml +4 -0
  87. package/skills/scholar-mode/SKILL.md +34 -0
  88. package/skills/scholar-mode/agents/openai.yaml +4 -0
  89. package/skills/sidecar-thinking/SKILL.md +67 -0
  90. package/skills/sidecar-thinking/agents/openai.yaml +4 -0
  91. package/skills/writing-explanatory-reports/SKILL.md +134 -0
  92. package/skills/writing-explanatory-reports/agents/openai.yaml +4 -0
@@ -0,0 +1,134 @@
1
+ ---
2
+ name: writing-explanatory-reports
3
+ description: Use when writing, revising, or generating explanatory research reports, experiment reports, analysis reports, 报告, 实验报告, Markdown reports, or HTML reports where the user needs to understand Codex-run work and make a decision from incomplete context.
4
+ ---
5
+
6
+ # Writing Explanatory Reports
7
+
8
+ Use this skill to write precise, concise, explanatory reports for research or experiments that Codex helped clarify, run, or analyze. The report is not a lab log. It is a reasoning artifact that returns context and decision power to the user.
9
+
10
+ Core standard: **precise and concise does not mean terse. Every explanation must earn its place, but necessary context, metric meaning, reasoning, and limits must be explicit.**
11
+
12
+ ## Reader Model
13
+
14
+ Assume the user may have provided a vague idea, delegated clarification and experiments to Codex, and is now using the report to understand what happened. Before writing, identify:
15
+
16
+ - What original vague idea or question this report resolves.
17
+ - What decision the user needs to make after reading.
18
+ - What context the user may have missed while Codex worked.
19
+ - Which metrics, terms, or baselines need explanation inside the report.
20
+ - What conclusion would be tempting but unsupported.
21
+
22
+ If these are unclear and cannot be inferred from files, ask at most one clarifying question. Otherwise infer and state assumptions in the report.
23
+
24
+ ## Report Goal
25
+
26
+ A good report supports three reading modes:
27
+
28
+ - **2 minutes:** what was tested, what was found, what decision follows.
29
+ - **10 minutes:** why the conclusion follows from the evidence.
30
+ - **Audit:** whether Codex over-interpreted the experiment.
31
+
32
+ Prefer explanation that helps judgment over exhaustive detail.
33
+
34
+ ## Default Structure
35
+
36
+ Use the shortest structure that preserves understanding. For most experiment reports:
37
+
38
+ 1. **Title** - name the object and judgment type, not just the topic.
39
+ 2. **TL;DR / 摘要** - 3-6 sentences: conclusion, key evidence, boundary, next move.
40
+ 3. **This report answers / 这轮在回答什么** - translate the vague idea into a precise question.
41
+ 4. **Why this was needed / 为什么做这轮** - restore necessary prior context in 1-3 short paragraphs.
42
+ 5. **Decision / 先读结论** - state what should and should not happen next.
43
+ 6. **How to read the metrics / 指标怎么读** - define each important metric by what it answers, what it cannot answer, and how conflicts are resolved.
44
+ 7. **Experiment setup / 实验设置** - enough detail to audit, not a run log.
45
+ 8. **Main results / 主要结果** - tables or figures plus immediate interpretation.
46
+ 9. **From result to judgment / 从结果到判断** - make the inference chain explicit.
47
+ 10. **Not proven / 这轮没有证明什么** - prevent overclaiming.
48
+ 11. **Next step / 下一步** - few actions, each with a reason.
49
+
50
+ Do not force all sections when a shorter report is clearer.
51
+
52
+ ## Reasoning Discipline
53
+
54
+ Separate these layers:
55
+
56
+ - **Observation:** measured result, table value, run outcome.
57
+ - **Interpretation:** what the observation suggests.
58
+ - **Decision:** what to do next.
59
+ - **Boundary:** where the interpretation stops.
60
+
61
+ Use explicit chains when helpful:
62
+
63
+ `observed X -> suggests Y -> but because Z, only supports W`
64
+
65
+ Every strong claim needs its boundary. Especially mark limits from small samples, proxy metrics, oracle upper bounds, synthetic tasks, failed runs, baselines that are not equal-budget, and implementation caveats.
66
+
67
+ ## Metric Explanation
68
+
69
+ For important metrics, do not only define the formula. Explain:
70
+
71
+ - What question the metric answers.
72
+ - What failure mode it catches.
73
+ - What it cannot prove.
74
+ - Which metric should dominate when metrics disagree.
75
+
76
+ Example pattern:
77
+
78
+ `mass` measures how much full-attention probability the candidate set covers. It is useful for fidelity, but it does not prove answer behavior is preserved. If `mass` looks good while answer logprob or logits agreement degrades, trust the behavior metric for decision-making.
79
+
80
+ ## Tables And Figures
81
+
82
+ Every table or figure must have a nearby plain-language interpretation. The user should not need to infer the conclusion from numbers alone.
83
+
84
+ Good table commentary names:
85
+
86
+ - the largest relevant contrast,
87
+ - the baseline that matters,
88
+ - whether the difference changes the decision,
89
+ - and the caveat.
90
+
91
+ Avoid dumping full raw outputs unless the report is explicitly archival.
92
+
93
+ ## Markdown Rules
94
+
95
+ Markdown is the source of truth. Prefer:
96
+
97
+ - clear headings,
98
+ - compact paragraphs,
99
+ - tables for comparable numbers,
100
+ - bullets only for scan-friendly claims,
101
+ - code spans for exact method names, metrics, run names, paths, and commands.
102
+
103
+ Keep terminology stable. If a report uses mixed Chinese and English technical terms, preserve exact method and metric names.
104
+
105
+ ## HTML Rules
106
+
107
+ HTML should improve readability without changing the logic. If producing HTML:
108
+
109
+ - keep the Markdown structure as the content source,
110
+ - surface TL;DR, decision, metric guide, and not-proven sections early,
111
+ - use readable typography, sticky navigation, responsive tables, and simple section cards,
112
+ - avoid decorative complexity that competes with the evidence,
113
+ - ensure tables and figures are legible on mobile and desktop.
114
+
115
+ ## Common Mistakes
116
+
117
+ - Writing a chronology instead of a decision report.
118
+ - Explaining methods but not the decision they enable.
119
+ - Treating proxy metrics as final evidence.
120
+ - Hiding uncertainty in vague language.
121
+ - Saying what improved without naming the baseline.
122
+ - Listing next steps without explaining why those are the right next steps.
123
+ - Making the report terse where the user needs reconstruction of context.
124
+
125
+ ## Final Self-Check
126
+
127
+ Before delivering, verify:
128
+
129
+ - Can the user state the main conclusion after reading only the TL;DR?
130
+ - Is the original vague idea translated into a precise question?
131
+ - Are observation, interpretation, decision, and boundary separated?
132
+ - Does every key table or chart have an interpretation?
133
+ - Is there a clear "not proven" section for nontrivial experiments?
134
+ - Are next steps few, justified, and decision-relevant?
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Writing Explanatory Reports"
3
+ short_description: "Write concise research and experiment reports that explain context, evidence, limits, and decisions"
4
+ default_prompt: "Use $writing-explanatory-reports to write or revise a Markdown or HTML report from Codex-run research, experiments, or analysis."