Install
$ agentstack add skill-erikaax08-erikas-skills-latex-academic-reports ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
This skill guides the creation of professional academic documents using LaTeX, producing high-quality PDFs with proper formatting, citations, and technical content presentation.
The user requests an academic document (lab report, research paper, thesis, technical report) or asks to convert existing content to LaTeX. They may specify the document type, citation style, or formatting requirements.
Core Principle
PROFESSIONAL TYPESETTING WITH ACADEMIC STANDARDS
LaTeX provides:
- Precise control over document structure
- Beautiful mathematical notation
- Automated bibliography management
- Consistent formatting across documents
- Publication-quality output
Information Gathering Protocol
BEFORE generating ANY LaTeX document, gather required information from the user.
Step 1: Detect Document Type
Ask which type of document:
- Lab Report (Práctica de laboratorio)
- Research Paper (Artículo de investigación)
- Technical Report (Reporte técnico)
- Thesis/Dissertation (Tesis)
- IEEE Conference Paper
- Other academic document
Step 2: Gather Front Matter Information
Use askuserinput_v0 to collect:
For University Reports (Lab, Technical Reports):
- Student Information:
- Full name
- Student ID (Matrícula)
- Course Information:
- Course name (Nombre de la materia)
- Professor/Instructor name
- University name
- Faculty/School name
- Academic program
- Document Information:
- Document title
- Subtitle (if applicable)
- Practice/Lab number (if applicable)
- Date (use \today or specific date)
For Research Papers:
- Authors: Names and affiliations
- Paper title and subtitle
- Institution(s)
- Keywords
- Abstract (or generate later)
For IEEE Papers:
- Authors: Names, departments, institutions, emails
- Paper title
- Keywords
- Conference name (if applicable)
Step 3: Gather Content Requirements
Ask about:
- Language: Spanish or English
- Citation style: IEEE, APA, Harvard (default: IEEE)
- Include: Code listings? Mathematical notation? Figures?
- Special requirements: Company logo, specific formatting
Step 4: Generate Document
After collecting information, generate the complete LaTeX document with all data populated.
Elicitation Examples
Example 1: Lab Report Request
User: "Necesito crear un reporte de laboratorio en LaTeX"
Assistant response:
Perfecto, voy a ayudarte a crear tu reporte de laboratorio. Necesito algunos datos para la portada y configuración:
[Calls ask_user_input_v0 with:]
- Question 1: "Tipo de documento"
Options: ["Práctica de laboratorio", "Reporte técnico", "Artículo de investigación"]
- Question 2: "Idioma del documento"
Options: ["Español", "English"]
- Question 3: "¿Incluirá código de programación?"
Options: ["Sí, Python", "Sí, Java", "Sí, C++", "No"]
After user selects, ask for details:
[Calls ask_user_input_v0 with text inputs or follow-up questions to gather:]
- Nombre completo
- Matrícula
- Universidad
- Materia
- Título del reporte
- Número de práctica (si aplica)
Example 2: When User Provides Partial Info
User: "Haz un reporte de la práctica 3 de Algoritmos"
Assistant response:
Entendido, voy a crear el reporte de la Práctica 3 para Algoritmos. Necesito algunos datos adicionales:
[Calls ask_user_input_v0 to gather missing info:]
- Tu nombre completo
- Tu matrícula
- Nombre de tu universidad
- Título específico de la práctica 3
Document Templates with Placeholders
Template 1: Lab Report (Computer Science)
\documentclass[12pt,letterpaper]{article}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage[margin=2.5cm]{geometry}
\usepackage{graphicx}
\usepackage{float}
\usepackage{booktabs}
\usepackage{listings}
\usepackage{xcolor}
\usepackage{amsmath}
\usepackage{hyperref}
\usepackage{cite}
% Code listing style
\lstset{
language=Python,
basicstyle=\ttfamily\footnotesize,
keywordstyle=\color{blue},
commentstyle=\color{green!60!black},
stringstyle=\color{red},
numbers=left,
numberstyle=\tiny\color{gray},
stepnumber=1,
numbersep=5pt,
backgroundcolor=\color{gray!10},
frame=single,
breaklines=true,
captionpos=b
}
\title{Práctica [NUMERO]: [TITULO]\\
\large [MATERIA]}
\author{
[NOMBRE_ALUMNO]\\
\textit{Matrícula: [MATRICULA]}\\
\textit{[UNIVERSIDAD]}\\
\textit{[FACULTAD]}\\
\textit{[EMAIL]}
}
\date{\today}
\begin{document}
\maketitle
% Optional: Add logo
% \begin{figure}[t]
% \centering
% \includegraphics[width=0.2\textwidth]{logo_universidad.png}
% \end{figure}
\tableofcontents
\newpage
\section{Introducción}
[Escribe aquí la introducción: contexto del problema, objetivos de la práctica, alcance]
\subsection{Objetivo General}
[Objetivo principal de la práctica]
\subsection{Objetivos Específicos}
\begin{itemize}
\item [Objetivo 1]
\item [Objetivo 2]
\item [Objetivo 3]
\end{itemize}
\section{Marco Teórico}
[Conceptos fundamentales necesarios para entender la práctica]
\subsection{[Concepto 1]}
[Explicación con ecuaciones si es necesario]
Por ejemplo, la complejidad temporal se define como:
\begin{equation}
T(n) = O(f(n))
\label{eq:complejidad}
\end{equation}
donde $n$ es el tamaño de la entrada.
\section{Desarrollo}
\subsection{Metodología}
[Pasos seguidos para resolver el problema]
\begin{enumerate}
\item [Paso 1]
\item [Paso 2]
\item [Paso 3]
\end{enumerate}
\subsection{Implementación}
El código principal se muestra a continuación:
\begin{lstlisting}[caption={Implementación del algoritmo},label={lst:main}]
def bubble_sort(arr):
"""
Ordena un arreglo usando bubble sort.
Complejidad: O(n^2)
"""
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
\end{lstlisting}
\subsection{Pruebas y Resultados}
Se realizaron pruebas con diferentes tamaños de entrada. Los resultados se muestran en la Tabla~\ref{tab:resultados}.
\begin{table}[H]
\centering
\caption{Tiempos de ejecución por tamaño de entrada}
\label{tab:resultados}
\begin{tabular}{@{}ccc@{}}
\toprule
Tamaño (n) & Tiempo (ms) & Complejidad Teórica \\ \midrule
100 & 2.3 & $O(n^2)$ \\
500 & 58.1 & $O(n^2)$ \\
1000 & 231.4 & $O(n^2)$ \\ \bottomrule
\end{tabular}
\end{table}
La Figura~\ref{fig:grafica} muestra la relación entre el tamaño de entrada y el tiempo de ejecución.
\begin{figure}[H]
\centering
\includegraphics[width=0.7\textwidth]{grafica_tiempos.png}
\caption{Tiempo de ejecución vs. tamaño de entrada}
\label{fig:grafica}
\end{figure}
\section{Análisis de Resultados}
[Interpretación de los resultados, comparación con teoría, discusión]
Los resultados muestran que el algoritmo sigue la complejidad esperada de $O(n^2)$, como se observa en la ecuación~\eqref{eq:complejidad} y el Listado~\ref{lst:main}.
\section{Conclusiones}
[Conclusiones derivadas del trabajo, objetivos cumplidos, aprendizajes]
\section{Referencias}
\bibliographystyle{IEEEtran}
\bibliography{referencias}
% Si no usas BibTeX, puedes usar:
% \begin{thebibliography}{99}
% \bibitem{knuth}
% D. E. Knuth, \textit{The Art of Computer Programming}, vol. 1.
% Addison-Wesley, 1997.
% \end{thebibliography}
\end{document}
Template 2: Technical Report with Extended Title Page
\documentclass[12pt,letterpaper]{report}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage[margin=2.5cm]{geometry}
\usepackage{graphicx}
\usepackage{float}
\usepackage{booktabs}
\usepackage{listings}
\usepackage{xcolor}
\usepackage{amsmath}
\usepackage{hyperref}
\usepackage{cite}
\usepackage{fancyhdr}
\usepackage{setspace}
\onehalfspacing
\pagestyle{fancy}
\fancyhf{}
\rhead{\thepage}
\lhead{\leftmark}
\lstset{
basicstyle=\ttfamily\footnotesize,
keywordstyle=\color{blue},
commentstyle=\color{green!60!black},
stringstyle=\color{red},
numbers=left,
numberstyle=\tiny\color{gray},
frame=single,
breaklines=true
}
\begin{document}
% Custom Title Page
\begin{titlepage}
\centering
% University Logo (optional)
% \includegraphics[width=0.3\textwidth]{logo_universidad.png}\\[1cm]
{\Large\bfseries [UNIVERSIDAD]\par}
\vspace{0.5cm}
{\large [FACULTAD]\par}
\vspace{0.5cm}
{\large [PROGRAMA_ACADEMICO]\par}
\vspace{2cm}
{\LARGE\bfseries [TITULO_REPORTE]\par}
\vspace{1cm}
{\Large [SUBTITULO]\par}
\vspace{2cm}
{\large
\textbf{Presenta:}\\
[NOMBRE_ALUMNO]\\
Matrícula: [MATRICULA]\\
\vspace{1cm}
\textbf{Materia:}\\
[MATERIA]\\
\vspace{1cm}
\textbf{Profesor:}\\
[NOMBRE_PROFESOR]\\
\vspace{2cm}
[CIUDAD], [ESTADO]\\
\today
}
\end{titlepage}
% Abstract/Resumen
\chapter*{Resumen}
\addcontentsline{toc}{chapter}{Resumen}
[Resumen ejecutivo del reporte: 200-300 palabras]
\textbf{Palabras clave:} [palabra1, palabra2, palabra3]
% Table of contents
\tableofcontents
\listoffigures
\listoftables
\lstlistoflistings
\chapter{Introducción}
\section{Contexto}
[Contexto del problema]
\section{Planteamiento del Problema}
[Descripción detallada del problema]
\section{Objetivos}
\subsection{Objetivo General}
[Objetivo principal]
\subsection{Objetivos Específicos}
\begin{enumerate}
\item [Objetivo 1]
\item [Objetivo 2]
\item [Objetivo 3]
\end{enumerate}
\section{Justificación}
[Por qué es importante este trabajo]
\section{Alcance y Limitaciones}
[Qué incluye y qué no incluye el reporte]
\chapter{Marco Teórico}
\section{Fundamentos}
[Conceptos teóricos necesarios]
\section{Estado del Arte}
[Trabajos relacionados, tecnologías existentes]
\chapter{Metodología}
\section{Enfoque}
[Descripción del enfoque metodológico]
\section{Herramientas y Tecnologías}
[Herramientas utilizadas]
\section{Proceso de Desarrollo}
[Pasos seguidos]
\chapter{Desarrollo}
\section{Análisis}
[Análisis del problema]
\section{Diseño}
[Diseño de la solución]
\section{Implementación}
[Detalles de implementación]
\begin{lstlisting}[language=Python, caption={Ejemplo de implementación}, label={lst:ejemplo}]
def example_function(param):
"""
Función de ejemplo.
"""
result = process(param)
return result
\end{lstlisting}
\chapter{Resultados}
\section{Pruebas Realizadas}
[Descripción de las pruebas]
\section{Análisis de Resultados}
[Interpretación de resultados]
\chapter{Conclusiones y Trabajo Futuro}
\section{Conclusiones}
[Conclusiones derivadas del trabajo]
\section{Trabajo Futuro}
[Posibles extensiones o mejoras]
\bibliographystyle{IEEEtran}
\bibliography{referencias}
\appendix
\chapter{Código Fuente Completo}
[Código completo si es necesario]
\chapter{Datos Adicionales}
[Tablas, gráficas, datos extras]
\end{document}
Template 3: IEEE Conference Paper
\documentclass[conference]{IEEEtran}
\usepackage{cite}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{algorithmic}
\usepackage{graphicx}
\usepackage{textcomp}
\usepackage{xcolor}
\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em
T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
\begin{document}
\title{[TITULO_PAPER]\\
{\footnotesize [SUBTITULO]}
}
\author{
\IEEEauthorblockN{[AUTOR1_NOMBRE]}
\IEEEauthorblockA{
\textit{[DEPARTAMENTO1]} \\
\textit{[INSTITUCION1]}\\
[CIUDAD1], [PAIS1] \\
[EMAIL1]
}
\and
\IEEEauthorblockN{[AUTOR2_NOMBRE]}
\IEEEauthorblockA{
\textit{[DEPARTAMENTO2]} \\
\textit{[INSTITUCION2]}\\
[CIUDAD2], [PAIS2] \\
[EMAIL2]
}
% Add more authors as needed
}
\maketitle
\begin{abstract}
[Abstract: 150-250 palabras resumiendo el paper. Debe incluir: problema, metodología, resultados principales, conclusión]
\end{abstract}
\begin{IEEEkeywords}
[keyword1, keyword2, keyword3, keyword4, keyword5]
\end{IEEEkeywords}
\section{Introduction}
[Introduction with problem statement, motivation, contributions]
The rest of this paper is organized as follows. Section~\ref{sec:related} reviews related work. Section~\ref{sec:method} describes our methodology. Section~\ref{sec:results} presents the results. Section~\ref{sec:conclusion} concludes the paper.
\section{Related Work}
\label{sec:related}
[Literature review, related work, comparison with existing approaches]
\section{Methodology}
\label{sec:method}
[Detailed description of the approach]
\subsection{Problem Formulation}
Let $G = (V, E)$ be a graph where:
\begin{equation}
V = \{v_1, v_2, \ldots, v_n\}
\end{equation}
\subsection{Algorithm}
\begin{algorithmic}
\STATE Initialize $S \leftarrow \emptyset$
\FOR{each vertex $v \in V$}
\STATE $S \leftarrow S \cup \{v\}$
\ENDFOR
\RETURN $S$
\end{algorithmic}
\section{Results}
\label{sec:results}
[Experimental setup, results, analysis]
\begin{table}[htbp]
\caption{Performance Comparison}
\begin{center}
\begin{tabular}{|c|c|c|}
\hline
\textbf{Method} & \textbf{Accuracy} & \textbf{Time (ms)} \\
\hline
Baseline & 85.3\% & 150 \\
Proposed & 92.1\% & 120 \\
\hline
\end{tabular}
\label{tab:comparison}
\end{center}
\end{table}
\begin{figure}[htbp]
\centerline{\includegraphics[width=0.5\textwidth]{figure1.png}}
\caption{Example figure.}
\label{fig:example}
\end{figure}
\section{Conclusion}
\label{sec:conclusion}
[Summary, contributions, future work]
\section*{Acknowledgment}
[Optional acknowledgments]
\begin{thebibliography}{00}
\bibitem{b1} G. Eason, B. Noble, and I. N. Sneddon, ``On certain integrals of Lipschitz-Hankel type involving products of Bessel functions,'' Phil. Trans. Roy. Soc. London, vol. A247, pp. 529--551, April 1955.
\bibitem{b2} J. Clerk Maxwell, A Treatise on Electricity and Magnetism, 3rd ed., vol. 2. Oxford: Clarendon, 1892, pp.68--73.
\end{thebibliography}
\end{document}
Workflow
Step-by-Step Process
- User requests LaTeX document
- "Necesito un reporte de laboratorio"
- "Crea una práctica de Algoritmos"
- "Genera un paper IEEE"
- Identify document type
- Use askuserinput_v0 if not clear
- Determine template to use
- Gather information
- Use askuserinput_v0 for front matter
- Collect: name, ID, university, course, title, etc.
- Ask about language, code inclusion, special requirements
- Generate complete document
- Replace all [PLACEHOLDERS] with actual data
- Include appropriate packages based on requirements
- Add code listing configuration if needed
- Create supporting files
- Generate referencias.bib if citations needed
- Create compilation instructions
- Provide file structure recommendations
- Deliver artifacts
- Main .tex file with all data populated
- referencias.bib (if applicable)
- Compilation instructions
- Folder structure recommendation
Information Collection Examples
Comprehensive Data Collection
**For Lab Report**, collect:
1. Document Type & Language:
- Tipo: Práctica de laboratorio
- Idioma: Español / English
- Incluye código: Sí (Python/Java/C++) / No
2. Student Information:
- Nombre completo: [user input]
- Matrícula: [user input]
- Email: [user input]
3. University Information:
- Universidad: [user input]
- Facultad/Escuela: [user input]
- Programa: [e.g., Ing. en Ciencias Computacionales]
4. Course Information:
- Materia: [user input]
- Profesor: [user input]
5. Document Information:
- Número de práctica: [user input or N/A]
- Título: [user input]
- Fecha: \today / [specific date]
6. Content Requirements:
- ¿Incluirá ecuaciones matemáticas? Sí/No
- ¿Incluirá figuras/gráficas? Sí/No
- ¿Incluirá tablas de resultados? Sí/No
- ¿Necesita bibliografía? Sí/No
Default Values and Smart Inference
**Smart defaults**:
- If user says "práctica 3", infer: Número de práctica = 3
- If
…
## Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- **Author:** [ErikaAX08](https://github.com/ErikaAX08)
- **Source:** [ErikaAX08/erikas-skills](https://github.com/ErikaAX08/erikas-skills)
- **License:** MIT
- **Homepage:** https://github.com/ErikaAX08/erikas-skills#readme
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.