Auto-claude-code-research-in-sleep formula-derivation
Structures and derives research formulas when the user wants to 推导公式, build a theory line, organize assumptions, turn scattered equations into a coherent derivation, or rewrite theory notes into a paper-ready formula document. Use when the derivation target is not yet fully fixed, the main object still needs to be chosen, or the user needs a coherent derivation package rather than a finished theorem proof.
git clone https://github.com/wanshuiyin/Auto-claude-code-research-in-sleep
T=$(mktemp -d) && git clone --depth=1 https://github.com/wanshuiyin/Auto-claude-code-research-in-sleep "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/formula-derivation" ~/.claude/skills/wanshuiyin-auto-claude-code-research-in-sleep-formula-derivation && rm -rf "$T"
skills/formula-derivation/SKILL.mdFormula Derivation: Research Theory Line Construction
Build an honest derivation package, not a fake polished theorem story.
Constants
- DEFAULT_DERIVATION_DOC =
in project rootDERIVATION_PACKAGE.md - STATUS =
COHERENT AS STATED | COHERENT AFTER REFRAMING / EXTRA ASSUMPTION | NOT YET COHERENT
Context: $ARGUMENTS
Goal
Produce exactly one of:
- a coherent derivation package for the original target
- a reframed derivation package with corrected object / assumptions / scope
- a blocker report explaining why the current notes cannot yet support a coherent derivation
Inputs
Extract and normalize:
- the target phenomenon, formula, relation, or theory line
- the intended role of the derivation:
- exact identity / algebra
- proposition / local theorem
- approximation
- mechanism interpretation
- explicit assumptions
- notation and definitions
- any user-provided formula chain, sketch, messy notes, or current draft
- nearby local theory files if the request points to them
- desired output style if specified:
- internal alignment note
- paper-style theory draft
- blocker report
If the target, object, notation, or assumptions are ambiguous, state the exact interpretation you are using before deriving anything.
Workflow
Step 1: Gather Derivation Context
Determine the target derivation file with this priority:
- a file path explicitly specified by the user
- a derivation draft already referenced in local notes
in project root as the default targetDERIVATION_PACKAGE.md
Read the relevant local context:
- the chosen target derivation file, if it already exists
- any local theory notes, formula drafts, appendix notes, or files explicitly mentioned by the user
Extract:
- target formula / theory goal
- current formula chain
- assumptions
- notation
- known blockers
- desired output mode
Step 2: Freeze the Target
State explicitly:
- what is being explained, derived, or supported
- whether the immediate goal is:
- identity / algebra
- proposition
- approximation
- interpretation
- what the derivation is expected to output in the end
Do not start symbolic manipulation before this is fixed.
Step 3: Choose the Invariant Object
Identify the single quantity or conceptual object that should organize the derivation.
Typical possibilities include:
- objective / utility / loss
- total cost / energy / welfare
- conserved quantity / state variable
- expected metric / effective rate / effective cost
If the current notes start from a narrower quantity, decide explicitly whether it is:
- the true top-level object
- a proxy
- a local slice
- an approximation
Do not let a convenient proxy silently replace the actual conceptual object.
Step 4: Normalize Assumptions and Notation
Restate:
- all assumptions
- all symbols
- regime boundaries or special cases
- which quantities are fixed, adaptive, or state dependent
Identify:
- hidden assumptions
- undefined notation
- scope ambiguities
- whether the current formula chain already mixes exact steps with approximations
Preserve the user's original notation unless a cleanup is necessary for coherence. If you adopt a cleaner internal formulation, keep that as a derivation device rather than silently replacing the user's target.
Step 5: Classify the Derivation Steps
For every nontrivial step, determine whether it is:
- identity: exact algebraic reformulation
- proposition: a claim requiring conditions
- approximation: model simplification or surrogate
- interpretation: prose-level meaning of a formula
Never merge these categories without signaling the transition. If one part is only interpretive, do not present it as if it were mathematically proved.
Step 6: Build a Derivation Map
Choose a derivation strategy, for example:
- definition -> substitution -> simplification
- primitive law -> intermediate variable -> target expression
- global quantity -> perturbation -> decomposition
- exact model -> approximation -> interpretable closed form
- general dynamic object -> simplified slice -> local theorem -> return to general case
Then write a derivation map:
- target formula or theory line
- required intermediate identities or lemmas
- which assumptions each nontrivial step uses
- where approximations enter
- where special-case and general-case regimes diverge or collapse
If the derivation needs a decomposition, derive it from the chosen global quantity. Do not make a split appear magically from one local variable itself.
Step 7: Write the Derivation Document
Write to the chosen target derivation file.
If the target derivation file already exists:
- read it first
- update the relevant section
- do not blindly duplicate prior content
If the user does not specify a target, default to
DERIVATION_PACKAGE.md in project root.
Do NOT write directly into paper sections or appendix
.tex files unless the user explicitly asks for that target.
The derivation package must include:
- target
- status
- invariant object
- assumptions
- notation
- derivation strategy
- derivation map
- main derivation steps
- remarks / interpretations
- boundaries and non-claims
Writing rules:
- do not hide gaps with words like "clearly", "obviously", or "similarly"
- define every symbol before use
- mark approximations explicitly
- separate derivation body from remarks
- if the true object is dynamic or state dependent but a simpler slice is analyzed, say so explicitly
- if a formula line is only heuristic, label it honestly
Step 8: Final Verification
Before finishing the target derivation file, verify:
- the target is explicit
- the invariant object is stable across the derivation
- every assumption used is stated
- each formula step is correctly labeled as identity / proposition / approximation / interpretation
- the derivation does not silently switch objects
- special cases and general cases still belong to one theory line
- boundaries and non-claims are stated
If the derivation still lacks a coherent object, stable assumptions, or an honest path from premises to result, downgrade the status and write a blocker report instead of forcing a clean story.
Required File Structure
Write the target derivation file using this structure:
# Derivation Package ## Target [what is being derived or explained] ## Status COHERENT AS STATED / COHERENT AFTER REFRAMING / NOT YET COHERENT ## Invariant Object [top-level quantity organizing the derivation] ## Assumptions - ... ## Notation - ... ## Derivation Strategy [chosen route and why] ## Derivation Map 1. Target depends on ... 2. Intermediate step A uses ... 3. Approximation enters at ... ## Main Derivation Step 1. ... Step 2. ... ... ## Remarks and Interpretation - ... ## Boundaries and Non-Claims - ... ## Open Risks - ...
Output Modes
If the derivation is coherent as stated
Write the full structure above with a clean derivation package.
If the notes are close but not coherent yet
Write:
- the exact mismatch
- the corrected invariant object, assumption, or scope
- the reframed derivation package
If the derivation cannot be made coherent honestly
Write:
Status: NOT YET COHERENT- the exact blocker:
- missing object
- unstable assumptions
- notation conflict
- unsupported approximation
- theorem-level claim without enough conditions
- what extra assumption, reframe, or intermediate derivation would be needed
Relationship to proof-writer
proof-writerUse
formula-derivation when the user says things like:
- “我不知道怎么起这条推导主线”
- “这个公式到底该从哪个量出发”
- “帮我把理论搭顺”
- “把说明文档变成可写进论文的公式文档”
- “这几段公式之间逻辑不通”
Use
proof-writer only after:
- the exact claim is fixed
- the assumptions are stable
- the notation is settled
- and the task is now to prove or refute that claim rigorously
Chat Response
After writing the target derivation file, respond briefly with:
- status
- whether the target survived unchanged or had to be reframed
- what file was updated
Key Rules
- Never fabricate a coherent derivation if the object, assumptions, or scope do not support one.
- Prefer reframing the derivation over overclaiming.
- Separate assumptions, identities, propositions, approximations, and interpretations.
- Keep one invariant object across special and general cases whenever possible.
- Treat simplified constant-parameter cases as analysis slices, not as the conceptual main object.
- If uncertainty remains, mark it explicitly in
; do not hide it in polished prose.Open Risks - Coherence matters more than elegance.