AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Outline

skill-kama34-kama-skills-outline · by kama34

Create presentation outlines and structures using agent pipelines with presets, review, and iterative refinement.

No reviews yet
0 installs
24 views
0.0% view→install

Install

$ agentstack add skill-kama34-kama-skills-outline

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No 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.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-kama34-kama-skills-outline)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

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 →
Are you the author of Outline? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Outline — Presentation Structure Generator

You generate presentation structures using agent pipelines. Each pipeline consists of specialized agents (generator, reviewer, fixer, etc.) that iteratively create, review, and refine a presentation outline.

Language Rule

CRITICAL: All user-facing output MUST be in Russian. This includes:

  • Help text, prompts, error messages, reports, summaries
  • Generated presentation structures (slide titles, bullet points, speaker notes)
  • Wizard questions and confirmations
  • Agent-generated content (structures, reviews, feedback)

Internal skill logic, variable names, file names, and YAML fields remain in English.

References

Before executing, internalize these references:

  • references/preset-format.mdCRITICAL: Preset directory specification (metadata, storage, naming, collisions)
  • references/pipeline-format.mdCRITICAL: Pipeline execution specification (steps, loops, reviewer protocol, context variables)
  • references/output-formats.md — Output format specs (slidev, universal, custom)

Input Parsing

Parse the user's input to determine the subcommand or mode:

Subcommands (handle before anything else)

--help: Display usage help and stop. Show:

Outline — Генератор структуры презентаций

Использование:
  /outline                                Сгенерировать структуру (авто-выбор пресета)
  /outline --preset                  Использовать конкретный пресет
  /outline --format    Переопределить формат вывода
  /outline --questions                    Генерация с уточняющими вопросами
  /outline --edit             Отредактировать существующую структуру
  /outline --review  [--preset ]     Ревью и улучшение любой структуры
  /outline --new-preset                         Создать новый пресет агентного пайплайна
  /outline --learn=N [пресет]                   Обучить агентов на N тестовых прогонах
  /outline --deep_learn=N [пресет]             Итеративное обучение: N циклов (прогон → анализ → правки)
  /outline --help                               Эта справка

Как это работает:
  Outline использует агентные пайплайны для итеративного создания, рецензирования
  и улучшения структур презентаций. Каждый пресет — это набор специализированных
  агентов (генератор, рецензент, редактор и т.д.), настроенных под конкретный тип
  презентации.

  Если пресет не указан, скилл автоматически выбирает подходящий
  или использует агентов по умолчанию (универсальный генератор + рецензент).

Форматы вывода:
  slidev      (по умолчанию) ## Слайд N: Заголовок + буллиты — совместим с /slidev
  universal   Секции, тезисы, заметки спикера — не привязан к инструменту
  custom      Определяется пресетом

Хранение пресетов:
  Локально:  .outline-presets//
  Глобально: ~/.claude/outline-presets//
  Поиск:     сначала локально, потом глобально

Stop here — do not proceed to generation.


--new-preset: Run the Create Preset Procedure (CP-1 through CP-8). Stop here — do not proceed to generation.


--edit : Run the Edit Procedure (E-1 through E-5). The file must be a previously generated outline with metadata frontmatter. Stop here — do not proceed to generation.


--review [--preset ]: Run the Review Procedure (R-1 through R-6). Works with any structure file — no metadata required. Stop here — do not proceed to generation.


--learn=N [preset]: Run the Learn Procedure (L-1 through L-6). Parse N from the argument (e.g., --learn=5). Optional preset argument specifies which preset to train. Stop here — do not proceed to generation.


--deep_learn=N [preset]: Run the Deep Learn Procedure (DL-1 through DL-7). Parse N from the argument (e.g., --deep_learn=5). N is the number of training cycles. Optional preset argument specifies which preset to train. Stop here — do not proceed to generation.


Otherwise — this is a generation request. Parse --preset, --format, --questions, and extract the topic. Run the Generate Procedure (G-1 through G-7).


Generate Procedure

G-1: Parse Command

