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 →
createthreatmodel or createstridethreat_model
- Threat scenarios →
createthreatscenarios
- Security update →
createsecurityupdate
- Security rules →
createsigmarules, writenucleitemplaterule, writesemgrep_rule
- Threat analysis →
analyzethreatreport, analyzethreatreport_trends
Summarization:
- General summary →
summarize
- 5-sentence summary →
create5sentence_summary
- Micro summary →
createmicrosummary or summarize_micro
- Meeting →
summarize_meeting
- Paper/research →
summarize_paper
- Video/YouTube →
youtube_summary
- Newsletter →
summarize_newsletter
- Code changes →
summarizegitchanges or summarizegitdiff
Wisdom Extraction:
- General wisdom →
extract_wisdom
- Article wisdom →
extractarticlewisdom
- Book ideas →
extractbookideas
- Insights →
extractinsights or extractinsights_dm
- Main idea →
extractmainidea
- Recommendations →
extract_recommendations
- Controversial ideas →
extractcontroversialideas
Analysis:
- Malware →
analyze_malware
- Code →
analyzecode or reviewcode
- Claims →
analyze_claims
- Debate →
analyze_debate
- Logs →
analyze_logs
- Paper →
analyze_paper
- Threat report →
analyzethreatreport
- Product feedback →
analyzeproductfeedback
- Sales call →
analyzesalescall
Content Creation:
- PRD →
create_prd
- Design document →
createdesigndocument
- User story →
createuserstory
- Visualization →
createvisualization, createmermaidvisualization, createmarkmap_visualization
- Essay →
write_essay
- Report finding →
createreportfinding
- Newsletter entry →
createnewsletterentry
Improvement:
- Writing →
improve_writing
- Academic writing →
improveacademicwriting
- Prompt →
improve_prompt
- Report finding →
improvereportfinding
- Code →
review_code
Rating/Evaluation:
- AI response →
rateairesponse
- 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)
createthreatmodel - General threat modeling
createstridethreat_model - STRIDE methodology
createthreatscenarios - Threat scenario generation
createsecurityupdate - Security update documentation
createsigmarules - SIGMA detection rules
writenucleitemplate_rule - Nuclei scanner templates
writesemgreprule - Semgrep static analysis rules
analyzethreatreport - Threat report analysis
analyzethreatreport_cmds - Extract commands from threat reports
analyzethreatreport_trends - Identify threat trends
tthreatmodel_plans - Threat model for plans
asksecurebydesignquestions - Secure by design questions
createnetworkthreat_landscape - Network threat landscape
analyze_incident - Incident analysis
analyze_risk - Risk analysis
Summarization (20 patterns)
summarize - General summarization
create5sentence_summary - Ultra-concise 5-line summary
createmicrosummary - 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
summarizerpgsession - RPG session summary
summarizeboardmeeting - Board meeting summary
summarizegitchanges - Git changes summary
summarizegitdiff - Git diff summary
summarize_pull-requests - PR summary
summarize_prompt - Prompt summary
youtube_summary - YouTube video summary
createulsummary - Unsupervised Learning summary
createcybersummary - Cybersecurity summary
Extraction (30+ patterns)
extract_wisdom - General wisdom extraction
extractarticlewisdom - Article-specific wisdom
extractbookideas - Book ideas
extract_insights - General insights
extractinsightsdm - Daniel Miessler style insights
extractmainidea - Core message
extract_recommendations - Recommendations
extract_ideas - Ideas from content
extract_questions - Questions raised
extract_predictions - Predictions made
extractcontroversialideas - Controversial points
extractbusinessideas - 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
extractprimaryproblem - Main problem
extractprimarysolution - Main solution
extractproductfeatures - Product features
extractcoremessage - Core message
extractalgorithmupdate_recommendations - Algorithm recommendations
extractextraordinaryclaims - Extraordinary claims
extractmostredeeming_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
analyzeemailheaders - Email header analysis
analyzemilitarystrategy - Military strategy
analyze_mistakes - Mistake analysis
analyze_personality - Personality analysis
analyze_presentation - Presentation analysis
analyzeproductfeedback - Product feedback
analyze_proposition - Proposition analysis
analyze_prose - Prose analysis
analyze_risk - Risk analysis
analyzesalescall - Sales call analysis
analyzespiritualtext - Spiritual text analysis
analyzetechimpact - Tech impact analysis
analyzethreatreport - Threat report analysis
analyze_bill - Legislation analysis
analyze_candidates - Candidate analysis
analyzecfpsubmission - CFP submission analysis
analyzeterraformplan - Terraform plan analysis
analyzeinterviewertechniques - Interviewer technique analysis
Creation (50+ patterns)
create_prd - Product Requirements Document
createdesigndocument - Design documentation
createuserstory - User stories
createcodingproject - Coding project
createcodingfeature - Code features
createmermaidvisualization - Mermaid diagrams
createmarkmapvisualization - Markmap mindmaps
create_visualization - General visualizations
createthreatmodel - Threat models
createstridethreat_model - STRIDE threat models
createthreatscenarios - Threat scenarios
createreportfinding - Report findings
createnewsletterentry - Newsletter content
create_keynote - Keynote presentations
createacademicpaper - Academic papers
createflashcards - Study flashcards
create_quiz - Quizzes
creategraphfrom_input - Graphs
create_tags - Content tags
createartprompt - Art generation prompts
create_command - CLI commands
create_pattern - Fabric patterns
create_logo - Logo designs
createpodcastimage - Podcast imagery
createsigmarules - SIGMA rules
createvideochapters - Video chapters
createupgradepack - Upgrade documentation
Improvement (10 patterns)
improve_writing - General writing improvement
improveacademicwriting - Academic writing
improve_prompt - Prompt engineering
improvereportfinding - Report findings
review_code - Code review
review_design - Design review
refinedesigndocument - Design refinement
humanize - Humanize AI text
enrichblogpost - Blog enhancement
clean_text - Text cleanup
Rating/Judgment (8 patterns)
rateairesponse - Rate AI outputs
rateairesult - Rate AI results
rate_content - Rate content quality
rate_value - Rate value proposition
judge_output - General judgment
labelandrate - Label and rate
check_agreement - Agreement checking
arbiter-evaluate-quality - Quality evaluation
🔄 Updating Patterns
The Fabric repository is included as a snapshot in ${PAI_DIR}/skills/fabric/fabric-repo/.
To update to latest patterns:
# Clone fresh Fabric repo
cd /tmp
git clone --depth 1 https://github.com/danielmiessler/fabric.git
# Copy new patterns to PAI
rm -rf ${PAI_DIR}/skills/fabric/fabric-repo
cp -r fabric ${PAI_DIR}/skills/fabric/fabric-repo
# Cleanup
rm -rf /tmp/fabric
Or install Fabric separately and use local patterns:
# If you have Fabric installed locally
go install github.com/danielmiessler/fabric@latest
fabric --updatepatterns
# Patterns will be in ~/.config/fabric/patterns/
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 |
createthreatmodel, createstridethreat_model |
| "summarize", "summary" |
Summarization |
summarize, create5sentence_summary |
| "extract wisdom", "insights" |
Wisdom extraction |
extractwisdom, extractinsights |
| "analyze [X]" |
Analysis |
analyze_[X] (match X to pattern) |
| "improve", "enhance" |
Improvement |
improvewriting, improveprompt |
| "create [visualization]" |
Visualization |
createmermaidvisualization, createmarkmapvisualization |
| "rate", "judge", "evaluate" |
Rating |
ratecontent, judgeoutput |
| "main idea", "core message" |
Core extraction |
extractmainidea, extractcoremessage |
🚀 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 ${PAIDIR}/skills/fabric/fabric-repo/data/patterns/ Fabric Repo: ${PAIDIR}/skills/fabric/fabric-repo/ Fabric Documentation: https://github.com/danielmiessler/fabric Pattern Templates: See ${PAIDIR}/skills/fabric/fabric-repo/data/patterns/officialpattern_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:
createthreatmodel, createstridethreatmodel, createthreat_scenarios
- Select the best match (usually
createthreatmodel unless STRIDE specified)
- Execute:
fabric "[content]" -p createthreatmodel
Not: "Here are the patterns, pick one" Instead: "I'll use createthreatmodel for this" → execute immediately