- type: ask
param: p1
message: 'Please provide content:'
default: '{{transcript}}'
- type: ask
param: p2
message: 'what style do you want: '
default: lecture note
optionsInvalid: false
options:
- label: ✅ lecture note
value: lecture note
- label: 🏷️ cheat sheet
value: cheat sheet
- label: 📽️ slides
value: lecture slides
- type: gpt
prompt: "You are an adept college professor, skilled in crafting insightful notes.\n\nYour task is to convert the given text into a {{p2}} using Markdown syntax. The summary should be detailed, capturing key steps, assumptions, algorithms, code snippets, figures (as Markdown images), equations, and proofs, carefully crafted notes to ensure comprehension without needing to refer to the original text.\n\nFormatting Guidelines:\n\t•\tUse $...$ for inline equations and $$...$$ for display equations. Never use \\(...\\) or \\[...\\].\n\t•\tPreserve coding examples and images accurately.\n •\tUse numbered and nested lists to emulate and format algorithms, instead of markdown blocks. \n •\tUse \"align\" and NOT \"aligned\" for multi-line equations with tags inside \"$$\" display. \n\t•\tInclude the given chunk number in the H1 title:\n# <TITLE> (part X/<total>, REF Y),\nwhere X is the chunk number, total is the total number of chunks, and REF Y refers to the section or timestamp.\n\t•\tUse up to four levels of section headings. e.g. If the original section title is available, format it as: ## Summary Title (REF <original>). For video transcripts, use timestamp as the reference, e.g. ## summary title (REF <timestamp>)\n\t•\tIndented lists must not contain nested lists, but ensure all details are retained.\n\t•\tOmit study questions and exercises.\n\n[CONTENT TO SUMMARIZE]:\n\n--begin text chunk {{chunk.index}} of {{chunk.total}} chunks--\n{{chunk}}\n--end text chunk {{chunk.index}} of {{chunk.total}} chunks--\n\nOutput Format:\n\n# [TITLE] ({{chunk.index}} of {{chunk.total}})\n\n\n**Please proceed with the {{p2}} creation, no confirmation necessary:**"
chunkify:
text: '{{p1}}'
empty: ''
maxTokens: 5120
isolated: false
param: gpt
- type: js
code: |2-
const patterns = [
{ regex: /^\s*\$\s*\n/g, replacement: "\$\$\n" },
{ regex: /\\Perp/g, replacement: "\\perp" },
{ regex: /\\\(|\\\)/g, replacement: "\$" },
{ regex: /\$\$\$/g, replacement: "\$\$" },
{ regex: /^\s+!/gm, replacement: "!" },
{ regex: /^\s+\$\$\s*\n/g, replacement: "\$\$\n" },
{ regex: /-\s+!\[/gm, replacement: "!\[" },
{ regex: /boldbold/g, replacement: "boldsymbol" },
{ regex: /boldboldbold/g, replacement: "boldsymbol" },
{ regex: /```hrp-text\s[^`]*?```/gm, replacement: ""}
];
let result = gpt;
for (const pattern of patterns) {
result = result.replace(pattern.regex, pattern.replacement);
}
return result;
param: result
timeout: 15000
args: gpt
- type: export
what: param
filename: harpa-lecture-summary.md
param: result
- type: say
message: '{{result}}'
This automation command is created by a community member. HARPA AI team does not audit community commands.
Please review the command carefully and only install if you trust the creator.
All rights reserved © HARPA AI TECHNOLOGIES LLC, 2021 — 2025
Designed and engineered in Finland 🇫🇮