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.

install
source · Clone the upstream repo
git clone https://github.com/wanshuiyin/Auto-claude-code-research-in-sleep
Claude Code · Install into ~/.claude/skills/
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"
manifest: skills/formula-derivation/SKILL.md
source content

Formula Derivation: Research Theory Line Construction

Build an honest derivation package, not a fake polished theorem story.

Constants

  • DEFAULT_DERIVATION_DOC =
    DERIVATION_PACKAGE.md
    in project root
  • STATUS =
    COHERENT AS STATED | COHERENT AFTER REFRAMING / EXTRA ASSUMPTION | NOT YET COHERENT

Context: $ARGUMENTS

Goal

Produce exactly one of:

  1. a coherent derivation package for the original target
  2. a reframed derivation package with corrected object / assumptions / scope
  3. 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:

  1. a file path explicitly specified by the user
  2. a derivation draft already referenced in local notes
  3. DERIVATION_PACKAGE.md
    in project root as the default target

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

Use

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
    Open Risks
    ; do not hide it in polished prose.
  • Coherence matters more than elegance.