photon-skills 3.0.4.dev1__tar.gz → 3.0.5.dev94__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.
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/.github/workflows/publish.yml +4 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/CHANGELOG.md +37 -0
- photon_skills-3.0.5.dev94/PKG-INFO +343 -0
- photon_skills-3.0.5.dev94/README.en.md +337 -0
- photon_skills-3.0.5.dev94/README.md +330 -0
- photon_skills-3.0.5.dev94/assets/brand/src/candidates/a1-slit-128.png +0 -0
- photon_skills-3.0.5.dev94/assets/brand/src/candidates/a1-slit-16x8.png +0 -0
- photon_skills-3.0.5.dev94/assets/brand/src/candidates/a1-slit.svg +4 -0
- photon_skills-3.0.5.dev94/assets/brand/src/candidates/a3-vertical-128.png +0 -0
- photon_skills-3.0.5.dev94/assets/brand/src/candidates/a3-vertical-16x8.png +0 -0
- photon_skills-3.0.5.dev94/assets/brand/src/candidates/a3-vertical.svg +4 -0
- photon_skills-3.0.5.dev94/assets/brand/src/candidates/b1-diagonal-128.png +0 -0
- photon_skills-3.0.5.dev94/assets/brand/src/candidates/b1-diagonal-16x8.png +0 -0
- photon_skills-3.0.5.dev94/assets/brand/src/candidates/b1-diagonal.svg +4 -0
- photon_skills-3.0.5.dev94/assets/brand/src/lockup.html +38 -0
- photon_skills-3.0.5.dev94/assets/brand/src/logo-exploration-v2.html +283 -0
- photon_skills-3.0.5.dev94/assets/brand/src/logo-exploration.html +301 -0
- photon_skills-3.0.5.dev94/assets/brand/src/logo-shortlist.html +152 -0
- photon_skills-3.0.5.dev94/assets/brand/src/make_flow.py +178 -0
- photon_skills-3.0.5.dev94/assets/brand/src/make_mark.py +94 -0
- photon_skills-3.0.5.dev94/assets/brand/src/marker-strike.svg +4 -0
- photon_skills-3.0.5.dev94/assets/brand/src/social.html +81 -0
- photon_skills-3.0.5.dev94/assets/favicon-16.png +0 -0
- photon_skills-3.0.5.dev94/assets/favicon-32.png +0 -0
- photon_skills-3.0.5.dev94/assets/favicon-64.png +0 -0
- photon_skills-3.0.5.dev94/assets/logo-lockup-dark.png +0 -0
- photon_skills-3.0.5.dev94/assets/logo-lockup-light.png +0 -0
- photon_skills-3.0.5.dev94/assets/logo.png +0 -0
- photon_skills-3.0.5.dev94/assets/photon-app-icon-inv.svg +8 -0
- photon_skills-3.0.5.dev94/assets/photon-app-icon-small.svg +8 -0
- photon_skills-3.0.5.dev94/assets/photon-app-icon.svg +8 -0
- photon_skills-3.0.5.dev94/assets/photon-flow.svg +609 -0
- photon_skills-3.0.5.dev94/assets/photon-mark-small.svg +5 -0
- photon_skills-3.0.5.dev94/assets/photon-mark-tile-inv.svg +8 -0
- photon_skills-3.0.5.dev94/assets/photon-mark-tile.svg +8 -0
- photon_skills-3.0.5.dev94/assets/photon-mark.svg +5 -0
- photon_skills-3.0.5.dev94/assets/social-preview.png +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/pyproject.toml +1 -1
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/scripts/release.py +11 -11
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/plugin.yaml +1 -1
- photon_skills-3.0.4.dev1/PKG-INFO +0 -263
- photon_skills-3.0.4.dev1/README.en.md +0 -273
- photon_skills-3.0.4.dev1/README.md +0 -250
- photon_skills-3.0.4.dev1/assets/logo.png +0 -0
- photon_skills-3.0.4.dev1/assets/research-workflow.en.svg +0 -155
- photon_skills-3.0.4.dev1/assets/research-workflow.zh.svg +0 -155
- photon_skills-3.0.4.dev1/assets/social-preview.png +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/.github/workflows/plugin-contract.yml +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/.gitignore +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/AGENTS.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/CONTRIBUTING.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/LICENSE +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/SECURITY.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/_shared/README.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/_shared/__init__.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/_shared/__main__.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/_shared/decision_contract.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/_shared/evidence_contract.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/_shared/findings_schema.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/_shared/gate_runner.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/_shared/semantic_sim.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/_shared/status_contract.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/_shared/visual_qa.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/assets/wechat-donation.jpg +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/assets/wechat-official-account.jpg +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/compatibility/agent-client-compatibility.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/_shared.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/citation.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/consistency.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/data-engineering.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/experiment-coding.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/figure.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/file-reading.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/frontend-design.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/idea-critique.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/idea-generation.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/literature-search.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/memory-pm.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/orchestrator.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/paper-writing.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/patent-disclosure.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/project-structure.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/research-ethics.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/research-plan.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/result-analysis.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/review-rebuttal.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/software-copyright.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/system-design.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/typesetting.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/competitors/venue-matching.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/design/consistency-round2-e2e.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/design/debate-coach.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/design/git-persistence.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/design/legacy-parity.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/design/orchestrator-spec.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/design/plugin-distribution.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/design/safety-privacy.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/design/self-repair.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/design/student-skill-audit.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/e2e/citation-round2.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/e2e/data-engineering-round2.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/e2e/experiment-coding-round2.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/e2e/ip-extension-gate.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/e2e/orchestrator-round2.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/e2e/paper-writing-round2.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/e2e/project-structure-round2.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/e2e/research-ethics-round2.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/e2e/research-plan-round2.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/e2e/result-analysis-round2.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/e2e/review-rebuttal-round2.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/e2e/round3-release-gate.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/e2e/system-design-round2.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/e2e/typesetting-round2.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/e2e/venue-matching-round2.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/learning/ip/ip-upgrade-synthesis.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/learning/ip/patent-deep-read-report.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/learning/ip/software-copyright-deep-read-report.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/legacy-multi-client.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/docs/releases/v1.0.0.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/demo-student-project/.gitignore +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/demo-student-project/.photon-project +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/demo-student-project/decisions.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/demo-student-project/mentor-feedback/2026-08-01.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/demo-student-project/mentor-feedback/README.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/demo-student-project/project-card.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/demo-student-project/session-log/2026-07-28.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/demo-student-project/session-log/2026-07-30.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/demo-student-project/session-log/2026-08-01.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/demo-student-project/source-log.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/demo-student-project/task-log.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/e2e-research-demo/README.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/e2e-research-demo/artifacts/photon_e2e_case.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/e2e-research-demo/data/synthetic_experiment.csv +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/e2e-research-demo/figures/panels/panel_a_design_frontier.png +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/e2e-research-demo/figures/panels/panel_b_signal_screen.png +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/e2e-research-demo/figures/panels/panel_c_calibration.png +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/e2e-research-demo/figures/panels/panel_d_evidence_strength.png +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/e2e-research-demo/figures/panels/panel_e_failure_map.png +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/e2e-research-demo/figures/panels/panel_f_quality_trajectory.png +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/e2e-research-demo/figures/panels/panel_g_distribution_shift.png +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/e2e-research-demo/figures/panels/panel_h_tradeoff_curve.png +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/e2e-research-demo/figures/panels/panel_i_risk_budget.png +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/e2e-research-demo/figures/research_figure_gallery.png +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/e2e-research-demo/scripts/compose_figure_gallery.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/e2e-research-demo/scripts/generate_synthetic_data.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/e2e-research-demo/scripts/python_gallery_panels.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/e2e-research-demo/scripts/r_gallery_panels.R +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/examples/e2e-research-demo/scripts/run_demo.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/projects/photocatalytic-dye-kinetics-study/README.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/projects/photocatalytic-dye-kinetics-study/data/fitted_rate_constants.csv +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/projects/photocatalytic-dye-kinetics-study/data/synthetic_design_table.csv +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/projects/photocatalytic-dye-kinetics-study/data/synthetic_uvvis_timeseries.csv +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/projects/photocatalytic-dye-kinetics-study/figures/figure1_kinetics.png +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/projects/photocatalytic-dye-kinetics-study/figures/figure2_response_surface.png +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/projects/photocatalytic-dye-kinetics-study/figures/figure3_diagnostics.png +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/projects/photocatalytic-dye-kinetics-study/figures/figure4_scavenger_effects.png +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/projects/photocatalytic-dye-kinetics-study/outputs/analysis_summary.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/projects/photocatalytic-dye-kinetics-study/outputs/scavenger_summary.csv +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/projects/photocatalytic-dye-kinetics-study/paper/main-preview.png +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/projects/photocatalytic-dye-kinetics-study/paper/main.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/projects/photocatalytic-dye-kinetics-study/paper/main.pdf +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/projects/photocatalytic-dye-kinetics-study/paper/main.tex +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/projects/photocatalytic-dye-kinetics-study/scripts/analyze.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/projects/photocatalytic-dye-kinetics-study/scripts/build_paper.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/projects/photocatalytic-dye-kinetics-study/scripts/generate_data.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/projects/photocatalytic-dye-kinetics-study/scripts/make_figures.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/projects/photocatalytic-dye-kinetics-study/scripts/render_preview.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/projects/photocatalytic-dye-kinetics-study/scripts/run_all.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/scripts/check_plugin_contract.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/README.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-citation/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-citation/citation-resource-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-citation/references/locator_audit.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-citation/references/registry_contract.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-citation/references.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-citation/templates/citation-four-gate.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-citation/templates/citation_input.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-citation/templates/claim_citation_review.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-consistency/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-consistency/examples/fact-bindings.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-consistency/examples/materials_paper.txt +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-consistency/examples/materials_ppt.txt +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-consistency/references/consistency-resource-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-data-engineering/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-data-engineering/examples/derive_spec.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-data-engineering/examples/rules.example.yaml +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-data-engineering/examples/worked_example.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-data-engineering/references/data-resource-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-data-engineering/references.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-data-engineering/templates/annotation_guide.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-data-engineering/templates/data-identity-fitness.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-experiment-coding/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-experiment-coding/references/code_examples.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-experiment-coding/references/debug_protocol.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-experiment-coding/references/experiment-coding-resource-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-experiment-coding/references/tdd_redflags.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-experiment-coding/references/tools.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-experiment-coding/templates/experiment-execution-contract.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-experiment-coding/templates/run_manifest.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-experiment-coding/templates/run_manifest.template.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-figure/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-figure/examples/bad_figure_example.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-figure/examples/example_framework.dot +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-figure/examples/example_framework_render.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-figure/examples/example_matplotlib_multipanel.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-figure/examples/example_seaborn_stats.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-figure/examples/worked_example.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-figure/references/figure_integrity.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-figure/templates/figure-delivery.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-figure/templates/figure_plan_card.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-figure/templates/table_plan_card.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-file-reading/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-file-reading/references/DOCX-REF.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-file-reading/references/IMG-REF.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-file-reading/references/PDF-REF.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-file-reading/references/PPTX-REF.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-file-reading/references/XLSX-REF.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-file-reading/references/reading-resource-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-file-reading/references/tools.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-frontend-design/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-frontend-design/references/design-systems-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-frontend-design/references/ecosystem-2026.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-frontend-design/references/fonts-and-colors.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-frontend-design/references/redesign-audit.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-frontend-design/references/resource-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-frontend-design/references/visual-a11y-rules.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-frontend-design/references.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-frontend-design/templates/frontend-delivery.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-idea-critique/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-idea-critique/critique-resource-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-idea-critique/examples/worked_example_dermoscopy.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-idea-critique/references/contract.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-idea-critique/references/protocol.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-idea-critique/references/rubric.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-idea-critique/references.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-idea-critique/templates/Revision_Roadmap.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-idea-critique/templates/novelty-evidence.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-idea-critique/templates/verdict_template.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-idea-generation/.gitignore +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-idea-generation/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-idea-generation/examples/candidates.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-idea-generation/examples/idea_candidates.example.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-idea-generation/idea-resource-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-idea-generation/references.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-idea-generation/templates/idea-gap-evidence.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-idea-generation/templates/idea-genealogy.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-idea-generation/templates/idea_card.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-idea-generation/templates/innovation-engine.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-literature-search/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-literature-search/examples/goat_littable.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-literature-search/examples/goat_search.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-literature-search/examples/worked_example_dairy_goat.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-literature-search/references.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-literature-search/search-resource-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-literature-search/templates/search-protocol.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-memory-pm/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-memory-pm/references/cross_harness_resume.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-memory-pm/references/session_handoff.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-paper-writing/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-paper-writing/examples/claim_evidence_walkthrough.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-paper-writing/paper-writing-resource-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-paper-writing/references/argument_review.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-paper-writing/references/claim_argument_plan.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-paper-writing/references/guideline_map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-paper-writing/references/integrity_gate.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-paper-writing/references/mandatory_inclusions.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-paper-writing/references/self_review_checklist.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-paper-writing/templates/01_imrad.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-paper-writing/templates/06_conference.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-paper-writing/templates/argument-outline.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-paper-writing/templates/claim_argument_plan.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-paper-writing/templates/claim_passport.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-patent-disclosure/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-patent-disclosure/references/patent-interview-and-search.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-patent-disclosure/references/patent-resource-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-patent-disclosure/templates/patent-disclosure-packet.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-project-structure/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-project-structure/references/project-lifecycle-resource-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-project-structure/references/structure-profiles.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-project-structure/templates/project-policy.template.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-project-structure/templates/project-structure-governance.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-ethics/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-ethics/references/cn_compliance.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-ethics/references/decision_trees.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-ethics/references/ethics-resource-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-ethics/references/retraction_flag_types.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-ethics/references/tortured_phrases.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-orchestrator/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-orchestrator/references/integration-contract.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-orchestrator/references/orchestrator-resource-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-orchestrator/references/passport.schema.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-orchestrator/templates/passport.v3.yaml +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-orchestrator/templates/task-profile.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-orchestrator/templates/workflow-ledger.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-plan/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-plan/examples/plan_spec.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-plan/references/research-plan-resource-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-plan/references.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-plan/templates/experiment_matrix.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-plan/templates/failure-tree.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-plan/templates/plan_package.manifest.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-plan/templates/preregistration.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-plan/templates/reproducibility-checklist.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-plan/templates/reproduction-log.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-plan/templates/research-plan.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-research-plan/templates/target-chain.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-result-analysis/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-result-analysis/examples/analysis_audit.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-result-analysis/examples/method_compatibility.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-result-analysis/examples/stat_spec.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-result-analysis/examples/worked_example.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-result-analysis/references.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-result-analysis/result-analysis-resource-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-result-analysis/scripts/r_analysis_crosscheck.R +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-result-analysis/templates/result-card.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-review-rebuttal/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-review-rebuttal/agents/openai.yaml +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-review-rebuttal/references/workflow_contract.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-review-rebuttal/references.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-review-rebuttal/review-rebuttal-resource-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-review-rebuttal/templates/commitment_ledger.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-review-rebuttal/templates/experiment_request.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-review-rebuttal/templates/rereview_checklist.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-review-rebuttal/templates/response_letter_template.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-review-rebuttal/templates/response_matrix.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-review-rebuttal/templates/review-response-contract.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-review-rebuttal/templates/review_input.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-software-copyright/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-software-copyright/references/materials-workflow.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-software-copyright/references/software-copyright-resource-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-software-copyright/templates/software-copyright-materials.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-system-design/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-system-design/references/system-design-resource-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-system-design/references.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-system-design/templates/architecture-package.template.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-system-design/templates/decision-authorization.template.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-system-design/templates/design-readiness.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-system-design/templates/migration_expand_contract.sql +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-system-design/templates/openapi.yaml +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-system-design/templates/rls_policy.sql +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-system-design/templates/schema.sql +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-system-design/templates/system-intake.template.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-typesetting/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-typesetting/references/build_contract.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-typesetting/references/latex_errors.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-typesetting/references.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-typesetting/templates/acm_sigconf.tex +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-typesetting/templates/ctex_chinese.tex +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-typesetting/templates/elsevier_elsarticle.tex +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-typesetting/templates/ieee_bare_conf.tex +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-typesetting/templates/springer_llncs.tex +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-typesetting/templates/submission-readiness.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-typesetting/templates/typesetting_input.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-typesetting/typesetting-resource-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-venue-matching/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-venue-matching/references/workflow_contract.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-venue-matching/references.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-venue-matching/templates/query-privacy.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-venue-matching/templates/user_selection.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-venue-matching/templates/venue-evidence.example.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-venue-matching/templates/venue_compare_table.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-venue-matching/templates/venue_input.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/skills-academic/photon-venue-matching/venue-resource-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/SOUL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/__init__.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/_base.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/extensions/academic-skills.zip +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/health.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/skills/photon-brainstorm/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/skills/photon-debate-coach/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/skills/photon-debate-coach/references/format-presets.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/skills/photon-debate-coach/templates/case-map.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/skills/photon-debate-coach/templates/evidence-sheet.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/skills/photon-debate-coach/templates/format.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/skills/photon-debate-coach/templates/motion-brief.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/skills/photon-debate-coach/templates/outline.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/skills/photon-debate-coach/templates/post-match.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/skills/photon-debate-coach/templates/rebuttal-cards.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/skills/photon-method-planner/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/skills/photon-orchestrator/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/skills/photon-pitch-coach/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/skills/photon-pitch-coach/templates/judge-qa-prep.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/skills/photon-pitch-coach/templates/pitch-deck-outline.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/skills/photon-pitch-coach/templates/pitch-script-60s.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/skills/photon-progress-tracker/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/skills/photon-session/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/skills/photon-source-filter/SKILL.md +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/skillsets.json +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/src/photon/workspace.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/tests/test_cli.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/tests/test_contract.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/tests/test_health.py +0 -0
- {photon_skills-3.0.4.dev1 → photon_skills-3.0.5.dev94}/tests/test_workspace.py +0 -0
|
@@ -69,3 +69,7 @@ jobs:
|
|
|
69
69
|
uses: pypa/gh-action-pypi-publish@release/v1
|
|
70
70
|
with:
|
|
71
71
|
attestations: true
|
|
72
|
+
# Re-running a job for the same commit must be a no-op, not a red X:
|
|
73
|
+
# PyPI refuses a filename it has already stored. Stable tags stay
|
|
74
|
+
# strict, so a genuinely broken release still fails loudly.
|
|
75
|
+
skip-existing: ${{ github.ref_type != 'tag' }}
|
|
@@ -6,6 +6,31 @@ The project follows a pragmatic release-note style rather than claiming strict s
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- **Dev pre-release versions no longer collide on PyPI.** `release.py --ci-dev` counted
|
|
12
|
+
commits *since the last tag*; when a release commit lands on top of a merge and the tag is
|
|
13
|
+
moved onto HEAD, that count resets to 0 and regenerates a version PyPI already stores, so
|
|
14
|
+
every master push went red with "File already exists". The counter is now the total commit
|
|
15
|
+
count, and the dev publish step uses `skip-existing` so a re-run of the same commit is a
|
|
16
|
+
no-op; tag publishes stay strict.
|
|
17
|
+
|
|
18
|
+
## [3.0.4] - 2026-10-31
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- **New brand mark.** The inherited Light Skills icon (crescent + spire + network, blue/violet
|
|
23
|
+
gradients) is replaced by an original single-colour mark: a diamond — a packet of light —
|
|
24
|
+
cut by a slit and slid apart. Both masses are cut to equal area (a 6.6° slit through the
|
|
25
|
+
centre), so the step, not a weight difference, does the work. It ships as
|
|
26
|
+
`assets/photon-mark.svg` (transparent, `currentColor`), `photon-app-icon.svg` (full bleed,
|
|
27
|
+
no baked radius — the platform supplies the mask), `photon-mark-tile.svg` for inline
|
|
28
|
+
lockups, 16/32/64 favicons and a re-rendered `social-preview.png`; the flow diagram and
|
|
29
|
+
cards move to an ink + amber palette. On the social card the negation is drawn rather than
|
|
30
|
+
coloured: a two-pass red marker stroke (`assets/brand/src/marker-strike.svg`) crosses out 代筆. A separate `photon-mark-small.svg` is used at favicon
|
|
31
|
+
sizes: the same 6.6° construction with a 22-unit band, because a 13-unit slit antialiases
|
|
32
|
+
shut at 16px.
|
|
33
|
+
|
|
9
34
|
## [3.0.3] - 2026-10-30
|
|
10
35
|
|
|
11
36
|
### Added
|
|
@@ -35,6 +60,18 @@ The project follows a pragmatic release-note style rather than claiming strict s
|
|
|
35
60
|
|
|
36
61
|
### Documentation
|
|
37
62
|
|
|
63
|
+
- **README re-laid-out around real media (both editions).** The page now opens with a
|
|
64
|
+
dark/light logo lockup, a one-line position, a PyPI version badge and anchor nav;
|
|
65
|
+
the product story is carried by `assets/photon-flow.svg` (one project, six gates,
|
|
66
|
+
one shared folder) instead of the retired "research workflow" diagram; the 13-command
|
|
67
|
+
table, migration table, troubleshooting and maintainer notes moved into `<details>`;
|
|
68
|
+
the paper demo gained a four-figure grid.
|
|
69
|
+
- **Stale brand media replaced.** `assets/social-preview.png` still said "Light Skills"
|
|
70
|
+
and listed Claude Code / Codex / OpenCode; it is now a 1280×640 Photon card. The
|
|
71
|
+
simplified-Chinese `research-workflow.{zh,en}.svg` diagrams (old `light-*` skill
|
|
72
|
+
names) are removed. Brand sources live in `assets/brand/src/`: HTML for the lockups
|
|
73
|
+
and social card, `make_flow.py` for the diagram. `assets/logo.png` is downscaled
|
|
74
|
+
from 1.3 MB to 202 KB.
|
|
38
75
|
- **README rewritten as a plugin-first guide** (zh + en): the two real install
|
|
39
76
|
channels (PyPI into Hermes's own venv; git + pinned SHA for schools and
|
|
40
77
|
collaborators), migration from pip+shim and from Light-skills, the actual
|
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: photon-skills
|
|
3
|
+
Version: 3.0.5.dev94
|
|
4
|
+
Summary: Photon — STEAM research, debate, and pitch competition companion for primary/secondary students
|
|
5
|
+
Author-email: Uniterra Solutions Limited <harryw07801@uniterra-solutions.com>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
License-File: LICENSE
|
|
8
|
+
Requires-Python: >=3.10
|
|
9
|
+
Provides-Extra: dev
|
|
10
|
+
Requires-Dist: pytest>=8.0; extra == 'dev'
|
|
11
|
+
Requires-Dist: pyyaml>=6.0; extra == 'dev'
|
|
12
|
+
Description-Content-Type: text/markdown
|
|
13
|
+
|
|
14
|
+
<div align="center">
|
|
15
|
+
|
|
16
|
+
<picture>
|
|
17
|
+
<source media="(prefers-color-scheme: dark)" srcset="assets/logo-lockup-dark.png">
|
|
18
|
+
<img src="assets/logo-lockup-light.png" width="520" alt="Photon — Hermes Agent 的學生研究插件">
|
|
19
|
+
</picture>
|
|
20
|
+
|
|
21
|
+
**學生的研究助理,不是<s>代筆</s>。**<br>
|
|
22
|
+
由真實生活問題出發,走到可以講出口的成果 —— 每一步都寫進一個導師讀得懂的 Git 專案資料夾。
|
|
23
|
+
|
|
24
|
+
<p>
|
|
25
|
+
<a href="https://pypi.org/project/photon-skills/"><img src="https://img.shields.io/pypi/v/photon-skills?color=5B6FE0" alt="PyPI"></a>
|
|
26
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-22C55E.svg" alt="MIT License"></a>
|
|
27
|
+
<img src="https://img.shields.io/badge/Hermes-plugin-5B6FE0.svg" alt="Hermes plugin">
|
|
28
|
+
<img src="https://img.shields.io/badge/student%20skills-8-22C55E.svg" alt="8 個學生技能">
|
|
29
|
+
<img src="https://img.shields.io/badge/language-zh--Hant%20%2B%20EN-7C3AED.svg" alt="zh-Hant + English">
|
|
30
|
+
<img src="https://img.shields.io/badge/telemetry-none-6B7280.svg" alt="無遙測">
|
|
31
|
+
</p>
|
|
32
|
+
|
|
33
|
+
<p>
|
|
34
|
+
<a href="#這是什麼">這是什麼</a> ·
|
|
35
|
+
<a href="#一個專案怎麼走">流程</a> ·
|
|
36
|
+
<a href="#快速開始">快速開始</a> ·
|
|
37
|
+
<a href="#技能">技能</a> ·
|
|
38
|
+
<a href="#指令">指令</a> ·
|
|
39
|
+
<a href="#導師怎麼用">導師</a> ·
|
|
40
|
+
<a href="#疑難排解">疑難排解</a> ·
|
|
41
|
+
<strong>繁體中文</strong> / <a href="README.en.md">English</a>
|
|
42
|
+
</p>
|
|
43
|
+
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## 這是什麼
|
|
49
|
+
|
|
50
|
+
Photon 是一個 **Hermes Agent 插件**:八個雙語技能,加上一個 Git 追蹤的專案工作區,
|
|
51
|
+
陪中小學生完成 **腦力激盪 → 找資料 → 規劃方法 → 動手做 → Pitch / 辯論** 的整段旅程。
|
|
52
|
+
|
|
53
|
+
它不替學生寫功課。它問問題、整理結構、把關證據,並把「誰做了什麼」留下記錄 ——
|
|
54
|
+
讓導師或老師看得到進度,也看得到 AI 的參與程度。
|
|
55
|
+
|
|
56
|
+
| | |
|
|
57
|
+
|---|---|
|
|
58
|
+
| **學生是擁有者** | Photon 引導、草擬、提問;立場、結論與上台的話由學生決定。 |
|
|
59
|
+
| **一個專案一個資料夾** | `project-card.md`、`source-log.md`、`task-log.md`、`decisions.md`、`session-log/`、`mentor-feedback/`。 |
|
|
60
|
+
| **Session 有連續性** | 開始時載入專案脈絡,結束時寫紀錄並自動 commit —— 隔一星期再開也接得上。 |
|
|
61
|
+
| **導師零安裝** | 導師不需要裝任何東西,直接讀那個資料夾,或看學生跑一次 `mentor-summary`。 |
|
|
62
|
+
| **資料留在學生電腦** | 零遙測、零第三方依賴;只有主動 `sync` 才會上傳,而且預設 private。 |
|
|
63
|
+
|
|
64
|
+
> 這是唯一的安裝說明。舊版的多客戶端安裝(Codex / Claude Code / OpenCode +
|
|
65
|
+
> `bootstrap_agent_skills.py`)已退役,記錄在
|
|
66
|
+
> [docs/legacy-multi-client.md](docs/legacy-multi-client.md)。
|
|
67
|
+
|
|
68
|
+
## 一個專案怎麼走
|
|
69
|
+
|
|
70
|
+
<p align="center">
|
|
71
|
+
<img src="assets/photon-flow.svg" alt="Photon 流程:一個專案、六道關口;photon-orchestrator 貫穿全程,所有產物寫進同一個 Git 專案資料夾" width="100%">
|
|
72
|
+
</p>
|
|
73
|
+
|
|
74
|
+
六道關口,每道都留下產物與決定。`photon-orchestrator` 在每次 session 開頭讀
|
|
75
|
+
`project-card.md` 與最近的 `session-log/`,再建議下一步;學生不同意就可以改方向。
|
|
76
|
+
|
|
77
|
+
## 快速開始
|
|
78
|
+
|
|
79
|
+
需求:Hermes Agent(有 `hermes plugins` 子命令)、Python 3.10+、Git 2.30+。
|
|
80
|
+
macOS、Linux、Windows PowerShell 都可以。
|
|
81
|
+
|
|
82
|
+
### A. 公開安裝(PyPI)— 個人 / 學生
|
|
83
|
+
|
|
84
|
+
插件要裝進 **Hermes 自己的 venv**,否則 `import photon` 找不到。
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
# 1) 確認 Hermes 的 venv 位置(通常是 ~/.hermes/hermes-agent/venv)
|
|
88
|
+
dirname "$(dirname "$(which hermes)")"
|
|
89
|
+
|
|
90
|
+
# 2) 裝進去(macOS / Linux)
|
|
91
|
+
~/.hermes/hermes-agent/venv/bin/pip install --upgrade photon-skills
|
|
92
|
+
|
|
93
|
+
# 3) 啟用,並把技能同步到 profile
|
|
94
|
+
hermes plugins enable photon-skills
|
|
95
|
+
hermes photon-skills setup --yes
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
驗證:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
hermes photon-skills status # 版本 + Bundled skills: 8
|
|
102
|
+
hermes photon-skills doctor # 4 check(s): 4 ok, 0 warning, 0 error
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
<details>
|
|
106
|
+
<summary>Windows PowerShell 的 venv 路徑</summary>
|
|
107
|
+
|
|
108
|
+
```powershell
|
|
109
|
+
& "$env:USERPROFILE\.hermes\hermes-agent\venv\Scripts\pip.exe" install --upgrade photon-skills
|
|
110
|
+
hermes plugins enable photon-skills
|
|
111
|
+
hermes photon-skills setup --yes
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
</details>
|
|
115
|
+
|
|
116
|
+
<details>
|
|
117
|
+
<summary>B. 學校 / 協作者:git,釘死某個 commit</summary>
|
|
118
|
+
|
|
119
|
+
有 repo 權限的話,一條指令完成,而且版本可以被釘住:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
hermes plugins install Uniterra-Solutions/Photon-skills/src/photon \
|
|
123
|
+
--ref <40 位 commit SHA> --enable
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
`src/photon` 是插件目錄;subdir 安裝只會複製該目錄(技能已放在裡面)。釘 SHA 之後
|
|
127
|
+
`hermes plugins update` 會拒絕移動版本,要換版本就再跑一次
|
|
128
|
+
`plugins install ... --ref <新 SHA> --force`。
|
|
129
|
+
|
|
130
|
+
</details>
|
|
131
|
+
|
|
132
|
+
## 第一個專案
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
hermes photon-skills start-project "Water Filter Design" --steam SCIENCE
|
|
136
|
+
cd ~/Photon/"Water Filter Design"
|
|
137
|
+
|
|
138
|
+
hermes photon-skills session-start # 載入 project-card 與最近 session
|
|
139
|
+
# … 與 Photon 一起工作 …
|
|
140
|
+
|
|
141
|
+
hermes photon-skills session-end \
|
|
142
|
+
--focus "測試三種濾材" \
|
|
143
|
+
--work-done "完成第一輪過濾實驗" \
|
|
144
|
+
--next "量測濁度" \
|
|
145
|
+
--ai-notes "AI 協助整理變因" \
|
|
146
|
+
--student-notes "我自己設計裝置"
|
|
147
|
+
|
|
148
|
+
hermes photon-skills mentor-summary # 一頁導師摘要
|
|
149
|
+
hermes photon-skills sync --remote water-filter # 發佈到 GitHub(預設 private)
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## 技能
|
|
153
|
+
|
|
154
|
+
### 學生技能(8 個,隨插件安裝,中英雙語)
|
|
155
|
+
|
|
156
|
+
| 技能 | 甚麼時候用 |
|
|
157
|
+
|---|---|
|
|
158
|
+
| `photon-orchestrator` | 每次 session 的入口:讀 `project-card.md`,決定下一步 |
|
|
159
|
+
| `photon-session` | 開始 / 結束的紀錄與交接,寫 `session-log/` 並 commit |
|
|
160
|
+
| `photon-brainstorm` | 引導式腦力激盪,產出衝刺 / 穩妥 / 保底三層點子 |
|
|
161
|
+
| `photon-source-filter` | 判斷來源可不可信、有沒有用、引不引得出原句 |
|
|
162
|
+
| `photon-method-planner` | 把點子變成可執行方法:步驟、材料、變因、對照、安全 |
|
|
163
|
+
| `photon-progress-tracker` | 管理 `task-log.md`,依狀態建議下一步 |
|
|
164
|
+
| `photon-pitch-coach` | Pitch 的敘事弧線與排練 |
|
|
165
|
+
| `photon-debate-coach` | 辯論 / 研討會:雙邊論點地圖、反駁路線、計時大綱 |
|
|
166
|
+
|
|
167
|
+
設計文件:[學生技能審計](docs/design/student-skill-audit.md) ·
|
|
168
|
+
[安全與隱私](docs/design/safety-privacy.md) ·
|
|
169
|
+
[Git 持久化](docs/design/git-persistence.md)
|
|
170
|
+
|
|
171
|
+
<details>
|
|
172
|
+
<summary>學術技能(23 個,選裝,manual mode)</summary>
|
|
173
|
+
|
|
174
|
+
研究編排、文獻搜尋、論文寫作、圖表、排版、期刊匹配、專利、軟著等 23 個進階技能
|
|
175
|
+
**不隨插件安裝**(它們的參考文件會令安裝掃描由 `safe` 變 `caution`)。它們以靜態
|
|
176
|
+
zip 隨插件出貨,按需解壓:
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
hermes photon-skills extensions list
|
|
180
|
+
hermes photon-skills extensions install academic-skills
|
|
181
|
+
hermes photon-skills extensions remove academic-skills
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
> **Manual mode**:這 23 個技能只附 `SKILL.md` 與 `references/`。文中引用的
|
|
185
|
+
> `scripts/`、`assets/` 不隨此建置發佈(共 240 條引用),需要時按文件手動執行,
|
|
186
|
+
> 或到上游取得。這是刻意的取捨,不是缺漏 —— 對照表見
|
|
187
|
+
> [docs/design/legacy-parity.md](docs/design/legacy-parity.md)。
|
|
188
|
+
|
|
189
|
+
</details>
|
|
190
|
+
|
|
191
|
+
## 指令
|
|
192
|
+
|
|
193
|
+
<details>
|
|
194
|
+
<summary>全部指令(13 個)</summary>
|
|
195
|
+
|
|
196
|
+
| 指令 | 用途 |
|
|
197
|
+
|---|---|
|
|
198
|
+
| `setup [--profiles A,B] [--yes] [--soul-md\|--no-soul-md] [--force-soul-md]` | 把 8 個技能(可選 SOUL.md)同步到 profile |
|
|
199
|
+
| `status` | 每個 profile 的版本、技能數、SOUL.md |
|
|
200
|
+
| `start-project <名稱> [--steam ...] [--dir ...]` | 建立專案工作區(含 `git init`) |
|
|
201
|
+
| `session-start [--dir ...]` | 載入專案脈絡 |
|
|
202
|
+
| `session-end --focus ... [--source ...] [--decision ...] [--task ...] [--stage ...]` | 寫 session-log、更新來源 / 決策 / 任務、自動 commit |
|
|
203
|
+
| `audit-report [--dir ...]` | 教育者審計(AI vs 學生分工) |
|
|
204
|
+
| `mentor-summary [--dir ...]` | 一頁導師摘要 |
|
|
205
|
+
| `sync [--message ...] [--remote <repo>] [--public]` | 本地 commit / 建 GitHub remote 並 push / 離線模式 |
|
|
206
|
+
| `extensions list\|install\|remove <name> [--profiles A,B]` | 選裝技能包(目前:`academic-skills`) |
|
|
207
|
+
| `doctor [--dir ...] [--json]` | 診斷技能同步、state、extension、舊安裝與專案狀態(有 error 時 exit 1) |
|
|
208
|
+
| `repair [--profile ...] [--force]` | 套用安全修復;`--force` 才會覆蓋你改過的技能 |
|
|
209
|
+
| `feedback export [--dir ...] [--since ...] [--out ...]` | 匯出技能 diff + 專案證據供人審閱(不上傳) |
|
|
210
|
+
| `selftest` | 快速自測 workspace 邏輯(exit 0) |
|
|
211
|
+
|
|
212
|
+
`update` 已棄用:更新走 `pip install --upgrade photon-skills`(或
|
|
213
|
+
`hermes plugins update`,如果你是用 git 安裝)。
|
|
214
|
+
|
|
215
|
+
</details>
|
|
216
|
+
|
|
217
|
+
## 隱私與安全
|
|
218
|
+
|
|
219
|
+
- **不收集個資**:不要求、不儲存全名、地址、電話或聯絡方式。
|
|
220
|
+
- **零遙測**:不對外發送任何資料,沒有分析或追蹤碼。
|
|
221
|
+
- **不外傳**:只有明確執行 `sync` 才會 commit / push,而且預設 private。
|
|
222
|
+
- **AI 分工透明**:`session-log` 分開記錄 `ai-notes` 與 `student-notes`;
|
|
223
|
+
`audit-report` 給老師核對 AI 參與程度。
|
|
224
|
+
- **有護欄**:危險 / 違法 / 有害的請求會被拒絕並提出安全替代方案。
|
|
225
|
+
|
|
226
|
+
完整版:[docs/design/safety-privacy.md](docs/design/safety-privacy.md)
|
|
227
|
+
|
|
228
|
+
## 導師怎麼用
|
|
229
|
+
|
|
230
|
+
導師不需要安裝任何東西:
|
|
231
|
+
|
|
232
|
+
1. 學生把專案資料夾(或 GitHub repo 網址)給你。
|
|
233
|
+
2. 直接讀 `project-card.md`、`session-log/`、`source-log.md`、`task-log.md`、
|
|
234
|
+
`mentor-feedback/`。
|
|
235
|
+
3. 學生用 `hermes photon-skills mentor-summary` 產生一頁摘要;你的回饋由學生記錄進
|
|
236
|
+
`mentor-feedback/`。
|
|
237
|
+
4. 需要核對 AI 參與時,請學生跑 `hermes photon-skills audit-report`。
|
|
238
|
+
|
|
239
|
+
## 成果示範
|
|
240
|
+
|
|
241
|
+
學術版技能的完整交付形態:合成數據 → 分析 → 程序化圖表 → LaTeX PDF。
|
|
242
|
+
|
|
243
|
+
<p align="center">
|
|
244
|
+
<a href="projects/photocatalytic-dye-kinetics-study/paper/main.pdf">
|
|
245
|
+
<img src="projects/photocatalytic-dye-kinetics-study/paper/main-preview.png" alt="英語科學論文首頁" width="480">
|
|
246
|
+
</a><br>
|
|
247
|
+
<sub><a href="projects/photocatalytic-dye-kinetics-study/paper/main.pdf">閱讀 PDF</a></sub>
|
|
248
|
+
</p>
|
|
249
|
+
|
|
250
|
+
| <img src="projects/photocatalytic-dye-kinetics-study/figures/figure1_kinetics.png" alt="動力學擬合" width="420"> | <img src="projects/photocatalytic-dye-kinetics-study/figures/figure2_response_surface.png" alt="反應曲面" width="420"> |
|
|
251
|
+
|---|---|
|
|
252
|
+
| <sub>動力學擬合</sub> | <sub>反應曲面</sub> |
|
|
253
|
+
| <img src="projects/photocatalytic-dye-kinetics-study/figures/figure3_diagnostics.png" alt="模型診斷" width="420"> | <img src="projects/photocatalytic-dye-kinetics-study/figures/figure4_scavenger_effects.png" alt="捕獲劑效應" width="420"> |
|
|
254
|
+
| <sub>模型診斷</sub> | <sub>捕獲劑效應</sub> |
|
|
255
|
+
|
|
256
|
+
## 升級、遷移、移除
|
|
257
|
+
|
|
258
|
+
<details>
|
|
259
|
+
<summary>由舊版遷移</summary>
|
|
260
|
+
|
|
261
|
+
| 你之前裝過 | 要做什麼 |
|
|
262
|
+
|---|---|
|
|
263
|
+
| pip `photon-skills` + 手寫 `~/.hermes/plugins/photon-skills/` shim | `hermes plugins remove photon-skills` → `rm -rf ~/.hermes/plugins/photon-skills` → `pip uninstall photon-skills` → 用 A 或 B 重裝 |
|
|
264
|
+
| `photon` 1.0.0(PR #26 時代) | `pip uninstall photon`,並移除 `~/.hermes/plugins/photon/` |
|
|
265
|
+
| `Light0305/Light-skills` 的本機 clone + `.agents/skills`、`.claude/skills`、`.opencode/skills` | 刪掉**你本機**的 clone 與鏡像目錄(上游 repo 不屬本專案,不受影響);Photon 只用 `~/.hermes/skills/`。舊 `light-*` 技能可刪;23 個學術技能已改名 `photon-*`,改以 extension 提供 |
|
|
266
|
+
| 舊版留在 profile 的 `photon-*` 技能 | 換版本後跑一次 `hermes photon-skills setup --yes`,會按內容 hash 更新;你改過的副本會被保留並報告 |
|
|
267
|
+
|
|
268
|
+
**專案資料夾(`~/Photon/...`、`session-log/`、`source-log.md`)在任何安裝 / 升級 /
|
|
269
|
+
移除過程中都不會被觸碰。**
|
|
270
|
+
|
|
271
|
+
</details>
|
|
272
|
+
|
|
273
|
+
<details>
|
|
274
|
+
<summary>升級與移除</summary>
|
|
275
|
+
|
|
276
|
+
```bash
|
|
277
|
+
# 升級(PyPI)
|
|
278
|
+
~/.hermes/hermes-agent/venv/bin/pip install --upgrade photon-skills
|
|
279
|
+
hermes photon-skills setup --yes
|
|
280
|
+
|
|
281
|
+
# 用 git 安裝的話
|
|
282
|
+
hermes plugins update photon-skills
|
|
283
|
+
|
|
284
|
+
# 移除插件(保留 profile 內的技能副本)
|
|
285
|
+
hermes plugins remove photon-skills
|
|
286
|
+
|
|
287
|
+
# 連技能一併移除(專案資料夾不受影響)
|
|
288
|
+
rm -rf ~/.hermes/skills/photon-* ~/.hermes/skills/.photon-skills.json
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
</details>
|
|
292
|
+
|
|
293
|
+
## 疑難排解
|
|
294
|
+
|
|
295
|
+
<details>
|
|
296
|
+
<summary>常見症狀</summary>
|
|
297
|
+
|
|
298
|
+
| 症狀 | 處理 |
|
|
299
|
+
|---|---|
|
|
300
|
+
| `hermes photon-skills: not a hermes command` | 插件未啟用:先 `hermes plugins list`,再 `hermes plugins enable photon-skills` |
|
|
301
|
+
| `status` 顯示 `0 tracked` | 技能未同步:跑 `hermes photon-skills setup --yes` |
|
|
302
|
+
| 版本顯示舊版 | 裝的是舊 wheel 或舊 pin:`pip install --upgrade photon-skills`,或 `plugins install ... --ref <新 SHA> --force` |
|
|
303
|
+
| 你改過的技能沒有更新 | `setup` 會保留你的副本並報告(`kept your edited copy of …`),這是設計;要取回官方版就備份後刪掉該技能目錄再 `setup` |
|
|
304
|
+
| `doctor` 報 `skill sync` warning | 你的副本與官方版本不同:保留改動就繼續用,想交回上游就跑 `feedback export`,想還原官方版就跑 `repair --force` |
|
|
305
|
+
| 不確定哪裡壞了 | 先跑 `hermes photon-skills doctor`(加 `--json` 可貼給我);安全修復用 `repair` |
|
|
306
|
+
| 完全載入不到 | `HERMES_PLUGINS_DEBUG=1 hermes plugins list` 看發現 / 載入日誌;`hermes logs --level WARNING \| grep -i plugin` |
|
|
307
|
+
|
|
308
|
+
**手動 fallback**(插件連載入都失敗時):刪 `~/.hermes/plugins/photon-skills/` →
|
|
309
|
+
`pip uninstall photon-skills` → 用 A 或 B 重裝 → `hermes plugins enable photon-skills`。
|
|
310
|
+
專案資料夾不受影響。
|
|
311
|
+
|
|
312
|
+
</details>
|
|
313
|
+
|
|
314
|
+
<details>
|
|
315
|
+
<summary>維護者:開發、契約檢查、發佈</summary>
|
|
316
|
+
|
|
317
|
+
```bash
|
|
318
|
+
python scripts/check_plugin_contract.py # 契約檢查(本機有 hermes 會順便跑 validate)
|
|
319
|
+
python scripts/release.py --selftest
|
|
320
|
+
python -m pytest tests/ -q
|
|
321
|
+
hermes plugins validate src/photon
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
發佈流程:先在 default branch 寫入版本(`python scripts/release.py --set X.Y.Z`),
|
|
325
|
+
commit,再 tag `vX.Y.Z`。CI 會驗證 tag = tree 才發佈,CI 不會改寫版本。詳見
|
|
326
|
+
[CONTRIBUTING.md](CONTRIBUTING.md) 與
|
|
327
|
+
[docs/design/plugin-distribution.md](docs/design/plugin-distribution.md)。
|
|
328
|
+
|
|
329
|
+
品牌素材的原始檔在 [`assets/brand/src/`](assets/brand/src/):lockup 與 social card
|
|
330
|
+
是 HTML + 瀏覽器截圖,流程圖用 `python assets/brand/src/make_flow.py` 重新生成。
|
|
331
|
+
|
|
332
|
+
> catalog 上架暫不可行:curated catalog 要求公開 repo,本 repo 是 private。
|
|
333
|
+
> 現時渠道是 PyPI(公開)與 git + SHA(學校 / 協作者)。
|
|
334
|
+
|
|
335
|
+
</details>
|
|
336
|
+
|
|
337
|
+
## 授權
|
|
338
|
+
|
|
339
|
+
MIT — 見 [LICENSE](LICENSE)。作者:Uniterra Solutions Ltd;原始 Light-skills 作者:
|
|
340
|
+
Light0305。
|
|
341
|
+
|
|
342
|
+
Photon 是獨立衍生專案,與原作者的 `Light0305/Light-skills` repo 無隸屬或背書關係;
|
|
343
|
+
該 repo 未被本專案修改。MIT 要求保留上述版權聲明,授權檔亦隨 wheel 附上。
|