This skill should be used when the user wants to create a new looplia workflow, generate a workflow definition file, or compose workflow steps from skill recommendations. Use when someone says "create a looplia workflow", "generate workflow.md", "compose workflow steps", "build me an automation pipeline", or "/build" (final step). Final step in looplia workflow building: transforms skill recommendations into valid v0.6.3 workflow YAML/Markdown files. Each step uses skill: + mission: syntax, following the one workflow step → one skill-executor → multiple skills architecture. v0.6.3: Supports input-less workflows using input-less capable skills (e.g., search).
/plugin marketplace add memorysaver/looplia-core/plugin install memorysaver-looplia-plugins-looplia-core@memorysaver/looplia-coreThis skill inherits all available tools. When active, it can use any tool Claude has access to.
SCHEMA.mdtemplates/workflow.md.templateGenerate complete, valid workflow definitions from skill recommendations.
Transform the output from skill-capability-matcher into a ready-to-use looplia workflow markdown file that follows the v0.6.2 schema.
From skill-capability-matcher output:
--name flag was provided) - use this exact name for the workflowCRITICAL: User preferences from wizard answers MUST be incorporated into step missions.
When the enriched prompt contains "User clarifications: Q: ... A: ..." sections, extract each preference:
Example enriched prompt:
/build search hackernews for AI news. User clarifications: Q: Which social media platforms? A: twitter, linkedin. Q: How many articles? A: top5. Q: Focus areas? A: llm, adoption. Q: Output format? A: posts
Extract as structured preferences:
| Question Pattern | Preference Key | Value | Inject Into |
|---|---|---|---|
| "platforms" / "social media" | PLATFORMS | twitter, linkedin | Output/social step mission |
| "how many" / "articles" / "count" | COUNT | 5 | Search/filter step mission |
| "focus" / "areas" / "topics" | FOCUS | llm, adoption | Search and analysis missions |
| "format" / "output" / "include" | FORMAT | posts | Final output step mission |
Preference Injection Rules:
For each recommended skill:
- id: {suggestedStepId}
skill: {skill-name}
mission: |
{mission description from matcher}
needs: [{dependencies}]
input: {input path(s)}
output: {output path}
model: {optional model override}
validate:
required_fields: [{fields}]
Use dataFlow from matcher:
needs: is omittedneeds:final: trueUse variable substitution:
${{ sandbox }}/inputs/content.md - Initial input (for workflows requiring input)${{ sandbox }}/outputs/{step-id}.json - Step outputs${{ steps.{id}.output }} - Reference previous step outputThese skills can operate WITHOUT an input field - they fetch/generate data autonomously:
| Skill | Capability |
|---|---|
search | Web search, API queries, autonomous data fetching |
When a workflow's first step uses an input-less capable skill:
input: field entirely from that step${{ steps.{id}.output }}Example input-less first step:
- id: fetch-data
skill: search
mission: |
Search the web for recent technology trends.
Extract titles, URLs, and key details.
output: ${{ sandbox }}/outputs/data.json
# NO input field - search operates autonomously
Based on skill output type:
required_fields: [contentId, headline, keyThemes]required_fields: [contentId, hooks, angles]required_fields: [contentId, suggestedOutline]CRITICAL: If --name flag was provided, use that exact name. Do not derive or modify it.
---
name: {explicit-name OR derived-from-description}
version: 1.0.0
description: {user's original description, cleaned up}
steps:
- id: ...
---
Naming rules:
--name article-summary was provided → use article-summary exactly--name → derive from description (e.g., "analyze videos" → "video-analyzer")Add usage documentation:
For workflows requiring input:
# {Workflow Name}
{Brief description}
## Usage
```bash
looplia run {workflow-name} --file <content.md>
**For input-less workflows (v0.6.3):**
```markdown
# {Workflow Name}
{Brief description}
## Usage
```bash
looplia run {workflow-name}
No input required - this workflow uses autonomous skills to fetch data.
**Steps section:**
```markdown
## Steps
1. **{step-id}**: {brief description}
2. ...
Return a JSON object:
{
"filename": "video-to-blog.md",
"content": "---\nname: video-to-blog\n..."
}
See SCHEMA.md in this skill directory for the complete v0.6.2 workflow schema.
skill: is REQUIRED - Every step must have a skillmission: is REQUIRED - Every step must have a missionrun: is FORBIDDEN - Never use the old agent syntaxneeds: references must be valid--name - If provided, use that exact name for filename and name: fieldsearch skill may OMIT input: field entirely---
name: video-to-blog
version: 1.0.0
description: Analyze YouTube videos and create blog outlines
steps:
- id: analyze-content
skill: media-reviewer
mission: |
Deep analysis of video transcript. Extract key themes,
important quotes with timestamps, and narrative structure.
input: ${{ sandbox }}/inputs/content.md
output: ${{ sandbox }}/outputs/analysis.json
model: haiku
validate:
required_fields: [contentId, headline, keyThemes, importantQuotes]
- id: generate-ideas
skill: idea-synthesis
mission: |
Generate hooks, angles, and questions from the analysis.
Read user profile for personalization context.
needs: [analyze-content]
input: ${{ steps.analyze-content.output }}
output: ${{ sandbox }}/outputs/ideas.json
validate:
required_fields: [contentId, hooks, angles, questions]
- id: build-outline
skill: writing-kit-assembler
mission: |
Create structured blog outline with sections, key points,
and supporting quotes from analysis and ideas.
needs: [analyze-content, generate-ideas]
input:
- ${{ steps.analyze-content.output }}
- ${{ steps.generate-ideas.output }}
output: ${{ sandbox }}/outputs/outline.json
final: true
validate:
required_fields: [contentId, suggestedOutline]
---
# Video to Blog Workflow
Transform video content into structured blog outlines.
## Usage
```bash
looplia run video-to-blog --file <transcript.md>
## Important Rules
1. **Always use skill: syntax** - Never use `run: agents/X`
2. **Always include mission** - Detailed task description
3. **Use valid YAML** - Proper indentation and quoting
4. **Include validation** - Add `validate:` with appropriate fields
5. **Mark final step** - Last step gets `final: true`
6. **Respect --name flag** - If `--name X` is provided, the workflow MUST be named `X` and saved as `X.md`
7. **Detect input-less workflows** - If first step uses `search` skill, OMIT input field
8. **Incorporate user preferences (v0.6.4)** - Extract preferences from "User clarifications" and inject into step missions. Each preference MUST appear in at least one mission.
## Example: Input-Less Workflow (v0.6.3)
When the workflow fetches data autonomously (no user input needed):
```yaml
---
name: daily-news-digest
version: 1.0.0
description: Fetch trending news and compile a digest report
steps:
- id: fetch-news
skill: search
mission: |
Search the web for today's trending technology news.
Extract title, URL, source, and brief summary for each story.
output: ${{ sandbox }}/outputs/news.json
# NO input field - search operates autonomously
validate:
required_fields: [query, mode, results]
- id: compile-digest
skill: content-documenter
mission: |
Compile the news into a formatted digest with categories and insights.
needs: [fetch-news]
input: ${{ steps.fetch-news.output }}
output: ${{ sandbox }}/outputs/digest.json
final: true
validate:
required_fields: [reportTitle, sections, summary]
---
# Daily News Digest
Fetches and compiles trending news into a digest.
## Usage
```bash
looplia run daily-news-digest
No input required - this workflow fetches data autonomously.
## Example: User Preference Injection (v0.6.4)
Given enriched prompt:
/build search hackernews for AI news. User clarifications: Q: Which platforms? A: twitter, linkedin. Q: How many? A: top5. Q: Focus areas? A: llm, adoption. Q: Output format? A: posts
**Extracted preferences:**
- PLATFORMS: twitter, linkedin
- COUNT: 5
- FOCUS: llm, adoption
- FORMAT: posts
**BAD workflow (ignores preferences):**
```yaml
- id: fetch-news
skill: search
mission: |
Search HackerNews for AI news articles.
Extract titles and summaries.
- id: compile-output
skill: content-documenter
mission: |
Compile the news into a report.
GOOD workflow (incorporates preferences):
- id: fetch-news
skill: search
mission: |
Search HackerNews for the top 5 AI news articles
focusing on LLM developments and adoption trends.
Extract titles, URLs, and key summaries.
- id: compile-output
skill: content-documenter
mission: |
Create engaging social media posts optimized for
twitter and linkedin. Focus on LLM and adoption angles.
Output as posts, not a formal report.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.