photon-skills 3.0.3.dev3__tar.gz → 3.0.3.dev17__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.3.dev3 → photon_skills-3.0.3.dev17}/.gitignore +1 -1
- photon_skills-3.0.3.dev17/AGENTS.md +35 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/CHANGELOG.md +25 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/CONTRIBUTING.md +4 -18
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/PKG-INFO +9 -1
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/README.en.md +10 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/README.md +8 -0
- photon_skills-3.0.3.dev17/docs/compatibility/agent-client-compatibility.md +14 -0
- photon_skills-3.0.3.dev17/docs/design/legacy-parity.md +82 -0
- photon_skills-3.0.3.dev17/docs/design/self-repair.md +109 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/legacy-multi-client.md +6 -2
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/releases/v1.0.0.md +5 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/e2e-research-demo/README.md +1 -1
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/projects/photocatalytic-dye-kinetics-study/paper/main.tex +1 -1
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/pyproject.toml +1 -1
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-citation/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-consistency/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-data-engineering/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-experiment-coding/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-figure/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-file-reading/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-frontend-design/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-idea-critique/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-idea-generation/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-literature-search/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-memory-pm/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-paper-writing/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-patent-disclosure/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-project-structure/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-ethics/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-orchestrator/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-plan/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-result-analysis/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-review-rebuttal/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-software-copyright/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-system-design/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-typesetting/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-venue-matching/SKILL.md +5 -5
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/__init__.py +170 -2
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/extensions/academic-skills.zip +0 -0
- photon_skills-3.0.3.dev17/src/photon/health.py +498 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/plugin.yaml +1 -1
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/skills/photon-orchestrator/SKILL.md +15 -0
- photon_skills-3.0.3.dev17/tests/test_health.py +178 -0
- photon_skills-3.0.3.dev3/AGENTS.md +0 -39
- photon_skills-3.0.3.dev3/docs/compatibility/agent-client-compatibility.md +0 -51
- photon_skills-3.0.3.dev3/scripts/bootstrap_agent_skills.py +0 -293
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/.github/workflows/plugin-contract.yml +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/.github/workflows/publish.yml +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/LICENSE +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/SECURITY.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/_shared/README.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/_shared/__init__.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/_shared/__main__.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/_shared/decision_contract.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/_shared/evidence_contract.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/_shared/findings_schema.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/_shared/gate_runner.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/_shared/semantic_sim.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/_shared/status_contract.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/_shared/visual_qa.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/assets/logo.png +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/assets/research-workflow.en.svg +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/assets/research-workflow.zh.svg +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/assets/social-preview.png +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/assets/wechat-donation.jpg +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/assets/wechat-official-account.jpg +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/_shared.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/citation.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/consistency.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/data-engineering.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/experiment-coding.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/figure.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/file-reading.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/frontend-design.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/idea-critique.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/idea-generation.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/literature-search.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/memory-pm.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/orchestrator.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/paper-writing.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/patent-disclosure.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/project-structure.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/research-ethics.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/research-plan.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/result-analysis.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/review-rebuttal.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/software-copyright.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/system-design.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/typesetting.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/competitors/venue-matching.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/design/consistency-round2-e2e.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/design/debate-coach.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/design/git-persistence.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/design/orchestrator-spec.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/design/plugin-distribution.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/design/safety-privacy.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/design/student-skill-audit.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/e2e/citation-round2.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/e2e/data-engineering-round2.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/e2e/experiment-coding-round2.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/e2e/ip-extension-gate.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/e2e/orchestrator-round2.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/e2e/paper-writing-round2.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/e2e/project-structure-round2.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/e2e/research-ethics-round2.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/e2e/research-plan-round2.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/e2e/result-analysis-round2.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/e2e/review-rebuttal-round2.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/e2e/round3-release-gate.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/e2e/system-design-round2.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/e2e/typesetting-round2.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/e2e/venue-matching-round2.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/learning/ip/ip-upgrade-synthesis.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/learning/ip/patent-deep-read-report.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/docs/learning/ip/software-copyright-deep-read-report.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/demo-student-project/.gitignore +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/demo-student-project/.photon-project +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/demo-student-project/decisions.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/demo-student-project/mentor-feedback/2026-08-01.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/demo-student-project/mentor-feedback/README.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/demo-student-project/project-card.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/demo-student-project/session-log/2026-07-28.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/demo-student-project/session-log/2026-07-30.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/demo-student-project/session-log/2026-08-01.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/demo-student-project/source-log.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/demo-student-project/task-log.md +0 -0
- /photon_skills-3.0.3.dev3/examples/e2e-research-demo/artifacts/light_e2e_case.md → /photon_skills-3.0.3.dev17/examples/e2e-research-demo/artifacts/photon_e2e_case.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/e2e-research-demo/data/synthetic_experiment.csv +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/e2e-research-demo/figures/panels/panel_a_design_frontier.png +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/e2e-research-demo/figures/panels/panel_b_signal_screen.png +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/e2e-research-demo/figures/panels/panel_c_calibration.png +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/e2e-research-demo/figures/panels/panel_d_evidence_strength.png +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/e2e-research-demo/figures/panels/panel_e_failure_map.png +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/e2e-research-demo/figures/panels/panel_f_quality_trajectory.png +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/e2e-research-demo/figures/panels/panel_g_distribution_shift.png +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/e2e-research-demo/figures/panels/panel_h_tradeoff_curve.png +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/e2e-research-demo/figures/panels/panel_i_risk_budget.png +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/e2e-research-demo/figures/research_figure_gallery.png +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/e2e-research-demo/scripts/compose_figure_gallery.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/e2e-research-demo/scripts/generate_synthetic_data.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/e2e-research-demo/scripts/python_gallery_panels.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/e2e-research-demo/scripts/r_gallery_panels.R +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/examples/e2e-research-demo/scripts/run_demo.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/projects/photocatalytic-dye-kinetics-study/README.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/projects/photocatalytic-dye-kinetics-study/data/fitted_rate_constants.csv +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/projects/photocatalytic-dye-kinetics-study/data/synthetic_design_table.csv +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/projects/photocatalytic-dye-kinetics-study/data/synthetic_uvvis_timeseries.csv +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/projects/photocatalytic-dye-kinetics-study/figures/figure1_kinetics.png +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/projects/photocatalytic-dye-kinetics-study/figures/figure2_response_surface.png +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/projects/photocatalytic-dye-kinetics-study/figures/figure3_diagnostics.png +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/projects/photocatalytic-dye-kinetics-study/figures/figure4_scavenger_effects.png +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/projects/photocatalytic-dye-kinetics-study/outputs/analysis_summary.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/projects/photocatalytic-dye-kinetics-study/outputs/scavenger_summary.csv +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/projects/photocatalytic-dye-kinetics-study/paper/main-preview.png +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/projects/photocatalytic-dye-kinetics-study/paper/main.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/projects/photocatalytic-dye-kinetics-study/paper/main.pdf +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/projects/photocatalytic-dye-kinetics-study/scripts/analyze.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/projects/photocatalytic-dye-kinetics-study/scripts/build_paper.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/projects/photocatalytic-dye-kinetics-study/scripts/generate_data.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/projects/photocatalytic-dye-kinetics-study/scripts/make_figures.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/projects/photocatalytic-dye-kinetics-study/scripts/render_preview.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/projects/photocatalytic-dye-kinetics-study/scripts/run_all.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/scripts/check_plugin_contract.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/scripts/release.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/README.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-citation/citation-resource-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-citation/references/locator_audit.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-citation/references/registry_contract.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-citation/references.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-citation/templates/citation-four-gate.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-citation/templates/citation_input.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-citation/templates/claim_citation_review.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-consistency/examples/fact-bindings.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-consistency/examples/materials_paper.txt +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-consistency/examples/materials_ppt.txt +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-consistency/references/consistency-resource-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-data-engineering/examples/derive_spec.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-data-engineering/examples/rules.example.yaml +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-data-engineering/examples/worked_example.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-data-engineering/references/data-resource-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-data-engineering/references.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-data-engineering/templates/annotation_guide.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-data-engineering/templates/data-identity-fitness.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-experiment-coding/references/code_examples.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-experiment-coding/references/debug_protocol.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-experiment-coding/references/experiment-coding-resource-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-experiment-coding/references/tdd_redflags.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-experiment-coding/references/tools.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-experiment-coding/templates/experiment-execution-contract.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-experiment-coding/templates/run_manifest.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-experiment-coding/templates/run_manifest.template.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-figure/examples/bad_figure_example.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-figure/examples/example_framework.dot +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-figure/examples/example_framework_render.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-figure/examples/example_matplotlib_multipanel.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-figure/examples/example_seaborn_stats.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-figure/examples/worked_example.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-figure/references/figure_integrity.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-figure/templates/figure-delivery.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-figure/templates/figure_plan_card.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-figure/templates/table_plan_card.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-file-reading/references/DOCX-REF.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-file-reading/references/IMG-REF.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-file-reading/references/PDF-REF.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-file-reading/references/PPTX-REF.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-file-reading/references/XLSX-REF.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-file-reading/references/reading-resource-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-file-reading/references/tools.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-frontend-design/references/design-systems-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-frontend-design/references/ecosystem-2026.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-frontend-design/references/fonts-and-colors.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-frontend-design/references/redesign-audit.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-frontend-design/references/resource-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-frontend-design/references/visual-a11y-rules.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-frontend-design/references.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-frontend-design/templates/frontend-delivery.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-idea-critique/critique-resource-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-idea-critique/examples/worked_example_dermoscopy.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-idea-critique/references/contract.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-idea-critique/references/protocol.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-idea-critique/references/rubric.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-idea-critique/references.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-idea-critique/templates/Revision_Roadmap.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-idea-critique/templates/novelty-evidence.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-idea-critique/templates/verdict_template.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-idea-generation/.gitignore +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-idea-generation/examples/candidates.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-idea-generation/examples/idea_candidates.example.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-idea-generation/idea-resource-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-idea-generation/references.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-idea-generation/templates/idea-gap-evidence.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-idea-generation/templates/idea-genealogy.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-idea-generation/templates/idea_card.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-idea-generation/templates/innovation-engine.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-literature-search/examples/goat_littable.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-literature-search/examples/goat_search.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-literature-search/examples/worked_example_dairy_goat.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-literature-search/references.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-literature-search/search-resource-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-literature-search/templates/search-protocol.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-memory-pm/references/cross_harness_resume.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-memory-pm/references/session_handoff.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-paper-writing/examples/claim_evidence_walkthrough.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-paper-writing/paper-writing-resource-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-paper-writing/references/argument_review.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-paper-writing/references/claim_argument_plan.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-paper-writing/references/guideline_map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-paper-writing/references/integrity_gate.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-paper-writing/references/mandatory_inclusions.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-paper-writing/references/self_review_checklist.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-paper-writing/templates/01_imrad.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-paper-writing/templates/06_conference.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-paper-writing/templates/argument-outline.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-paper-writing/templates/claim_argument_plan.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-paper-writing/templates/claim_passport.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-patent-disclosure/references/patent-interview-and-search.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-patent-disclosure/references/patent-resource-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-patent-disclosure/templates/patent-disclosure-packet.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-project-structure/references/project-lifecycle-resource-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-project-structure/references/structure-profiles.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-project-structure/templates/project-policy.template.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-project-structure/templates/project-structure-governance.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-ethics/references/cn_compliance.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-ethics/references/decision_trees.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-ethics/references/ethics-resource-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-ethics/references/retraction_flag_types.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-ethics/references/tortured_phrases.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-orchestrator/references/integration-contract.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-orchestrator/references/orchestrator-resource-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-orchestrator/references/passport.schema.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-orchestrator/templates/passport.v3.yaml +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-orchestrator/templates/task-profile.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-orchestrator/templates/workflow-ledger.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-plan/examples/plan_spec.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-plan/references/research-plan-resource-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-plan/references.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-plan/templates/experiment_matrix.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-plan/templates/failure-tree.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-plan/templates/plan_package.manifest.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-plan/templates/preregistration.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-plan/templates/reproducibility-checklist.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-plan/templates/reproduction-log.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-plan/templates/research-plan.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-research-plan/templates/target-chain.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-result-analysis/examples/analysis_audit.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-result-analysis/examples/method_compatibility.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-result-analysis/examples/stat_spec.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-result-analysis/examples/worked_example.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-result-analysis/references.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-result-analysis/result-analysis-resource-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-result-analysis/scripts/r_analysis_crosscheck.R +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-result-analysis/templates/result-card.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-review-rebuttal/agents/openai.yaml +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-review-rebuttal/references/workflow_contract.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-review-rebuttal/references.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-review-rebuttal/review-rebuttal-resource-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-review-rebuttal/templates/commitment_ledger.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-review-rebuttal/templates/experiment_request.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-review-rebuttal/templates/rereview_checklist.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-review-rebuttal/templates/response_letter_template.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-review-rebuttal/templates/response_matrix.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-review-rebuttal/templates/review-response-contract.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-review-rebuttal/templates/review_input.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-software-copyright/references/materials-workflow.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-software-copyright/references/software-copyright-resource-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-software-copyright/templates/software-copyright-materials.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-system-design/references/system-design-resource-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-system-design/references.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-system-design/templates/architecture-package.template.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-system-design/templates/decision-authorization.template.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-system-design/templates/design-readiness.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-system-design/templates/migration_expand_contract.sql +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-system-design/templates/openapi.yaml +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-system-design/templates/rls_policy.sql +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-system-design/templates/schema.sql +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-system-design/templates/system-intake.template.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-typesetting/references/build_contract.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-typesetting/references/latex_errors.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-typesetting/references.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-typesetting/templates/acm_sigconf.tex +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-typesetting/templates/ctex_chinese.tex +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-typesetting/templates/elsevier_elsarticle.tex +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-typesetting/templates/ieee_bare_conf.tex +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-typesetting/templates/springer_llncs.tex +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-typesetting/templates/submission-readiness.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-typesetting/templates/typesetting_input.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-typesetting/typesetting-resource-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-venue-matching/references/workflow_contract.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-venue-matching/references.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-venue-matching/templates/query-privacy.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-venue-matching/templates/user_selection.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-venue-matching/templates/venue-evidence.example.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-venue-matching/templates/venue_compare_table.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-venue-matching/templates/venue_input.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-venue-matching/venue-resource-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/SOUL.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/_base.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/skills/photon-brainstorm/SKILL.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/skills/photon-debate-coach/SKILL.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/skills/photon-debate-coach/references/format-presets.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/skills/photon-debate-coach/templates/case-map.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/skills/photon-debate-coach/templates/format.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/skills/photon-debate-coach/templates/motion-brief.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/skills/photon-debate-coach/templates/outline.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/skills/photon-debate-coach/templates/post-match.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/skills/photon-debate-coach/templates/rebuttal-cards.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/skills/photon-method-planner/SKILL.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/skills/photon-pitch-coach/SKILL.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/skills/photon-pitch-coach/templates/judge-qa-prep.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/skills/photon-pitch-coach/templates/pitch-deck-outline.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/skills/photon-pitch-coach/templates/pitch-script-60s.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/skills/photon-progress-tracker/SKILL.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/skills/photon-session/SKILL.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/skills/photon-source-filter/SKILL.md +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/skillsets.json +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/src/photon/workspace.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/tests/test_cli.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/tests/test_contract.py +0 -0
- {photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/tests/test_workspace.py +0 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Photon-skills 代理協作說明
|
|
2
|
+
|
|
3
|
+
本 repo 是科研 / 競賽 / 創新項目的技能包,**以 Hermes 插件交付**(`src/photon/`)。請把 `src/photon/skills/`(8 個學生技能,隨插件安裝)與 `skills-academic/`(23 個進階技能,不隨插件安裝,作 extension 選擇性安裝)視為 canonical 技能源(Issue #47 拆分);不要把維護者私人記憶、對話史、電郵、未公開研究、db01-db09、MCP 設定或本地知識庫內容寫進 repo。
|
|
4
|
+
|
|
5
|
+
## 交付路徑(Issue #47 / P2)
|
|
6
|
+
|
|
7
|
+
技能只經 Hermes 插件交付,沒有其他鏡像路徑:
|
|
8
|
+
|
|
9
|
+
- `src/photon/skills/`:8 個學生技能,隨插件複製到 profile 的 `~/.hermes/skills/`(hash manifest 保護,改過的副本不會被覆蓋)。
|
|
10
|
+
- `skills-academic/`:23 個進階技能,**不隨插件安裝**;以 `src/photon/extensions/academic-skills.zip` 靜態出貨,經 `hermes photon-skills extensions install academic-skills` 選裝。
|
|
11
|
+
- 舊的 Codex / Claude Code / OpenCode 鏡像(`.agents/skills`、`.claude/skills`、`.opencode/skills`)與 `scripts/bootstrap_agent_skills.py` 已退役,不要再加回來;記錄見 `docs/legacy-multi-client.md`。
|
|
12
|
+
|
|
13
|
+
## 開發紀律
|
|
14
|
+
|
|
15
|
+
- commit 只署作者本人;標題和正文寫中文;不要加 Co-Authored-By。
|
|
16
|
+
- 除非使用者明確要求,否則不要 push。
|
|
17
|
+
- Python 命令前先設 `PYTHONUTF8=1`;臨時產物放 `.upgrade/_e2e`。
|
|
18
|
+
- 面向使用者的腳本必須親手跑 `--selftest` 到 exit 0,不能相信「已完成」報告。
|
|
19
|
+
- 動態事實、論文、DOI、star、連結、能力聲明查不到就寫 `unknown/待核查`。
|
|
20
|
+
- 論文數據圖必須程序化生成;禁止 AI 生圖冒充數據圖。
|
|
21
|
+
- R/ggplot2 是增強路徑,不是隱含前提:缺 R 或缺套件時,先給使用者「繼續 matplotlib 誠實降級 / 安裝或設定 R / 提供 Rscript 路徑」的選擇;非互動自動流程預設降級並標 `degraded=True`,不得擅自安裝。
|
|
22
|
+
|
|
23
|
+
## 快速自測
|
|
24
|
+
|
|
25
|
+
```powershell
|
|
26
|
+
$env:PYTHONUTF8="1"
|
|
27
|
+
python scripts/check_plugin_contract.py # manifest / 技能結構 / zip parity / 版本同步
|
|
28
|
+
python scripts/release.py --selftest
|
|
29
|
+
python -m pytest tests -q
|
|
30
|
+
hermes plugins validate src/photon # 本機有 Hermes 時
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 明確邊界
|
|
34
|
+
|
|
35
|
+
`Light0305/Light-skills` 是第三方的獨立專案:不 archive、不改它的 README、不在本 repo 以外動手;`LICENSE` 保留其版權聲明。
|
|
@@ -6,6 +6,19 @@ The project follows a pragmatic release-note style rather than claiming strict s
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **`doctor`, `repair`, `feedback export` (P3).** `doctor` checks the bundled
|
|
12
|
+
skills, each profile copy (missing / edited / untracked / stale manifest
|
|
13
|
+
entries), extension payloads, install state, pip-era shims and `light-*`
|
|
14
|
+
leftovers, plus an optional project workspace; it exits 1 on errors so CI can
|
|
15
|
+
use it. `repair` applies only safe fixes (never overwrites an edited skill,
|
|
16
|
+
never touches a project) and takes `--force` for the one destructive action.
|
|
17
|
+
`feedback export` writes a skill diff plus session/mentor evidence to a folder
|
|
18
|
+
for a human-reviewed upstream proposal — nothing is uploaded. Design and
|
|
19
|
+
limits: `docs/design/self-repair.md`; `photon-orchestrator` now points at the
|
|
20
|
+
three commands when a skill misfires.
|
|
21
|
+
|
|
9
22
|
### Documentation
|
|
10
23
|
|
|
11
24
|
- **README rewritten as a plugin-first guide** (zh + en): the two real install
|
|
@@ -16,6 +29,18 @@ The project follows a pragmatic release-note style rather than claiming strict s
|
|
|
16
29
|
`docs/legacy-multi-client.md`; badges no longer claim 30 skills or client
|
|
17
30
|
readiness.
|
|
18
31
|
|
|
32
|
+
### Removed
|
|
33
|
+
|
|
34
|
+
- **Legacy multi-client path.** `scripts/bootstrap_agent_skills.py` (the Codex /
|
|
35
|
+
Claude Code / OpenCode mirror generator) and its CONTRIBUTING instructions are
|
|
36
|
+
gone; the Hermes plugin is the only supported distribution path, with the old
|
|
37
|
+
route recorded in `docs/legacy-multi-client.md`.
|
|
38
|
+
- **`light_*` file naming.** `examples/e2e-research-demo/artifacts/light_e2e_case.md`
|
|
39
|
+
is now `photon_e2e_case.md`; the 23 academic `SKILL.md` files head that section
|
|
40
|
+
`## Bundled files / 隨附檔案 — Manual mode / 手動模式`, and
|
|
41
|
+
`docs/design/legacy-parity.md` records the 23↔23 mapping plus the 240
|
|
42
|
+
upstream-only references.
|
|
43
|
+
|
|
19
44
|
### Changed
|
|
20
45
|
|
|
21
46
|
- **`skillset` removed (P0 cleanup).** The shipped bundle is the 8 student
|
|
@@ -59,27 +59,13 @@ python scripts/release.py --selftest
|
|
|
59
59
|
python -m pytest tests -q
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
```powershell
|
|
68
|
-
$env:PYTHONUTF8="1"
|
|
69
|
-
python scripts\bootstrap_agent_skills.py --check-only
|
|
70
|
-
```
|
|
62
|
+
Skill changes reach users through the Hermes plugin only; the old Codex /
|
|
63
|
+
Claude Code / OpenCode mirrors are retired — see
|
|
64
|
+
[docs/legacy-multi-client.md](docs/legacy-multi-client.md). The contract script
|
|
65
|
+
already checks skill structure, frontmatter names, and every local reference.
|
|
71
66
|
|
|
72
67
|
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.
|
|
73
68
|
|
|
74
|
-
If you modify a skill, manually inspect the generated client layout when relevant:
|
|
75
|
-
|
|
76
|
-
```powershell
|
|
77
|
-
$env:PYTHONUTF8="1"
|
|
78
|
-
python scripts\bootstrap_agent_skills.py --targets agents --mode auto --force
|
|
79
|
-
python scripts\bootstrap_agent_skills.py --targets claude --mode auto --force
|
|
80
|
-
python scripts\bootstrap_agent_skills.py --targets opencode --mode auto --force
|
|
81
|
-
```
|
|
82
|
-
|
|
83
69
|
## Skill quality rules
|
|
84
70
|
|
|
85
71
|
Every skill should be:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: photon-skills
|
|
3
|
-
Version: 3.0.3.
|
|
3
|
+
Version: 3.0.3.dev17
|
|
4
4
|
Summary: Photon — STEAM research, debate, and pitch competition companion for primary/secondary students
|
|
5
5
|
Author-email: Uniterra Solutions Limited <harryw07801@uniterra-solutions.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -146,6 +146,9 @@ hermes photon-skills sync --remote water-filter # 發佈到 GitHub(預設 priv
|
|
|
146
146
|
| `mentor-summary [--dir ...]` | 一頁導師摘要 |
|
|
147
147
|
| `sync [--message ...] [--remote <repo>] [--public]` | 本地 commit / 建 GitHub remote 並 push / 離線模式 |
|
|
148
148
|
| `extensions list\|install\|remove <name> [--profiles A,B]` | 選裝技能包(目前:`academic-skills`) |
|
|
149
|
+
| `doctor [--dir ...] [--json]` | 診斷技能同步、state、extension、舊安裝與專案狀態(有 error 時 exit 1) |
|
|
150
|
+
| `repair [--profile ...] [--force]` | 套用安全修復;`--force` 才會覆蓋你改過的技能 |
|
|
151
|
+
| `feedback export [--dir ...] [--since ...] [--out ...]` | 匯出技能 diff + 專案證據供人審閱(不上傳) |
|
|
149
152
|
| `selftest` | 快速自測 workspace 邏輯(exit 0) |
|
|
150
153
|
|
|
151
154
|
## 技能
|
|
@@ -215,6 +218,8 @@ hermes photon-skills extensions remove academic-skills
|
|
|
215
218
|
| `status` 顯示 `0 tracked` | 技能未同步:跑 `hermes photon-skills setup --yes` |
|
|
216
219
|
| 版本顯示舊版 | 裝的是舊 wheel 或舊 pin:`pip install --upgrade photon-skills`,或 `plugins install ... --ref <新 SHA> --force` |
|
|
217
220
|
| 你改過的技能沒有更新 | `setup` 會保留你的副本並報告(`kept your edited copy of …`),這是設計;要取回官方版就備份後刪掉該技能目錄再 `setup` |
|
|
221
|
+
| `doctor` 報 `skill sync` warning | 你的副本與官方版本不同:保留改動就繼續用,想交回上游就跑 `feedback export`,想還原官方版就跑 `repair --force` |
|
|
222
|
+
| 不確定哪裡壞了 | 先跑 `hermes photon-skills doctor`(加 `--json` 可貼給我);安全修復用 `repair` |
|
|
218
223
|
| 完全載入不到 | `HERMES_PLUGINS_DEBUG=1 hermes plugins list` 看發現/載入日誌;`hermes logs --level WARNING \| grep -i plugin` |
|
|
219
224
|
|
|
220
225
|
**手動 fallback**(插件連載入都失敗時):刪 `~/.hermes/plugins/photon-skills/`
|
|
@@ -253,3 +258,6 @@ X.Y.Z`),commit,再 tag `vX.Y.Z`。CI 會驗證 tag = tree 才發佈,CI 不會改
|
|
|
253
258
|
|
|
254
259
|
MIT — 見 [LICENSE](LICENSE)。作者:Uniterra Solutions Ltd;原始 Light-skills
|
|
255
260
|
作者:Light0305。
|
|
261
|
+
|
|
262
|
+
Photon 是獨立衍生專案,與原作者的 `Light0305/Light-skills` repo 無隸屬或背書
|
|
263
|
+
關係;該 repo 未被本專案修改。MIT 要求保留上述版權聲明,授權檔亦隨 wheel 附上。
|
|
@@ -140,6 +140,9 @@ hermes photon-skills sync --remote water-filter # publish to GitHub (private b
|
|
|
140
140
|
| `mentor-summary [--dir ...]` | One-page mentor summary |
|
|
141
141
|
| `sync [--message ...] [--remote <repo>] [--public]` | Local commit / create a GitHub remote and push / offline mode |
|
|
142
142
|
| `extensions list\|install\|remove <name> [--profiles A,B]` | Optional skill packs (currently `academic-skills`) |
|
|
143
|
+
| `doctor [--dir ...] [--json]` | Diagnose skill sync, state, extensions, legacy installs, and a project (exit 1 on errors) |
|
|
144
|
+
| `repair [--profile ...] [--force]` | Apply safe fixes; `--force` also restores skills you edited |
|
|
145
|
+
| `feedback export [--dir ...] [--since ...] [--out ...]` | Export skill diffs + project evidence for human review (nothing uploaded) |
|
|
143
146
|
| `selftest` | Quick workspace self-test (exit 0) |
|
|
144
147
|
|
|
145
148
|
## Skills
|
|
@@ -219,6 +222,8 @@ Mentors do not install anything:
|
|
|
219
222
|
| `status` shows `0 tracked` | skills were not synced: run `hermes photon-skills setup --yes` |
|
|
220
223
|
| Version shows an older release | you have an old wheel or an old pin: `pip install --upgrade photon-skills`, or `plugins install ... --ref <new SHA> --force` |
|
|
221
224
|
| A skill you edited is not updating | `setup` keeps your copy and reports it (`kept your edited copy of …`) by design; to take the official version, back up and delete that skill directory, then run `setup` |
|
|
225
|
+
| `doctor` reports a `skill sync` warning | your copy differs from the shipped one: keep it, run `feedback export` to propose it upstream, or `repair --force` to restore the official version |
|
|
226
|
+
| You are not sure what is broken | run `hermes photon-skills doctor` (add `--json` to share it); safe fixes are `repair` |
|
|
222
227
|
| Nothing loads at all | `HERMES_PLUGINS_DEBUG=1 hermes plugins list` for discovery/load logs; `hermes logs --level WARNING \| grep -i plugin` |
|
|
223
228
|
|
|
224
229
|
**Manual fallback** (when even loading fails): delete
|
|
@@ -261,3 +266,8 @@ programmatic figures → LaTeX PDF.
|
|
|
261
266
|
|
|
262
267
|
MIT — see [LICENSE](LICENSE). Author: Uniterra Solutions Ltd; original
|
|
263
268
|
Light-skills author: Light0305.
|
|
269
|
+
|
|
270
|
+
Photon is an independent derivative: it is not affiliated with or endorsed by
|
|
271
|
+
the original Light-skills author, and that repository is left untouched. MIT
|
|
272
|
+
requires keeping the copyright notice above; the licence file ships inside the
|
|
273
|
+
wheel as well.
|
|
@@ -133,6 +133,9 @@ hermes photon-skills sync --remote water-filter # 發佈到 GitHub(預設 priv
|
|
|
133
133
|
| `mentor-summary [--dir ...]` | 一頁導師摘要 |
|
|
134
134
|
| `sync [--message ...] [--remote <repo>] [--public]` | 本地 commit / 建 GitHub remote 並 push / 離線模式 |
|
|
135
135
|
| `extensions list\|install\|remove <name> [--profiles A,B]` | 選裝技能包(目前:`academic-skills`) |
|
|
136
|
+
| `doctor [--dir ...] [--json]` | 診斷技能同步、state、extension、舊安裝與專案狀態(有 error 時 exit 1) |
|
|
137
|
+
| `repair [--profile ...] [--force]` | 套用安全修復;`--force` 才會覆蓋你改過的技能 |
|
|
138
|
+
| `feedback export [--dir ...] [--since ...] [--out ...]` | 匯出技能 diff + 專案證據供人審閱(不上傳) |
|
|
136
139
|
| `selftest` | 快速自測 workspace 邏輯(exit 0) |
|
|
137
140
|
|
|
138
141
|
## 技能
|
|
@@ -202,6 +205,8 @@ hermes photon-skills extensions remove academic-skills
|
|
|
202
205
|
| `status` 顯示 `0 tracked` | 技能未同步:跑 `hermes photon-skills setup --yes` |
|
|
203
206
|
| 版本顯示舊版 | 裝的是舊 wheel 或舊 pin:`pip install --upgrade photon-skills`,或 `plugins install ... --ref <新 SHA> --force` |
|
|
204
207
|
| 你改過的技能沒有更新 | `setup` 會保留你的副本並報告(`kept your edited copy of …`),這是設計;要取回官方版就備份後刪掉該技能目錄再 `setup` |
|
|
208
|
+
| `doctor` 報 `skill sync` warning | 你的副本與官方版本不同:保留改動就繼續用,想交回上游就跑 `feedback export`,想還原官方版就跑 `repair --force` |
|
|
209
|
+
| 不確定哪裡壞了 | 先跑 `hermes photon-skills doctor`(加 `--json` 可貼給我);安全修復用 `repair` |
|
|
205
210
|
| 完全載入不到 | `HERMES_PLUGINS_DEBUG=1 hermes plugins list` 看發現/載入日誌;`hermes logs --level WARNING \| grep -i plugin` |
|
|
206
211
|
|
|
207
212
|
**手動 fallback**(插件連載入都失敗時):刪 `~/.hermes/plugins/photon-skills/`
|
|
@@ -240,3 +245,6 @@ X.Y.Z`),commit,再 tag `vX.Y.Z`。CI 會驗證 tag = tree 才發佈,CI 不會改
|
|
|
240
245
|
|
|
241
246
|
MIT — 見 [LICENSE](LICENSE)。作者:Uniterra Solutions Ltd;原始 Light-skills
|
|
242
247
|
作者:Light0305。
|
|
248
|
+
|
|
249
|
+
Photon 是獨立衍生專案,與原作者的 `Light0305/Light-skills` repo 無隸屬或背書
|
|
250
|
+
關係;該 repo 未被本專案修改。MIT 要求保留上述版權聲明,授權檔亦隨 wheel 附上。
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Agent-client compatibility (retired) / 客戶端兼容性(已退役)
|
|
2
|
+
|
|
3
|
+
> **Retired.** Photon is a Hermes plugin now. The Codex / Claude Code / OpenCode
|
|
4
|
+
> discovery paths and `bootstrap_agent_skills.py` are no longer supported: the
|
|
5
|
+
> plugin copies its skills into the active Hermes profile and that is the only
|
|
6
|
+
> supported layout.
|
|
7
|
+
>
|
|
8
|
+
> **已退役。** Photon 現在是 Hermes 插件;Codex / Claude Code / OpenCode 的發現
|
|
9
|
+
> 路徑與 `bootstrap_agent_skills.py` 不再支援。
|
|
10
|
+
|
|
11
|
+
- Record of the old layouts and why they were dropped:
|
|
12
|
+
[docs/legacy-multi-client.md](../legacy-multi-client.md)
|
|
13
|
+
- Supported install and migration:
|
|
14
|
+
[README.md](../../README.md)
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Legacy pack parity / 舊版覆蓋報告
|
|
2
|
+
|
|
3
|
+
> Issue #47 follow-up (P2). Answers one question with evidence: **is the old
|
|
4
|
+
> `Light-skills` pack fully covered by Photon?** 23 legacy skills, 23 academic
|
|
5
|
+
> skills, measured on the tree at this commit.
|
|
6
|
+
>
|
|
7
|
+
> Issue #47 後續(P2)。用可重跑的數字回答一個問題:舊 `Light-skills` 包是否已被
|
|
8
|
+
> Photon 完全覆蓋。
|
|
9
|
+
|
|
10
|
+
## Verdict / 結論
|
|
11
|
+
|
|
12
|
+
| Dimension | Result |
|
|
13
|
+
|---|---|
|
|
14
|
+
| Skill names | **23 / 23 mapped**, no gaps, no extras |
|
|
15
|
+
| Instructions (`SKILL.md` + `references/`) | covered |
|
|
16
|
+
| Executable helpers (`scripts/`, `assets/`, `examples/`) | **not shipped** — 240 referenced paths are upstream-only (manual mode) |
|
|
17
|
+
| Old install path (Codex / Claude Code / OpenCode + bootstrap) | retired — [legacy-multi-client.md](legacy-multi-client.md) |
|
|
18
|
+
| Original repo (`Light0305/Light-skills`) | third-party, left untouched; Photon is an independent derivative (MIT attribution kept) |
|
|
19
|
+
|
|
20
|
+
So "covered" means **naming + instructions**, not tooling. That was a deliberate
|
|
21
|
+
trade-off: shipping the academic helpers pushes the plugin security scan from
|
|
22
|
+
`safe` to `caution`, and a non-catalog git install is refused at `caution`. The
|
|
23
|
+
helpers stay in the repository at `skills-academic/`, and every affected
|
|
24
|
+
`SKILL.md` says so in a `Manual mode` section.
|
|
25
|
+
|
|
26
|
+
## Mapping / 對照
|
|
27
|
+
|
|
28
|
+
Generated from the tree by `scripts/check_plugin_contract.py`-style inspection
|
|
29
|
+
(regenerate with the snippet at the bottom).
|
|
30
|
+
|
|
31
|
+
| Legacy | Photon | Files in `skills-academic/` | Missing referenced paths |
|
|
32
|
+
|---|---|---|---|
|
|
33
|
+
| `light-citation` | `photon-citation` | 8 | 9 |
|
|
34
|
+
| `light-consistency` | `photon-consistency` | 5 | 10 |
|
|
35
|
+
| `light-data-engineering` | `photon-data-engineering` | 8 | 17 |
|
|
36
|
+
| `light-experiment-coding` | `photon-experiment-coding` | 9 | 26 |
|
|
37
|
+
| `light-figure` | `photon-figure` | 11 | 13 |
|
|
38
|
+
| `light-file-reading` | `photon-file-reading` | 8 | 10 |
|
|
39
|
+
| `light-frontend-design` | `photon-frontend-design` | 9 | 8 |
|
|
40
|
+
| `light-idea-critique` | `photon-idea-critique` | 10 | 11 |
|
|
41
|
+
| `light-idea-generation` | `photon-idea-generation` | 10 | 11 |
|
|
42
|
+
| `light-literature-search` | `photon-literature-search` | 7 | 16 |
|
|
43
|
+
| `light-memory-pm` | `photon-memory-pm` | 3 | 17 |
|
|
44
|
+
| `light-paper-writing` | `photon-paper-writing` | 14 | 11 |
|
|
45
|
+
| `light-patent-disclosure` | `photon-patent-disclosure` | 4 | 1 |
|
|
46
|
+
| `light-project-structure` | `photon-project-structure` | 5 | 2 |
|
|
47
|
+
| `light-research-ethics` | `photon-research-ethics` | 6 | 15 |
|
|
48
|
+
| `light-orchestrator` | `photon-research-orchestrator` | 7 | 8 |
|
|
49
|
+
| `light-research-plan` | `photon-research-plan` | 12 | 9 |
|
|
50
|
+
| `light-result-analysis` | `photon-result-analysis` | 9 | 15 |
|
|
51
|
+
| `light-review-rebuttal` | `photon-review-rebuttal` | 12 | 10 |
|
|
52
|
+
| `light-software-copyright` | `photon-software-copyright` | 4 | 2 |
|
|
53
|
+
| `light-system-design` | `photon-system-design` | 11 | 5 |
|
|
54
|
+
| `light-typesetting` | `photon-typesetting` | 12 | 7 |
|
|
55
|
+
| `light-venue-matching` | `photon-venue-matching` | 9 | 7 |
|
|
56
|
+
|
|
57
|
+
`light-orchestrator` is the one rename that is not a pure prefix swap
|
|
58
|
+
(`photon-research-orchestrator`) because `photon-orchestrator` is the student
|
|
59
|
+
session skill.
|
|
60
|
+
|
|
61
|
+
## What still says "Light" (and why)
|
|
62
|
+
|
|
63
|
+
| Location | Status |
|
|
64
|
+
|---|---|
|
|
65
|
+
| `LICENSE` | kept — Light0305 is the original author, attribution is required |
|
|
66
|
+
| `docs/competitors/*` | kept — research notes written in the Light era, not installed |
|
|
67
|
+
| `docs/releases/v1.0.0.md` | kept with a historical banner |
|
|
68
|
+
| `examples/e2e-research-demo/artifacts/photon_e2e_case.md` | renamed from `light_e2e_case.md` |
|
|
69
|
+
| `scripts/bootstrap_agent_skills.py` | deleted |
|
|
70
|
+
| `README.md` / `README.en.md` | rewritten plugin-first; old path archived in `legacy-multi-client.md` |
|
|
71
|
+
|
|
72
|
+
## Regenerate
|
|
73
|
+
|
|
74
|
+
```python
|
|
75
|
+
import re
|
|
76
|
+
from pathlib import Path
|
|
77
|
+
root = Path("skills-academic")
|
|
78
|
+
REF = re.compile(r"(?<![\w/.-])((?:scripts|templates|references|examples|assets)/[A-Za-z0-9_./-]+)")
|
|
79
|
+
for skill in sorted(root.glob("photon-*")):
|
|
80
|
+
refs = set(REF.findall((skill / "SKILL.md").read_text(encoding="utf-8")))
|
|
81
|
+
print(skill.name, len([r for r in refs if not (skill / r).exists()]))
|
|
82
|
+
```
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Self-diagnosis, repair, and human-gated improvement
|
|
2
|
+
|
|
3
|
+
> P3 deliverable. Three CLI verbs that make a Photon installation inspectable and
|
|
4
|
+
> fixable by the person using it: `doctor`, `repair`, `feedback export`.
|
|
5
|
+
>
|
|
6
|
+
> P3 交付物:三個 CLI 指令,令使用者自己檢查、修復、並把改進交回上游。
|
|
7
|
+
|
|
8
|
+
## Why this exists
|
|
9
|
+
|
|
10
|
+
Photon copies its skills into the active profile and records a content hash per
|
|
11
|
+
copy. That rule is deliberately non-destructive — a copy the student edited is
|
|
12
|
+
kept and reported, never silently overwritten. The cost is **silent drift**:
|
|
13
|
+
|
|
14
|
+
- a skill can be missing (deleted, partial sync, old install) and nothing says so;
|
|
15
|
+
- a pip-era shim can shadow the real plugin while `plugins list` still shows it
|
|
16
|
+
enabled;
|
|
17
|
+
- an edited skill stops receiving upstream fixes, and neither side can tell;
|
|
18
|
+
- an installed extension can lose its payload or its skills.
|
|
19
|
+
|
|
20
|
+
None of that is fixable by the Hermes core: `hermes plugins validate` checks the
|
|
21
|
+
plugin directory, not the profile copies. Hence a product-level doctor.
|
|
22
|
+
|
|
23
|
+
## Commands
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
hermes photon-skills doctor [--dir PROJECT] [--json] [--verbose]
|
|
27
|
+
hermes photon-skills repair [--profile NAME] [--force]
|
|
28
|
+
hermes photon-skills feedback export [--dir PROJECT] [--since YYYY-MM-DD] [--out DIR]
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
`doctor` is read-only and exits `1` when any check is an **error** (usable in
|
|
32
|
+
CI). `repair` only writes inside the profile's `skills/` dir and the plugin
|
|
33
|
+
state file. `feedback export` only writes the output directory you give it.
|
|
34
|
+
|
|
35
|
+
## What `doctor` checks
|
|
36
|
+
|
|
37
|
+
| Check | What it reports | Severity |
|
|
38
|
+
|---|---|---|
|
|
39
|
+
| `bundled skills` | the plugin dir has skills, and each has `SKILL.md` | error |
|
|
40
|
+
| `profile` | the active profile's home exists | error |
|
|
41
|
+
| `skills dir` | `<profile>/skills` exists | error |
|
|
42
|
+
| `skill sync` | bundled skill missing / edited locally / untracked by the manifest / all in sync | error / warn / ok |
|
|
43
|
+
| `manifest` | stale entries pointing at removed skills | warn |
|
|
44
|
+
| `manifest version` | manifest records an older plugin version | warn |
|
|
45
|
+
| `extension` | installed payload missing, payload hash changed, extension skills missing; or none installed | warn / ok |
|
|
46
|
+
| `state` | removed `skillset` key still present; active profile not registered; profiles listed but missing on disk | warn |
|
|
47
|
+
| `legacy install` | a pip-era shim (`from photon import register`) shadows the plugin | error |
|
|
48
|
+
| `legacy skills` | retired `light-*` skill directories in the profile | warn |
|
|
49
|
+
| `distribution` | a pip distribution version differs from the loaded plugin | warn |
|
|
50
|
+
| `project files` | `--dir`: `project-card.md`, logs, `.photon-project`, `session-log/`, `mentor-feedback/` | error |
|
|
51
|
+
| `project git` | `--dir`: not a Git repo, or uncommitted changes | warn / ok |
|
|
52
|
+
|
|
53
|
+
Local edits are detected by comparing the copy with the **bundle**, not with the
|
|
54
|
+
last recorded hash: adopting an edit as the new baseline (which `sync` does) must
|
|
55
|
+
not make the divergence invisible.
|
|
56
|
+
|
|
57
|
+
## What `repair` does
|
|
58
|
+
|
|
59
|
+
| Situation | Safe (default) | `--force` |
|
|
60
|
+
|---|---|---|
|
|
61
|
+
| bundled skill missing | copy it from the bundle, record its hash | same |
|
|
62
|
+
| skill edited locally | keep the edit, update the baseline hash | restore the bundled copy (destructive) |
|
|
63
|
+
| skill present but untracked | adopt it only when byte-identical to the bundle | same |
|
|
64
|
+
| stale manifest entry (skill no longer bundled) | drop the entry | same |
|
|
65
|
+
| stale `skillset` key in state | drop it | same |
|
|
66
|
+
| project folder | **never touched** | **never touched** |
|
|
67
|
+
|
|
68
|
+
`repair` never deletes a skill directory it did not create, never edits the
|
|
69
|
+
plugin dir, and never touches a project.
|
|
70
|
+
|
|
71
|
+
## What `feedback export` produces
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
photon-feedback-YYYYMMDD/
|
|
75
|
+
├── skill-patches.diff # unified diff: bundle → your edited copy (per skill)
|
|
76
|
+
├── EVIDENCE.md # session-log/*.md, mentor-feedback/*.md, audit-report-*.md
|
|
77
|
+
└── manifest.json # changed skills, evidence file names, project path
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Nothing is uploaded, and no issue is filed automatically: a human reviews the
|
|
81
|
+
bundle and opens a PR or an issue. That is the deliberate shape of
|
|
82
|
+
"self-improvement" here — the plugin may improve **with** its users, but the
|
|
83
|
+
plugin directory itself stays read-only (Hermes plugin rule: no self-updating
|
|
84
|
+
code).
|
|
85
|
+
|
|
86
|
+
## Limits worth stating
|
|
87
|
+
|
|
88
|
+
- If the plugin does not load at all, `doctor` cannot run either — the README's
|
|
89
|
+
manual fallback (remove the shim, uninstall, reinstall, enable) is the only
|
|
90
|
+
path, and `doctor` is for "loaded but broken".
|
|
91
|
+
- A local edit still pins that skill to its edited version: upstream fixes arrive
|
|
92
|
+
only after `repair --force` or a manual merge. The doctor warning is the
|
|
93
|
+
signal; `feedback export` is the constructive follow-up.
|
|
94
|
+
- The doctor reads state and disk. It does not inspect Hermes's own logs; use
|
|
95
|
+
`HERMES_PLUGINS_DEBUG=1` for loader problems.
|
|
96
|
+
|
|
97
|
+
## Verification
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
# unit tests: missing / edited / orphan / stale-state / shim / project / export
|
|
101
|
+
python -m pytest tests/test_health.py -q
|
|
102
|
+
|
|
103
|
+
# on a throwaway home
|
|
104
|
+
HERMES_HOME=$(mktemp -d) hermes photon-skills setup --yes --profiles default --no-soul-md
|
|
105
|
+
HERMES_HOME=... hermes photon-skills doctor
|
|
106
|
+
rm -rf "$HERMES_HOME/skills/photon-session"
|
|
107
|
+
HERMES_HOME=... hermes photon-skills doctor; echo "exit=$?" # 1, skill missing
|
|
108
|
+
HERMES_HOME=... hermes photon-skills repair
|
|
109
|
+
```
|
|
@@ -75,8 +75,12 @@ hermes photon-skills extensions install academic-skills
|
|
|
75
75
|
`~/.hermes/skills/`, and `hermes photon-skills setup --yes` keeps them in
|
|
76
76
|
sync.
|
|
77
77
|
|
|
78
|
-
The
|
|
79
|
-
|
|
78
|
+
The original project, `Light0305/Light-skills`, belongs to a third party and is
|
|
79
|
+
unchanged by this repository — it is not ours to archive or edit. Photon is an
|
|
80
|
+
independent derivative: the 23 academic skills were renamed `photon-*` and the
|
|
81
|
+
multi-client install path was removed here, while attribution stays in
|
|
82
|
+
[`LICENSE`](../LICENSE) and the README credits. If upstream ever moves, this page
|
|
83
|
+
is the record of what was derived from it.
|
|
80
84
|
|
|
81
85
|
## Historical note
|
|
82
86
|
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Photon Skills v1.0.0 Release Notes
|
|
2
2
|
|
|
3
|
+
> **Historical note (2026-10).** This release describes the multi-client era
|
|
4
|
+
> (Codex / Claude Code / OpenCode + `bootstrap_agent_skills.py`). Photon is now a
|
|
5
|
+
> Hermes plugin and that install path is retired — see
|
|
6
|
+
> [docs/legacy-multi-client.md](../legacy-multi-client.md) and the README.
|
|
7
|
+
|
|
3
8
|
Release date: 2026-07-05
|
|
4
9
|
|
|
5
10
|
Photon Skills v1.0.0 is the first public release of the rebuilt Photon Skills package: a domain-independent AI workflow skill library for research, competitions, and innovation projects.
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
- `data/synthetic_experiment.csv`:可复现实验数据。
|
|
12
12
|
- `figures/research_figure_gallery.png`:九宫格科研图廊;每个 panel 使用独立合成数据,图面不写工具名。
|
|
13
13
|
- `figures/panels/`:九宫格的 9 个单图 panel,其中一部分由 Python/matplotlib 生成,一部分由 R/ggplot2 生成。
|
|
14
|
-
- `artifacts/
|
|
14
|
+
- `artifacts/photon_e2e_case.md`:把 Photon Skills 的 23 个技能如何接力写成一个端到端案例。
|
|
15
15
|
|
|
16
16
|
## 一键复现
|
|
17
17
|
|
|
@@ -24,7 +24,7 @@ This synthetic study demonstrates a reproducible environmental-chemistry workflo
|
|
|
24
24
|
\textbf{Honesty boundary.} All concentration traces are synthetic and generated by the repository script. The package demonstrates a science-style workflow: data, analysis, figures, references, manuscript, LaTeX source, PDF, and preview.
|
|
25
25
|
|
|
26
26
|
\section{Introduction}
|
|
27
|
-
Semiconductor photocatalysis is a long-running route for light-driven environmental remediation~\cite{fujishima1972,hoffmann1995,pelaez2012}. A realistic computational demonstration should include time-resolved concentration traces, kinetic fitting, design-factor response surfaces, diagnostics, and mechanistic perturbation. This project uses that structure to showcase
|
|
27
|
+
Semiconductor photocatalysis is a long-running route for light-driven environmental remediation~\cite{fujishima1972,hoffmann1995,pelaez2012}. A realistic computational demonstration should include time-resolved concentration traces, kinetic fitting, design-factor response surfaces, diagnostics, and mechanistic perturbation. This project uses that structure to showcase Photon Skills without inventing experimental evidence.
|
|
28
28
|
|
|
29
29
|
\begin{figure}[htbp]
|
|
30
30
|
\centering
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "photon-skills"
|
|
7
|
-
version = "3.0.3.
|
|
7
|
+
version = "3.0.3.dev17"
|
|
8
8
|
description = "Photon — STEAM research, debate, and pitch competition companion for primary/secondary students"
|
|
9
9
|
authors = [
|
|
10
10
|
{ name = "Uniterra Solutions Limited", email = "harryw07801@uniterra-solutions.com" },
|
{photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-citation/SKILL.md
RENAMED
|
@@ -270,12 +270,12 @@ passes and passport records `delivered`.
|
|
|
270
270
|
- [ ] citation gate and stage-10 checkpoint pass.
|
|
271
271
|
- [ ] typesetting consumed the delivered BibTeX/citekeys.
|
|
272
272
|
|
|
273
|
-
## Bundled files / 隨附檔案
|
|
273
|
+
## Bundled files / 隨附檔案 — Manual mode / 手動模式
|
|
274
274
|
|
|
275
|
-
> This build ships this skill's `SKILL.md` and references only
|
|
276
|
-
> helper files below live in the upstream repository, not in the
|
|
277
|
-
> installed plugin (Issue #47 slim build). Run the steps in this
|
|
278
|
-
>
|
|
275
|
+
> This build ships this skill's `SKILL.md` and references only: **manual mode**.
|
|
276
|
+
> The helper files listed below live in the upstream repository, not in the
|
|
277
|
+
> installed plugin (Issue #47 slim build). Run the steps in this document by
|
|
278
|
+
> hand, or clone upstream when you need them:
|
|
279
279
|
|
|
280
280
|
> - `assets/citation_checklist.md`
|
|
281
281
|
> - `scripts/citation_four_gate.py`
|
{photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-consistency/SKILL.md
RENAMED
|
@@ -312,12 +312,12 @@ Round 3.1 再补 `consistency_delta.py`:两次 `light.findings.v1` 直接比
|
|
|
312
312
|
- 事实源模板:[`assets/`](assets/)——`glossary.yaml` / `method_lock.yaml` / `metric_registry.yaml` / `claims_registry.yaml`(复制进项目 `.light/consistency/` 填真实值)
|
|
313
313
|
- 可运行示例:[`examples/`](examples/)——`materials_paper.txt` / `materials_ppt.txt`(论文 vs PPT 指标/术语冲突)
|
|
314
314
|
|
|
315
|
-
## Bundled files / 隨附檔案
|
|
315
|
+
## Bundled files / 隨附檔案 — Manual mode / 手動模式
|
|
316
316
|
|
|
317
|
-
> This build ships this skill's `SKILL.md` and references only
|
|
318
|
-
> helper files below live in the upstream repository, not in the
|
|
319
|
-
> installed plugin (Issue #47 slim build). Run the steps in this
|
|
320
|
-
>
|
|
317
|
+
> This build ships this skill's `SKILL.md` and references only: **manual mode**.
|
|
318
|
+
> The helper files listed below live in the upstream repository, not in the
|
|
319
|
+
> installed plugin (Issue #47 slim build). Run the steps in this document by
|
|
320
|
+
> hand, or clone upstream when you need them:
|
|
321
321
|
|
|
322
322
|
> - `assets/claims_registry.yaml`
|
|
323
323
|
> - `assets/consistency-registry.example.json`
|
|
@@ -306,12 +306,12 @@ GX 哲学的轻量同构,纯 pandas+PyYAML)。
|
|
|
306
306
|
- 地基契约:[`_shared/README.md`](../../_shared/README.md)(`findings_schema` · `gate_runner` · 规范 bootstrap)
|
|
307
307
|
- 上游/下游:[`photon-idea-generation`](../photon-idea-generation/)(stage 3,立项卡"数据可行性必答字段",2⊣3 前置回边)· [`photon-research-orchestrator/scripts/run_checkpoint.py`](../photon-research-orchestrator/scripts/run_checkpoint.py)(stage 2 聚合 critical fail→exit 1)· [`reroute.py`](../photon-research-orchestrator/scripts/reroute.py)(ROUTES[2] 建议 2⊣3)· research-plan(stage 5,派生评测集回边)
|
|
308
308
|
|
|
309
|
-
## Bundled files / 隨附檔案
|
|
309
|
+
## Bundled files / 隨附檔案 — Manual mode / 手動模式
|
|
310
310
|
|
|
311
|
-
> This build ships this skill's `SKILL.md` and references only
|
|
312
|
-
> helper files below live in the upstream repository, not in the
|
|
313
|
-
> installed plugin (Issue #47 slim build). Run the steps in this
|
|
314
|
-
>
|
|
311
|
+
> This build ships this skill's `SKILL.md` and references only: **manual mode**.
|
|
312
|
+
> The helper files listed below live in the upstream repository, not in the
|
|
313
|
+
> installed plugin (Issue #47 slim build). Run the steps in this document by
|
|
314
|
+
> hand, or clone upstream when you need them:
|
|
315
315
|
|
|
316
316
|
> - `assets/data_card_template.md`
|
|
317
317
|
> - `scripts/check_access_level.py`
|
|
@@ -206,12 +206,12 @@ lineage 与 keep/discard。这里的实际增量是:
|
|
|
206
206
|
|
|
207
207
|
诚实落后项:没有 MLflow 式查询 UI、DVC remote、GPU scheduler、仓库语义索引或自主 experiment search;静态门仍有边界。
|
|
208
208
|
|
|
209
|
-
## Bundled files / 隨附檔案
|
|
209
|
+
## Bundled files / 隨附檔案 — Manual mode / 手動模式
|
|
210
210
|
|
|
211
|
-
> This build ships this skill's `SKILL.md` and references only
|
|
212
|
-
> helper files below live in the upstream repository, not in the
|
|
213
|
-
> installed plugin (Issue #47 slim build). Run the steps in this
|
|
214
|
-
>
|
|
211
|
+
> This build ships this skill's `SKILL.md` and references only: **manual mode**.
|
|
212
|
+
> The helper files listed below live in the upstream repository, not in the
|
|
213
|
+
> installed plugin (Issue #47 slim build). Run the steps in this document by
|
|
214
|
+
> hand, or clone upstream when you need them:
|
|
215
215
|
|
|
216
216
|
> - `assets/project-scaffold/.github/workflows/ci.yml`
|
|
217
217
|
> - `assets/project-scaffold/.pre-commit-config.yaml`
|
{photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-figure/SKILL.md
RENAMED
|
@@ -226,12 +226,12 @@ python figure_visual_qa.py --shapes shapes.json # 纯几何;或在绘图脚本
|
|
|
226
226
|
- **竞品诚实重述(Round 2 R1)**:截轴/双轴/render-then-look/出版规格/色盲是**同类共识**(scipilot 530★ 18-pitfall、davila7 28.2K★ 13-pt checklist 都覆盖),**非 Light 独创**;Light 真增量=把同一 catalog 做成**确定性机读 critical 门 + 绑 result-analysis 证据档(`misrepresent_evidence`,10 同类零覆盖) + 9→7 回炉 + 集合预算**——同类全是 prose 规则 + refusal 启发 + 人工 checklist。见 truth_source §0.A/§0.C。
|
|
227
227
|
- **零 MCP/零本地库**:framework 图用 Draw.io(diagram-as-code,CLI 导出)/TikZ 程序化生成,不依赖 MCP;venue 规格在线查/用户给,不内嵌本地期刊库。
|
|
228
228
|
|
|
229
|
-
## Bundled files / 隨附檔案
|
|
229
|
+
## Bundled files / 隨附檔案 — Manual mode / 手動模式
|
|
230
230
|
|
|
231
|
-
> This build ships this skill's `SKILL.md` and references only
|
|
232
|
-
> helper files below live in the upstream repository, not in the
|
|
233
|
-
> installed plugin (Issue #47 slim build). Run the steps in this
|
|
234
|
-
>
|
|
231
|
+
> This build ships this skill's `SKILL.md` and references only: **manual mode**.
|
|
232
|
+
> The helper files listed below live in the upstream repository, not in the
|
|
233
|
+
> installed plugin (Issue #47 slim build). Run the steps in this document by
|
|
234
|
+
> hand, or clone upstream when you need them:
|
|
235
235
|
|
|
236
236
|
> - `assets/nature.mplstyle`
|
|
237
237
|
> - `assets/publication.mplstyle`
|
{photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-file-reading/SKILL.md
RENAMED
|
@@ -320,12 +320,12 @@ Light 的价值**不是会读**,而是把理解落成**有输入画像、有
|
|
|
320
320
|
- 理解状态机示例:[`assets/reading-contract.example.json`](assets/reading-contract.example.json)(故意 fail-closed,展示盲测类缺口)
|
|
321
321
|
- 项目记忆归属:[`../photon-memory-pm/SKILL.md`](../photon-memory-pm/SKILL.md)(理解笔记登记落 `.light/`,本技能不自管台账)
|
|
322
322
|
|
|
323
|
-
## Bundled files / 隨附檔案
|
|
323
|
+
## Bundled files / 隨附檔案 — Manual mode / 手動模式
|
|
324
324
|
|
|
325
|
-
> This build ships this skill's `SKILL.md` and references only
|
|
326
|
-
> helper files below live in the upstream repository, not in the
|
|
327
|
-
> installed plugin (Issue #47 slim build). Run the steps in this
|
|
328
|
-
>
|
|
325
|
+
> This build ships this skill's `SKILL.md` and references only: **manual mode**.
|
|
326
|
+
> The helper files listed below live in the upstream repository, not in the
|
|
327
|
+
> installed plugin (Issue #47 slim build). Run the steps in this document by
|
|
328
|
+
> hand, or clone upstream when you need them:
|
|
329
329
|
|
|
330
330
|
> - `assets/extraction-benchmark.example.json`
|
|
331
331
|
> - `assets/reading-contract.example.json`
|
|
@@ -219,12 +219,12 @@ sha256;对比度报告必须是 `light.visual_qa.v1`,浏览器报告必须
|
|
|
219
219
|
- **零本地库 = 灵感/版本在线查**:但灵感站多图、可能 WebFetch 受限(Mobbin/Dribbble)→ 诚实降级 unavailable,不假装看到了。
|
|
220
220
|
- **非 DAG 节点**:本技能不进科研流水线、不产 findings、不阻断;它是「要做界面时叫一下」的按需工具,别期待它像主线技能那样被总控自动编排。
|
|
221
221
|
|
|
222
|
-
## Bundled files / 隨附檔案
|
|
222
|
+
## Bundled files / 隨附檔案 — Manual mode / 手動模式
|
|
223
223
|
|
|
224
|
-
> This build ships this skill's `SKILL.md` and references only
|
|
225
|
-
> helper files below live in the upstream repository, not in the
|
|
226
|
-
> installed plugin (Issue #47 slim build). Run the steps in this
|
|
227
|
-
>
|
|
224
|
+
> This build ships this skill's `SKILL.md` and references only: **manual mode**.
|
|
225
|
+
> The helper files listed below live in the upstream repository, not in the
|
|
226
|
+
> installed plugin (Issue #47 slim build). Run the steps in this document by
|
|
227
|
+
> hand, or clone upstream when you need them:
|
|
228
228
|
|
|
229
229
|
> - `assets/gsap-horizontal-pan.tsx`
|
|
230
230
|
> - `assets/gsap-sticky-stack.tsx`
|
{photon_skills-3.0.3.dev3 → photon_skills-3.0.3.dev17}/skills-academic/photon-idea-critique/SKILL.md
RENAMED
|
@@ -302,12 +302,12 @@ human/Pareto/fatal/decision evidence 都必须能公开交接,且 human/Pareto
|
|
|
302
302
|
- 地基契约:[`_shared/README.md`](../../_shared/README.md)(`semantic_sim` 撞车复核 · `findings_schema` · `gate_runner` · 规范 bootstrap)
|
|
303
303
|
- 上游/下游:[`photon-idea-generation`](../photon-idea-generation/)(stage 3,出 most_similar+facet 喂本技能,3⇄4 回环)· [`photon-research-orchestrator/scripts/run_checkpoint.py`](../photon-research-orchestrator/scripts/run_checkpoint.py)(stage 4 聚合 critical fail→exit 1)· [`reroute.py`](../photon-research-orchestrator/scripts/reroute.py)(建议回边 4→3)· research-plan(stage 5,通过的 idea 下游)
|
|
304
304
|
|
|
305
|
-
## Bundled files / 隨附檔案
|
|
305
|
+
## Bundled files / 隨附檔案 — Manual mode / 手動模式
|
|
306
306
|
|
|
307
|
-
> This build ships this skill's `SKILL.md` and references only
|
|
308
|
-
> helper files below live in the upstream repository, not in the
|
|
309
|
-
> installed plugin (Issue #47 slim build). Run the steps in this
|
|
310
|
-
>
|
|
307
|
+
> This build ships this skill's `SKILL.md` and references only: **manual mode**.
|
|
308
|
+
> The helper files listed below live in the upstream repository, not in the
|
|
309
|
+
> installed plugin (Issue #47 slim build). Run the steps in this document by
|
|
310
|
+
> hand, or clone upstream when you need them:
|
|
311
311
|
|
|
312
312
|
> - `scripts/calibration.py`
|
|
313
313
|
> - `scripts/critique_self_audit.py`
|