How to install algorithm-design
npx skills add https://github.com/lingzhi227/agent-research-skills --skill algorithm-designFull instructions (SKILL.md)
Source of truth, from lingzhi227/agent-research-skills.
name: algorithm-design description: 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. argument-hint: [method-description]
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/\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
Related skills
More from lingzhi227/agent-research-skills and the wider catalog.
literature-review
Conduct comprehensive literature reviews using multi-perspective dialogue simulation. Generate diverse expert personas, conduct grounded Q&A conversations, and synthesize findings into structured knowledge. Use when starting a new research project or writing a survey section.
literature-search
Search academic literature using Semantic Scholar, arXiv, and OpenAlex APIs. Returns structured JSONL with title, authors, year, venue, abstract, citations, and BibTeX. Use when the user needs to find papers, check related work, or build a bibliography.
figure-generation
Generate publication-quality scientific figures using matplotlib/seaborn with a three-phase pipeline (query expansion, code generation with execution, VLM visual feedback). Handles bar charts, line plots, heatmaps, training curves, ablation plots, and more. Use when the user needs figures, plots, or visualizations for a paper.
citation-management
Manage BibTeX citations for LaTeX papers. Harvest missing citations from a draft using Semantic Scholar, validate cite keys against .bib files, deduplicate entries, and format bibliography. Use when working with references, BibTeX, or citations.
latex-formatting
Handle LaTeX formatting, templates, and styling for academic papers. Set up conference templates (ICML, ICLR, NeurIPS, AAAI, ACL), fix formatting issues, manage packages, and ensure venue-specific compliance. Use when the user needs to set up a paper template, fix LaTeX formatting, or prepare for submission.
data-analysis
Generate statistical analysis code with 4-round review. Select appropriate statistical tests, interpret results, and produce analysis reports with p-values, effect sizes, and confidence intervals. Use when analyzing experimental data for a paper.