photon-skills 2.0.0__tar.gz

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 (554) hide show
  1. photon_skills-2.0.0/.github/workflows/publish.yml +69 -0
  2. photon_skills-2.0.0/.gitignore +40 -0
  3. photon_skills-2.0.0/AGENTS.md +39 -0
  4. photon_skills-2.0.0/CHANGELOG.md +151 -0
  5. photon_skills-2.0.0/CONTRIBUTING.md +139 -0
  6. photon_skills-2.0.0/LICENSE +21 -0
  7. photon_skills-2.0.0/PKG-INFO +375 -0
  8. photon_skills-2.0.0/README.en.md +383 -0
  9. photon_skills-2.0.0/README.md +362 -0
  10. photon_skills-2.0.0/SECURITY.md +87 -0
  11. photon_skills-2.0.0/_shared/README.md +105 -0
  12. photon_skills-2.0.0/_shared/__init__.py +189 -0
  13. photon_skills-2.0.0/_shared/__main__.py +11 -0
  14. photon_skills-2.0.0/_shared/decision_contract.py +193 -0
  15. photon_skills-2.0.0/_shared/evidence_contract.py +345 -0
  16. photon_skills-2.0.0/_shared/findings_schema.py +391 -0
  17. photon_skills-2.0.0/_shared/gate_runner.py +175 -0
  18. photon_skills-2.0.0/_shared/semantic_sim.py +275 -0
  19. photon_skills-2.0.0/_shared/status_contract.py +195 -0
  20. photon_skills-2.0.0/_shared/visual_qa.py +376 -0
  21. photon_skills-2.0.0/assets/logo.png +0 -0
  22. photon_skills-2.0.0/assets/research-workflow.en.svg +155 -0
  23. photon_skills-2.0.0/assets/research-workflow.zh.svg +155 -0
  24. photon_skills-2.0.0/assets/social-preview.png +0 -0
  25. photon_skills-2.0.0/assets/wechat-donation.jpg +0 -0
  26. photon_skills-2.0.0/assets/wechat-official-account.jpg +0 -0
  27. photon_skills-2.0.0/docs/compatibility/agent-client-compatibility.md +51 -0
  28. photon_skills-2.0.0/docs/competitors/_shared.md +95 -0
  29. photon_skills-2.0.0/docs/competitors/citation.md +114 -0
  30. photon_skills-2.0.0/docs/competitors/consistency.md +329 -0
  31. photon_skills-2.0.0/docs/competitors/data-engineering.md +153 -0
  32. photon_skills-2.0.0/docs/competitors/experiment-coding.md +69 -0
  33. photon_skills-2.0.0/docs/competitors/figure.md +164 -0
  34. photon_skills-2.0.0/docs/competitors/file-reading.md +186 -0
  35. photon_skills-2.0.0/docs/competitors/frontend-design.md +152 -0
  36. photon_skills-2.0.0/docs/competitors/idea-critique.md +187 -0
  37. photon_skills-2.0.0/docs/competitors/idea-generation.md +191 -0
  38. photon_skills-2.0.0/docs/competitors/literature-search.md +146 -0
  39. photon_skills-2.0.0/docs/competitors/memory-pm.md +135 -0
  40. photon_skills-2.0.0/docs/competitors/orchestrator.md +378 -0
  41. photon_skills-2.0.0/docs/competitors/paper-writing.md +144 -0
  42. photon_skills-2.0.0/docs/competitors/patent-disclosure.md +46 -0
  43. photon_skills-2.0.0/docs/competitors/project-structure.md +284 -0
  44. photon_skills-2.0.0/docs/competitors/research-ethics.md +125 -0
  45. photon_skills-2.0.0/docs/competitors/research-plan.md +133 -0
  46. photon_skills-2.0.0/docs/competitors/result-analysis.md +201 -0
  47. photon_skills-2.0.0/docs/competitors/review-rebuttal.md +155 -0
  48. photon_skills-2.0.0/docs/competitors/software-copyright.md +42 -0
  49. photon_skills-2.0.0/docs/competitors/system-design.md +163 -0
  50. photon_skills-2.0.0/docs/competitors/typesetting.md +121 -0
  51. photon_skills-2.0.0/docs/competitors/venue-matching.md +182 -0
  52. photon_skills-2.0.0/docs/design/consistency-round2-e2e.md +77 -0
  53. photon_skills-2.0.0/docs/design/git-persistence.md +45 -0
  54. photon_skills-2.0.0/docs/design/orchestrator-spec.md +347 -0
  55. photon_skills-2.0.0/docs/design/safety-privacy.md +68 -0
  56. photon_skills-2.0.0/docs/design/student-skill-audit.md +72 -0
  57. photon_skills-2.0.0/docs/e2e/citation-round2.md +95 -0
  58. photon_skills-2.0.0/docs/e2e/data-engineering-round2.md +78 -0
  59. photon_skills-2.0.0/docs/e2e/experiment-coding-round2.md +127 -0
  60. photon_skills-2.0.0/docs/e2e/ip-extension-gate.md +133 -0
  61. photon_skills-2.0.0/docs/e2e/orchestrator-round2.md +256 -0
  62. photon_skills-2.0.0/docs/e2e/paper-writing-round2.md +175 -0
  63. photon_skills-2.0.0/docs/e2e/project-structure-round2.md +210 -0
  64. photon_skills-2.0.0/docs/e2e/research-ethics-round2.md +206 -0
  65. photon_skills-2.0.0/docs/e2e/research-plan-round2.md +147 -0
  66. photon_skills-2.0.0/docs/e2e/result-analysis-round2.md +106 -0
  67. photon_skills-2.0.0/docs/e2e/review-rebuttal-round2.md +148 -0
  68. photon_skills-2.0.0/docs/e2e/round3-release-gate.md +28 -0
  69. photon_skills-2.0.0/docs/e2e/system-design-round2.md +231 -0
  70. photon_skills-2.0.0/docs/e2e/typesetting-round2.md +132 -0
  71. photon_skills-2.0.0/docs/e2e/venue-matching-round2.md +183 -0
  72. photon_skills-2.0.0/docs/learning/ip/ip-upgrade-synthesis.md +74 -0
  73. photon_skills-2.0.0/docs/learning/ip/patent-deep-read-report.md +149 -0
  74. photon_skills-2.0.0/docs/learning/ip/software-copyright-deep-read-report.md +135 -0
  75. photon_skills-2.0.0/docs/releases/v1.0.0.md +143 -0
  76. photon_skills-2.0.0/examples/demo-student-project/.gitignore +6 -0
  77. photon_skills-2.0.0/examples/demo-student-project/.photon-project +3 -0
  78. photon_skills-2.0.0/examples/demo-student-project/decisions.md +6 -0
  79. photon_skills-2.0.0/examples/demo-student-project/mentor-feedback/2026-08-01.md +9 -0
  80. photon_skills-2.0.0/examples/demo-student-project/mentor-feedback/README.md +15 -0
  81. photon_skills-2.0.0/examples/demo-student-project/project-card.md +39 -0
  82. photon_skills-2.0.0/examples/demo-student-project/session-log/2026-07-28.md +20 -0
  83. photon_skills-2.0.0/examples/demo-student-project/session-log/2026-07-30.md +20 -0
  84. photon_skills-2.0.0/examples/demo-student-project/session-log/2026-08-01.md +20 -0
  85. photon_skills-2.0.0/examples/demo-student-project/source-log.md +7 -0
  86. photon_skills-2.0.0/examples/demo-student-project/task-log.md +9 -0
  87. photon_skills-2.0.0/examples/e2e-research-demo/README.md +44 -0
  88. photon_skills-2.0.0/examples/e2e-research-demo/artifacts/light_e2e_case.md +76 -0
  89. photon_skills-2.0.0/examples/e2e-research-demo/data/synthetic_experiment.csv +1441 -0
  90. photon_skills-2.0.0/examples/e2e-research-demo/figures/panels/panel_a_design_frontier.png +0 -0
  91. photon_skills-2.0.0/examples/e2e-research-demo/figures/panels/panel_b_signal_screen.png +0 -0
  92. photon_skills-2.0.0/examples/e2e-research-demo/figures/panels/panel_c_calibration.png +0 -0
  93. photon_skills-2.0.0/examples/e2e-research-demo/figures/panels/panel_d_evidence_strength.png +0 -0
  94. photon_skills-2.0.0/examples/e2e-research-demo/figures/panels/panel_e_failure_map.png +0 -0
  95. photon_skills-2.0.0/examples/e2e-research-demo/figures/panels/panel_f_quality_trajectory.png +0 -0
  96. photon_skills-2.0.0/examples/e2e-research-demo/figures/panels/panel_g_distribution_shift.png +0 -0
  97. photon_skills-2.0.0/examples/e2e-research-demo/figures/panels/panel_h_tradeoff_curve.png +0 -0
  98. photon_skills-2.0.0/examples/e2e-research-demo/figures/panels/panel_i_risk_budget.png +0 -0
  99. photon_skills-2.0.0/examples/e2e-research-demo/figures/research_figure_gallery.png +0 -0
  100. photon_skills-2.0.0/examples/e2e-research-demo/scripts/compose_figure_gallery.py +60 -0
  101. photon_skills-2.0.0/examples/e2e-research-demo/scripts/generate_synthetic_data.py +78 -0
  102. photon_skills-2.0.0/examples/e2e-research-demo/scripts/python_gallery_panels.py +168 -0
  103. photon_skills-2.0.0/examples/e2e-research-demo/scripts/r_gallery_panels.R +110 -0
  104. photon_skills-2.0.0/examples/e2e-research-demo/scripts/run_demo.py +61 -0
  105. photon_skills-2.0.0/projects/photocatalytic-dye-kinetics-study/README.md +47 -0
  106. photon_skills-2.0.0/projects/photocatalytic-dye-kinetics-study/data/fitted_rate_constants.csv +184 -0
  107. photon_skills-2.0.0/projects/photocatalytic-dye-kinetics-study/data/synthetic_design_table.csv +184 -0
  108. photon_skills-2.0.0/projects/photocatalytic-dye-kinetics-study/data/synthetic_uvvis_timeseries.csv +4969 -0
  109. photon_skills-2.0.0/projects/photocatalytic-dye-kinetics-study/figures/figure1_kinetics.png +0 -0
  110. photon_skills-2.0.0/projects/photocatalytic-dye-kinetics-study/figures/figure2_response_surface.png +0 -0
  111. photon_skills-2.0.0/projects/photocatalytic-dye-kinetics-study/figures/figure3_diagnostics.png +0 -0
  112. photon_skills-2.0.0/projects/photocatalytic-dye-kinetics-study/figures/figure4_scavenger_effects.png +0 -0
  113. photon_skills-2.0.0/projects/photocatalytic-dye-kinetics-study/outputs/analysis_summary.json +54 -0
  114. photon_skills-2.0.0/projects/photocatalytic-dye-kinetics-study/outputs/scavenger_summary.csv +4 -0
  115. photon_skills-2.0.0/projects/photocatalytic-dye-kinetics-study/paper/main-preview.png +0 -0
  116. photon_skills-2.0.0/projects/photocatalytic-dye-kinetics-study/paper/main.md +22 -0
  117. photon_skills-2.0.0/projects/photocatalytic-dye-kinetics-study/paper/main.pdf +0 -0
  118. photon_skills-2.0.0/projects/photocatalytic-dye-kinetics-study/paper/main.tex +97 -0
  119. photon_skills-2.0.0/projects/photocatalytic-dye-kinetics-study/scripts/analyze.py +105 -0
  120. photon_skills-2.0.0/projects/photocatalytic-dye-kinetics-study/scripts/build_paper.py +204 -0
  121. photon_skills-2.0.0/projects/photocatalytic-dye-kinetics-study/scripts/generate_data.py +127 -0
  122. photon_skills-2.0.0/projects/photocatalytic-dye-kinetics-study/scripts/make_figures.py +162 -0
  123. photon_skills-2.0.0/projects/photocatalytic-dye-kinetics-study/scripts/render_preview.py +22 -0
  124. photon_skills-2.0.0/projects/photocatalytic-dye-kinetics-study/scripts/run_all.py +26 -0
  125. photon_skills-2.0.0/pyproject.toml +32 -0
  126. photon_skills-2.0.0/scripts/bootstrap_agent_skills.py +275 -0
  127. photon_skills-2.0.0/scripts/release.py +212 -0
  128. photon_skills-2.0.0/skills/README.md +32 -0
  129. photon_skills-2.0.0/skills/light-citation/SKILL.md +271 -0
  130. photon_skills-2.0.0/skills/light-citation/assets/citation_checklist.md +42 -0
  131. photon_skills-2.0.0/skills/light-citation/citation-resource-map.md +109 -0
  132. photon_skills-2.0.0/skills/light-citation/references/locator_audit.md +59 -0
  133. photon_skills-2.0.0/skills/light-citation/references/registry_contract.md +69 -0
  134. photon_skills-2.0.0/skills/light-citation/references.md +447 -0
  135. photon_skills-2.0.0/skills/light-citation/scripts/citation_four_gate.py +576 -0
  136. photon_skills-2.0.0/skills/light-citation/scripts/citation_registry.py +878 -0
  137. photon_skills-2.0.0/skills/light-citation/scripts/citation_verify_gate.py +760 -0
  138. photon_skills-2.0.0/skills/light-citation/scripts/citekey_audit.py +170 -0
  139. photon_skills-2.0.0/skills/light-citation/scripts/doi_to_any.py +338 -0
  140. photon_skills-2.0.0/skills/light-citation/scripts/verify_citation_edge.py +265 -0
  141. photon_skills-2.0.0/skills/light-citation/scripts/verify_refs.py +781 -0
  142. photon_skills-2.0.0/skills/light-citation/templates/citation-four-gate.example.json +32 -0
  143. photon_skills-2.0.0/skills/light-citation/templates/citation_input.json +26 -0
  144. photon_skills-2.0.0/skills/light-citation/templates/claim_citation_review.json +37 -0
  145. photon_skills-2.0.0/skills/light-consistency/SKILL.md +313 -0
  146. photon_skills-2.0.0/skills/light-consistency/assets/claims_registry.yaml +64 -0
  147. photon_skills-2.0.0/skills/light-consistency/assets/consistency-registry.example.json +190 -0
  148. photon_skills-2.0.0/skills/light-consistency/assets/glossary.yaml +74 -0
  149. photon_skills-2.0.0/skills/light-consistency/assets/method_lock.yaml +55 -0
  150. photon_skills-2.0.0/skills/light-consistency/assets/metric_registry.yaml +80 -0
  151. photon_skills-2.0.0/skills/light-consistency/examples/fact-bindings.example.json +31 -0
  152. photon_skills-2.0.0/skills/light-consistency/examples/materials_paper.txt +5 -0
  153. photon_skills-2.0.0/skills/light-consistency/examples/materials_ppt.txt +6 -0
  154. photon_skills-2.0.0/skills/light-consistency/references/consistency-resource-map.md +339 -0
  155. photon_skills-2.0.0/skills/light-consistency/scripts/consistency_audit.py +1255 -0
  156. photon_skills-2.0.0/skills/light-consistency/scripts/consistency_delta.py +324 -0
  157. photon_skills-2.0.0/skills/light-consistency/scripts/consistency_registry_gate.py +586 -0
  158. photon_skills-2.0.0/skills/light-consistency/scripts/fact_consistency.py +150 -0
  159. photon_skills-2.0.0/skills/light-data-engineering/SKILL.md +307 -0
  160. photon_skills-2.0.0/skills/light-data-engineering/assets/data_card_template.md +88 -0
  161. photon_skills-2.0.0/skills/light-data-engineering/examples/derive_spec.example.json +32 -0
  162. photon_skills-2.0.0/skills/light-data-engineering/examples/rules.example.yaml +33 -0
  163. photon_skills-2.0.0/skills/light-data-engineering/examples/worked_example.md +147 -0
  164. photon_skills-2.0.0/skills/light-data-engineering/references/data-resource-map.md +174 -0
  165. photon_skills-2.0.0/skills/light-data-engineering/references.md +129 -0
  166. photon_skills-2.0.0/skills/light-data-engineering/scripts/check_access_level.py +144 -0
  167. photon_skills-2.0.0/skills/light-data-engineering/scripts/croissant_export.py +168 -0
  168. photon_skills-2.0.0/skills/light-data-engineering/scripts/data_doctor.py +489 -0
  169. photon_skills-2.0.0/skills/light-data-engineering/scripts/data_feasibility.py +204 -0
  170. photon_skills-2.0.0/skills/light-data-engineering/scripts/data_feasibility_gate.py +336 -0
  171. photon_skills-2.0.0/skills/light-data-engineering/scripts/data_identity_fitness.py +923 -0
  172. photon_skills-2.0.0/skills/light-data-engineering/scripts/dataset_intake.py +380 -0
  173. photon_skills-2.0.0/skills/light-data-engineering/scripts/derive_eval_set.py +217 -0
  174. photon_skills-2.0.0/skills/light-data-engineering/scripts/drift_check.py +249 -0
  175. photon_skills-2.0.0/skills/light-data-engineering/scripts/quality_gate.py +259 -0
  176. photon_skills-2.0.0/skills/light-data-engineering/scripts/safe_split.py +265 -0
  177. photon_skills-2.0.0/skills/light-data-engineering/scripts/sample_size_check.py +182 -0
  178. photon_skills-2.0.0/skills/light-data-engineering/scripts/split_leakage.py +569 -0
  179. photon_skills-2.0.0/skills/light-data-engineering/templates/annotation_guide.md +69 -0
  180. photon_skills-2.0.0/skills/light-data-engineering/templates/data-identity-fitness.example.json +97 -0
  181. photon_skills-2.0.0/skills/light-experiment-coding/SKILL.md +207 -0
  182. photon_skills-2.0.0/skills/light-experiment-coding/assets/project-scaffold/.github/workflows/ci.yml +33 -0
  183. photon_skills-2.0.0/skills/light-experiment-coding/assets/project-scaffold/.pre-commit-config.yaml +34 -0
  184. photon_skills-2.0.0/skills/light-experiment-coding/assets/project-scaffold/CODE_REVIEW_CHECKLIST.md +50 -0
  185. photon_skills-2.0.0/skills/light-experiment-coding/assets/project-scaffold/README.md +100 -0
  186. photon_skills-2.0.0/skills/light-experiment-coding/assets/project-scaffold/configs/experiment.example.json +32 -0
  187. photon_skills-2.0.0/skills/light-experiment-coding/assets/project-scaffold/configs/experiment.schema.json +71 -0
  188. photon_skills-2.0.0/skills/light-experiment-coding/assets/project-scaffold/pyproject.toml +70 -0
  189. photon_skills-2.0.0/skills/light-experiment-coding/assets/project-scaffold/scripts/boundary_trace.py +83 -0
  190. photon_skills-2.0.0/skills/light-experiment-coding/assets/project-scaffold/scripts/debug_instrument.sh +36 -0
  191. photon_skills-2.0.0/skills/light-experiment-coding/assets/project-scaffold/src/example/__init__.py +1 -0
  192. photon_skills-2.0.0/skills/light-experiment-coding/assets/project-scaffold/src/example/experiment_contracts.py +80 -0
  193. photon_skills-2.0.0/skills/light-experiment-coding/assets/project-scaffold/src/example/reproducibility.py +164 -0
  194. photon_skills-2.0.0/skills/light-experiment-coding/assets/project-scaffold/src/example/stats.py +21 -0
  195. photon_skills-2.0.0/skills/light-experiment-coding/assets/project-scaffold/tests/conftest.py +13 -0
  196. photon_skills-2.0.0/skills/light-experiment-coding/assets/project-scaffold/tests/test_experiment_contracts.py +87 -0
  197. photon_skills-2.0.0/skills/light-experiment-coding/assets/project-scaffold/tests/test_reproducibility.py +88 -0
  198. photon_skills-2.0.0/skills/light-experiment-coding/assets/project-scaffold/tests/test_stats.py +25 -0
  199. photon_skills-2.0.0/skills/light-experiment-coding/assets/project-scaffold/uv.lock +787 -0
  200. photon_skills-2.0.0/skills/light-experiment-coding/examples/repro_spec.example.json +7 -0
  201. photon_skills-2.0.0/skills/light-experiment-coding/references/code_examples.md +42 -0
  202. photon_skills-2.0.0/skills/light-experiment-coding/references/debug_protocol.md +70 -0
  203. photon_skills-2.0.0/skills/light-experiment-coding/references/experiment-coding-resource-map.md +94 -0
  204. photon_skills-2.0.0/skills/light-experiment-coding/references/tdd_redflags.md +68 -0
  205. photon_skills-2.0.0/skills/light-experiment-coding/references/tools.md +76 -0
  206. photon_skills-2.0.0/skills/light-experiment-coding/scripts/experiment_execution_contract.py +1145 -0
  207. photon_skills-2.0.0/skills/light-experiment-coding/scripts/repro_gate.py +661 -0
  208. photon_skills-2.0.0/skills/light-experiment-coding/scripts/review_gate.py +375 -0
  209. photon_skills-2.0.0/skills/light-experiment-coding/scripts/run_artifact_check.py +632 -0
  210. photon_skills-2.0.0/skills/light-experiment-coding/scripts/seed_audit.py +522 -0
  211. photon_skills-2.0.0/skills/light-experiment-coding/templates/experiment-execution-contract.example.json +102 -0
  212. photon_skills-2.0.0/skills/light-experiment-coding/templates/run_manifest.md +57 -0
  213. photon_skills-2.0.0/skills/light-experiment-coding/templates/run_manifest.template.json +100 -0
  214. photon_skills-2.0.0/skills/light-figure/SKILL.md +227 -0
  215. photon_skills-2.0.0/skills/light-figure/assets/nature.mplstyle +52 -0
  216. photon_skills-2.0.0/skills/light-figure/assets/publication.mplstyle +58 -0
  217. photon_skills-2.0.0/skills/light-figure/assets/science.mplstyle +52 -0
  218. photon_skills-2.0.0/skills/light-figure/examples/bad_figure_example.py +43 -0
  219. photon_skills-2.0.0/skills/light-figure/examples/example_framework.dot +34 -0
  220. photon_skills-2.0.0/skills/light-figure/examples/example_framework_render.py +100 -0
  221. photon_skills-2.0.0/skills/light-figure/examples/example_matplotlib_multipanel.py +119 -0
  222. photon_skills-2.0.0/skills/light-figure/examples/example_seaborn_stats.py +99 -0
  223. photon_skills-2.0.0/skills/light-figure/examples/worked_example.md +125 -0
  224. photon_skills-2.0.0/skills/light-figure/references/figure_integrity.md +58 -0
  225. photon_skills-2.0.0/skills/light-figure/scripts/audit_figure_set.py +349 -0
  226. photon_skills-2.0.0/skills/light-figure/scripts/color_palettes.py +197 -0
  227. photon_skills-2.0.0/skills/light-figure/scripts/figure_contract.py +523 -0
  228. photon_skills-2.0.0/skills/light-figure/scripts/figure_export.py +799 -0
  229. photon_skills-2.0.0/skills/light-figure/scripts/figure_integrity_lint.py +179 -0
  230. photon_skills-2.0.0/skills/light-figure/scripts/figure_visual_qa.py +337 -0
  231. photon_skills-2.0.0/skills/light-figure/scripts/r_ggplot.py +943 -0
  232. photon_skills-2.0.0/skills/light-figure/scripts/recommend_chart.py +247 -0
  233. photon_skills-2.0.0/skills/light-figure/scripts/validate_plan_card.py +263 -0
  234. photon_skills-2.0.0/skills/light-figure/scripts/visual_honesty_gate.py +590 -0
  235. photon_skills-2.0.0/skills/light-figure/templates/figure-delivery.example.json +85 -0
  236. photon_skills-2.0.0/skills/light-figure/templates/figure_plan_card.md +57 -0
  237. photon_skills-2.0.0/skills/light-figure/templates/table_plan_card.md +62 -0
  238. photon_skills-2.0.0/skills/light-file-reading/SKILL.md +321 -0
  239. photon_skills-2.0.0/skills/light-file-reading/assets/extraction-benchmark.example.json +42 -0
  240. photon_skills-2.0.0/skills/light-file-reading/assets/reading-contract.example.json +220 -0
  241. photon_skills-2.0.0/skills/light-file-reading/assets/understanding-note.template.md +108 -0
  242. photon_skills-2.0.0/skills/light-file-reading/references/DOCX-REF.md +116 -0
  243. photon_skills-2.0.0/skills/light-file-reading/references/IMG-REF.md +102 -0
  244. photon_skills-2.0.0/skills/light-file-reading/references/PDF-REF.md +169 -0
  245. photon_skills-2.0.0/skills/light-file-reading/references/PPTX-REF.md +65 -0
  246. photon_skills-2.0.0/skills/light-file-reading/references/XLSX-REF.md +87 -0
  247. photon_skills-2.0.0/skills/light-file-reading/references/reading-resource-map.md +224 -0
  248. photon_skills-2.0.0/skills/light-file-reading/references/tools.md +307 -0
  249. photon_skills-2.0.0/skills/light-file-reading/scripts/document_status.py +190 -0
  250. photon_skills-2.0.0/skills/light-file-reading/scripts/docx_read.py +374 -0
  251. photon_skills-2.0.0/skills/light-file-reading/scripts/extraction_benchmark.py +295 -0
  252. photon_skills-2.0.0/skills/light-file-reading/scripts/pdf_ops.py +642 -0
  253. photon_skills-2.0.0/skills/light-file-reading/scripts/reading_contract.py +852 -0
  254. photon_skills-2.0.0/skills/light-file-reading/scripts/understanding_note_gate.py +786 -0
  255. photon_skills-2.0.0/skills/light-file-reading/scripts/xlsx_read.py +192 -0
  256. photon_skills-2.0.0/skills/light-frontend-design/SKILL.md +220 -0
  257. photon_skills-2.0.0/skills/light-frontend-design/assets/gsap-horizontal-pan.tsx +80 -0
  258. photon_skills-2.0.0/skills/light-frontend-design/assets/gsap-sticky-stack.tsx +84 -0
  259. photon_skills-2.0.0/skills/light-frontend-design/assets/motion-scroll-reveal.tsx +62 -0
  260. photon_skills-2.0.0/skills/light-frontend-design/references/design-systems-map.md +37 -0
  261. photon_skills-2.0.0/skills/light-frontend-design/references/ecosystem-2026.md +84 -0
  262. photon_skills-2.0.0/skills/light-frontend-design/references/fonts-and-colors.md +49 -0
  263. photon_skills-2.0.0/skills/light-frontend-design/references/redesign-audit.md +56 -0
  264. photon_skills-2.0.0/skills/light-frontend-design/references/resource-map.md +113 -0
  265. photon_skills-2.0.0/skills/light-frontend-design/references/visual-a11y-rules.md +51 -0
  266. photon_skills-2.0.0/skills/light-frontend-design/references.md +44 -0
  267. photon_skills-2.0.0/skills/light-frontend-design/scripts/ai_tell_lint.py +291 -0
  268. photon_skills-2.0.0/skills/light-frontend-design/scripts/audit_checklist.py +286 -0
  269. photon_skills-2.0.0/skills/light-frontend-design/scripts/browser_qa.py +303 -0
  270. photon_skills-2.0.0/skills/light-frontend-design/scripts/contrast_lint.py +309 -0
  271. photon_skills-2.0.0/skills/light-frontend-design/scripts/design_delivery_gate.py +867 -0
  272. photon_skills-2.0.0/skills/light-frontend-design/templates/frontend-delivery.example.json +62 -0
  273. photon_skills-2.0.0/skills/light-idea-critique/SKILL.md +303 -0
  274. photon_skills-2.0.0/skills/light-idea-critique/critique-resource-map.md +147 -0
  275. photon_skills-2.0.0/skills/light-idea-critique/examples/worked_example_dermoscopy.md +87 -0
  276. photon_skills-2.0.0/skills/light-idea-critique/references/contract.md +54 -0
  277. photon_skills-2.0.0/skills/light-idea-critique/references/protocol.md +90 -0
  278. photon_skills-2.0.0/skills/light-idea-critique/references/rubric.md +156 -0
  279. photon_skills-2.0.0/skills/light-idea-critique/references.md +255 -0
  280. photon_skills-2.0.0/skills/light-idea-critique/scripts/calibration.py +174 -0
  281. photon_skills-2.0.0/skills/light-idea-critique/scripts/critique_self_audit.py +469 -0
  282. photon_skills-2.0.0/skills/light-idea-critique/scripts/fatal_flaw_gate.py +500 -0
  283. photon_skills-2.0.0/skills/light-idea-critique/scripts/novelty_audit.py +328 -0
  284. photon_skills-2.0.0/skills/light-idea-critique/scripts/novelty_density.py +294 -0
  285. photon_skills-2.0.0/skills/light-idea-critique/scripts/novelty_evidence_gate.py +709 -0
  286. photon_skills-2.0.0/skills/light-idea-critique/scripts/score_aggregate.py +400 -0
  287. photon_skills-2.0.0/skills/light-idea-critique/scripts/sycophancy_guard.py +157 -0
  288. photon_skills-2.0.0/skills/light-idea-critique/templates/Revision_Roadmap.md +27 -0
  289. photon_skills-2.0.0/skills/light-idea-critique/templates/novelty-evidence.example.json +44 -0
  290. photon_skills-2.0.0/skills/light-idea-critique/templates/verdict_template.md +68 -0
  291. photon_skills-2.0.0/skills/light-idea-generation/.gitignore +7 -0
  292. photon_skills-2.0.0/skills/light-idea-generation/SKILL.md +327 -0
  293. photon_skills-2.0.0/skills/light-idea-generation/examples/candidates.example.json +52 -0
  294. photon_skills-2.0.0/skills/light-idea-generation/examples/idea_candidates.example.md +113 -0
  295. photon_skills-2.0.0/skills/light-idea-generation/idea-resource-map.md +148 -0
  296. photon_skills-2.0.0/skills/light-idea-generation/references.md +216 -0
  297. photon_skills-2.0.0/skills/light-idea-generation/scripts/candidate_dedup.py +187 -0
  298. photon_skills-2.0.0/skills/light-idea-generation/scripts/card_gate.py +406 -0
  299. photon_skills-2.0.0/skills/light-idea-generation/scripts/gap_evidence_gate.py +580 -0
  300. photon_skills-2.0.0/skills/light-idea-generation/scripts/idea_genealogy.py +481 -0
  301. photon_skills-2.0.0/skills/light-idea-generation/scripts/idea_selfcheck.py +387 -0
  302. photon_skills-2.0.0/skills/light-idea-generation/scripts/innovation_engine.py +449 -0
  303. photon_skills-2.0.0/skills/light-idea-generation/scripts/provocation_gen.py +220 -0
  304. photon_skills-2.0.0/skills/light-idea-generation/scripts/rank_ideas.py +191 -0
  305. photon_skills-2.0.0/skills/light-idea-generation/scripts/swiss_rank.py +249 -0
  306. photon_skills-2.0.0/skills/light-idea-generation/templates/idea-gap-evidence.example.json +27 -0
  307. photon_skills-2.0.0/skills/light-idea-generation/templates/idea-genealogy.example.json +64 -0
  308. photon_skills-2.0.0/skills/light-idea-generation/templates/idea_card.md +69 -0
  309. photon_skills-2.0.0/skills/light-idea-generation/templates/innovation-engine.example.json +42 -0
  310. photon_skills-2.0.0/skills/light-literature-search/SKILL.md +288 -0
  311. photon_skills-2.0.0/skills/light-literature-search/assets/cn_core_issn.csv +12 -0
  312. photon_skills-2.0.0/skills/light-literature-search/assets/litreview_template.md +54 -0
  313. photon_skills-2.0.0/skills/light-literature-search/assets/method_card.md +29 -0
  314. photon_skills-2.0.0/skills/light-literature-search/examples/goat_littable.md +22 -0
  315. photon_skills-2.0.0/skills/light-literature-search/examples/goat_search.json +392 -0
  316. photon_skills-2.0.0/skills/light-literature-search/examples/worked_example_dairy_goat.md +59 -0
  317. photon_skills-2.0.0/skills/light-literature-search/references.md +509 -0
  318. photon_skills-2.0.0/skills/light-literature-search/scripts/arxiv_search.py +401 -0
  319. photon_skills-2.0.0/skills/light-literature-search/scripts/biomedical_search.py +432 -0
  320. photon_skills-2.0.0/skills/light-literature-search/scripts/cn_journal_probe.py +192 -0
  321. photon_skills-2.0.0/skills/light-literature-search/scripts/cross_domain_search.py +160 -0
  322. photon_skills-2.0.0/skills/light-literature-search/scripts/domain_map.py +617 -0
  323. photon_skills-2.0.0/skills/light-literature-search/scripts/pipeline.py +184 -0
  324. photon_skills-2.0.0/skills/light-literature-search/scripts/prisma_flow.py +157 -0
  325. photon_skills-2.0.0/skills/light-literature-search/scripts/search_normalize.py +860 -0
  326. photon_skills-2.0.0/skills/light-literature-search/scripts/search_protocol_gate.py +658 -0
  327. photon_skills-2.0.0/skills/light-literature-search/scripts/snowball.py +531 -0
  328. photon_skills-2.0.0/skills/light-literature-search/scripts/tracker.py +216 -0
  329. photon_skills-2.0.0/skills/light-literature-search/scripts/verify_citations.py +405 -0
  330. photon_skills-2.0.0/skills/light-literature-search/search-resource-map.md +105 -0
  331. photon_skills-2.0.0/skills/light-literature-search/templates/search-protocol.example.json +97 -0
  332. photon_skills-2.0.0/skills/light-memory-pm/SKILL.md +398 -0
  333. photon_skills-2.0.0/skills/light-memory-pm/assets/decision_log.template.md +10 -0
  334. photon_skills-2.0.0/skills/light-memory-pm/assets/handoff_card.template.md +34 -0
  335. photon_skills-2.0.0/skills/light-memory-pm/assets/handoff_prompt.template.md +8 -0
  336. photon_skills-2.0.0/skills/light-memory-pm/assets/memory-governance.example.json +122 -0
  337. photon_skills-2.0.0/skills/light-memory-pm/assets/project_card.template.md +36 -0
  338. photon_skills-2.0.0/skills/light-memory-pm/assets/terminology.template.md +15 -0
  339. photon_skills-2.0.0/skills/light-memory-pm/assets/version_history.template.md +10 -0
  340. photon_skills-2.0.0/skills/light-memory-pm/references/cross_harness_resume.md +67 -0
  341. photon_skills-2.0.0/skills/light-memory-pm/references/session_handoff.md +61 -0
  342. photon_skills-2.0.0/skills/light-memory-pm/scripts/check_bfact_freshness.py +228 -0
  343. photon_skills-2.0.0/skills/light-memory-pm/scripts/check_project_card.py +464 -0
  344. photon_skills-2.0.0/skills/light-memory-pm/scripts/handoff_contract.py +661 -0
  345. photon_skills-2.0.0/skills/light-memory-pm/scripts/memory_governance_gate.py +559 -0
  346. photon_skills-2.0.0/skills/light-memory-pm/scripts/memory_items.py +430 -0
  347. photon_skills-2.0.0/skills/light-memory-pm/scripts/pm.py +679 -0
  348. photon_skills-2.0.0/skills/light-memory-pm/scripts/resume_report.py +374 -0
  349. photon_skills-2.0.0/skills/light-memory-pm/scripts/version_tag_reconcile.py +305 -0
  350. photon_skills-2.0.0/skills/light-orchestrator/SKILL.md +354 -0
  351. photon_skills-2.0.0/skills/light-orchestrator/references/integration-contract.json +191 -0
  352. photon_skills-2.0.0/skills/light-orchestrator/references/orchestrator-resource-map.md +136 -0
  353. photon_skills-2.0.0/skills/light-orchestrator/references/passport.schema.json +75 -0
  354. photon_skills-2.0.0/skills/light-orchestrator/resident/AGENTS.snippet.md +49 -0
  355. photon_skills-2.0.0/skills/light-orchestrator/resident/CLAUDE.snippet.md +46 -0
  356. photon_skills-2.0.0/skills/light-orchestrator/resident/INSTALL.md +140 -0
  357. photon_skills-2.0.0/skills/light-orchestrator/resident/session_start_resident.py +274 -0
  358. photon_skills-2.0.0/skills/light-orchestrator/resident/settings.snippet.unix.json +15 -0
  359. photon_skills-2.0.0/skills/light-orchestrator/resident/settings.snippet.windows.json +15 -0
  360. photon_skills-2.0.0/skills/light-orchestrator/scripts/decision_checkpoint.py +116 -0
  361. photon_skills-2.0.0/skills/light-orchestrator/scripts/execution_mode.py +243 -0
  362. photon_skills-2.0.0/skills/light-orchestrator/scripts/integration_audit.py +434 -0
  363. photon_skills-2.0.0/skills/light-orchestrator/scripts/lifecycle.py +428 -0
  364. photon_skills-2.0.0/skills/light-orchestrator/scripts/passport.py +1719 -0
  365. photon_skills-2.0.0/skills/light-orchestrator/scripts/reroute.py +473 -0
  366. photon_skills-2.0.0/skills/light-orchestrator/scripts/run_checkpoint.py +624 -0
  367. photon_skills-2.0.0/skills/light-orchestrator/scripts/workflow_ledger.py +512 -0
  368. photon_skills-2.0.0/skills/light-orchestrator/templates/passport.v3.yaml +14 -0
  369. photon_skills-2.0.0/skills/light-orchestrator/templates/task-profile.example.json +15 -0
  370. photon_skills-2.0.0/skills/light-orchestrator/templates/workflow-ledger.example.json +70 -0
  371. photon_skills-2.0.0/skills/light-paper-writing/SKILL.md +314 -0
  372. photon_skills-2.0.0/skills/light-paper-writing/examples/claim_evidence_walkthrough.md +83 -0
  373. photon_skills-2.0.0/skills/light-paper-writing/paper-writing-resource-map.md +149 -0
  374. photon_skills-2.0.0/skills/light-paper-writing/references/argument_review.md +66 -0
  375. photon_skills-2.0.0/skills/light-paper-writing/references/claim_argument_plan.md +59 -0
  376. photon_skills-2.0.0/skills/light-paper-writing/references/guideline_map.md +61 -0
  377. photon_skills-2.0.0/skills/light-paper-writing/references/integrity_gate.md +60 -0
  378. photon_skills-2.0.0/skills/light-paper-writing/references/mandatory_inclusions.md +59 -0
  379. photon_skills-2.0.0/skills/light-paper-writing/references/self_review_checklist.md +40 -0
  380. photon_skills-2.0.0/skills/light-paper-writing/scripts/argument_contract.py +379 -0
  381. photon_skills-2.0.0/skills/light-paper-writing/scripts/claim_binding.py +944 -0
  382. photon_skills-2.0.0/skills/light-paper-writing/scripts/claim_evidence_gate.py +600 -0
  383. photon_skills-2.0.0/skills/light-paper-writing/scripts/contribution_consistency.py +283 -0
  384. photon_skills-2.0.0/skills/light-paper-writing/scripts/draft_lint.py +448 -0
  385. photon_skills-2.0.0/skills/light-paper-writing/scripts/mechanical_check.py +472 -0
  386. photon_skills-2.0.0/skills/light-paper-writing/scripts/polish.py +327 -0
  387. photon_skills-2.0.0/skills/light-paper-writing/scripts/style_fingerprint.py +200 -0
  388. photon_skills-2.0.0/skills/light-paper-writing/templates/01_imrad.md +54 -0
  389. photon_skills-2.0.0/skills/light-paper-writing/templates/06_conference.md +44 -0
  390. photon_skills-2.0.0/skills/light-paper-writing/templates/argument-outline.example.json +49 -0
  391. photon_skills-2.0.0/skills/light-paper-writing/templates/claim_argument_plan.json +67 -0
  392. photon_skills-2.0.0/skills/light-paper-writing/templates/claim_passport.md +44 -0
  393. photon_skills-2.0.0/skills/light-patent-disclosure/SKILL.md +186 -0
  394. photon_skills-2.0.0/skills/light-patent-disclosure/references/patent-interview-and-search.md +78 -0
  395. photon_skills-2.0.0/skills/light-patent-disclosure/references/patent-resource-map.md +82 -0
  396. photon_skills-2.0.0/skills/light-patent-disclosure/scripts/disclosure_gate.py +684 -0
  397. photon_skills-2.0.0/skills/light-patent-disclosure/templates/patent-disclosure-packet.example.json +116 -0
  398. photon_skills-2.0.0/skills/light-project-structure/SKILL.md +271 -0
  399. photon_skills-2.0.0/skills/light-project-structure/references/project-lifecycle-resource-map.md +151 -0
  400. photon_skills-2.0.0/skills/light-project-structure/references/structure-profiles.json +30 -0
  401. photon_skills-2.0.0/skills/light-project-structure/scripts/scaffold.py +1745 -0
  402. photon_skills-2.0.0/skills/light-project-structure/scripts/structure_governance_gate.py +1065 -0
  403. photon_skills-2.0.0/skills/light-project-structure/templates/project-policy.template.json +50 -0
  404. photon_skills-2.0.0/skills/light-project-structure/templates/project-structure-governance.example.json +107 -0
  405. photon_skills-2.0.0/skills/light-research-ethics/SKILL.md +316 -0
  406. photon_skills-2.0.0/skills/light-research-ethics/assets/authority-packet.example.json +48 -0
  407. photon_skills-2.0.0/skills/light-research-ethics/assets/consent-scope-packet.example.json +70 -0
  408. photon_skills-2.0.0/skills/light-research-ethics/assets/ethics-evidence-packet.example.json +139 -0
  409. photon_skills-2.0.0/skills/light-research-ethics/assets/ethics_review_template.md +73 -0
  410. photon_skills-2.0.0/skills/light-research-ethics/assets/risk_checklist.md +91 -0
  411. photon_skills-2.0.0/skills/light-research-ethics/references/cn_compliance.md +111 -0
  412. photon_skills-2.0.0/skills/light-research-ethics/references/decision_trees.md +172 -0
  413. photon_skills-2.0.0/skills/light-research-ethics/references/ethics-resource-map.md +219 -0
  414. photon_skills-2.0.0/skills/light-research-ethics/references/retraction_flag_types.json +10 -0
  415. photon_skills-2.0.0/skills/light-research-ethics/references/tortured_phrases.json +75 -0
  416. photon_skills-2.0.0/skills/light-research-ethics/scripts/authority_lifecycle_gate.py +481 -0
  417. photon_skills-2.0.0/skills/light-research-ethics/scripts/check_retractions.py +218 -0
  418. photon_skills-2.0.0/skills/light-research-ethics/scripts/claim_evidence_bind.py +383 -0
  419. photon_skills-2.0.0/skills/light-research-ethics/scripts/consent_scope_gate.py +629 -0
  420. photon_skills-2.0.0/skills/light-research-ethics/scripts/ethics_evidence_gate.py +537 -0
  421. photon_skills-2.0.0/skills/light-research-ethics/scripts/extract_stats.py +275 -0
  422. photon_skills-2.0.0/skills/light-research-ethics/scripts/stat_consistency.py +516 -0
  423. photon_skills-2.0.0/skills/light-research-ethics/scripts/text_overlap.py +218 -0
  424. photon_skills-2.0.0/skills/light-research-ethics/scripts/tortured_phrase_scan.py +198 -0
  425. photon_skills-2.0.0/skills/light-research-plan/SKILL.md +336 -0
  426. photon_skills-2.0.0/skills/light-research-plan/examples/plan_spec.example.json +30 -0
  427. photon_skills-2.0.0/skills/light-research-plan/references/research-plan-resource-map.md +195 -0
  428. photon_skills-2.0.0/skills/light-research-plan/references.md +397 -0
  429. photon_skills-2.0.0/skills/light-research-plan/scripts/failure_tree_gate.py +335 -0
  430. photon_skills-2.0.0/skills/light-research-plan/scripts/plan_gate.py +510 -0
  431. photon_skills-2.0.0/skills/light-research-plan/scripts/plan_lint.py +458 -0
  432. photon_skills-2.0.0/skills/light-research-plan/scripts/power_check.py +265 -0
  433. photon_skills-2.0.0/skills/light-research-plan/scripts/research_package_gate.py +653 -0
  434. photon_skills-2.0.0/skills/light-research-plan/scripts/target_chain.py +347 -0
  435. photon_skills-2.0.0/skills/light-research-plan/templates/experiment_matrix.md +111 -0
  436. photon_skills-2.0.0/skills/light-research-plan/templates/failure-tree.example.json +60 -0
  437. photon_skills-2.0.0/skills/light-research-plan/templates/plan_package.manifest.example.json +27 -0
  438. photon_skills-2.0.0/skills/light-research-plan/templates/preregistration.md +91 -0
  439. photon_skills-2.0.0/skills/light-research-plan/templates/reproducibility-checklist.md +49 -0
  440. photon_skills-2.0.0/skills/light-research-plan/templates/reproduction-log.md +32 -0
  441. photon_skills-2.0.0/skills/light-research-plan/templates/research-plan.md +113 -0
  442. photon_skills-2.0.0/skills/light-research-plan/templates/target-chain.example.json +47 -0
  443. photon_skills-2.0.0/skills/light-result-analysis/SKILL.md +317 -0
  444. photon_skills-2.0.0/skills/light-result-analysis/assets/result_analysis_report_template.md +88 -0
  445. photon_skills-2.0.0/skills/light-result-analysis/examples/analysis_audit.example.json +41 -0
  446. photon_skills-2.0.0/skills/light-result-analysis/examples/method_compatibility.example.json +19 -0
  447. photon_skills-2.0.0/skills/light-result-analysis/examples/stat_spec.example.json +51 -0
  448. photon_skills-2.0.0/skills/light-result-analysis/examples/worked_example.py +152 -0
  449. photon_skills-2.0.0/skills/light-result-analysis/references.md +87 -0
  450. photon_skills-2.0.0/skills/light-result-analysis/result-analysis-resource-map.md +290 -0
  451. photon_skills-2.0.0/skills/light-result-analysis/scripts/analysis_plan_audit.py +374 -0
  452. photon_skills-2.0.0/skills/light-result-analysis/scripts/analyze_results.py +944 -0
  453. photon_skills-2.0.0/skills/light-result-analysis/scripts/explain_shap.py +250 -0
  454. photon_skills-2.0.0/skills/light-result-analysis/scripts/leakage_overfit_check.py +314 -0
  455. photon_skills-2.0.0/skills/light-result-analysis/scripts/make_figs.py +281 -0
  456. photon_skills-2.0.0/skills/light-result-analysis/scripts/method_compatibility.py +223 -0
  457. photon_skills-2.0.0/skills/light-result-analysis/scripts/r_analysis_crosscheck.R +110 -0
  458. photon_skills-2.0.0/skills/light-result-analysis/scripts/r_analysis_crosscheck.py +112 -0
  459. photon_skills-2.0.0/skills/light-result-analysis/scripts/result_card_gate.py +1103 -0
  460. photon_skills-2.0.0/skills/light-result-analysis/scripts/significance_test.py +337 -0
  461. photon_skills-2.0.0/skills/light-result-analysis/scripts/stat_rigor_gate.py +638 -0
  462. photon_skills-2.0.0/skills/light-result-analysis/scripts/stats_tests.py +93 -0
  463. photon_skills-2.0.0/skills/light-result-analysis/templates/result-card.example.json +89 -0
  464. photon_skills-2.0.0/skills/light-review-rebuttal/SKILL.md +294 -0
  465. photon_skills-2.0.0/skills/light-review-rebuttal/agents/openai.yaml +4 -0
  466. photon_skills-2.0.0/skills/light-review-rebuttal/references/workflow_contract.md +116 -0
  467. photon_skills-2.0.0/skills/light-review-rebuttal/references.md +66 -0
  468. photon_skills-2.0.0/skills/light-review-rebuttal/review-rebuttal-resource-map.md +112 -0
  469. photon_skills-2.0.0/skills/light-review-rebuttal/scripts/check_commitments.py +206 -0
  470. photon_skills-2.0.0/skills/light-review-rebuttal/scripts/experiment_request_gate.py +182 -0
  471. photon_skills-2.0.0/skills/light-review-rebuttal/scripts/fetch_openreview.py +318 -0
  472. photon_skills-2.0.0/skills/light-review-rebuttal/scripts/rebuttal_budget.py +169 -0
  473. photon_skills-2.0.0/skills/light-review-rebuttal/scripts/review_response_contract.py +666 -0
  474. photon_skills-2.0.0/skills/light-review-rebuttal/scripts/review_workflow.py +1054 -0
  475. photon_skills-2.0.0/skills/light-review-rebuttal/scripts/reviewer_classify.py +229 -0
  476. photon_skills-2.0.0/skills/light-review-rebuttal/templates/commitment_ledger.json +19 -0
  477. photon_skills-2.0.0/skills/light-review-rebuttal/templates/experiment_request.example.json +22 -0
  478. photon_skills-2.0.0/skills/light-review-rebuttal/templates/rereview_checklist.md +21 -0
  479. photon_skills-2.0.0/skills/light-review-rebuttal/templates/response_letter_template.md +56 -0
  480. photon_skills-2.0.0/skills/light-review-rebuttal/templates/response_matrix.md +19 -0
  481. photon_skills-2.0.0/skills/light-review-rebuttal/templates/review-response-contract.example.json +203 -0
  482. photon_skills-2.0.0/skills/light-review-rebuttal/templates/review_input.json +58 -0
  483. photon_skills-2.0.0/skills/light-software-copyright/SKILL.md +177 -0
  484. photon_skills-2.0.0/skills/light-software-copyright/references/materials-workflow.md +89 -0
  485. photon_skills-2.0.0/skills/light-software-copyright/references/software-copyright-resource-map.md +81 -0
  486. photon_skills-2.0.0/skills/light-software-copyright/scripts/materials_gate.py +577 -0
  487. photon_skills-2.0.0/skills/light-software-copyright/scripts/source_deposit_plan.py +312 -0
  488. photon_skills-2.0.0/skills/light-software-copyright/templates/software-copyright-materials.example.json +96 -0
  489. photon_skills-2.0.0/skills/light-system-design/SKILL.md +310 -0
  490. photon_skills-2.0.0/skills/light-system-design/references/system-design-resource-map.md +178 -0
  491. photon_skills-2.0.0/skills/light-system-design/references.md +87 -0
  492. photon_skills-2.0.0/skills/light-system-design/scripts/architecture_lifecycle.py +773 -0
  493. photon_skills-2.0.0/skills/light-system-design/scripts/contract_validate.py +343 -0
  494. photon_skills-2.0.0/skills/light-system-design/scripts/design_readiness.py +638 -0
  495. photon_skills-2.0.0/skills/light-system-design/scripts/er_diagram.py +386 -0
  496. photon_skills-2.0.0/skills/light-system-design/scripts/schema_lint.py +942 -0
  497. photon_skills-2.0.0/skills/light-system-design/templates/architecture-package.template.md +63 -0
  498. photon_skills-2.0.0/skills/light-system-design/templates/decision-authorization.template.json +13 -0
  499. photon_skills-2.0.0/skills/light-system-design/templates/design-readiness.example.json +87 -0
  500. photon_skills-2.0.0/skills/light-system-design/templates/migration_expand_contract.sql +26 -0
  501. photon_skills-2.0.0/skills/light-system-design/templates/openapi.yaml +165 -0
  502. photon_skills-2.0.0/skills/light-system-design/templates/rls_policy.sql +25 -0
  503. photon_skills-2.0.0/skills/light-system-design/templates/schema.sql +26 -0
  504. photon_skills-2.0.0/skills/light-system-design/templates/system-intake.template.json +33 -0
  505. photon_skills-2.0.0/skills/light-typesetting/SKILL.md +275 -0
  506. photon_skills-2.0.0/skills/light-typesetting/references/build_contract.md +91 -0
  507. photon_skills-2.0.0/skills/light-typesetting/references/latex_errors.md +69 -0
  508. photon_skills-2.0.0/skills/light-typesetting/references.md +63 -0
  509. photon_skills-2.0.0/skills/light-typesetting/scripts/build_submission.py +1154 -0
  510. photon_skills-2.0.0/skills/light-typesetting/scripts/compile_driver.py +515 -0
  511. photon_skills-2.0.0/skills/light-typesetting/scripts/desk_reject_gate.py +496 -0
  512. photon_skills-2.0.0/skills/light-typesetting/scripts/precheck_log.py +240 -0
  513. photon_skills-2.0.0/skills/light-typesetting/scripts/submission_check.py +362 -0
  514. photon_skills-2.0.0/skills/light-typesetting/scripts/submission_readiness.py +407 -0
  515. photon_skills-2.0.0/skills/light-typesetting/templates/acm_sigconf.tex +89 -0
  516. photon_skills-2.0.0/skills/light-typesetting/templates/ctex_chinese.tex +75 -0
  517. photon_skills-2.0.0/skills/light-typesetting/templates/elsevier_elsarticle.tex +73 -0
  518. photon_skills-2.0.0/skills/light-typesetting/templates/ieee_bare_conf.tex +79 -0
  519. photon_skills-2.0.0/skills/light-typesetting/templates/springer_llncs.tex +65 -0
  520. photon_skills-2.0.0/skills/light-typesetting/templates/submission-readiness.example.json +68 -0
  521. photon_skills-2.0.0/skills/light-typesetting/templates/typesetting_input.json +54 -0
  522. photon_skills-2.0.0/skills/light-typesetting/typesetting-resource-map.md +115 -0
  523. photon_skills-2.0.0/skills/light-venue-matching/SKILL.md +252 -0
  524. photon_skills-2.0.0/skills/light-venue-matching/references/workflow_contract.md +104 -0
  525. photon_skills-2.0.0/skills/light-venue-matching/references.md +100 -0
  526. photon_skills-2.0.0/skills/light-venue-matching/scripts/query_privacy_gate.py +243 -0
  527. photon_skills-2.0.0/skills/light-venue-matching/scripts/venue_discovery.py +186 -0
  528. photon_skills-2.0.0/skills/light-venue-matching/scripts/venue_evidence_gate.py +541 -0
  529. photon_skills-2.0.0/skills/light-venue-matching/scripts/venue_fit_rank.py +475 -0
  530. photon_skills-2.0.0/skills/light-venue-matching/scripts/venue_risk_gate.py +380 -0
  531. photon_skills-2.0.0/skills/light-venue-matching/scripts/venue_signal.py +1009 -0
  532. photon_skills-2.0.0/skills/light-venue-matching/scripts/venue_workflow.py +1360 -0
  533. photon_skills-2.0.0/skills/light-venue-matching/templates/query-privacy.example.json +21 -0
  534. photon_skills-2.0.0/skills/light-venue-matching/templates/user_selection.json +10 -0
  535. photon_skills-2.0.0/skills/light-venue-matching/templates/venue-evidence.example.json +63 -0
  536. photon_skills-2.0.0/skills/light-venue-matching/templates/venue_compare_table.md +36 -0
  537. photon_skills-2.0.0/skills/light-venue-matching/templates/venue_input.json +142 -0
  538. photon_skills-2.0.0/skills/light-venue-matching/venue-resource-map.md +108 -0
  539. photon_skills-2.0.0/skills/photon-brainstorm/SKILL.md +83 -0
  540. photon_skills-2.0.0/skills/photon-method-planner/SKILL.md +91 -0
  541. photon_skills-2.0.0/skills/photon-orchestrator/SKILL.md +134 -0
  542. photon_skills-2.0.0/skills/photon-pitch-coach/SKILL.md +86 -0
  543. photon_skills-2.0.0/skills/photon-pitch-coach/templates/judge-qa-prep.md +37 -0
  544. photon_skills-2.0.0/skills/photon-pitch-coach/templates/pitch-deck-outline.md +46 -0
  545. photon_skills-2.0.0/skills/photon-pitch-coach/templates/pitch-script-60s.md +28 -0
  546. photon_skills-2.0.0/skills/photon-progress-tracker/SKILL.md +89 -0
  547. photon_skills-2.0.0/skills/photon-session/SKILL.md +71 -0
  548. photon_skills-2.0.0/skills/photon-source-filter/SKILL.md +75 -0
  549. photon_skills-2.0.0/src/photon/SOUL.md +24 -0
  550. photon_skills-2.0.0/src/photon/__init__.py +985 -0
  551. photon_skills-2.0.0/src/photon/plugin.yaml +6 -0
  552. photon_skills-2.0.0/src/photon/workspace.py +845 -0
  553. photon_skills-2.0.0/tests/test_cli.py +89 -0
  554. photon_skills-2.0.0/tests/test_workspace.py +233 -0
