mcpField
A
algorithm-design

algorithm-design

github.com/lingzhi227Development4401.7k installsUpdated 35w ago
Repository

About algorithm-design

algorithm-design is a skill for turning method descriptions or implementations into algorithm pseudocode and UML diagrams. It guides researchers and developers through formalization and consistency checks against code.

Key features

  1. 01Define algorithm inputs, outputs, and parameters
  2. 02Write numbered pseudocode in LaTeX
  3. 03Generate Mermaid class and sequence diagrams
  4. 04Check diagrams and notation against implementation
  5. 05Include complexity analysis

Use cases

  1. 01Formalize a method for a research paper
  2. 02Document code structure with UML diagrams
  3. 03Check that pseudocode matches implementation

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/lingzhi227/agent-research-skills --skill algorithm-design

After installing, type/algorithm-designin Claude Code to confirm it loaded.

Bundled filesreferences/algorithm-templates.md

Details

From the project README

Algorithm Design

Formalize methods into algorithm pseudocode and system architecture diagrams.

Input

  • $0 — Method description or implementation to formalize

References

  • Algorithm and diagram templates: ~/.claude/skills/algorithm-design/references/algorithm-templates.md

Workflow

Step 1: Formalize the Algorithm
  1. Define clear inputs and outputs
  2. Identify the main loop / recursive structure
  3. Specify all parameters and their types
  4. Write step-by-step pseudocode
Step 2: Generate LaTeX Pseudocode

Use algorithm + algpseudocode environments:

\begin{algorithm}[t]
\caption{Method Name}
\label{alg:method}
\begin{algorithmic}[1]
\Require Input $x$, parameters $\theta$
\Ensure Output $y$
\State Initialize ...
\For{$t = 1$ to $T$}
    \State $z_t \gets f(x_t; \theta)$
    \If{convergence criterion met}
        \State \textbf{break}
    \EndIf
\EndFor
\State \Return $y$
\end{algorithmic}
\end{algorithm}
Step 3: Generate UML Diagrams (Mermaid)
Class Diagram
classDiagram
    class Model {
        +forward(x: Tensor) Tensor
        +train_step(batch) float
    }
Sequence Diagram
sequenceDiagram
    participant M as Main
    participant D as DataLoader
    M->>D: load_data()
    D-->>M: batches
Step 4: Verify Consistency
  • Every pseudocode step must map to a code module
  • Every class in the UML must exist in the implementation
  • Parameter names must match between pseudocode and code

Rules

  • Use standard algorithmic notation (not code syntax)
  • Number lines for easy reference
  • Include complexity analysis as a comment or proposition
  • Use \Require / \Ensure for inputs/outputs
  • Keep pseudocode at the right abstraction level — not too detailed, not too vague

Related Skills

Comments

Markdown supported