mcpbeat

Algorithm Design

lingzhi227/algorithm-design

Design algorithms with LaTeX pseudocode and UML diagrams. Generate algorithmic environments, Mermaid class/sequence diagrams, and ensure consistency between pseudocode and implementation. Use when formalizing methods for a paper.

2k tokens
context cost
the whole folder, loaded on every use
2
files
instructions only
0
copies elsewhere
how many repositories repackaged it
256
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/lingzhi227/agent-research-skills --skill algorithm-design

The instruction itself

12 sections, as written by the author

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

  • Define clear inputs and outputs
  • Identify the main loop / recursive structure
  • Specify all parameters and their types
  • 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
  • Upstream: atomic-decomposition, math-reasoning
  • Downstream: experiment-code, paper-writing-section
  • See also: symbolic-equation

How to use it

Copy the folder

Take lingzhi227/algorithm-design from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.