@@ -0,0 +1,69 @@
1
+ name: publish
2
+
3
+ # Hybrid PyPI publishing (Issue #42, option C):
4
+ # - push a `vX.Y.Z` tag → stable release (version from the tag)
5
+ # - push to `main` → dev pre-release `X.Y.Z.dev<N>` (next patch
6
+ # after the last tag, N = commits since; pip ignores pre-releases
7
+ # unless --pre, so stable installs are never shadowed)
8
+ # Uploads via trusted publishing (OIDC) — no tokens stored.
9
+ # First-time setup: register this repo as a trusted publisher on PyPI for
10
+ # the `photon-skills` project.
11
+
12
+ on:
13
+ push:
14
+ branches: [main]
15
+ tags: ["v*"]
16
+
17
+ permissions:
18
+ contents: read
19
+ id-token: write # required for PyPI trusted publishing
20
+
21
+ jobs:
22
+ publish:
23
+ runs-on: ubuntu-latest
24
+ steps:
25
+ - uses: actions/checkout@v4
26
+ with:
27
+ fetch-depth: 0 # need tags + history for the dev version computation
28
+
29
+ # Tests commit in temp repos; the runner has no git identity by
30
+ # default. (workspace.git_commit also falls back when no identity is
31
+ # configured, so this is belt-and-suspenders.)
32
+ - name: Configure Git identity for CI
33
+ run: |
34
+ git config --global user.email "actions@users.noreply.github.com"
35
+ git config --global user.name "GitHub Actions"
36
+
37
+ - uses: actions/setup-python@v5
38
+ with:
39
+ python-version: "3.12"
40
+
41
+ - name: Install build + test deps
42
+ run: |
43
+ pip install --upgrade pip
44
+ pip install hatchling
45
+ pip install -e ".[dev]"
46
+
47
+ - name: Run test suite
48
+ run: |
49
+ python -m pytest tests/ -q
50
+ photon-skills-selftest
51
+
52
+ - name: Set version (tag → stable, main → dev pre-release)
53
+ run: |
54
+ if [[ "${{ github.ref_type }}" == "tag" ]]; then
55
+ python scripts/release.py --ci-tag "${{ github.ref_name }}"
56
+ else
57
+ python scripts/release.py --ci-dev
58
+ fi
59
+
60
+ - name: Verify versions in sync
61
+ run: python scripts/release.py --selftest
62
+
63
+ - name: Build wheel + sdist
64
+ run: python -m hatchling build
65
+
66
+ - name: Publish to PyPI (trusted publishing)
67
+ uses: pypa/gh-action-pypi-publish@release/v1
68
+ with:
69
+ attestations: true
@@ -0,0 +1,40 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *.egg-info/
5
+ .pytest_cache/
6
+ .venv*/
7
+
8
+ # selftest / 临时副产物(脚本临时件用 .upgrade/_e2e,跑完即删)
9
+ .upgrade/_e2e/
10
+ *.tmp
11
+ _synth_*.csv
12
+ demo_*.png
13
+ # figure color_palettes/figure_export selftest 渲染的 demo 图(可复现,不入库)
14
+ _export_demo/
15
+
16
+ # 本地客户端发现镜像(由 scripts/bootstrap_agent_skills.py 生成;canonical 仍是 skills/)
17
+ .agents/
18
+ .claude/
19
+ .opencode/
20
+
21
+ # LaTeX 编译产物
22
+ build/
23
+ *.aux
24
+ *.log
25
+ *.out
26
+ *.toc
27
+ *.fls
28
+ *.fdb_latexmk
29
+ *.synctex.gz
30
+
31
+ # R
32
+ .Rhistory
33
+ .RData
34
+ .Rproj.user/
35
+
36
+ # OS / 编辑器
37
+ .DS_Store
38
+ Thumbs.db
39
+ .vscode/
40
+ .idea/
@@ -0,0 +1,39 @@
1
+ # Light-Skills 代理协作说明
2
+
3
+ 本仓库是公开科研全流程技能包,面向 Claude Code / Codex / OpenCode。请把 `skills/` 视为唯一 canonical 技能源;不要把维护者私人记忆、对话史、邮箱、未公开研究、db01-db09、MCP 配置或本地知识库内容写进仓库。
4
+
5
+ ## 客户端发现路径
6
+
7
+ 三类客户端默认发现路径不同。项目级使用前先运行:
8
+
9
+ ```powershell
10
+ $env:PYTHONUTF8="1"
11
+ python scripts\bootstrap_agent_skills.py --mode auto --force
12
+ ```
13
+
14
+ 该脚本把 `skills/` 安全映射到:
15
+
16
+ - `.agents/skills`:Codex / OpenCode open-standard 项目技能路径。
17
+ - `.claude/skills`:Claude Code 项目技能路径,也可被 OpenCode 读取。
18
+ - `.opencode/skills`:OpenCode 原生项目技能路径。
19
+
20
+ Windows 不能创建目录 symlink 时,脚本会回退为 copy,并写入 `.light_generated_link` 标记;修改 canonical `skills/` 后需重新运行 `--force` 刷新生成副本。脚本不会覆盖没有 Light 生成标记的用户目录。
21
+
22
+ ## 开发纪律
23
+
24
+ - commit 只署作者本人;标题和正文写中文;不要添加 Co-Authored-By。
25
+ - 不要 push,除非用户明确要求。
26
+ - Python 命令前设置 `PYTHONUTF8=1`;临时产物放 `.upgrade/_e2e`。
27
+ - 用户面向脚本必须亲手跑 `--selftest` 到 exit 0,不能相信“已完成”报告。
28
+ - 动态事实、论文、DOI、star、链接、能力声明查不到就写 `unknown/待核查`。
29
+ - 论文数据图必须程序化生成;禁止 AI 生图冒充数据图。
30
+ - R/ggplot2 是增强路径,不是静默前提:缺 R 或缺包时,先给用户“继续 matplotlib 诚实降级 / 安装或配置 R / 提供 Rscript 路径”的选择;非交互自动流程默认降级并标 `degraded=True`,不得擅自安装。
31
+
32
+ ## 快速自测
33
+
34
+ ```powershell
35
+ $env:PYTHONUTF8="1"
36
+ python scripts\bootstrap_agent_skills.py --selftest
37
+ python scripts\bootstrap_agent_skills.py --check-only
38
+ python skills\light-figure\scripts\r_ggplot.py --selftest
39
+ ```
@@ -0,0 +1,151 @@
1
+ # Changelog
2
+
3
+ All notable changes to Light Skills are documented here.
4
+
5
+ The project follows a pragmatic release-note style rather than claiming strict semantic-versioning compatibility for every skill prompt. User-facing skill behavior, installation paths, shared contracts, and generated examples should be treated as release-relevant changes.
6
+
7
+ ## [Unreleased]
8
+
9
+ ### Added
10
+
11
+ - CLI namespace renamed to `photon-skills` to avoid collision with the
12
+ Hermes-bundled `photon` (Photon Spectrum / iMessage) platform plugin.
13
+ Commands: `hermes photon-skills <setup|status|update|start-project|session-start|session-end|audit-report|mentor-summary|sync>`.
14
+ - Project workspace scaffolding (`start-project`): `project-card.md`
15
+ (current + next intended stage), `source-log.md`, `task-log.md`,
16
+ `decisions.md`, `session-log/`, `mentor-feedback/`, `.photon-project`
17
+ marker, `.gitignore`, git init. Example project under
18
+ `examples/demo-student-project/`.
19
+ - Session lifecycle (`session-start` / `session-end`): loads project
20
+ context (project-card + recent session logs + pending tasks), writes
21
+ session entries, updates source/task logs, direction-change proposal with
22
+ confirmation, automatic git commit at session end.
23
+ - Student skill set (Issue #18): `photon-orchestrator`, `photon-session`,
24
+ `photon-brainstorm`, `photon-source-filter`, `photon-method-planner`,
25
+ `photon-progress-tracker`, `photon-pitch-coach` (bilingual zh-Hant/en);
26
+ `setup --skillset student|full` selection; audit doc in
27
+ `docs/design/student-skill-audit.md`.
28
+ - Safety & privacy (Issue #24): guardrails in every student skill, privacy
29
+ principles doc, academic-integrity disclaimer in generated outputs,
30
+ `audit-report` command, safety toggles in setup state.
31
+ - Mentor workflow (Issue #22): `mentor-summary` generates a one-page
32
+ shareable review; `mentor-feedback/` capture format; orchestrator asks
33
+ the student to record mentor feedback.
34
+ - Git persistence (Issue #23): `sync` commits and optionally creates +
35
+ pushes a GitHub remote (`--remote <name>`, private by default), with a
36
+ local-only offline fallback. Strategy in `docs/design/git-persistence.md`.
37
+
38
+ ### Fixed (PR #32 review follow-ups)
39
+
40
+ - `propose_stage_update` no longer blanks the Current Stage checklist when a
41
+ free-text stage is passed (standard stages stay unchecked and the custom
42
+ stage is appended as a checked line) (Issue #33).
43
+ - Multiple `session-end` runs on the same day no longer repeat the
44
+ `# Session Log:` H1 heading — later entries start at their `##` section so
45
+ the file stays one readable document (Issue #34).
46
+ - `session-end --decision "DECISION|REASON|CHANGED"` (repeatable) now appends
47
+ rows to `decisions.md`, which was previously scaffolded but never written
48
+ (Issue #38).
49
+
50
+ ### Fixed (Issue #35)
51
+
52
+ - `safety.audit_mode` is now **enforced**: `audit-report` refuses to run when
53
+ audit mode is disabled in setup, instead of generating reports regardless.
54
+ - `safety.guardrails` is explicitly documented as **advisory** (every student
55
+ skill ships with its Safety section regardless); setup prompt text and
56
+ `docs/design/safety-privacy.md` updated to match.
57
+
58
+ ### Added (Issue #36)
59
+
60
+ - Committed pytest suite: `tests/test_workspace.py` (scaffolding, card
61
+ parsing, session lifecycle, logs, stage updates, audit/mentor summaries,
62
+ git helpers — incl. #33/#34/#38 regressions) and `tests/test_cli.py`
63
+ (CLI handlers: `--decision`, `--task`, commit, audit-mode enforcement).
64
+ - New `hermes photon-skills selftest` subcommand + `photon-skills-selftest`
65
+ console script (AGENTS.md discipline: user-facing scripts self-test to
66
+ exit 0); `dev` extra (`pytest>=8.0`) in pyproject.toml.
67
+
68
+ ### Docs
69
+
70
+ - README.en.md gains the full Photon section (install / quick start /
71
+ command table / privacy / mentor guide), matching README.md; both badges
72
+ updated 23 → 30 skills; README.en.md language link fixed to 繁體中文
73
+ (Issue #37).
74
+ - Install instructions (both READMEs) now include the required user-plugin
75
+ shim step for `hermes plugins enable` (entry-point plugins are not
76
+ scanned by the Hermes plugin CLI), plus an upgrade note for users of the
77
+ old `photon` 1.0.0 distribution.
78
+
79
+ ### Added (Issue #42)
80
+
81
+ - Tag-driven PyPI publishing: `scripts/release.py` (single version source
82
+ in `pyproject.toml`, syncs `plugin.yaml`, bumps → commits → tags → pushes;
83
+ `--check` / `--selftest` per AGENTS.md) and
84
+ `.github/workflows/publish.yml` (pytest + selftest gate, hatchling build,
85
+ trusted-publishing OIDC upload with attestations).
86
+ - Hybrid publishing (option C): main pushes publish dev pre-releases
87
+ (`X.Y.Z.dev<N>` via `release.py --ci-dev`, computed from the last tag +
88
+ commit count); `v*` tag pushes publish stable releases
89
+ (`release.py --ci-tag`). pip ignores pre-releases by default.
90
+ - README (zh/en) "Publishing to PyPI" sections.
91
+
92
+ ### Fixed (CI robustness)
93
+
94
+ - `workspace.git_commit` falls back to a neutral commit identity
95
+ (`Photon <photon@localhost>`) via env vars only when git has no
96
+ user.name/user.email configured anywhere — CI runners and fresh machines
97
+ can now commit without setup, while real student identities are never
98
+ overridden. Two regression tests added (fallback + identity preserved).
99
+ - `publish.yml` configures a global git identity for the runner
100
+ (belt-and-suspenders on top of the code-level fallback).
101
+
102
+ ### Planned
103
+
104
+ - Continue hardening cross-client compatibility for Codex, Claude Code, and OpenCode.
105
+ - Add more runnable examples for research, competition, software, patent-disclosure, and software-copyright workflows.
106
+ - Improve regression checks for skill installation, evidence handling, citation integrity, and reproducible figure generation.
107
+ - Collect public user feedback through GitHub Issues and convert repeatable problems into documented tests.
108
+
109
+ ## [1.0.0] - 2026-07-05
110
+
111
+ ### Added
112
+
113
+ - Public Light Skills repository for research, competitions, and innovation projects.
114
+ - 23 domain-independent skills under `skills/`, each using `SKILL.md` as the entry point.
115
+ - Cross-client installation support for:
116
+ - Codex via `.agents/skills`
117
+ - Claude Code via `.claude/skills`
118
+ - OpenCode via `.opencode/skills`
119
+ - `scripts/bootstrap_agent_skills.py` for installing and checking supported agent-skill layouts.
120
+ - Shared contracts under `_shared/` for evidence strength, consistency checks, workflow gates, visual review, and reusable research-process rules.
121
+ - End-to-end research demo under `examples/e2e-research-demo/`.
122
+ - Reproducible LaTeX paper demo under `projects/photocatalytic-dye-kinetics-study/`.
123
+ - Research figure gallery demonstrating programmatic scientific figures.
124
+ - Python and R figure workflow expectations.
125
+ - LaTeX typesetting expectations for paper-oriented workflows.
126
+ - MIT license.
127
+
128
+ ### Changed
129
+
130
+ - Reworked the earlier Light project into a cleaner public skill package.
131
+ - Consolidated overlapping paper-writing, polishing, figure-planning, and figure-drawing flows into stronger user-facing skills.
132
+ - Replaced private-database framing with public, repository-local, inspectable workflow guidance.
133
+ - Expanded the scope from research-only usage to research, competitions, innovation projects, patents, software copyright materials, and frontend/software demos.
134
+ - Clarified that Light Skills supports innovation work by improving search, critique, evidence binding, and validation planning; it does not promise automatic discovery or guaranteed publication.
135
+
136
+ ### Integrity and safety boundaries
137
+
138
+ - Unknown facts, DOI values, links, software versions, and venue rules must be marked `unknown` or verified at task time.
139
+ - Paper figures, data figures, and experiment figures must be generated programmatically and remain reproducible.
140
+ - AI-generated marketing visuals must never be presented as scientific evidence.
141
+ - Citation authenticity is a standalone integrity requirement.
142
+ - Private conversations, unpublished research, credentials, email tokens, and local project ledgers must not be committed to the public repository.
143
+ - Patent and software-copyright skills help prepare materials and organize evidence; they do not provide legal advice.
144
+
145
+ ### Compatibility notes
146
+
147
+ - Windows is the primary development environment for the initial release.
148
+ - Python 3.10+ is expected for repository scripts.
149
+ - Windows users should set `PYTHONUTF8=1` before running Python scripts.
150
+ - LaTeX and R are optional environment layers for workflows that need paper compilation or R-based scientific figures.
151
+
@@ -0,0 +1,139 @@
1
+ # Contributing to Light Skills
2
+
3
+ Thank you for considering a contribution to Light Skills.
4
+
5
+ Light Skills is a public, domain-independent AI workflow skill package for research, competitions, and innovation projects. Contributions are welcome when they make the package more useful, more reliable, more honest about its limits, or easier to install across Codex, Claude Code, and OpenCode.
6
+
7
+ ## What contributions are useful?
8
+
9
+ Good contributions include:
10
+
11
+ - fixing unclear skill instructions;
12
+ - improving cross-client compatibility;
13
+ - adding runnable self-tests for scripts;
14
+ - improving examples, installation docs, or release notes;
15
+ - reporting places where a skill overclaims what it can actually do;
16
+ - strengthening citation, evidence, privacy, or reproducibility checks;
17
+ - adding domain-neutral patterns that help many research areas;
18
+ - improving Python, R, LaTeX, or frontend-demo workflows.
19
+
20
+ Please avoid contributions that:
21
+
22
+ - embed one person's private research context into public skills;
23
+ - add unverifiable claims, fake DOI values, fake links, fake metrics, or fake citations;
24
+ - turn generated images into scientific evidence;
25
+ - require private MCP servers, local databases, credentials, or unpublished data for the public package to work;
26
+ - make broad promises such as guaranteed acceptance, guaranteed patents, or automatic scientific innovation.
27
+
28
+ ## Repository structure
29
+
30
+ ```text
31
+ Light-Skills/
32
+ ├─ skills/ # Canonical skill source; each skill uses SKILL.md as the entry
33
+ ├─ _shared/ # Shared contracts, evidence rules, gates, and helper guidance
34
+ ├─ scripts/ # Installation and maintenance scripts
35
+ ├─ docs/ # Compatibility notes, release gates, learning notes, and releases
36
+ ├─ examples/ # End-to-end user-facing examples
37
+ ├─ projects/ # Reproducible demo projects
38
+ └─ assets/ # Public brand, README, QR-code, and preview assets
39
+ ```
40
+
41
+ ## Before opening a PR
42
+
43
+ 1. Fork the repository and create a focused branch.
44
+ 2. Keep each PR scoped to one change theme.
45
+ 3. Read the affected `SKILL.md` file before editing it.
46
+ 4. Make sure the change is useful across research fields, not only for one private project.
47
+ 5. Do not commit secrets, credentials, personal conversations, unpublished research, or local machine state.
48
+ 6. If you used AI assistance, review the output carefully and take responsibility for every claim and line changed.
49
+
50
+ ## Local checks
51
+
52
+ On Windows PowerShell:
53
+
54
+ ```powershell
55
+ $env:PYTHONUTF8="1"
56
+ python scripts\bootstrap_agent_skills.py --check-only
57
+ ```
58
+
59
+ If you modify a script, add or run the relevant self-test. A script that claims to support `--selftest` or an equivalent check should run successfully before the change is submitted.
60
+
61
+ If you modify a skill, manually inspect the generated client layout when relevant:
62
+
63
+ ```powershell
64
+ $env:PYTHONUTF8="1"
65
+ python scripts\bootstrap_agent_skills.py --targets agents --mode auto --force
66
+ python scripts\bootstrap_agent_skills.py --targets claude --mode auto --force
67
+ python scripts\bootstrap_agent_skills.py --targets opencode --mode auto --force
68
+ ```
69
+
70
+ ## Skill quality rules
71
+
72
+ Every skill should be:
73
+
74
+ - **honest**: it must not claim abilities that the instructions or scripts cannot actually support;
75
+ - **domain-neutral**: default behavior should work across fields unless a section is explicitly scoped;
76
+ - **evidence-aware**: uncertain facts must be verified or marked `unknown`;
77
+ - **user-centered**: it should ask the user at meaningful decision points instead of silently pretending to know the correct research direction;
78
+ - **reproducible**: paper figures, data figures, and experiment figures should be generated programmatically;
79
+ - **portable**: public workflows should not depend on a private database, private memory, or a specific user's local setup;
80
+ - **reviewable**: important outputs should leave enough trace for a human to audit them.
81
+
82
+ ## Citation and evidence policy
83
+
84
+ Light Skills treats citation integrity as a core trust boundary.
85
+
86
+ - Do not invent papers, authors, DOI values, links, GitHub stars, metrics, or benchmark results.
87
+ - If a fact cannot be verified in the current task context, mark it `unknown` or `待核查`.
88
+ - Do not cite a source you have not actually inspected.
89
+ - Distinguish evidence, inference, and recommendation.
90
+ - Do not use popularity as proof of correctness.
91
+
92
+ ## Figure and media policy
93
+
94
+ - Scientific figures, data charts, and experiment visuals must be generated from code or traceable source data.
95
+ - AI-generated images may be used for marketing, illustration, or README branding, but must not be represented as paper figures, data figures, or experiment results.
96
+ - Figure workflows should preserve source data, code, labels, units, and reproducibility notes where practical.
97
+
98
+ ## Privacy policy for contributions
99
+
100
+ Do not include:
101
+
102
+ - private chat logs;
103
+ - unpublished research details;
104
+ - user emails or credentials;
105
+ - API keys or tokens;
106
+ - local database dumps;
107
+ - private MCP configuration;
108
+ - local project ledgers that are not intended for public release.
109
+
110
+ If you accidentally commit sensitive information, rotate the credential immediately and open a security report rather than a normal issue.
111
+
112
+ ## Issue reports
113
+
114
+ When opening an issue, please include:
115
+
116
+ - what you tried to do;
117
+ - which agent client you used, if any;
118
+ - your operating system;
119
+ - the skill or script involved;
120
+ - the expected behavior;
121
+ - the actual behavior;
122
+ - minimal reproduction steps;
123
+ - relevant logs with secrets removed.
124
+
125
+ ## Pull request checklist
126
+
127
+ Before submitting, confirm:
128
+
129
+ - [ ] The change is public and domain-neutral, or clearly marked as domain-scoped.
130
+ - [ ] No private data, credentials, or unpublished research were added.
131
+ - [ ] No unverifiable claims, fake citations, fake DOI values, or fake metrics were added.
132
+ - [ ] Any changed script has a relevant runnable check.
133
+ - [ ] Any changed skill still matches what the repository can actually do.
134
+ - [ ] Documentation was updated when user-facing behavior changed.
135
+
136
+ ## License
137
+
138
+ By contributing, you agree that your contribution will be licensed under the repository's MIT License.
139
+
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Light0305
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.