Systematic, opinionated AI agent skills for CS and Engineering workflows.
Skills • What Dion Is • How to Use • Structure • Contributing • License
Most AI agent prompts produce shallow snippets, gloss over algorithmic invariants, and fail to isolate boundary conditions.
Dion is a curated library of 48 modular, domain-categorized Agent Skills engineered specifically for computer science students, engineering graduates, and technical researchers. Each skill equips an AI agent with a deterministic, step-by-step execution protocol: decomposing complex assignment rubrics, formatting laboratory reports, designing normalized database schemas, hunting memory leaks in C/C++, tracing execution state across memory spaces, isolating runtime crashes via falsifiable hypothesis trees, and reviewing literature with empirical rigor.
No wrappers. No runtime dependencies. Just clean, platform-agnostic markdown protocols compatible with any agent runtime.
Total active skills: 48 across 11 engineering domains.
| Skill | Description |
|---|---|
assignment-decomposer |
Breaks down complex engineering assignments, lab specs, and project rubrics into granular subtasks, test cases, and dependency graphs. Use when a student receives an assignment specification and needs a systematic execution plan. |
citation-formatter |
Formats and validates academic citations across IEEE, ACM, APA, and BibTeX formats for engineering papers and lab reports. Use when compiling bibliographies, references, or citations. |
lab-report-writer |
Formats engineering and science lab reports with standard academic sections, error propagation calculations, and observation tables. Use when a student needs to write or structure an engineering lab report. |
presentation-slide-planner |
Structures technical presentation slide decks for engineering capstones, term projects, and defense talks. Use when planning visual slides, speaker notes, and time allocations. |
rubric-checker |
Evaluates assignment drafts against official grading rubrics and assignment criteria to identify missing requirements. Use before submitting an assignment to maximize grade accuracy. |
| Skill | Description |
|---|---|
code-commenter |
Writes concise, professional docstrings, function contracts, and inline comments that explain the 'why' rather than narrating syntax. Use when documenting code. |
code-explainer |
Deconstructs unfamiliar code snippets and algorithms by tracing execution flow, state mutations, memory layout, and asymptotic complexity. Use when a user asks to understand, review, or walk through existing code line by line. |
code-refactorer |
Refactors messy student code into clean, modular, and idiomatic production-quality implementations while preserving existing behavior. Use when cleaning up working but unreadable code. |
complexity-analyzer |
Derives formal asymptotic Big-O time and space complexity with recurrence relations, loop summations, and call stack depth. Use when analyzing algorithm efficiency. |
pattern-matcher |
Identifies appropriate software design patterns (Gang of Four, architectural patterns) to solve software design problems cleanly. Use when architecting object-oriented systems. |
| Skill | Description |
|---|---|
concurrency-deadlock-detector |
Identifies race conditions, deadlocks, and synchronization pitfalls across threads, mutexes, and async routines. Use when multi-threaded code hangs or yields nondeterministic results. |
memory-leak-hunter |
Analyzes Valgrind logs, AddressSanitizer output, and memory profiling reports to trace unreleased allocations and pointer leaks. Use when debugging C/C++ memory management. |
segfault-tracer |
Diagnoses segmentation faults and bus errors in C/C++ by analyzing pointer arithmetic, null references, and buffer overflows. Use when a binary terminates with SIGSEGV. |
stack-trace-analyzer |
Parses complex, multi-threaded, or nested stack traces and compiler error dumps to pinpoint the exact root-cause frame. Use when confronted with dense error logs. |
systematic-debugger |
Diagnoses runtime crashes, stack traces, logic failures, and test regressions using a hypothesis-driven debugging workflow. Use when code fails with an error, exception, segmentation fault, or incorrect output. |
| Skill | Description |
|---|---|
cheat-sheet-designer |
Designs ultra-dense, multi-column quick-reference cheat sheets for programming languages, CLI commands, and technical tools. Use when creating fast reference guides. |
latex-document-formatter |
Generates clean, compilable LaTeX documents with IEEE/ACM templates, math equations, tables, and TikZ diagrams. Use when writing technical papers and lab reports in LaTeX. |
markdown-table-formatter |
Creates clean, aligned, and readable Markdown comparison tables, feature matrices, and data schemas. Use when formatting tabular technical information. |
pdf-report-generator |
Structures clean, publication-ready markdown and styling specifications optimized for PDF conversion (Pandoc, Typst, Weasyprint). Use when preparing professional PDF documents. |
| Skill | Description |
|---|---|
branch-strategy-planner |
Designs clean git branch and release workflows (Git Flow, GitHub Flow, Trunk-Based) for student project teams. Use when coordinating collaborative team repositories. |
git-commit-architect |
Structures atomic commits, writes conventional commit messages with contextual rationale, and formats reviewable Pull Requests. Use when a user needs to commit changes, clean up git history, or prepare a PR. |
gitignore-curator |
Generates clean, language-specific .gitignore files that exclude build artifacts, virtual environments, and secrets. Use when setting up or cleaning git repositories. |
merge-conflict-resolver |
Guides students step-by-step through resolving complex git merge and rebase conflicts without data loss. Use when git operations halt with conflict markers. |
| Skill | Description |
|---|---|
behavioral-star-framer |
Structures behavioral engineering interview responses into concise, impact-focused STAR method narratives. Use when preparing answers for behavioral questions. |
dsa-pattern-matcher |
Maps coding interview problem statements to core Data Structures and Algorithms patterns (Two Pointers, Sliding Window, Monotonic Stack, Union-Find). Use when approaching LeetCode-style technical interview questions. |
mock-interview-simulator |
Conducts structured, simulated technical coding and systems interviews with interactive problem statements, hint systems, and rubric feedback. Use when preparing for engineering job interviews. |
resume-bullet-optimizer |
Transforms passive, task-oriented resume points into strong, impact-quantified engineering accomplishment statements. Use when editing technical resumes. |
| Skill | Description |
|---|---|
concept-clarifier |
Explains core computer science and engineering concepts through physical intuition, formal invariants, minimal traces, and complexity bounds. Use when a user asks to learn, clarify, or prepare for exams on an algorithm, system architecture, or theoretical model. |
exam-drill |
Generates high-yield practice problems, edge-case questions, and conceptual drills tailored for engineering exams and technical assessments. Use when a student requests test preparation, practice questions, or concept verification. |
feynman-explainer |
Explains complex technical and engineering phenomena using simple language, direct intuition, and zero jargon via the Feynman Technique. Use when struggling to grasp an abstract concept. |
flashcard-builder |
Generates high-retention spaced repetition flashcards in Anki-compatible format for engineering terminology, algorithms, and architectures. Use when creating study decks. |
formula-sheet-generator |
Distills complex engineering subjects into dense, high-yield formula sheets with variable definitions, units, and boundary constraints. Use when preparing review sheets for exams. |
| Skill | Description |
|---|---|
cli-tool-scaffolder |
Scaffolds ergonomic command-line utility tools in Python, Go, or Rust with argument parsing, subcommands, and help text. Use when building developer tools. |
semester-schedule-planner |
Organizes engineering course syllabi, assignments, exams, and project deadlines into an integrated semester timeline. Use when planning academic workloads. |
study-sprint-timer |
Designs structured Pomodoro and deep-work study sprint schedules tailored for complex technical problem sets. Use when planning focused study sessions. |
| Skill | Description |
|---|---|
api-spec-designer |
Designs RESTful and RPC API specifications conforming to OpenAPI/Swagger standards with clear status codes and payloads. Use when defining backend interfaces. |
capstone-milestone-tracker |
Breaks multi-month senior design or capstone projects into bi-weekly deliverables with risk assessments and verification criteria. Use when tracking long-term projects. |
database-schema-designer |
Designs normalized relational SQL schemas or NoSQL document models with primary keys, indexes, and foreign constraints. Use when modeling database architectures. |
project-scaffolder |
Plans software system architectures, directory structures, data contracts, and milestone delivery roadmaps for capstones and technical builds. Use when a user is designing or starting a new software project. |
readme-architect |
Crafts clear, professional GitHub README files with architecture diagrams, quick-start setup commands, and feature matrices. Use when documenting software projects. |
| Skill | Description |
|---|---|
arxiv-digest-builder |
Summarizes and categorizes recent arXiv preprints in computer science and engineering into actionable technical digests. Use when keeping up with research trends. |
literature-review-matrix |
Builds comparative literature review matrices cross-examining research papers across methodology, datasets, and benchmark results. Use when synthesizing related works. |
paper-abstract-extractor |
Extracts core problem statements, methods, and quantitative findings from academic papers into concise executive briefings. Use when quickly scanning paper suitability. |
research-synthesizer |
Analyzes academic papers, preprints, and technical surveys by assessing novelty claims, benchmark rigor, and reproducibility hurdles. Use when a user reviews research papers or prepares technical literature surveys. |
| Skill | Description |
|---|---|
edge-case-finder |
Identifies subtle boundary conditions, numeric overflows, and degenerate inputs that break code. Use when testing algorithm robustness or debugging hidden judge failures. |
integration-test-planner |
Designs end-to-end integration test plans covering API routes, database transactions, and component interfaces. Use when verifying multi-tier systems. |
mock-data-factory |
Generates realistic mock datasets, JSON payloads, and database seed rows conforming to specific schemas and constraints. Use when preparing test data. |
unit-test-generator |
Generates comprehensive unit test suites with boundary assertions, fixtures, and parameterized tests. Use when writing automated tests for functions and classes. |
Each skill is self-contained in its own folder and contains a standardized SKILL.md file with strict YAML frontmatter:
---
name: skill-folder-name
description: What it does and when to use it. Be specific.
---Add the skills/ directory to your workspace or agent knowledge directory. The agent parses the YAML metadata and activates the corresponding skill based on your query.
Copy the contents of any SKILL.md directly into your agent's system prompt or project instructions when working on a specific task (such as formatting a lab report, debugging a segmentation fault, or preparing for a technical interview).
"I received a 12-page specification for our Operating Systems virtual memory assignment.
Here is the rubric and requirements handout.
Use the assignment-decomposer skill to break this into an implementation plan with test cases."
Contributions from students, researchers, and developers are welcome. Please read CONTRIBUTING.md for skill authoring standards, folder hierarchy rules, and Pull Request checklists.
This project is licensed under the Apache-2.0 License.