This skill should be used when matching user requirements to available skills from a compiled registry. It receives a skill registry (from registry-loader) and user requirements, then scores each skill based on capability alignment, producing prioritized matches with confidence scores. Triggers: "match skills to requirements", "find relevant skills for workflow", "which skill handles X", "score skill capabilities", "/build" (after registry load), "find skills for this task", "match my requirements to skills". Second step in looplia workflow building pipeline: takes user requirements and skill registry, recommends skill sequences with missions. Designs one workflow step → one skill-executor → multiple skills orchestration pattern.
Matches user requirements to available skills from a registry, scoring each skill based on capability alignment and producing prioritized recommendations with confidence scores. Triggers on phrases like "match skills to requirements" or after registry load with "/build".
/plugin marketplace add memorysaver/looplia-core/plugin install looplia-core@loopliaThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Match natural language requirements to available skills, designing an optimal workflow step sequence.
Parse user's workflow description, understand their intent, and recommend which skills should handle each part of the workflow. Output includes step IDs, skill names, missions, and data flow.
Extract from the user's description:
Input Types:
Processing Goals:
Output Format:
Read the plugin registry from registry-loader output (v0.7.0):
{
"plugins": [...],
"summary": { "totalSkills": N, "installedSkills": N, "availableSkills": N }
}
Build a capability index from skill descriptions and inferred capabilities.
Include installed status when scoring - prefer installed skills for immediate execution.
Score each skill by:
For each matched skill:
needs:)Order skills logically:
Ensure proper data dependencies.
If requirements can't be fully satisfied:
Provide:
{
"requirements": {
"inputType": "video transcript",
"goals": ["extract key points", "generate outline"],
"outputFormat": "structured JSON"
},
"recommendations": [
{
"skill": "media-reviewer",
"suggestedStepId": "analyze-content",
"goalId": "analyze",
"matchScore": 0.92,
"capabilities": ["content analysis", "theme extraction"],
"mission": "Deep analysis of video transcript. Extract key themes, quotes, and narrative structure.",
"rationale": "Primary skill for content understanding"
},
{
"skill": "idea-synthesis",
"suggestedStepId": "generate-ideas",
"goalId": "generate",
"matchScore": 0.85,
"capabilities": ["idea generation", "hooks and angles"],
"mission": "Generate hooks, angles, and questions from the analysis. Read user profile for personalization.",
"rationale": "Creates engaging content ideas from analysis"
}
],
"suggestedSequence": ["analyze-content", "generate-ideas", "build-output"],
"dataFlow": {
"analyze-content": {
"needs": [],
"provides": "analysis.json"
},
"generate-ideas": {
"needs": ["analyze-content"],
"provides": "ideas.json"
},
"build-output": {
"needs": ["analyze-content", "generate-ideas"],
"provides": "output.json"
}
},
"gaps": [],
"customSkillNeeded": false,
"clarificationNeeded": true,
"clarifications": {
"sections": [
{
"id": "input",
"title": "Input",
"completed": false,
"questions": [
{
"id": "content-type",
"text": "What type of content will this workflow process?",
"type": "single-select",
"options": [
{ "id": "video", "label": "Video transcripts", "inferred": true },
{ "id": "audio", "label": "Audio transcripts" },
{ "id": "text", "label": "Text articles" },
{ "id": "web", "label": "Web pages (fetched via search)" }
],
"reason": "Inferred 'video' from description, confirm or change"
}
]
},
{
"id": "goals",
"title": "Goals",
"completed": false,
"questions": [
{
"id": "primary-goal",
"text": "What are the primary goals for this workflow?",
"type": "multi-select",
"options": [
{ "id": "analyze", "label": "Analyze and extract key insights" },
{ "id": "summarize", "label": "Create structured summaries" },
{ "id": "generate", "label": "Generate creative content ideas" },
{ "id": "document", "label": "Build comprehensive reports" }
]
},
{
"id": "depth",
"text": "How deep should the analysis be?",
"type": "single-select",
"options": [
{ "id": "quick", "label": "Quick overview (1-2 key points)" },
{ "id": "standard", "label": "Standard analysis (5-7 key points)" },
{ "id": "deep", "label": "Deep analysis (comprehensive)" }
]
}
]
},
{
"id": "output",
"title": "Output",
"completed": false,
"questions": [
{
"id": "format",
"text": "What output format do you need?",
"type": "single-select",
"options": [
{ "id": "json", "label": "Structured JSON" },
{ "id": "markdown", "label": "Markdown document" },
{ "id": "both", "label": "Both JSON and Markdown" }
]
}
]
},
{
"id": "review",
"title": "Review",
"completed": false,
"questions": []
}
]
}
}
| Match Type | Score |
|---|---|
| Exact capability match | 0.9-1.0 |
| Strong description overlap | 0.7-0.9 |
| Partial capability match | 0.5-0.7 |
| Weak/inferred match | 0.3-0.5 |
| No clear match | < 0.3 |
Use these concrete criteria when assigning scores:
confidence = (relevance * 0.5) + (completeness * 0.3) + (specificity * 0.2)
Minimum threshold: 60% - Skills below this should not be recommended.
Match requirements to skills beyond simple keyword matching:
Match conceptually equivalent terms:
Understand skill scope and specificity:
Focus on what user wants to accomplish, not just keywords:
| Scenario | Handling |
|---|---|
| No matches above 60% threshold | Return empty recommendations[] with gaps listing unmet needs |
| Multiple skills with identical scores | Prefer more specific skill (higher specificity score) |
| Ambiguous user requirements | Set clarificationNeeded: true with targeted questions |
| Skill matches multiple requirements | Include once with highest-scoring requirement as primary |
| Installed vs available skills | Prefer installed skills when scores are within 10% |
Each mission should:
Good mission example:
Deep analysis of video transcript. Extract key themes, important quotes with timestamps, and narrative structure. Focus on insights that would interest the user based on their profile.
Bad mission example:
Analyze the content.
goalId linking it to a clarification goalWhen user requirements are ambiguous, include clarifying questions in the response. The wizard UI uses these to gather additional context before generating the final workflow.
| Field | Type | Description |
|---|---|---|
clarificationNeeded | boolean | Whether clarifying questions should be shown |
clarifications.sections | Section[] | Tab-based sections for wizard navigation |
{
"id": "goals",
"title": "Goals",
"completed": false,
"questions": [...]
}
{
"id": "primary-goal",
"text": "What are the primary goals for this workflow?",
"type": "single-select | multi-select | text",
"options": [
{ "id": "analyze", "label": "Analyze and extract key insights", "inferred": true }
],
"reason": "Optional explanation for why this was inferred"
}
| Type | Description | Use Case |
|---|---|---|
single-select | One option only (●/○) | Content type, depth level |
multi-select | Multiple options (✓/☐) | Goals, features to include |
text | Free-form input | Custom names, descriptions |
Set inferred: true on options that match keywords in the user's description:
Each recommendation must include a goalId that links to a goal option:
{
"skill": "media-reviewer",
"suggestedStepId": "analyze-content",
"goalId": "analyze",
"matchScore": 0.92
}
This allows the wizard to filter recommendations based on selected goals in real-time.
When wizard answers are included in the enriched prompt (via "User clarifications: Q: ... A: ..."), these become structured preferences that MUST be incorporated into the workflow.
| Preference Category | Example Questions | How to Use |
|---|---|---|
| PLATFORMS | "Which social media platforms?" | Inject into social/output step missions |
| ARTICLE_COUNT | "How many articles/items?" | Inject into search/filter step missions |
| FOCUS_AREAS | "Which topics/areas to focus on?" | Inject into search and analysis missions |
| OUTPUT_FORMAT | "What format should output be?" | Inject into final output step mission |
| DEPTH | "How deep should analysis be?" | Adjust analysis step detail level |
When receiving an enriched prompt like:
User clarifications: Q: Which platforms? A: twitter, linkedin. Q: How many articles? A: top5. Q: Focus areas? A: llm, adoption.
Extract as structured data:
PLATFORMS: twitter, linkedin
ARTICLE_COUNT: 5
FOCUS_AREAS: llm, adoption
WITHOUT preferences (BAD):
Search for AI news articles.
WITH preferences (GOOD):
Search for top 5 AI news articles focusing on LLM developments and adoption trends.
WITHOUT preferences (BAD):
Compile findings into a report.
WITH preferences (GOOD):
Create engaging social media posts optimized for twitter and linkedin, focusing on LLM and adoption angles.
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.