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.
Resources
1Install
npx skillscat add lingzhi227/agent-research-skills/algorithm-design Install via the SkillsCat registry.
We need to produce a 2-3 sentence plain-text summary, objective, factual, no marketing language, no superlatives, no calls to action. At most 60 words. Must explain what the skill does, what problem it solves, when to use it. No bullet points, headings, markdown. Just plain text. No quotes. Provide only the summary text. We need to craft 2-3 sentences, up to 60 words. Let's aim for ~45 words. Sentence 1: What the skill does: It formalizes method descriptions into algorithmic pseudocode, LaTeX algorithm listings, and UML diagrams, ensuring consistency between them.
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: batchesStep 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/\Ensurefor inputs/outputs - Keep pseudocode at the right abstraction level — not too detailed, not too vague
Related Skills
- Upstream: atomic-decomposition, math-reasoning
- Downstream: experiment-code, paper-writing-section
- See also: symbolic-equation