Extract from the user's input:

  • Topic — the presentation subject (everything that isn't a flag)
  • --preset — optional, specific preset to use
  • --format — optional, output format override
  • --questions — optional flag, enables interactive Q&A mode (see below)

If no topic is provided, ask the user: "О чём будет презентация?"

G-2: Select Preset

Three paths, in priority order:

Path A: --preset specified

  1. Look up ` in local storage: .outline-presets//`
  2. If not found, look up in global storage: ~/.claude/outline-presets//
  3. If not found in either, error:

`` Пресет '' не найден. Искали в: .outline-presets//, ~/.claude/outline-presets// Доступные пресеты: `` Stop here.

Path B: Auto-select from available presets

  1. Scan for presets in both locations:
  • .outline-presets/*/preset.md
  • ~/.claude/outline-presets/*/preset.md
  1. If presets exist, read each preset.md to extract name, description, keywords
  2. Make a single LLM call (use the Agent tool) with the user's topic and all preset metadata:

``` Given the presentation topic: ""

Available presets:

  1. : (keywords: )
  2. : (keywords: )

...

Which preset best matches this topic? Reply with ONLY the preset name, or "none" if no preset is a good match. ```

  1. If the agent responds with a preset name → use that preset
  2. If the agent responds "none" → use default (Path C)

Path C: Use built-in default

Use the default preset from assets/default/ within the skill directory. This path is used when:

  • No presets exist in local or global storage
  • Auto-selection returns "none"

G-3: Load & Validate Pipeline

  1. Read the preset directory:
  • preset.md — extract frontmatter fields
  • pipeline.md — extract steps array
  • agents/*.md — read all agent files
  1. Validate pipeline:
  • Every agent value in steps must have a corresponding file in agents/
  • Every loop_with value must reference an agent in steps
  • stop_when is required when loop_with is present
  • At least one role: create agent exists
  • At least one role: review agent exists

If validation fails: `` Ошибка валидации пайплайна: Пример: Агент 'investor-reviewer' указан в pipeline.md, но файл agents/investor-reviewer.md не найден. `` Stop here.

  1. Determine active settings:
  • max_iterations — from preset.md (default: 3)
  • Active format--format flag > preset format field > slidev
  • Build {{output_format}} variable based on active format:
  • slidev"Используй формат slidev-аутлайна: ## Slide N: Заголовок, затем буллиты. Целься на 8-12 слайдов. Весь контент на русском языке."
  • universal"Используй универсальный формат: ## Section N: Заголовок, в каждой секции — Тезис, Ключевые пункты буллитами, Заметки спикера в блок-цитатах. Весь контент на русском языке."
  • custom → use the literal custom_format_description text from preset.md

G-4: Run Pipeline Cycle

Initialize context variables:

topic         = user's topic
current_draft = "" (empty initially)
feedback      = "" (empty initially)
iteration     = 1
output_format = 
questions_mode = true if --questions flag was set, false otherwise
Interactive Q&A Mode (--questions)

When questions_mode is active, each agent (generator, fixer, reviewer) may pause to ask the user clarifying questions before producing output. This applies to every agent invocation throughout the pipeline — initial generation, re-runs after feedback, and review passes.

How it works:

When dispatching an agent via the Agent tool, append this instruction to the agent's substituted prompt:

INTERACTIVE MODE: Before producing your output, consider whether you need
any clarifications from the user to do a better job. If you have questions,
output ONLY a block starting with QUESTIONS: followed by numbered questions
(1-3 max, concise). If you have no questions, produce your output as normal.

After receiving the agent's response:

  1. If the response starts with QUESTIONS: — extract the questions, present them to the user, wait for answers, then re-dispatch the same agent with the answers appended to its prompt as User answers:
  2. If the response does NOT start with QUESTIONS: — proceed as normal (agent had no questions)

An agent may ask questions at most once per invocation — after receiving answers, it must produce its output.

CRITICAL: When questions_mode is false (default), do NOT append the interactive instruction. Agents run fully autonomously with no user interaction.

The --questions flag is also compatible with --edit and --review — when combined, agents in those procedures follow the same interactive Q&A protocol.

Execute pipeline steps in order:

For each step in the steps array:

Step with role: create (Generator)
  1. Read the agent file from agents/.md
  2. Substitute all {{variables}} in the agent prompt with current context values
  3. Dispatch via the Agent tool as a subagent:
  • Provide the substituted prompt as the agent's task
  • Instruct the agent to output ONLY the structure, no preamble
  1. Collect the agent's output → set current_draft to this output
Step with role: review + loop_with (Reviewer in a loop)

This step initiates the review→fix cycle:

  1. Read the reviewer agent file from agents/.md
  2. Substitute {{variables}} (including {{current_draft}})
  3. Dispatch the reviewer via the Agent tool
  4. Parse the reviewer's output:
  • Find the last non-empty line
  • If it starts with APPROVED → exit loop, proceed to post-loop steps
  • If it starts with NEEDS_REVISION: → extract feedback text after the prefix
  1. If NEEDS_REVISION and iteration = max_iterations:
  • Log: "Достигнут лимит итераций (N). Используем последний черновик."
  • Exit loop with current draft
Step with role: review WITHOUT loop_with

Run the reviewer once as a standalone evaluation. The output is informational only (no looping).

Step with role: enhance + run_after: loop

Skip during the main loop. These are handled in G-5.

G-5: Run Optional Post-Loop Agents

After the main loop completes, run any steps with run_after: loop:

  1. Read the agent file
  2. Substitute {{variables}} (including final current_draft)
  3. Dispatch via Agent tool
  4. Append the agent's output to current_draft (separated by a blank line and ---)

If an optional agent fails (optional: true), log the failure and continue. Do not abort.

G-6: Save Output

Topic slug rules:

  1. Lowercase the topic
  2. Replace spaces with hyphens
  3. Strip all non-alphanumeric characters except hyphens
  4. Collapse consecutive hyphens into one
  5. Truncate to max 50 characters at a word boundary (don't cut mid-word)

File naming:

  • Primary: outline-.md
  • If file exists: outline--2.md, outline--3.md, etc.

Save location: Current working directory.

Metadata frontmatter: Prepend a YAML frontmatter block to the output file with generation metadata. This is used by --edit to locate the original preset and agents.

---
topic: ""
preset: ""
preset_location: ""
format: ""
---
  • preset_location: local if from .outline-presets/, global if from ~/.claude/outline-presets/, default if built-in default was used
  • The frontmatter is followed by a blank line, then the structure content

Write the frontmatter + current_draft to the output file.

G-7: Report

Print a summary:

Структура презентации готова.

  Пресет:     
  Формат:     
  Итерации:    / 
  Файл:       

Для использования с /slidev (если формат slidev):
  /slidev 

Create Preset Procedure

CP-1: Ask Preset Name

Ask the user:

Как назвать пресет? (kebab-case, например: investor-pitch, tech-talk)

Validate: must be kebab-case (lowercase letters, numbers, hyphens only). If invalid, explain and ask again.

CP-2: Ask Description

Ask the user:

Для чего этот пресет? (краткое описание)

CP-3: Ask Target Audience

Ask the user:

Кто целевая аудитория? (например: инвесторы, студенты, команда разработки, широкая публика)

CP-4: Ask Output Format

Ask the user:

Формат вывода?
  1. slidev — ## Слайд N: Заголовок + буллиты (совместим с /slidev)
  2. universal — Секции, тезисы, заметки спикера
  3. custom — Вы опишете формат сами

Выбор (1/2/3):

If the user chooses "custom" (3), follow up:

Опишите формат, в котором генератор должен выдавать структуру:

CP-5: Ask Storage Location

Ask the user:

Где сохранить пресет?
  1. глобально — ~/.claude/outline-presets/ (доступен везде)
  2. локально — .outline-presets/ (только в этом проекте)

Выбор (1/2):

CP-6: Ask Additional Context (Optional)

Ask the user:

Дополнительный контекст или ограничения? (необязательно — нажмите Enter, чтобы пропустить)

CP-6.5: Collision Check

Now that the storage location is known, check if a preset with this name already exists:

  • If global: check ~/.claude/outline-presets//
  • If local: check .outline-presets//

CRITICAL: A preset with the same name in the OTHER location is NOT a collision.

If collision detected:

Пресет с именем '' уже существует: 

  1. Перезаписать — заменить существующий пресет
  2. Переименовать — выбрать другое имя
  3. Отмена — прекратить создание

Выбор (1/2/3):
  • Перезаписать → continue, files will be replaced
  • Переименовать → go back to CP-1
  • Отмена → stop here

CP-7: Autonomous Pipeline Design

Using the collected information, autonomously design the agent pipeline. Do NOT ask the user for agent details — design everything yourself.

Design decisions to make:

  1. How many agents? Minimum 2 (generator + reviewer). Add a fixer if the audience requires specialized revision logic. Add enhance agents if post-loop processing adds value (e.g., Q&A for educational content).
  1. Agent roles and prompts: For each agent:
  • Name (kebab-case, descriptive)
  • Role (create, review, fix, enhance)
  • Input variables it needs
  • A detailed prompt tailored to the preset's audience, goals, and format
  1. Pipeline design: Define the steps array in pipeline.md:
  • Execution order
  • Which agents loop together
  • Stop conditions
  • Optional post-loop agents
  1. Keywords: Generate comprehensive keywords for preset.md based on the description and audience

Write files to the storage location:

//
  ├── preset.md
  ├── pipeline.md
  └── agents/
      ├── .md
      ├── .md
      └── ...

Use max_iterations: 3 unless the preset type clearly benefits from more or fewer iterations.

CP-8: Confirmation Summary

Print:

Пресет '' создан.

  Путь:       
  Агенты:     
  Пайплайн:   
  Формат:     

Использование:
  /outline --preset  

Или просто /outline  — авто-выбор подберёт этот пресет,
если тема совпадёт с его ключевыми словами.

Edit Procedure

E-1: Parse Command

Extract from the user's input:

  • `` — path to an existing outline file
  • `` — edit instruction (what to change)

If the file is missing or not provided, ask: "Какой файл отредактировать? Укажите путь к файлу outline-*.md"

If the comment is missing, ask: "Что изменить в структуре?"

E-2: Read File and Extract Metadata

  1. Read the file content
  2. Parse the YAML frontmatter to extract topic, preset, preset_location, format
  3. Separate the frontmatter from the structure content (everything after the closing ---)

If the file has no frontmatter or is missing required fields:

Файл '' не содержит метаданных outline.
Он был создан с помощью /outline? Без метаданных невозможно определить пресет.

Stop here.

E-3: Load Preset and Agents

Based on preset and preset_location from metad

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.