@bohuyeshan/openagent-labforge-core 3.11.2 → 3.11.4
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.
- package/README.ja.md +34 -27
- package/README.ko.md +34 -27
- package/README.md +244 -187
- package/README.ru.md +28 -21
- package/README.zh-cn.md +244 -187
- package/bin/platform.test.ts +21 -20
- package/dist/agents/atlas/default.d.ts +1 -1
- package/dist/agents/atlas/gemini.d.ts +1 -1
- package/dist/agents/atlas/gpt.d.ts +1 -1
- package/dist/agents/bio-methodologist.d.ts +1 -1
- package/dist/agents/bio-pipeline-operator.d.ts +1 -1
- package/dist/agents/builtin-agents/general-agents.d.ts +1 -0
- package/dist/agents/dynamic-agent-prompt-builder.d.ts +2 -0
- package/dist/agents/env-context.d.ts +1 -1
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/metis.d.ts +1 -1
- package/dist/agents/prometheus/gemini.d.ts +1 -1
- package/dist/agents/prometheus/gpt.d.ts +1 -1
- package/dist/agents/prometheus/interview-mode.d.ts +1 -1
- package/dist/agents/prometheus/plan-generation.d.ts +1 -1
- package/dist/agents/prometheus/plan-template.d.ts +1 -1
- package/dist/agents/prometheus/system-prompt.d.ts +1 -1
- package/dist/agents/types.d.ts +1 -1
- package/dist/cli/config-manager/bun-install.d.ts +6 -1
- package/dist/cli/config-manager/plugin-name-with-version.d.ts +1 -1
- package/dist/cli/doctor/constants.d.ts +1 -1
- package/dist/cli/index.js +763 -467
- package/dist/cli/install-validators.d.ts +1 -0
- package/dist/cli/model-fallback-types.d.ts +1 -0
- package/dist/cli/openai-only-model-catalog.d.ts +3 -0
- package/dist/cli/run/index.d.ts +1 -0
- package/dist/cli/run/model-resolver.d.ts +4 -0
- package/dist/cli/run/types.d.ts +1 -0
- package/dist/cli/types.d.ts +3 -0
- package/dist/config/schema/agent-names.d.ts +3 -1
- package/dist/config/schema/background-task.d.ts +2 -0
- package/dist/config/schema/git-env-prefix.d.ts +5 -0
- package/dist/config/schema/git-master.d.ts +1 -0
- package/dist/config/schema/hooks.d.ts +2 -0
- package/dist/config/schema/oh-my-opencode-config.d.ts +54 -1
- package/dist/config/schema.d.ts +1 -0
- package/dist/create-hooks.d.ts +13 -0
- package/dist/features/background-agent/compaction-aware-message-resolver.d.ts +16 -1
- package/dist/features/background-agent/constants.d.ts +1 -1
- package/dist/features/background-agent/manager.d.ts +20 -4
- package/dist/features/background-agent/process-cleanup.d.ts +1 -1
- package/dist/features/background-agent/remove-task-toast-tracking.d.ts +1 -0
- package/dist/features/background-agent/subagent-spawn-limits.d.ts +23 -0
- package/dist/features/background-agent/task-history.d.ts +1 -0
- package/dist/features/background-agent/task-poller.d.ts +1 -0
- package/dist/features/background-agent/types.d.ts +4 -0
- package/dist/features/claude-code-agent-loader/claude-model-mapper.d.ts +4 -0
- package/dist/features/claude-code-agent-loader/loader.d.ts +3 -3
- package/dist/features/claude-code-agent-loader/types.d.ts +8 -1
- package/dist/features/claude-code-plugin-loader/agent-loader.d.ts +2 -2
- package/dist/features/claude-code-plugin-loader/loader.d.ts +2 -2
- package/dist/features/claude-code-plugin-loader/types.d.ts +1 -1
- package/dist/features/opencode-skill-loader/git-master-template-injection.d.ts +1 -1
- package/dist/features/skill-mcp-manager/types.d.ts +4 -0
- package/dist/features/tmux-subagent/index.d.ts +1 -0
- package/dist/features/tmux-subagent/manager.d.ts +5 -0
- package/dist/features/tmux-subagent/pane-state-parser.d.ts +8 -0
- package/dist/features/tmux-subagent/tracked-session-state.d.ts +8 -0
- package/dist/features/tmux-subagent/types.d.ts +2 -0
- package/dist/hooks/atlas/boulder-session-lineage.d.ts +6 -0
- package/dist/hooks/atlas/final-wave-approval-gate.d.ts +4 -0
- package/dist/hooks/atlas/idle-event.d.ts +8 -0
- package/dist/hooks/atlas/resolve-active-boulder-session.d.ts +11 -0
- package/dist/hooks/atlas/tool-execute-after.d.ts +2 -0
- package/dist/hooks/atlas/types.d.ts +2 -0
- package/dist/hooks/atlas/verification-reminders.d.ts +4 -0
- package/dist/hooks/auto-slash-command/hook.d.ts +7 -0
- package/dist/hooks/auto-slash-command/processed-command-store.d.ts +7 -0
- package/dist/hooks/auto-update-checker/checker/sync-package-json.d.ts +7 -0
- package/dist/hooks/auto-update-checker/checker.d.ts +3 -1
- package/dist/hooks/auto-update-checker/constants.d.ts +2 -2
- package/dist/hooks/comment-checker/downloader.d.ts +1 -1
- package/dist/hooks/compaction-context-injector/compaction-context-prompt.d.ts +1 -0
- package/dist/hooks/compaction-context-injector/constants.d.ts +5 -0
- package/dist/hooks/compaction-context-injector/hook.d.ts +5 -1
- package/dist/hooks/compaction-context-injector/recovery-prompt-config.d.ts +6 -0
- package/dist/hooks/compaction-context-injector/recovery.d.ts +6 -0
- package/dist/hooks/compaction-context-injector/session-id.d.ts +2 -0
- package/dist/hooks/compaction-context-injector/session-prompt-config-resolver.d.ts +16 -0
- package/dist/hooks/compaction-context-injector/tail-monitor.d.ts +13 -0
- package/dist/hooks/compaction-context-injector/types.d.ts +43 -0
- package/dist/hooks/compaction-context-injector/validated-model.d.ts +13 -0
- package/dist/hooks/context-window-monitor.d.ts +2 -5
- package/dist/hooks/delegate-task-english-directive/hook.d.ts +14 -0
- package/dist/hooks/delegate-task-english-directive/index.d.ts +1 -0
- package/dist/hooks/gpt-permission-continuation/assistant-message.d.ts +23 -0
- package/dist/hooks/gpt-permission-continuation/constants.d.ts +4 -0
- package/dist/hooks/gpt-permission-continuation/detector.d.ts +1 -0
- package/dist/hooks/gpt-permission-continuation/handler.d.ts +12 -0
- package/dist/hooks/gpt-permission-continuation/index.d.ts +13 -0
- package/dist/hooks/gpt-permission-continuation/session-state.d.ts +15 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/keyword-detector/hook.d.ts +1 -0
- package/dist/hooks/preemptive-compaction.d.ts +2 -5
- package/dist/hooks/ralph-loop/pending-verification-handler.d.ts +16 -0
- package/dist/hooks/runtime-fallback/fallback-bootstrap-model.d.ts +10 -0
- package/dist/hooks/runtime-fallback/fallback-retry-dispatcher.d.ts +11 -0
- package/dist/hooks/runtime-fallback/hook.d.ts +2 -3
- package/dist/hooks/runtime-fallback/last-user-retry-parts.d.ts +4 -0
- package/dist/hooks/runtime-fallback/message-update-handler.d.ts +1 -2
- package/dist/hooks/runtime-fallback/retry-model-payload.d.ts +7 -0
- package/dist/hooks/runtime-fallback/session-messages.d.ts +9 -0
- package/dist/hooks/runtime-fallback/session-status-handler.d.ts +3 -0
- package/dist/hooks/runtime-fallback/types.d.ts +57 -3
- package/dist/hooks/runtime-fallback/visible-assistant-response.d.ts +3 -0
- package/dist/hooks/session-notification-content.d.ts +30 -0
- package/dist/hooks/session-notification-scheduler.d.ts +5 -3
- package/dist/hooks/session-notification.d.ts +2 -0
- package/dist/hooks/start-work/index.d.ts +1 -1
- package/dist/hooks/start-work/worktree-detector.d.ts +7 -0
- package/dist/hooks/todo-continuation-enforcer/constants.d.ts +6 -2
- package/dist/hooks/todo-continuation-enforcer/handler.d.ts +1 -0
- package/dist/hooks/todo-continuation-enforcer/idle-event.d.ts +1 -0
- package/dist/hooks/todo-continuation-enforcer/session-state.d.ts +10 -1
- package/dist/hooks/todo-continuation-enforcer/stagnation-detection.d.ts +6 -0
- package/dist/hooks/todo-continuation-enforcer/types.d.ts +5 -0
- package/dist/hooks/tool-output-truncator.d.ts +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +10638 -7240
- package/dist/openagent-labforge.schema.json +70 -4
- package/dist/plugin/hooks/create-continuation-hooks.d.ts +2 -1
- package/dist/plugin/hooks/create-core-hooks.d.ts +1 -0
- package/dist/plugin/hooks/create-session-hooks.d.ts +2 -1
- package/dist/plugin/normalize-tool-arg-schemas.d.ts +2 -0
- package/dist/plugin/ultrawork-model-override.d.ts +1 -15
- package/dist/plugin/ultrawork-variant-availability.d.ts +6 -0
- package/dist/plugin-dispose.d.ts +10 -0
- package/dist/plugin-handlers/agent-override-protection.d.ts +3 -0
- package/dist/plugin-state.d.ts +5 -0
- package/dist/shared/compaction-agent-config-checkpoint.d.ts +11 -0
- package/dist/shared/context-limit-resolver.d.ts +5 -0
- package/dist/shared/data-path.d.ts +2 -2
- package/dist/shared/dynamic-truncator.d.ts +4 -7
- package/dist/shared/external-plugin-detector.d.ts +1 -1
- package/dist/shared/fallback-chain-from-models.d.ts +3 -0
- package/dist/shared/index.d.ts +3 -0
- package/dist/shared/model-error-classifier.d.ts +2 -1
- package/dist/shared/opencode-command-dirs.d.ts +3 -0
- package/dist/shared/plugin-identity.d.ts +7 -0
- package/dist/shared/question-denied-session-permission.d.ts +6 -0
- package/dist/shared/retry-status-utils.d.ts +2 -0
- package/dist/shared/session-model-state.d.ts +4 -0
- package/dist/shared/system-directive.d.ts +6 -5
- package/dist/shared/vision-capable-models-cache.d.ts +4 -0
- package/dist/tools/call-omo-agent/background-executor.d.ts +2 -1
- package/dist/tools/call-omo-agent/constants.d.ts +1 -1
- package/dist/tools/call-omo-agent/sync-executor.d.ts +11 -3
- package/dist/tools/call-omo-agent/tools.d.ts +2 -1
- package/dist/tools/delegate-task/cancel-unstable-agent-task.d.ts +2 -0
- package/dist/tools/delegate-task/model-selection.d.ts +1 -0
- package/dist/tools/delegate-task/model-string-parser.d.ts +1 -3
- package/dist/tools/look-at/multimodal-fallback-chain.d.ts +4 -0
- package/dist/tools/lsp/constants.d.ts +1 -0
- package/dist/tools/lsp/directory-diagnostics.d.ts +1 -0
- package/dist/tools/lsp/lsp-client-transport.d.ts +4 -2
- package/dist/tools/lsp/lsp-client-wrapper.d.ts +2 -1
- package/dist/tools/lsp/server-path-bases.d.ts +1 -0
- package/generated/skills-bundles/catalog.json +282 -39
- package/generated/skills-bundles/full/INDEX.md +38 -10
- package/generated/skills-bundles/full/skills/data-analysis/experiment-monitoring/auto-claude__monitor-experiment/SKILL.md +63 -0
- package/generated/skills-bundles/full/skills/data-analysis/experiment-ops/auto-claude__run-experiment/SKILL.md +112 -0
- package/generated/skills-bundles/full/skills/data-analysis/optimization/auto-claude__dse-loop/SKILL.md +279 -0
- package/generated/skills-bundles/full/skills/data-analysis/statistics/auto-claude__analyze-results/SKILL.md +47 -0
- package/generated/skills-bundles/full/skills/data-analysis/visualization/auto-claude__paper-figure/SKILL.md +281 -0
- package/generated/skills-bundles/full/skills/productivity/communication/auto-claude__feishu-notify/SKILL.md +154 -0
- package/generated/skills-bundles/full/skills/productivity/visual-design/auto-claude__pixel-art/SKILL.md +138 -0
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-compile/SKILL.md +252 -0
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-plan/SKILL.md +254 -0
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/SKILL.md +310 -0
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/iclr2026.tex +84 -0
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/icml2025.tex +87 -0
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/math_commands.tex +48 -0
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/neurips2025.tex +80 -0
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-writing/SKILL.md +255 -0
- package/generated/skills-bundles/full/skills/research/literature-and-web-search/auto-claude__arxiv/SKILL.md +133 -0
- package/generated/skills-bundles/full/skills/research/literature-and-web-search/auto-claude__novelty-check/SKILL.md +87 -0
- package/generated/skills-bundles/full/skills/research/literature-and-web-search/auto-claude__research-lit/SKILL.md +194 -0
- package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__idea-creator/SKILL.md +228 -0
- package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__idea-discovery/SKILL.md +186 -0
- package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__idea-discovery-robot/SKILL.md +351 -0
- package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__research-pipeline/SKILL.md +174 -0
- package/generated/skills-bundles/full/skills/research/theory-writing/auto-claude__proof-writer/SKILL.md +224 -0
- package/generated/skills-bundles/paper/INDEX.md +40 -0
- package/generated/skills-bundles/paper/skills/data-analysis/experiment-monitoring/auto-claude__monitor-experiment/SKILL.md +63 -0
- package/generated/skills-bundles/paper/skills/data-analysis/experiment-ops/auto-claude__run-experiment/SKILL.md +112 -0
- package/generated/skills-bundles/paper/skills/data-analysis/optimization/auto-claude__dse-loop/SKILL.md +279 -0
- package/generated/skills-bundles/paper/skills/data-analysis/statistics/auto-claude__analyze-results/SKILL.md +47 -0
- package/generated/skills-bundles/paper/skills/data-analysis/visualization/auto-claude__paper-figure/SKILL.md +281 -0
- package/generated/skills-bundles/paper/skills/productivity/communication/auto-claude__feishu-notify/SKILL.md +154 -0
- package/generated/skills-bundles/paper/skills/productivity/visual-design/auto-claude__pixel-art/SKILL.md +138 -0
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-compile/SKILL.md +252 -0
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-plan/SKILL.md +254 -0
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/SKILL.md +310 -0
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/iclr2026.tex +84 -0
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/icml2025.tex +87 -0
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/math_commands.tex +48 -0
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/neurips2025.tex +80 -0
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-writing/SKILL.md +255 -0
- package/generated/skills-bundles/paper/skills/research/literature-and-web-search/auto-claude__arxiv/SKILL.md +133 -0
- package/generated/skills-bundles/paper/skills/research/literature-and-web-search/auto-claude__novelty-check/SKILL.md +87 -0
- package/generated/skills-bundles/paper/skills/research/literature-and-web-search/auto-claude__research-lit/SKILL.md +194 -0
- package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__idea-creator/SKILL.md +228 -0
- package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__idea-discovery/SKILL.md +186 -0
- package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__idea-discovery-robot/SKILL.md +351 -0
- package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__research-pipeline/SKILL.md +174 -0
- package/generated/skills-bundles/paper/skills/research/theory-writing/auto-claude__proof-writer/SKILL.md +224 -0
- package/package.json +21 -21
- package/generated/skills-bundles/full/skills/engineering/virtualization/skills-main__virtualbox/LICENSE.txt +0 -21
- package/generated/skills-bundles/full/skills/engineering/virtualization/skills-main__virtualbox/SKILL.md +0 -615
- package/generated/skills-bundles/full/skills/engineering/virtualization/skills-main__virtualbox/_meta.json +0 -11
- package/generated/skills-bundles/full/skills/engineering/virtualization/skills-main__virtualbox/scripts/virtualbox-utils.ts +0 -586
- package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/.clawhubsafe +0 -0
- package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/LICENSE +0 -21
- package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/README.md +0 -127
- package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/SECURITY.md +0 -68
- package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/SKILL.md +0 -141
- package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/_meta.json +0 -11
- package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/scripts/speak.sh +0 -52
- package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/scripts/transcribe.sh +0 -50
- package/generated/skills-bundles/full/skills/research/media-search/skills-main__youtube-search/LICENSE.txt +0 -21
- package/generated/skills-bundles/full/skills/research/media-search/skills-main__youtube-search/SKILL.md +0 -416
- package/generated/skills-bundles/full/skills/research/media-search/skills-main__youtube-search/_meta.json +0 -11
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "auto-claude/proof-writer"
|
|
3
|
+
description: "Writes rigorous mathematical proofs for ML/AI theory. Use when asked to prove a theorem, lemma, proposition, or corollary, fill in missing proof steps, formalize a proof sketch, 补全证明, 写证明, 证明某个命题, or determine whether a claimed proof can actually be completed under the stated assumptions."
|
|
4
|
+
argument-hint: ["theorem-statement-and-assumptions"]
|
|
5
|
+
allowed-tools: "Read, Write, Edit, Grep, Glob"
|
|
6
|
+
metadata:
|
|
7
|
+
category: "research/theory-writing"
|
|
8
|
+
---
|
|
9
|
+
# Proof Write: Rigorous Theorem / Lemma Drafting
|
|
10
|
+
|
|
11
|
+
Write a mathematically honest proof package, not a polished fake proof.
|
|
12
|
+
|
|
13
|
+
## Constants
|
|
14
|
+
|
|
15
|
+
- DEFAULT_PROOF_DOC = `PROOF_PACKAGE.md` in project root
|
|
16
|
+
- STATUS = `PROVABLE AS STATED | PROVABLE AFTER WEAKENING / EXTRA ASSUMPTION | NOT CURRENTLY JUSTIFIED`
|
|
17
|
+
|
|
18
|
+
## Context: $ARGUMENTS
|
|
19
|
+
|
|
20
|
+
## Goal
|
|
21
|
+
|
|
22
|
+
Produce exactly one of:
|
|
23
|
+
1. a complete proof of the original claim
|
|
24
|
+
2. a corrected claim plus a proof of the corrected claim
|
|
25
|
+
3. a blockage report explaining why the claim is not currently justified
|
|
26
|
+
|
|
27
|
+
## Inputs
|
|
28
|
+
|
|
29
|
+
Extract and normalize:
|
|
30
|
+
- exact theorem / lemma / proposition / corollary statement
|
|
31
|
+
- explicit assumptions
|
|
32
|
+
- notation and definitions
|
|
33
|
+
- any user-provided proof sketch, partial proof, or intended strategy
|
|
34
|
+
- nearby lemmas or claims in local notes, appendix files, or theorem drafts if the request points to them
|
|
35
|
+
- desired output style if specified: concise, appendix-ready, or full-detail
|
|
36
|
+
|
|
37
|
+
If notation or assumptions are ambiguous, state the exact interpretation you are using before proving anything.
|
|
38
|
+
|
|
39
|
+
## Workflow
|
|
40
|
+
|
|
41
|
+
### Step 1: Gather Proof Context
|
|
42
|
+
Determine the target proof file with this priority:
|
|
43
|
+
1. a file path explicitly specified by the user
|
|
44
|
+
2. a proof draft already referenced in local notes or theorem files
|
|
45
|
+
3. `PROOF_PACKAGE.md` in project root as the default target
|
|
46
|
+
|
|
47
|
+
Read the relevant local context:
|
|
48
|
+
- the chosen target proof file, if it already exists
|
|
49
|
+
- theorem notes, appendix drafts, or files explicitly mentioned by the user
|
|
50
|
+
|
|
51
|
+
Extract:
|
|
52
|
+
- exact claim
|
|
53
|
+
- assumptions
|
|
54
|
+
- notation
|
|
55
|
+
- proof sketch or partial proof
|
|
56
|
+
- nearby lemmas that the draft may depend on
|
|
57
|
+
|
|
58
|
+
### Step 2: Normalize the Claim
|
|
59
|
+
Restate:
|
|
60
|
+
- the exact claim being proved
|
|
61
|
+
- all assumptions, separately from conclusions
|
|
62
|
+
- all symbols used in the claim
|
|
63
|
+
|
|
64
|
+
Identify:
|
|
65
|
+
- hidden assumptions
|
|
66
|
+
- undefined notation
|
|
67
|
+
- scope ambiguities
|
|
68
|
+
- whether the available sketch proves the full claim or only a weaker variant
|
|
69
|
+
|
|
70
|
+
Preserve the user's original theorem statement unless a change is explicitly required.
|
|
71
|
+
If you use a stronger normalization or cleaner internal formulation only to make the proof easier, keep that as an internal proof device rather than silently replacing the original claim.
|
|
72
|
+
|
|
73
|
+
### Step 3: Feasibility Triage
|
|
74
|
+
Before writing a proof, classify the claim into exactly one status:
|
|
75
|
+
- `PROVABLE AS STATED`
|
|
76
|
+
- `PROVABLE AFTER WEAKENING / EXTRA ASSUMPTION`
|
|
77
|
+
- `NOT CURRENTLY JUSTIFIED`
|
|
78
|
+
|
|
79
|
+
Check explicitly:
|
|
80
|
+
- does the conclusion actually follow from the listed assumptions?
|
|
81
|
+
- is any cited theorem being used outside its conditions?
|
|
82
|
+
- is the claim stronger than what the available argument supports?
|
|
83
|
+
- is there an obvious counterexample, boundary case, or quantifier failure?
|
|
84
|
+
|
|
85
|
+
If the claim is not provable as stated, do NOT fabricate a proof.
|
|
86
|
+
Do NOT silently strengthen assumptions or narrow the theorem's scope just to make the proof work.
|
|
87
|
+
|
|
88
|
+
### Step 4: Build a Dependency Map
|
|
89
|
+
Choose a proof strategy, for example:
|
|
90
|
+
- direct
|
|
91
|
+
- contradiction
|
|
92
|
+
- induction
|
|
93
|
+
- construction
|
|
94
|
+
- reduction to a known result
|
|
95
|
+
- coupling / probabilistic argument
|
|
96
|
+
- optimization inequality chaining
|
|
97
|
+
|
|
98
|
+
Then write a dependency map:
|
|
99
|
+
- main claim
|
|
100
|
+
- required intermediate lemmas
|
|
101
|
+
- named theorems or inequalities that will be cited
|
|
102
|
+
- which assumptions each nontrivial step depends on
|
|
103
|
+
- boundary cases that must be handled separately
|
|
104
|
+
|
|
105
|
+
If one step is substantial, isolate it as a lemma instead of burying it in one sentence.
|
|
106
|
+
|
|
107
|
+
### Step 5: Write the Proof Document
|
|
108
|
+
Write to the chosen target proof file.
|
|
109
|
+
|
|
110
|
+
If the target proof file already exists:
|
|
111
|
+
- read it first
|
|
112
|
+
- update the relevant claim section
|
|
113
|
+
- do not blindly duplicate prior content
|
|
114
|
+
|
|
115
|
+
If the user does not specify a target, default to `PROOF_PACKAGE.md` in project root.
|
|
116
|
+
|
|
117
|
+
Do NOT write directly into paper sections or appendix `.tex` files unless the user explicitly asks for that target.
|
|
118
|
+
|
|
119
|
+
The proof package must include:
|
|
120
|
+
- exact claim
|
|
121
|
+
- explicit assumptions
|
|
122
|
+
- proof status
|
|
123
|
+
- announced strategy
|
|
124
|
+
- dependency map
|
|
125
|
+
- numbered major steps
|
|
126
|
+
- justification for every nontrivial implication
|
|
127
|
+
|
|
128
|
+
Mathematical rigor requirements:
|
|
129
|
+
- never use "clearly", "obviously", "it can be shown", "by standard arguments", or "similarly" to hide a gap
|
|
130
|
+
- define every constant and symbol before use
|
|
131
|
+
- check quantifier order carefully
|
|
132
|
+
- handle degenerate and boundary cases explicitly, or state why they are excluded
|
|
133
|
+
- if invoking a standard fact, state its name and why its assumptions are satisfied here
|
|
134
|
+
- use `$...$` for inline math and `$$...$$` for display equations
|
|
135
|
+
- never write math in plain text
|
|
136
|
+
- if the proof uses an equivalent normalization that is stronger in appearance than the user's original theorem statement, label it explicitly as a proof device and keep the original claim separate
|
|
137
|
+
|
|
138
|
+
### Step 6: Final Verification
|
|
139
|
+
Before finishing the target proof file, verify:
|
|
140
|
+
- the theorem statement exactly matches what was actually shown
|
|
141
|
+
- every assumption used is stated
|
|
142
|
+
- every nontrivial implication is justified
|
|
143
|
+
- every inequality direction is correct
|
|
144
|
+
- every cited result is applicable under the stated assumptions
|
|
145
|
+
- edge cases are handled or explicitly excluded
|
|
146
|
+
- no hidden dependence on an unproved lemma remains
|
|
147
|
+
|
|
148
|
+
If a key step still cannot be justified, downgrade the status and write a blockage report instead of forcing a proof.
|
|
149
|
+
|
|
150
|
+
## Required File Structure
|
|
151
|
+
|
|
152
|
+
Write the target proof file using this structure:
|
|
153
|
+
|
|
154
|
+
```md
|
|
155
|
+
# Proof Package
|
|
156
|
+
|
|
157
|
+
## Claim
|
|
158
|
+
[exact statement]
|
|
159
|
+
|
|
160
|
+
## Status
|
|
161
|
+
PROVABLE AS STATED / PROVABLE AFTER WEAKENING / NOT CURRENTLY JUSTIFIED
|
|
162
|
+
|
|
163
|
+
## Assumptions
|
|
164
|
+
- ...
|
|
165
|
+
|
|
166
|
+
## Notation
|
|
167
|
+
- ...
|
|
168
|
+
|
|
169
|
+
## Proof Strategy
|
|
170
|
+
[chosen approach and why]
|
|
171
|
+
|
|
172
|
+
## Dependency Map
|
|
173
|
+
1. Main claim depends on ...
|
|
174
|
+
2. Lemma A depends on ...
|
|
175
|
+
3. Step k uses ...
|
|
176
|
+
|
|
177
|
+
## Proof
|
|
178
|
+
Step 1. ...
|
|
179
|
+
Step 2. ...
|
|
180
|
+
...
|
|
181
|
+
Therefore the claim follows. ∎
|
|
182
|
+
|
|
183
|
+
## Corrections or Missing Assumptions
|
|
184
|
+
- [only if needed]
|
|
185
|
+
|
|
186
|
+
## Open Risks
|
|
187
|
+
- [remaining fragile points, if any]
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## Output Modes
|
|
191
|
+
|
|
192
|
+
### If the claim is provable as stated
|
|
193
|
+
Write the full file structure above with a complete proof.
|
|
194
|
+
|
|
195
|
+
### If the original claim is too strong
|
|
196
|
+
Write:
|
|
197
|
+
- why the original statement is not justified
|
|
198
|
+
- the corrected claim
|
|
199
|
+
- the minimal extra assumption if one exists
|
|
200
|
+
- a proof of the corrected claim
|
|
201
|
+
|
|
202
|
+
### If the proof cannot be completed honestly
|
|
203
|
+
Write:
|
|
204
|
+
- `Status: NOT CURRENTLY JUSTIFIED`
|
|
205
|
+
- the exact blocker: missing lemma, invalid implication, hidden assumption, or counterexample direction
|
|
206
|
+
- what extra assumption, lemma, or derivation would be needed to finish the proof
|
|
207
|
+
- a corrected weaker statement if one is available
|
|
208
|
+
|
|
209
|
+
## Chat Response
|
|
210
|
+
|
|
211
|
+
After writing the target proof file, respond briefly with:
|
|
212
|
+
- status
|
|
213
|
+
- whether the original claim survived unchanged
|
|
214
|
+
- what file was updated
|
|
215
|
+
|
|
216
|
+
## Key Rules
|
|
217
|
+
|
|
218
|
+
- Never fabricate a missing proof step.
|
|
219
|
+
- Prefer weakening the claim over overclaiming.
|
|
220
|
+
- Separate assumptions, derived facts, heuristics, and conjectures.
|
|
221
|
+
- Preserve the user's original theorem statement unless you explicitly mark a corrected claim or an internal normalization.
|
|
222
|
+
- If the statement is false as written, say so explicitly and give a counterexample or repaired statement.
|
|
223
|
+
- If uncertainty remains, mark it explicitly in `Open Risks`; do not hide it inside polished prose.
|
|
224
|
+
- Correctness matters more than brevity.
|
|
@@ -2,12 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
This file is generated. Skills are grouped by function for low-token preview before reading full instructions.
|
|
4
4
|
|
|
5
|
+
## data-analysis / experiment-monitoring
|
|
6
|
+
|
|
7
|
+
- `auto-claude/monitor-experiment` [auto-claude__monitor-experiment] — Monitor running experiments, check progress, collect results. Use when user says "check results", "is it done", "monitor", or wants experiment output. _(source: auto-claude)_
|
|
8
|
+
|
|
9
|
+
## data-analysis / experiment-ops
|
|
10
|
+
|
|
11
|
+
- `auto-claude/run-experiment` [auto-claude__run-experiment] — Deploy and run ML experiments on local or remote GPU servers. Use when user says "run experiment", "deploy to server", "跑实验", or needs to launch training jobs. _(source: auto-claude)_
|
|
12
|
+
|
|
5
13
|
## data-analysis / notebooks
|
|
6
14
|
|
|
7
15
|
- `openai-curated/jupyter-notebook` [openai-curated__jupyter-notebook] — Use when the user asks to create, scaffold, or edit Jupyter notebooks (`.ipynb`) for experiments, explorations, or tutorials; prefer the bundled templates and run the helper script `new_notebook.py` to generate a clean starting notebook. _(source: openai-curated)_
|
|
8
16
|
|
|
17
|
+
## data-analysis / optimization
|
|
18
|
+
|
|
19
|
+
- `auto-claude/dse-loop` [auto-claude__dse-loop] — Autonomous design space exploration loop for computer architecture and EDA. Runs a program, analyzes results, tunes parameters, and iterates until objective is met or timeout. Use when user says \"DSE\", \"design space exploration\", \"sweep parameters\", \"optimize\", \"find best config\", or wants iterative parameter tuning. _(source: auto-claude)_
|
|
20
|
+
|
|
9
21
|
## data-analysis / statistics
|
|
10
22
|
|
|
23
|
+
- `auto-claude/analyze-results` [auto-claude__analyze-results] — Analyze ML experiment results, compute statistics, generate comparison tables and insights. Use when user says "analyze results", "compare", or needs to interpret experimental data. _(source: auto-claude)_
|
|
11
24
|
- `data-analysis` [builtin__data-analysis__data-analysis] — Statistical analysis workflow with reproducible outputs. _(source: builtin:data-analysis)_
|
|
12
25
|
|
|
13
26
|
## data-analysis / tabular-analysis
|
|
@@ -15,6 +28,10 @@ This file is generated. Skills are grouped by function for low-token preview bef
|
|
|
15
28
|
- `openai-curated/spreadsheet` [openai-curated__spreadsheet] — Use when tasks involve creating, editing, analyzing, or formatting spreadsheets (`.xlsx`, `.csv`, `.tsv`) with formula-aware workflows, cached recalculation, and visual review. _(source: openai-curated)_
|
|
16
29
|
- `xlsx-analyst` [builtin__xlsx-analyst__xlsx-analyst] — Analyze and format XLSX files with reproducible calculations. _(source: builtin:xlsx-analyst)_
|
|
17
30
|
|
|
31
|
+
## data-analysis / visualization
|
|
32
|
+
|
|
33
|
+
- `auto-claude/paper-figure` [auto-claude__paper-figure] — Generate publication-quality figures and tables from experiment results. Use when user says \"画图\", \"作图\", \"generate figures\", \"paper figures\", or needs plots for a paper. _(source: auto-claude)_
|
|
34
|
+
|
|
18
35
|
## engineering / app-integration
|
|
19
36
|
|
|
20
37
|
- `openai-curated/chatgpt-apps` [openai-curated__chatgpt-apps] — Build, scaffold, refactor, and troubleshoot ChatGPT Apps SDK applications that combine an MCP server and widget UI. Use when Codex needs to design tools, register UI resources, wire the MCP Apps bridge or ChatGPT compatibility APIs, apply Apps SDK metadata or CSP or domain settings, or produce a docs-aligned project scaffold. Prefer a docs-first workflow by invoking the openai-docs skill or OpenAI developer docs MCP tools before generating code. _(source: openai-curated)_
|
|
@@ -85,12 +102,17 @@ This file is generated. Skills are grouped by function for low-token preview bef
|
|
|
85
102
|
## productivity / communication
|
|
86
103
|
|
|
87
104
|
- `anthropic/internal-comms` [anthropic__internal-comms] — A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.). _(source: anthropic)_
|
|
105
|
+
- `auto-claude/feishu-notify` [auto-claude__feishu-notify] — Send notifications to Feishu/Lark. Internal utility used by other skills, or manually via /feishu-notify. Supports push-only (webhook) and interactive (bidirectional) modes. Use when user says \"发飞书\", \"notify feishu\", or other skills need to send status updates. _(source: auto-claude)_
|
|
88
106
|
|
|
89
107
|
## productivity / issue-tracking
|
|
90
108
|
|
|
91
109
|
- `microsoft/github-issue-creator` [microsoft__github-issue-creator] — Convert raw notes, error logs, voice dictation, or screenshots into crisp GitHub-flavored markdown issue reports. Use when the user pastes bug info, error messages, or informal descriptions and wants a structured GitHub issue. Supports images/GIFs for visual evidence. _(source: microsoft)_
|
|
92
110
|
- `openai-curated/linear` [openai-curated__linear] — Manage issues, projects & team workflows in Linear. Use when the user wants to read, create or updates tickets in Linear. _(source: openai-curated)_
|
|
93
111
|
|
|
112
|
+
## productivity / visual-design
|
|
113
|
+
|
|
114
|
+
- `auto-claude/pixel-art` [auto-claude__pixel-art] — Generate pixel art SVG illustrations for READMEs, docs, or slides. Use when user says "画像素图", "pixel art", "make an SVG illustration", "README hero image", or wants a cute visual. _(source: auto-claude)_
|
|
115
|
+
|
|
94
116
|
## research / api-documentation
|
|
95
117
|
|
|
96
118
|
- `openai-curated/openai-docs` [openai-curated__openai-docs] — Use when the user asks how to build with OpenAI products or APIs and needs up-to-date official documentation with citations, help choosing the latest model for a use case, or explicit GPT-5.4 upgrade and prompt-upgrade guidance; prioritize OpenAI docs MCP tools, use bundled references only as helper context, and restrict any fallback browsing to official OpenAI domains. _(source: openai-curated)_
|
|
@@ -98,6 +120,10 @@ This file is generated. Skills are grouped by function for low-token preview bef
|
|
|
98
120
|
|
|
99
121
|
## research / document-authoring
|
|
100
122
|
|
|
123
|
+
- `auto-claude/paper-compile` [auto-claude__paper-compile] — Compile LaTeX paper to PDF, fix errors, and verify output. Use when user says \"编译论文\", \"compile paper\", \"build PDF\", \"生成PDF\", or wants to compile LaTeX into a submission-ready PDF. _(source: auto-claude)_
|
|
124
|
+
- `auto-claude/paper-plan` [auto-claude__paper-plan] — Generate a structured paper outline from review conclusions and experiment results. Use when user says \"写大纲\", \"paper outline\", \"plan the paper\", \"论文规划\", or wants to create a paper plan before writing. _(source: auto-claude)_
|
|
125
|
+
- `auto-claude/paper-write` [auto-claude__paper-write] — Draft LaTeX paper section by section from an outline. Use when user says \"写论文\", \"write paper\", \"draft LaTeX\", \"开始写\", or wants to generate LaTeX content from a paper plan. _(source: auto-claude)_
|
|
126
|
+
- `auto-claude/paper-writing` [auto-claude__paper-writing] — Workflow 3: Full paper writing pipeline. Orchestrates paper-plan → paper-figure → paper-write → paper-compile → ULTRAWORK QA to go from a narrative report to a polished, submission-ready PDF. Use when user says \"写论文全流程\", \"write paper pipeline\", \"从报告到PDF\", \"paper writing\", or wants the complete paper generation workflow. _(source: auto-claude)_
|
|
101
127
|
- `docx-workbench` [builtin__docx-workbench__docx-workbench] — Create, edit, and review DOCX documents with reproducible formatting. _(source: builtin:docx-workbench)_
|
|
102
128
|
- `openai-curated/doc` [openai-curated__doc] — Use when the task involves reading, creating, or editing `.docx` documents, especially when formatting or layout fidelity matters; prefer `python-docx` plus the bundled `scripts/render_docx.py` for visual checks. _(source: openai-curated)_
|
|
103
129
|
- `openai-curated/pdf` [openai-curated__pdf] — Use when tasks involve reading, creating, or reviewing PDF files where rendering and layout matter; prefer visual checks by rendering pages (Poppler) and use Python tools such as `reportlab`, `pdfplumber`, and `pypdf` for generation and extraction. _(source: openai-curated)_
|
|
@@ -105,6 +131,9 @@ This file is generated. Skills are grouped by function for low-token preview bef
|
|
|
105
131
|
|
|
106
132
|
## research / literature-and-web-search
|
|
107
133
|
|
|
134
|
+
- `auto-claude/arxiv` [auto-claude__arxiv] — Search, download, and summarize academic papers from arXiv using MCP tools. Use when user says "search arxiv", "download paper", "fetch arxiv", "arxiv search", "get paper pdf", or wants to find and save papers from arXiv to the local paper library. _(source: auto-claude)_
|
|
135
|
+
- `auto-claude/novelty-check` [auto-claude__novelty-check] — Verify research idea novelty against recent literature. Use when user says "查新", "novelty check", "有没有人做过", "check novelty", or wants to verify a research idea is novel before implementing. _(source: auto-claude)_
|
|
136
|
+
- `auto-claude/research-lit` [auto-claude__research-lit] — Search and analyze research papers, find related work, summarize key ideas. Use when user says "find papers", "related work", "literature review", "what does this paper say", or needs to understand academic papers. _(source: auto-claude)_
|
|
108
137
|
- `web-research` [builtin__web-research__web-research] — Structured web research and source triage with citations. _(source: builtin:web-research)_
|
|
109
138
|
|
|
110
139
|
## research / media-transcription
|
|
@@ -115,3 +144,14 @@ This file is generated. Skills are grouped by function for low-token preview bef
|
|
|
115
144
|
|
|
116
145
|
- `openai-curated/slides` [openai-curated__slides] — Create and edit presentation slide decks (`.pptx`) with PptxGenJS, bundled layout helpers, and render/validation utilities. Use when tasks involve building a new PowerPoint deck, recreating slides from screenshots/PDFs/reference decks, modifying slide content while preserving editable output, adding charts/diagrams/visuals, or diagnosing layout issues such as overflow, overlaps, and font substitution. _(source: openai-curated)_
|
|
117
146
|
- `pptx-studio` [builtin__pptx-studio__pptx-studio] — Generate and edit PPTX decks with structured layouts. _(source: builtin:pptx-studio)_
|
|
147
|
+
|
|
148
|
+
## research / research-ideation
|
|
149
|
+
|
|
150
|
+
- `auto-claude/idea-creator` [auto-claude__idea-creator] — Generate and rank research ideas given a broad direction. Use when user says "找idea", "brainstorm ideas", "generate research ideas", "what can we work on", or wants to explore a research area for publishable directions. _(source: auto-claude)_
|
|
151
|
+
- `auto-claude/idea-discovery` [auto-claude__idea-discovery] — Workflow 1: Full idea discovery pipeline. Orchestrates research-lit → idea-creator → novelty-check to go from a broad research direction to validated, pilot-tested ideas. Use when user says \"找idea全流程\", \"idea discovery pipeline\", \"从零开始找方向\", or wants the complete idea exploration workflow. _(source: auto-claude)_
|
|
152
|
+
- `auto-claude/idea-discovery-robot` [auto-claude__idea-discovery-robot] — Workflow 1 adaptation for robotics and embodied AI. Orchestrates robotics-aware literature survey, idea generation, novelty check, and internal critique to go from a broad robotics direction to benchmark-grounded, simulation-first ideas. Use when user says \"robotics idea discovery\", \"机器人找idea\", \"embodied AI idea\", \"机器人方向探索\", \"sim2real 选题\", or wants ideas for manipulation, locomotion, navigation, drones, humanoids, or general robot learning. _(source: auto-claude)_
|
|
153
|
+
- `auto-claude/research-pipeline` [auto-claude__research-pipeline] — Full research pipeline: Workflow 1 (idea discovery) → implementation → Workflow 2 (ULTRAWORK loop). Goes from a broad research direction all the way to a submission-ready paper. Use when user says \"全流程\", \"full pipeline\", \"从找idea到投稿\", \"end-to-end research\", or wants the complete autonomous research lifecycle. _(source: auto-claude)_
|
|
154
|
+
|
|
155
|
+
## research / theory-writing
|
|
156
|
+
|
|
157
|
+
- `auto-claude/proof-writer` [auto-claude__proof-writer] — Writes rigorous mathematical proofs for ML/AI theory. Use when asked to prove a theorem, lemma, proposition, or corollary, fill in missing proof steps, formalize a proof sketch, 补全证明, 写证明, 证明某个命题, or determine whether a claimed proof can actually be completed under the stated assumptions. _(source: auto-claude)_
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "auto-claude/monitor-experiment"
|
|
3
|
+
description: "Monitor running experiments, check progress, collect results. Use when user says \"check results\", \"is it done\", \"monitor\", or wants experiment output."
|
|
4
|
+
argument-hint: ["server-alias or screen-name"]
|
|
5
|
+
allowed-tools: "Bash(ssh *), Bash(echo *), Read, Write, Edit"
|
|
6
|
+
metadata:
|
|
7
|
+
category: "data-analysis/experiment-monitoring"
|
|
8
|
+
---
|
|
9
|
+
# Monitor Experiment Results
|
|
10
|
+
|
|
11
|
+
Monitor: $ARGUMENTS
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
### Step 1: Check What's Running
|
|
16
|
+
```bash
|
|
17
|
+
ssh <server> "screen -ls"
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### Step 2: Collect Output from Each Screen
|
|
21
|
+
For each screen session, capture the last N lines:
|
|
22
|
+
```bash
|
|
23
|
+
ssh <server> "screen -S <name> -X hardcopy /tmp/screen_<name>.txt && tail -50 /tmp/screen_<name>.txt"
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
If hardcopy fails, check for log files or tee output.
|
|
27
|
+
|
|
28
|
+
### Step 3: Check for JSON Result Files
|
|
29
|
+
```bash
|
|
30
|
+
ssh <server> "ls -lt <results_dir>/*.json 2>/dev/null | head -20"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
If JSON results exist, fetch and parse them:
|
|
34
|
+
```bash
|
|
35
|
+
ssh <server> "cat <results_dir>/<latest>.json"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Step 4: Summarize Results
|
|
39
|
+
|
|
40
|
+
Present results in a comparison table:
|
|
41
|
+
```
|
|
42
|
+
| Experiment | Metric | Delta vs Baseline | Status |
|
|
43
|
+
|-----------|--------|-------------------|--------|
|
|
44
|
+
| Baseline | X.XX | — | done |
|
|
45
|
+
| Method A | X.XX | +Y.Y | done |
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Step 5: Interpret
|
|
49
|
+
- Compare against known baselines
|
|
50
|
+
- Flag unexpected results (negative delta, NaN, divergence)
|
|
51
|
+
- Suggest next steps based on findings
|
|
52
|
+
|
|
53
|
+
### Step 6: Feishu Notification (if configured)
|
|
54
|
+
|
|
55
|
+
After results are collected, check `~/.claude/feishu.json`:
|
|
56
|
+
- Send `experiment_done` notification: results summary table, delta vs baseline
|
|
57
|
+
- If config absent or mode `"off"`: skip entirely (no-op)
|
|
58
|
+
|
|
59
|
+
## Key Rules
|
|
60
|
+
- Always show raw numbers before interpretation
|
|
61
|
+
- Compare against the correct baseline (same config)
|
|
62
|
+
- Note if experiments are still running (check progress bars, iteration counts)
|
|
63
|
+
- If results look wrong, check training logs for errors before concluding
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "auto-claude/run-experiment"
|
|
3
|
+
description: "Deploy and run ML experiments on local or remote GPU servers. Use when user says \"run experiment\", \"deploy to server\", \"跑实验\", or needs to launch training jobs."
|
|
4
|
+
argument-hint: ["experiment-description"]
|
|
5
|
+
allowed-tools: "Bash(*), Read, Grep, Glob, Edit, Write, Agent"
|
|
6
|
+
metadata:
|
|
7
|
+
category: "data-analysis/experiment-ops"
|
|
8
|
+
---
|
|
9
|
+
# Run Experiment
|
|
10
|
+
|
|
11
|
+
Deploy and run ML experiment: $ARGUMENTS
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
### Step 1: Detect Environment
|
|
16
|
+
|
|
17
|
+
Read the project's `CLAUDE.md` to determine the experiment environment:
|
|
18
|
+
|
|
19
|
+
- **Local GPU**: Look for local CUDA/MPS setup info
|
|
20
|
+
- **Remote server**: Look for SSH alias, conda env, code directory
|
|
21
|
+
|
|
22
|
+
If no server info is found in `CLAUDE.md`, ask the user.
|
|
23
|
+
|
|
24
|
+
### Step 2: Pre-flight Check
|
|
25
|
+
|
|
26
|
+
Check GPU availability on the target machine:
|
|
27
|
+
|
|
28
|
+
**Remote:**
|
|
29
|
+
```bash
|
|
30
|
+
ssh <server> nvidia-smi --query-gpu=index,memory.used,memory.total --format=csv,noheader
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Local:**
|
|
34
|
+
```bash
|
|
35
|
+
nvidia-smi --query-gpu=index,memory.used,memory.total --format=csv,noheader
|
|
36
|
+
# or for Mac MPS:
|
|
37
|
+
python -c "import torch; print('MPS available:', torch.backends.mps.is_available())"
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Free GPU = memory.used < 500 MiB.
|
|
41
|
+
|
|
42
|
+
### Step 3: Sync Code (Remote Only)
|
|
43
|
+
|
|
44
|
+
Only sync necessary files — NOT data, checkpoints, or large files:
|
|
45
|
+
```bash
|
|
46
|
+
rsync -avz --include='*.py' --exclude='*' <local_src>/ <server>:<remote_dst>/
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Step 4: Deploy
|
|
50
|
+
|
|
51
|
+
#### Remote (via SSH + screen)
|
|
52
|
+
|
|
53
|
+
For each experiment, create a dedicated screen session with GPU binding:
|
|
54
|
+
```bash
|
|
55
|
+
ssh <server> "screen -dmS <exp_name> bash -c '\
|
|
56
|
+
eval \"\$(<conda_path>/conda shell.bash hook)\" && \
|
|
57
|
+
conda activate <env> && \
|
|
58
|
+
CUDA_VISIBLE_DEVICES=<gpu_id> python <script> <args> 2>&1 | tee <log_file>'"
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
#### Local
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# Linux with CUDA
|
|
65
|
+
CUDA_VISIBLE_DEVICES=<gpu_id> python <script> <args> 2>&1 | tee <log_file>
|
|
66
|
+
|
|
67
|
+
# Mac with MPS (PyTorch uses MPS automatically)
|
|
68
|
+
python <script> <args> 2>&1 | tee <log_file>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
For local long-running jobs, use `run_in_background: true` to keep the conversation responsive.
|
|
72
|
+
|
|
73
|
+
### Step 5: Verify Launch
|
|
74
|
+
|
|
75
|
+
**Remote:**
|
|
76
|
+
```bash
|
|
77
|
+
ssh <server> "screen -ls"
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**Local:**
|
|
81
|
+
Check process is running and GPU is allocated.
|
|
82
|
+
|
|
83
|
+
### Step 6: Feishu Notification (if configured)
|
|
84
|
+
|
|
85
|
+
After deployment is verified, check `~/.claude/feishu.json`:
|
|
86
|
+
- Send `experiment_done` notification: which experiments launched, which GPUs, estimated time
|
|
87
|
+
- If config absent or mode `"off"`: skip entirely (no-op)
|
|
88
|
+
|
|
89
|
+
## Key Rules
|
|
90
|
+
|
|
91
|
+
- ALWAYS check GPU availability first — never blindly assign GPUs
|
|
92
|
+
- Each experiment gets its own screen session + GPU (remote) or background process (local)
|
|
93
|
+
- Use `tee` to save logs for later inspection
|
|
94
|
+
- Run deployment commands with `run_in_background: true` to keep conversation responsive
|
|
95
|
+
- Report back: which GPU, which screen/process, what command, estimated time
|
|
96
|
+
- If multiple experiments, launch them in parallel on different GPUs
|
|
97
|
+
|
|
98
|
+
## CLAUDE.md Example
|
|
99
|
+
|
|
100
|
+
Users should add their server info to their project's `CLAUDE.md`:
|
|
101
|
+
|
|
102
|
+
```markdown
|
|
103
|
+
## Remote Server
|
|
104
|
+
- SSH: `ssh my-gpu-server`
|
|
105
|
+
- GPU: 4x A100 (80GB each)
|
|
106
|
+
- Conda: `eval "$(/opt/conda/bin/conda shell.bash hook)" && conda activate research`
|
|
107
|
+
- Code dir: `/home/user/experiments/`
|
|
108
|
+
|
|
109
|
+
## Local Environment
|
|
110
|
+
- Mac MPS / Linux CUDA
|
|
111
|
+
- Conda env: `ml` (Python 3.10 + PyTorch)
|
|
112
|
+
```
|