Fabric Skill
Setup Check - Fabric Repository
IMPORTANT: Before using this skill, verify the Fabric repository is available:
# Check if Fabric repo exists if [ ! -d "$HOME/.claude/skills/fabric/fabric-repo" ]; then echo "Fabric repository not found. Cloning..." cd "$HOME/.claude/skills/fabric" git clone https://github.com/danielmiessler/fabric.git fabric-repo echo "Fabric repository cloned successfully." else echo "Fabric repository found at $HOME/.claude/skills/fabric/fabric-repo" fi
If the repo doesn't exist, clone it immediately before proceeding with any pattern selection.
When to Activate This Skill
Primary Use Cases:
- •"Create a threat model for..."
- •"Summarize this article/video/paper..."
- •"Extract wisdom/insights from..."
- •"Analyze this [code/malware/claims/debate]..."
- •"Improve my writing/code/prompt..."
- •"Create a [visualization/summary/report]..."
- •"Rate/review/judge this content..."
The Goal: Select the RIGHT pattern from 242+ available patterns based on what you're trying to accomplish.
🎯 Pattern Selection Strategy
When a user requests Fabric processing, follow this decision tree:
1. Identify Intent Category
Threat Modeling & Security:
- •Threat model →
create_threat_modelorcreate_stride_threat_model - •Threat scenarios →
create_threat_scenarios - •Security update →
create_security_update - •Security rules →
create_sigma_rules,write_nuclei_template_rule,write_semgrep_rule - •Threat analysis →
analyze_threat_report,analyze_threat_report_trends
Summarization:
- •General summary →
summarize - •5-sentence summary →
create_5_sentence_summary - •Micro summary →
create_micro_summaryorsummarize_micro - •Meeting →
summarize_meeting - •Paper/research →
summarize_paper - •Video/YouTube →
youtube_summary - •Newsletter →
summarize_newsletter - •Code changes →
summarize_git_changesorsummarize_git_diff
Wisdom Extraction:
- •General wisdom →
extract_wisdom - •Article wisdom →
extract_article_wisdom - •Book ideas →
extract_book_ideas - •Insights →
extract_insightsorextract_insights_dm - •Main idea →
extract_main_idea - •Recommendations →
extract_recommendations - •Controversial ideas →
extract_controversial_ideas
Analysis:
- •Malware →
analyze_malware - •Code →
analyze_codeorreview_code - •Claims →
analyze_claims - •Debate →
analyze_debate - •Logs →
analyze_logs - •Paper →
analyze_paper - •Threat report →
analyze_threat_report - •Product feedback →
analyze_product_feedback - •Sales call →
analyze_sales_call
Content Creation:
- •PRD →
create_prd - •Design document →
create_design_document - •User story →
create_user_story - •Visualization →
create_visualization,create_mermaid_visualization,create_markmap_visualization - •Essay →
write_essay - •Report finding →
create_report_finding - •Newsletter entry →
create_newsletter_entry
Improvement:
- •Writing →
improve_writing - •Academic writing →
improve_academic_writing - •Prompt →
improve_prompt - •Report finding →
improve_report_finding - •Code →
review_code
Rating/Evaluation:
- •AI response →
rate_ai_response - •Content quality →
rate_content - •Value assessment →
rate_value - •General judgment →
judge_output
2. Execute Pattern
# Basic format fabric [input] -p [selected_pattern] # From URL fabric -u "URL" -p [pattern] # From YouTube fabric -y "YOUTUBE_URL" -p [pattern] # From file cat file.txt | fabric -p [pattern] # Direct text fabric "your text here" -p [pattern]
📚 Pattern Categories (242 Total)
Threat Modeling & Security (15 patterns)
- •
create_threat_model- General threat modeling - •
create_stride_threat_model- STRIDE methodology - •
create_threat_scenarios- Threat scenario generation - •
create_security_update- Security update documentation - •
create_sigma_rules- SIGMA detection rules - •
write_nuclei_template_rule- Nuclei scanner templates - •
write_semgrep_rule- Semgrep static analysis rules - •
analyze_threat_report- Threat report analysis - •
analyze_threat_report_cmds- Extract commands from threat reports - •
analyze_threat_report_trends- Identify threat trends - •
t_threat_model_plans- Threat model for plans - •
ask_secure_by_design_questions- Secure by design questions - •
create_network_threat_landscape- Network threat landscape - •
analyze_incident- Incident analysis - •
analyze_risk- Risk analysis
Summarization (20 patterns)
- •
summarize- General summarization - •
create_5_sentence_summary- Ultra-concise 5-line summary - •
create_micro_summary- Micro summary - •
create_summary- Detailed summary - •
summarize_micro- Micro summarization - •
summarize_meeting- Meeting notes summary - •
summarize_paper- Academic paper summary - •
summarize_lecture- Lecture summary - •
summarize_newsletter- Newsletter summary - •
summarize_debate- Debate summary - •
summarize_legislation- Legislation summary - •
summarize_rpg_session- RPG session summary - •
summarize_board_meeting- Board meeting summary - •
summarize_git_changes- Git changes summary - •
summarize_git_diff- Git diff summary - •
summarize_pull-requests- PR summary - •
summarize_prompt- Prompt summary - •
youtube_summary- YouTube video summary - •
create_ul_summary- Unsupervised Learning summary - •
create_cyber_summary- Cybersecurity summary
Extraction (30+ patterns)
- •
extract_wisdom- General wisdom extraction - •
extract_article_wisdom- Article-specific wisdom - •
extract_book_ideas- Book ideas - •
extract_insights- General insights - •
extract_insights_dm- Daniel Miessler style insights - •
extract_main_idea- Core message - •
extract_recommendations- Recommendations - •
extract_ideas- Ideas from content - •
extract_questions- Questions raised - •
extract_predictions- Predictions made - •
extract_controversial_ideas- Controversial points - •
extract_business_ideas- Business opportunities - •
extract_skills- Skills mentioned - •
extract_patterns- Patterns identified - •
extract_sponsors- Sponsor mentions - •
extract_references- References cited - •
extract_instructions- Instructions from content - •
extract_jokes- Humor extraction - •
extract_primary_problem- Main problem - •
extract_primary_solution- Main solution - •
extract_product_features- Product features - •
extract_core_message- Core message - •
extract_algorithm_update_recommendations- Algorithm recommendations - •
extract_extraordinary_claims- Extraordinary claims - •
extract_most_redeeming_thing- Most valuable aspect
Analysis (35+ patterns)
- •
analyze_claims- Claim analysis - •
analyze_malware- Malware analysis - •
analyze_code- Code analysis - •
analyze_paper- Paper analysis - •
analyze_logs- Log analysis - •
analyze_debate- Debate analysis - •
analyze_incident- Incident analysis - •
analyze_comments- Comment analysis - •
analyze_answers- Answer analysis - •
analyze_email_headers- Email header analysis - •
analyze_military_strategy- Military strategy - •
analyze_mistakes- Mistake analysis - •
analyze_personality- Personality analysis - •
analyze_presentation- Presentation analysis - •
analyze_product_feedback- Product feedback - •
analyze_proposition- Proposition analysis - •
analyze_prose- Prose analysis - •
analyze_risk- Risk analysis - •
analyze_sales_call- Sales call analysis - •
analyze_spiritual_text- Spiritual text analysis - •
analyze_tech_impact- Tech impact analysis - •
analyze_threat_report- Threat report analysis - •
analyze_bill- Legislation analysis - •
analyze_candidates- Candidate analysis - •
analyze_cfp_submission- CFP submission analysis - •
analyze_terraform_plan- Terraform plan analysis - •
analyze_interviewer_techniques- Interviewer technique analysis
Creation (50+ patterns)
- •
create_prd- Product Requirements Document - •
create_design_document- Design documentation - •
create_user_story- User stories - •
create_coding_project- Coding project - •
create_coding_feature- Code features - •
create_mermaid_visualization- Mermaid diagrams - •
create_markmap_visualization- Markmap mindmaps - •
create_visualization- General visualizations - •
create_threat_model- Threat models - •
create_stride_threat_model- STRIDE threat models - •
create_threat_scenarios- Threat scenarios - •
create_report_finding- Report findings - •
create_newsletter_entry- Newsletter content - •
create_keynote- Keynote presentations - •
create_academic_paper- Academic papers - •
create_flash_cards- Study flashcards - •
create_quiz- Quizzes - •
create_graph_from_input- Graphs - •
create_tags- Content tags - •
create_art_prompt- Art generation prompts - •
create_command- CLI commands - •
create_pattern- Fabric patterns - •
create_logo- Logo designs - •
create_podcast_image- Podcast imagery - •
create_sigma_rules- SIGMA rules - •
create_video_chapters- Video chapters - •
create_upgrade_pack- Upgrade documentation
Improvement (10 patterns)
- •
improve_writing- General writing improvement - •
improve_academic_writing- Academic writing - •
improve_prompt- Prompt engineering - •
improve_report_finding- Report findings - •
review_code- Code review - •
review_design- Design review - •
refine_design_document- Design refinement - •
humanize- Humanize AI text - •
enrich_blog_post- Blog enhancement - •
clean_text- Text cleanup
Rating/Judgment (8 patterns)
- •
rate_ai_response- Rate AI outputs - •
rate_ai_result- Rate AI results - •
rate_content- Rate content quality - •
rate_value- Rate value proposition - •
judge_output- General judgment - •
label_and_rate- Label and rate - •
check_agreement- Agreement checking - •
arbiter-evaluate-quality- Quality evaluation
🔄 Updating Patterns
The Fabric repository is included in this skill at ${PAI_DIR}/skills/fabric/fabric-repo/.
To update patterns:
cd ${PAI_DIR}/skills/fabric/fabric-repo
git pull origin main
To see all available patterns:
ls ${PAI_DIR}/skills/fabric/fabric-repo/data/patterns/
# OR from your local Fabric install:
ls ~/.config/fabric/patterns/
💡 Usage Examples
Threat Modeling:
# User: "Create a threat model for our new API" fabric "API that handles user authentication and payment processing" -p create_threat_model
Summarization:
# User: "Summarize this blog post" fabric -u "https://example.com/blog-post" -p summarize # User: "Give me a 5-sentence summary" fabric -u "https://example.com/article" -p create_5_sentence_summary
Wisdom Extraction:
# User: "Extract wisdom from this video" fabric -y "https://youtube.com/watch?v=..." -p extract_wisdom # User: "What are the main ideas?" fabric -u "URL" -p extract_main_idea
Analysis:
# User: "Analyze this code for issues" fabric "$(cat code.py)" -p analyze_code # User: "Analyze these security claims" fabric "security claims text" -p analyze_claims
🎯 Pattern Selection Decision Matrix
| User Request Contains | Likely Intent | Recommended Patterns |
|---|---|---|
| "threat model" | Security modeling | create_threat_model, create_stride_threat_model |
| "summarize", "summary" | Summarization | summarize, create_5_sentence_summary |
| "extract wisdom", "insights" | Wisdom extraction | extract_wisdom, extract_insights |
| "analyze [X]" | Analysis | analyze_[X] (match X to pattern) |
| "improve", "enhance" | Improvement | improve_writing, improve_prompt |
| "create [visualization]" | Visualization | create_mermaid_visualization, create_markmap_visualization |
| "rate", "judge", "evaluate" | Rating | rate_content, judge_output |
| "main idea", "core message" | Core extraction | extract_main_idea, extract_core_message |
🚀 Advanced Usage
Pipe content through Fabric:
cat article.txt | fabric -p extract_wisdom pbpaste | fabric -p summarize curl -s "https://..." | fabric -p analyze_claims
Process YouTube videos:
# Fabric handles download + transcription + processing fabric -y "https://youtube.com/watch?v=..." -p youtube_summary
Chain patterns (manual):
# Extract then summarize fabric -u "URL" -p extract_wisdom > wisdom.txt cat wisdom.txt | fabric -p create_5_sentence_summary
📖 Supplementary Resources
Full Pattern List: ls ${PAI_DIR}/skills/fabric/fabric-repo/data/patterns/
Fabric Repo: ${PAI_DIR}/skills/fabric/fabric-repo/
Fabric Documentation: https://github.com/danielmiessler/fabric
Pattern Templates: See ${PAI_DIR}/skills/fabric/fabric-repo/data/patterns/official_pattern_template/
🔑 Key Insight
The skill's value is in selecting the RIGHT pattern for the task.
When user says "Create a threat model using Fabric", your job is to:
- •Recognize "threat model" intent
- •Know available options:
create_threat_model,create_stride_threat_model,create_threat_scenarios - •Select the best match (usually
create_threat_modelunless STRIDE specified) - •Execute:
fabric "[content]" -p create_threat_model
Not: "Here are the patterns, pick one"
Instead: "I'll use create_threat_model for this" → execute immediately