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:
- Identify Intent Category
Threat Modeling & Security:
-
Threat model → create_threat_model or create_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_summary or summarize_micro
-
Meeting → summarize_meeting
-
Paper/research → summarize_paper
-
Video/YouTube → youtube_summary
-
Newsletter → summarize_newsletter
-
Code changes → summarize_git_changes or summarize_git_diff
Wisdom Extraction:
-
General wisdom → extract_wisdom
-
Article wisdom → extract_article_wisdom
-
Book ideas → extract_book_ideas
-
Insights → extract_insights or extract_insights_dm
-
Main idea → extract_main_idea
-
Recommendations → extract_recommendations
-
Controversial ideas → extract_controversial_ideas
Analysis:
-
Malware → analyze_malware
-
Code → analyze_code or review_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
- 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_model unless 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