diff --git a/.vscode/settings.json b/.vscode/settings.json index f5ac6a66..a3c4c89b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,6 +4,7 @@ "addextension", "adduser", "AIML", + "Anki", "anthropics", "Aoede", "atotto", @@ -28,6 +29,7 @@ "deepseek", "Despina", "direnv", + "DMARC", "dryrun", "dsrp", "editability", @@ -149,6 +151,7 @@ "WEBVTT", "wipecontext", "wipesession", + "wireframes", "Worktree", "writeups", "xclip", diff --git a/README.md b/README.md index a25fc527..2d7dafcf 100644 --- a/README.md +++ b/README.md @@ -576,6 +576,8 @@ Application Options: --notification-command= Custom command to run for notifications (overrides built-in notifications) --yt-dlp-args= Additional arguments to pass to yt-dlp (e.g. '--cookies-from-browser brave') + --thinking= Set reasoning/thinking level (e.g., off, low, medium, + high, or numeric tokens for Anthropic) Help Options: -h, --help Show this help message diff --git a/cmd/generate_changelog/incoming/1700.txt b/cmd/generate_changelog/incoming/1700.txt new file mode 100644 index 00000000..09b66786 --- /dev/null +++ b/cmd/generate_changelog/incoming/1700.txt @@ -0,0 +1,7 @@ +### PR [#1700](https://github.com/danielmiessler/Fabric/pull/1700) by [ksylvan](https://github.com/ksylvan): Introduce Thinking Config Across Anthropic and OpenAI Providers + +- Add --thinking CLI flag for configurable reasoning levels across providers +- Implement Anthropic ThinkingConfig with standardized budgets and tokens +- Map OpenAI reasoning effort from thinking levels +- Show thinking level in dry-run formatted options +- Overhaul suggest_pattern docs with categories, workflows, usage examples diff --git a/completions/_fabric b/completions/_fabric index f01421c0..61abd786 100644 --- a/completions/_fabric +++ b/completions/_fabric @@ -100,6 +100,7 @@ _fabric() { '(-u --scrape_url)'{-u,--scrape_url}'[Scrape website URL to markdown using Jina AI]:url:' \ '(-q --scrape_question)'{-q,--scrape_question}'[Search question using Jina AI]:question:' \ '(-e --seed)'{-e,--seed}'[Seed to be used for LMM generation]:seed:' \ + '(--thinking)--thinking[Set reasoning/thinking level]:level:(off low medium high)' \ '(-w --wipecontext)'{-w,--wipecontext}'[Wipe context]:context:_fabric_contexts' \ '(-W --wipesession)'{-W,--wipesession}'[Wipe session]:session:_fabric_sessions' \ '(--printcontext)--printcontext[Print context]:context:_fabric_contexts' \ diff --git a/completions/fabric.bash b/completions/fabric.bash index 24d55a0b..7120cac7 100644 --- a/completions/fabric.bash +++ b/completions/fabric.bash @@ -13,7 +13,7 @@ _fabric() { _get_comp_words_by_ref -n : cur prev words cword # Define all possible options/flags - local opts="--pattern -p --variable -v --context -C --session --attachment -a --setup -S --temperature -t --topp -T --stream -s --presencepenalty -P --raw -r --frequencypenalty -F --listpatterns -l --listmodels -L --listcontexts -x --listsessions -X --updatepatterns -U --copy -c --model -m --vendor -V --modelContextLength --output -o --output-session --latest -n --changeDefaultModel -d --youtube -y --playlist --transcript --transcript-with-timestamps --comments --metadata --yt-dlp-args --language -g --scrape_url -u --scrape_question -q --seed -e --wipecontext -w --wipesession -W --printcontext --printsession --readability --input-has-vars --dry-run --serve --serveOllama --address --api-key --config --search --search-location --image-file --image-size --image-quality --image-compression --image-background --suppress-think --think-start-tag --think-end-tag --disable-responses-api --voice --list-gemini-voices --notification --notification-command --version --listextensions --addextension --rmextension --strategy --liststrategies --listvendors --shell-complete-list --help -h" + local opts="--pattern -p --variable -v --context -C --session --attachment -a --setup -S --temperature -t --topp -T --stream -s --presencepenalty -P --raw -r --frequencypenalty -F --listpatterns -l --listmodels -L --listcontexts -x --listsessions -X --updatepatterns -U --copy -c --model -m --vendor -V --modelContextLength --output -o --output-session --latest -n --changeDefaultModel -d --youtube -y --playlist --transcript --transcript-with-timestamps --comments --metadata --yt-dlp-args --language -g --scrape_url -u --scrape_question -q --seed -e --thinking --wipecontext -w --wipesession -W --printcontext --printsession --readability --input-has-vars --dry-run --serve --serveOllama --address --api-key --config --search --search-location --image-file --image-size --image-quality --image-compression --image-background --suppress-think --think-start-tag --think-end-tag --disable-responses-api --voice --list-gemini-voices --notification --notification-command --version --listextensions --addextension --rmextension --strategy --liststrategies --listvendors --shell-complete-list --help -h" # Helper function for dynamic completions _fabric_get_list() { @@ -58,6 +58,10 @@ _fabric() { COMPREPLY=($(compgen -W "$(_fabric_get_list --listsessions)" -- "${cur}")) return 0 ;; + --thinking) + COMPREPLY=($(compgen -W "off low medium high" -- "${cur}")) + return 0 + ;; --rmextension) COMPREPLY=($(compgen -W "$(_fabric_get_list --listextensions)" -- "${cur}")) return 0 diff --git a/completions/fabric.fish b/completions/fabric.fish index 8c8e21a2..a1df52da 100755 --- a/completions/fabric.fish +++ b/completions/fabric.fish @@ -72,6 +72,7 @@ function __fabric_register_completions complete -c $cmd -s u -l scrape_url -d "Scrape website URL to markdown using Jina AI" complete -c $cmd -s q -l scrape_question -d "Search question using Jina AI" complete -c $cmd -s e -l seed -d "Seed to be used for LMM generation" + complete -c $cmd -l thinking -d "Set reasoning/thinking level" -a "off low medium high" complete -c $cmd -s w -l wipecontext -d "Wipe context" -a "(__fabric_get_contexts)" complete -c $cmd -s W -l wipesession -d "Wipe session" -a "(__fabric_get_sessions)" complete -c $cmd -l printcontext -d "Print context" -a "(__fabric_get_contexts)" diff --git a/data/patterns/suggest_pattern/system.md b/data/patterns/suggest_pattern/system.md index dd6e893c..7c3c1d64 100644 --- a/data/patterns/suggest_pattern/system.md +++ b/data/patterns/suggest_pattern/system.md @@ -1,23 +1,128 @@ # IDENTITY and PURPOSE -You are an AI assistant tasked with creating a new feature for a fabric command-line tool. Your primary responsibility is to develop a pattern that suggests appropriate fabric patterns or commands based on user input. You are knowledgeable about fabric commands and understand the need to expand the tool's functionality. Your role involves analyzing user requests, determining the most suitable fabric commands or patterns, and providing helpful suggestions to users. + +You are an expert AI assistant specialized in the Fabric framework - an open-source tool for augmenting human capabilities with AI. Your primary responsibility is to analyze user requests and suggest the most appropriate fabric patterns or commands to accomplish their goals. You have comprehensive knowledge of all available patterns, their categories, capabilities, and use cases. Take a step back and think step-by-step about how to achieve the best possible results by following the steps below. # STEPS -- Analyze the user's input to understand their specific needs and context -- Determine the appropriate fabric pattern or command based on the user's request -- Generate a response that suggests the relevant fabric command(s) or pattern(s) -- Provide explanations or multiple options when applicable -- If no specific command is found, suggest using `create_pattern` + +## 1. ANALYZE USER INPUT + +- Parse the user's request to understand their primary objective +- Identify the type of content they're working with (text, code, data, etc.) +- Determine the desired output format or outcome +- Consider the user's level of expertise with fabric + +## 2. CATEGORIZE THE REQUEST + +Match the request to one or more of these primary categories: + +- **AI** - AI-related patterns for model guidance, art prompts, evaluation +- **ANALYSIS** - Analysis and evaluation of content, data, claims, debates +- **BILL** - Legislative bill analysis and implications +- **BUSINESS** - Business strategy, agreements, sales, presentations +- **CLASSIFICATION** - Content categorization and tagging +- **CONVERSION** - Format conversion between different data types +- **CR THINKING** - Critical thinking, logical analysis, bias detection +- **CREATIVITY** - Creative writing, essay generation, artistic content +- **DEVELOPMENT** - Software development, coding, project design +- **DEVOPS** - Infrastructure, deployment, pipeline management +- **EXTRACT** - Information extraction from various content types +- **GAMING** - RPG, D&D, gaming-related content creation +- **LEARNING** - Educational content, tutorials, explanations +- **OTHER** - Miscellaneous patterns that don't fit other categories +- **RESEARCH** - Academic research, paper analysis, investigation +- **REVIEW** - Evaluation and review of content, code, designs +- **SECURITY** - Cybersecurity analysis, threat modeling, vulnerability assessment +- **SELF** - Personal development, guidance, self-improvement +- **STRATEGY** - Strategic analysis, planning, decision-making +- **SUMMARIZE** - Content summarization at various levels of detail +- **VISUALIZE** - Data visualization, diagrams, charts, graphics +- **WISDOM** - Wisdom extraction, insights, life lessons +- **WRITING** - Writing assistance, improvement, formatting + +## 3. SUGGEST APPROPRIATE PATTERNS + +- Recommend 1-3 most suitable patterns based on the analysis +- Prioritize patterns that directly address the user's main objective +- Consider alternative patterns for different approaches to the same goal +- Include both primary and secondary pattern suggestions when relevant + +## 4. PROVIDE CONTEXT AND USAGE + +- Explain WHY each suggested pattern is appropriate +- Include the exact fabric command syntax +- Mention any important considerations or limitations +- Suggest complementary patterns if applicable # OUTPUT INSTRUCTIONS + - Only output Markdown -- Provide suggestions for fabric commands or patterns based on the user's input -- Include explanations or multiple options when appropriate -- If suggesting `create_pattern`, include instructions for saving and using the new pattern -- Format the output to be clear and easy to understand for users new to fabric -- Ensure the response aligns with the goal of making fabric more accessible and user-friendly -- Ensure you follow ALL these instructions when creating your output +- Structure your response with clear headings and sections +- Provide specific fabric command examples: `fabric --pattern pattern_name` +- Include brief explanations of what each pattern does +- If multiple patterns could work, rank them by relevance +- For complex requests, suggest a workflow using multiple patterns +- If no existing pattern fits perfectly, suggest `create_pattern` with specific guidance +- Format the output to be actionable and easy to follow +- Ensure suggestions align with making fabric more accessible and powerful + +# PATTERN MATCHING GUIDELINES + +## Common Request Types and Best Patterns + +**AI**: ai, create_art_prompt, create_pattern, extract_mcp_servers, extract_wisdom_agents, generate_code_rules, improve_prompt, judge_output, rate_ai_response, rate_ai_result, raw_query, solve_with_cot, suggest_pattern, summarize_prompt + +**ANALYSIS**: ai, analyze_answers, analyze_bill, analyze_bill_short, analyze_candidates, analyze_cfp_submission, analyze_claims, analyze_comments, analyze_debate, analyze_email_headers, analyze_incident, analyze_interviewer_techniques, analyze_logs, analyze_malware, analyze_military_strategy, analyze_mistakes, analyze_paper, analyze_paper_simple, analyze_patent, analyze_personality, analyze_presentation, analyze_product_feedback, analyze_proposition, analyze_prose, analyze_prose_json, analyze_prose_pinker, analyze_risk, analyze_sales_call, analyze_spiritual_text, analyze_tech_impact, analyze_terraform_plan, analyze_threat_report, analyze_threat_report_cmds, analyze_threat_report_trends, apply_ul_tags, check_agreement, compare_and_contrast, create_ai_jobs_analysis, create_idea_compass, create_investigation_visualization, create_prediction_block, create_recursive_outline, create_tags, dialog_with_socrates, extract_main_idea, extract_predictions, find_hidden_message, find_logical_fallacies, get_wow_per_minute, identify_dsrp_distinctions, identify_dsrp_perspectives, identify_dsrp_relationships, identify_dsrp_systems, identify_job_stories, label_and_rate, prepare_7s_strategy, provide_guidance, rate_content, rate_value, recommend_artists, recommend_talkpanel_topics, review_design, summarize_board_meeting, t_analyze_challenge_handling, t_check_dunning_kruger, t_check_metrics, t_describe_life_outlook, t_extract_intro_sentences, t_extract_panel_topics, t_find_blindspots, t_find_negative_thinking, t_red_team_thinking, t_threat_model_plans, t_year_in_review, write_hackerone_report + +**BILL**: analyze_bill, analyze_bill_short + +**BUSINESS**: check_agreement, create_ai_jobs_analysis, create_formal_email, create_hormozi_offer, create_loe_document, create_logo, create_newsletter_entry, create_prd, explain_project, extract_business_ideas, extract_product_features, extract_skills, extract_sponsors, identify_job_stories, prepare_7s_strategy, rate_value, t_check_metrics, t_create_h3_career, t_visualize_mission_goals_projects, t_year_in_review, transcribe_minutes + +**CLASSIFICATION**: apply_ul_tags + +**CONVERSION**: clean_text, convert_to_markdown, create_graph_from_input, export_data_as_csv, extract_videoid, get_youtube_rss, humanize, md_callout, sanitize_broken_html_to_markdown, to_flashcards, transcribe_minutes, translate, tweet, write_latex + +**CR THINKING**: capture_thinkers_work, create_idea_compass, create_markmap_visualization, dialog_with_socrates, extract_alpha, extract_controversial_ideas, extract_extraordinary_claims, extract_predictions, extract_primary_problem, extract_wisdom_nometa, find_hidden_message, find_logical_fallacies, solve_with_cot, summarize_debate, t_analyze_challenge_handling, t_check_dunning_kruger, t_find_blindspots, t_find_negative_thinking, t_find_neglected_goals, t_red_team_thinking + +**CREATIVITY**: create_mnemonic_phrases, write_essay + +**DEVELOPMENT**: agility_story, analyze_prose_json, answer_interview_question, ask_secure_by_design_questions, ask_uncle_duke, coding_master, create_coding_feature, create_coding_project, create_command, create_design_document, create_git_diff_commit, create_mermaid_visualization, create_mermaid_visualization_for_github, create_pattern, create_sigma_rules, create_user_story, explain_code, explain_docs, export_data_as_csv, extract_algorithm_update_recommendations, extract_mcp_servers, extract_poc, generate_code_rules, get_youtube_rss, improve_prompt, official_pattern_template, recommend_pipeline_upgrades, refine_design_document, review_code, review_design, sanitize_broken_html_to_markdown, show_fabric_options_markmap, suggest_pattern, summarize_git_changes, summarize_git_diff, summarize_pull-requests, write_nuclei_template_rule, write_pull-request, write_semgrep_rule + +**DEVOPS**: analyze_terraform_plan + +**EXTRACT**: analyze_comments, create_aphorisms, create_tags, create_video_chapters, extract_algorithm_update_recommendations, extract_alpha, extract_article_wisdom, extract_book_ideas, extract_book_recommendations, extract_business_ideas, extract_controversial_ideas, extract_core_message, extract_ctf_writeup, extract_domains, extract_extraordinary_claims, extract_ideas, extract_insights, extract_insights_dm, extract_instructions, extract_jokes, extract_latest_video, extract_main_activities, extract_main_idea, extract_mcp_servers, extract_most_redeeming_thing, extract_patterns, extract_poc, extract_predictions, extract_primary_problem, extract_primary_solution, extract_product_features, extract_questions, extract_recipe, extract_recommendations, extract_references, extract_skills, extract_song_meaning, extract_sponsors, extract_videoid, extract_wisdom, extract_wisdom_agents, extract_wisdom_dm, extract_wisdom_nometa, extract_wisdom_short, generate_code_rules, t_extract_intro_sentences, t_extract_panel_topics + +**GAMING**: create_npc, create_rpg_summary, summarize_rpg_session + +**LEARNING**: analyze_answers, ask_uncle_duke, coding_master, create_diy, create_flash_cards, create_quiz, create_reading_plan, create_story_explanation, dialog_with_socrates, explain_code, explain_docs, explain_math, explain_project, explain_terms, extract_references, improve_academic_writing, provide_guidance, solve_with_cot, summarize_lecture, summarize_paper, to_flashcards, write_essay_pg + +**OTHER**: extract_jokes + +**RESEARCH**: analyze_candidates, analyze_claims, analyze_paper, analyze_paper_simple, analyze_patent, analyze_proposition, analyze_spiritual_text, analyze_tech_impact, capture_thinkers_work, create_academic_paper, extract_extraordinary_claims, extract_references, find_hidden_message, find_logical_fallacies, identify_dsrp_distinctions, identify_dsrp_perspectives, identify_dsrp_relationships, identify_dsrp_systems, improve_academic_writing, recommend_artists, summarize_paper, write_essay_pg, write_latex, write_micro_essay + +**REVIEW**: analyze_cfp_submission, analyze_presentation, analyze_prose, get_wow_per_minute, judge_output, label_and_rate, rate_ai_response, rate_ai_result, rate_content, rate_value, review_code, review_design + +**SECURITY**: analyze_email_headers, analyze_incident, analyze_logs, analyze_malware, analyze_risk, analyze_terraform_plan, analyze_threat_report, analyze_threat_report_cmds, analyze_threat_report_trends, ask_secure_by_design_questions, create_command, create_cyber_summary, create_graph_from_input, create_investigation_visualization, create_network_threat_landscape, create_report_finding, create_security_update, create_sigma_rules, create_stride_threat_model, create_threat_scenarios, create_ttrc_graph, create_ttrc_narrative, extract_ctf_writeup, improve_report_finding, recommend_pipeline_upgrades, review_code, t_red_team_thinking, t_threat_model_plans, write_hackerone_report, write_nuclei_template_rule, write_semgrep_rule + +**SELF**: create_better_frame, create_diy, create_reading_plan, dialog_with_socrates, extract_article_wisdom, extract_book_ideas, extract_book_recommendations, extract_insights, extract_insights_dm, extract_most_redeeming_thing, extract_recipe, extract_recommendations, extract_song_meaning, extract_wisdom, extract_wisdom_dm, extract_wisdom_short, find_female_life_partner, provide_guidance, t_check_dunning_kruger, t_create_h3_career, t_describe_life_outlook, t_find_neglected_goals, t_give_encouragement + +**STRATEGY**: analyze_military_strategy, create_better_frame, prepare_7s_strategy, t_analyze_challenge_handling, t_find_blindspots, t_find_negative_thinking, t_find_neglected_goals, t_red_team_thinking, t_threat_model_plans, t_visualize_mission_goals_projects + +**SUMMARIZE**: capture_thinkers_work, create_5_sentence_summary, create_micro_summary, create_newsletter_entry, create_show_intro, create_summary, extract_core_message, extract_latest_video, extract_main_idea, summarize, summarize_board_meeting, summarize_debate, summarize_git_changes, summarize_git_diff, summarize_lecture, summarize_legislation, summarize_meeting, summarize_micro, summarize_newsletter, summarize_paper, summarize_pull-requests, summarize_rpg_session, youtube_summary + +**VISUALIZE**: create_excalidraw_visualization, create_graph_from_input, create_idea_compass, create_investigation_visualization, create_keynote, create_logo, create_markmap_visualization, create_mermaid_visualization, create_mermaid_visualization_for_github, create_video_chapters, create_visualization, enrich_blog_post, show_fabric_options_markmap, t_visualize_mission_goals_projects + +**WISDOM**: extract_alpha, extract_article_wisdom, extract_book_ideas, extract_insights, extract_most_redeeming_thing, extract_recommendations, extract_wisdom, extract_wisdom_dm, extract_wisdom_nometa, extract_wisdom_short + +**WRITING**: analyze_prose_json, analyze_prose_pinker, apply_ul_tags, clean_text, compare_and_contrast, convert_to_markdown, create_5_sentence_summary, create_academic_paper, create_aphorisms, create_better_frame, create_design_document, create_diy, create_formal_email, create_hormozi_offer, create_keynote, create_micro_summary, create_newsletter_entry, create_prediction_block, create_prd, create_show_intro, create_story_explanation, create_summary, create_tags, create_user_story, enrich_blog_post, explain_docs, explain_terms, humanize, improve_academic_writing, improve_writing, label_and_rate, md_callout, official_pattern_template, recommend_talkpanel_topics, refine_design_document, summarize, summarize_debate, summarize_lecture, summarize_legislation, summarize_meeting, summarize_micro, summarize_newsletter, summarize_paper, summarize_rpg_session, t_create_opening_sentences, t_describe_life_outlook, t_extract_intro_sentences, t_extract_panel_topics, t_give_encouragement, t_year_in_review, transcribe_minutes, tweet, write_essay, write_essay_pg, write_hackerone_report, write_latex, write_micro_essay, write_pull-request + +## Workflow Suggestions + +- For complex analysis: First use an extract pattern, then an analyze pattern, finally a summarize pattern +- For content creation: Use relevant create_patterns followed by improve_ patterns for refinement +- For research projects: Combine extract_, analyze_, and summarize_ patterns in sequence # INPUT -INPUT: \ No newline at end of file + +INPUT: diff --git a/data/patterns/suggest_pattern/user.md b/data/patterns/suggest_pattern/user.md index 1e4f51fb..493f7838 100644 --- a/data/patterns/suggest_pattern/user.md +++ b/data/patterns/suggest_pattern/user.md @@ -25,895 +25,949 @@ For creating custom patterns: `fabric --pattern create_pattern` ## MOST IMPORTANT AND USED OPTIONS AND FEATURES - **--pattern PATTERN, -p PATTERN**: Specifies the pattern (prompt) to use. Useful for applying specific AI prompts to your input. - - **--stream, -s**: Streams results in real-time. Ideal for getting immediate feedback from AI operations. - - **--update, -u**: Updates patterns. Ensures you're using the latest AI prompts for your tasks. - - **--model MODEL, -m MODEL**: Selects the AI model to use. Allows customization of the AI backend for different tasks. - - **--setup, -S**: Sets up your Fabric instance. Essential for first-time users to configure Fabric correctly. - - **--list, -l**: Lists available patterns. Helps users discover new AI prompts for various applications. - - **--context, -C**: Uses a Context file to add context to your pattern. Enhances the relevance of AI responses by providing additional background information. -## PATTERNS +## PATTERNS BY CATEGORY **Key pattern to use: `suggest_pattern`** - suggests appropriate fabric patterns or commands based on user input. -### agility_story - -Generate a user story and acceptance criteria in JSON format based on the given topic. +## AI PATTERNS ### ai -Interpret questions deeply and provide concise, insightful answers in Markdown bullet points. - -### analyze_answers - -Evaluate quiz answers for correctness based on learning objectives and generated quiz questions. - -### analyze_bill - -Analyzes legislation to identify overt and covert goals, examining bills for hidden agendas and true intentions. - -### analyze_bill_short - -Provides a concise analysis of legislation, identifying overt and covert goals in a brief, structured format. - -### analyze_candidates - -Compare and contrast two political candidates based on key issues and policies. - -### analyze_cfp_submission - -Review and evaluate conference speaking session submissions based on clarity, relevance, depth, and engagement potential. - -### analyze_claims - -Analyse and rate truth claims with evidence, counter-arguments, fallacies, and final recommendations. - -### analyze_comments - -Evaluate internet comments for content, categorize sentiment, and identify reasons for praise, criticism, and neutrality. - -### analyze_debate - -Rate debates on insight, emotionality, and present an unbiased, thorough analysis of arguments, agreements, and disagreements. - -### analyze_email_headers - -Provide cybersecurity analysis and actionable insights on SPF, DKIM, DMARC, and ARC email header results. - -### analyze_incident - -Efficiently extract and organize key details from cybersecurity breach articles, focusing on attack type, vulnerable components, attacker and target info, incident details, and remediation steps. - -### analyze_interviewer_techniques - -This exercise involves analyzing interviewer techniques, identifying their unique qualities, and succinctly articulating what makes them stand out in a clear, simple format. - -### analyze_logs - -Analyse server log files to identify patterns, anomalies, and issues, providing data-driven insights and recommendations for improving server reliability and performance. - -### analyze_malware - -Analyse malware details, extract key indicators, techniques, and potential detection strategies, and summarize findings concisely for a malware analyst's use in identifying and responding to threats. - -### analyze_military_strategy - -Analyse a historical battle, offering in-depth insights into strategic decisions, strengths, weaknesses, tactical approaches, logistical factors, pivotal moments, and consequences for a comprehensive military evaluation. - -### analyze_mistakes - -Analyse past mistakes in thinking patterns, map them to current beliefs, and offer recommendations to improve accuracy in predictions. - -### analyze_paper - -Analyses research papers by summarizing findings, evaluating rigor, and assessing quality to provide insights for documentation and review. - -### analyze_paper_simple - -Analyzes academic papers with a focus on primary findings, research quality, and study design evaluation. - -### analyze_patent - -Analyse a patent's field, problem, solution, novelty, inventive step, and advantages in detail while summarizing and extracting keywords. - -### analyze_personality - -Performs a deep psychological analysis of a person in the input, focusing on their behavior, language, and psychological traits. - -### analyze_presentation - -Reviews and critiques presentations by analyzing the content, speaker's underlying goals, self-focus, and entertainment value. - -### analyze_product_feedback - -A prompt for analyzing and organizing user feedback by identifying themes, consolidating similar comments, and prioritizing them based on usefulness. - -### analyze_proposition - -Analyzes a ballot proposition by identifying its purpose, impact, arguments for and against, and relevant background information. - -### analyze_prose - -Evaluates writing for novelty, clarity, and prose, providing ratings, improvement recommendations, and an overall score. - -### analyze_prose_json - -Evaluates writing for novelty, clarity, prose, and provides ratings, explanations, improvement suggestions, and an overall score in a JSON format. - -### analyze_prose_pinker - -Evaluates prose based on Steven Pinker's The Sense of Style, analyzing writing style, clarity, and bad writing elements. - -### analyze_risk - -Conducts a risk assessment of a third-party vendor, assigning a risk score and suggesting security controls based on analysis of provided documents and vendor website. - -### analyze_sales_call - -Rates sales call performance across multiple dimensions, providing scores and actionable feedback based on transcript analysis. - -### analyze_spiritual_text - -Compares and contrasts spiritual texts by analyzing claims and differences with the King James Bible. - -### analyze_tech_impact - -Analyzes the societal impact, ethical considerations, and sustainability of technology projects, evaluating their outcomes and benefits. - -### analyze_terraform_plan - -Analyzes Terraform plan outputs to assess infrastructure changes, security risks, cost implications, and compliance considerations. - -### analyze_threat_report - -Extracts surprising insights, trends, statistics, quotes, references, and recommendations from cybersecurity threat reports, summarizing key findings and providing actionable information. - -### analyze_threat_report_cmds - -Extract and synthesize actionable cybersecurity commands from provided materials, incorporating command-line arguments and expert insights for pentesters and non-experts. - -### analyze_threat_report_trends - -Extract up to 50 surprising, insightful, and interesting trends from a cybersecurity threat report in markdown format. - -### answer_interview_question - -Generates concise, tailored responses to technical interview questions, incorporating alternative approaches and evidence to demonstrate the candidate's expertise and experience. - -### ask_secure_by_design_questions - -Generates a set of security-focused questions to ensure a project is built securely by design, covering key components and considerations. - -### ask_uncle_duke - -Coordinates a team of AI agents to research and produce multiple software development solutions based on provided specifications, and conducts detailed code reviews to ensure adherence to best practices. - -### capture_thinkers_work - -Analyze philosophers or philosophies and provide detailed summaries about their teachings, background, works, advice, and related concepts in a structured template. - -### check_agreement - -Analyze contracts and agreements to identify important stipulations, issues, and potential gotchas, then summarize them in Markdown. - -### clean_text - -Fix broken or malformatted text by correcting line breaks, punctuation, capitalization, and paragraphs without altering content or spelling. - -### coding_master - -Explain a coding concept to a beginner, providing examples, and formatting code in markdown with specific output sections like ideas, recommendations, facts, and insights. - -### compare_and_contrast - -Compare and contrast a list of items in a markdown table, with items on the left and topics on top. - -### convert_to_markdown - -Convert content to clean, complete Markdown format, preserving all original structure, formatting, links, and code blocks without alterations. - -### create_5_sentence_summary - -Create concise summaries or answers to input at 5 different levels of depth, from 5 words to 1 word. - -### create_academic_paper - -Generate a high-quality academic paper in LaTeX format with clear concepts, structured content, and a professional layout. - -### create_ai_jobs_analysis - -Analyze job categories' susceptibility to automation, identify resilient roles, and provide strategies for personal adaptation to AI-driven changes in the workforce. - -### create_aphorisms - -Find and generate a list of brief, witty statements. +Provide concise, insightful answers in brief bullets focused on core concepts. ### create_art_prompt -Generates a detailed, compelling visual description of a concept, including stylistic references and direct AI instructions for creating art. - -### create_better_frame - -Identifies and analyzes different frames of interpreting reality, emphasizing the power of positive, productive lenses in shaping outcomes. - -### create_coding_feature - -Generates secure and composable code features using modern technology and best practices from project specifications. - -### create_coding_project - -Generate wireframes and starter code for any coding ideas that you have. - -### create_command - -Helps determine the correct parameters and switches for penetration testing tools based on a brief description of the objective. - -### create_cyber_summary - -Summarizes cybersecurity threats, vulnerabilities, incidents, and malware with a 25-word summary and categorized bullet points, after thoroughly analyzing and mapping the provided input. - -### create_design_document - -Creates a detailed design document for a system using the C4 model, addressing business and security postures, and including a system context diagram. - -### create_diy - -Creates structured "Do It Yourself" tutorial patterns by analyzing prompts, organizing requirements, and providing step-by-step instructions in Markdown format. - -### create_excalidraw_visualization - -Creates complex Excalidraw diagrams to visualize relationships between concepts and ideas in structured format. - -### create_flash_cards - -Creates flashcards for key concepts, definitions, and terms with question-answer format for educational purposes. - -### create_formal_email - -Crafts professional, clear, and respectful emails by analyzing context, tone, and purpose, ensuring proper structure and formatting. - -### create_git_diff_commit - -Generates Git commands and commit messages for reflecting changes in a repository, using conventional commits and providing concise shell commands for updates. - -### create_graph_from_input - -Generates a CSV file with progress-over-time data for a security program, focusing on relevant metrics and KPIs. - -### create_hormozi_offer - -Creates a customized business offer based on principles from Alex Hormozi's book, "$100M Offers." - -### create_idea_compass - -Organizes and structures ideas by exploring their definition, evidence, sources, and related themes or consequences. - -### create_investigation_visualization - -Creates detailed Graphviz visualizations of complex input, highlighting key aspects and providing clear, well-annotated diagrams for investigative analysis and conclusions. - -### create_keynote - -Creates TED-style keynote presentations with a clear narrative, structured slides, and speaker notes, emphasizing impactful takeaways and cohesive flow. - -### create_loe_document - -Creates detailed Level of Effort documents for estimating work effort, resources, and costs for tasks or projects. - -### create_logo - -Creates simple, minimalist company logos without text, generating AI prompts for vector graphic logos based on input. - -### create_markmap_visualization - -Transforms complex ideas into clear visualizations using MarkMap syntax, simplifying concepts into diagrams with relationships, boxes, arrows, and labels. - -### create_mermaid_visualization - -Creates detailed, standalone visualizations of concepts using Mermaid (Markdown) syntax, ensuring clarity and coherence in diagrams. - -### create_mermaid_visualization_for_github - -Creates standalone, detailed visualizations using Mermaid (Markdown) syntax to effectively explain complex concepts, ensuring clarity and precision. - -### create_micro_summary - -Summarizes content into a concise, 20-word summary with main points and takeaways, formatted in Markdown. - -### create_mnemonic_phrases - -Creates memorable mnemonic sentences from given words to aid in memory retention and learning. - -### create_network_threat_landscape - -Analyzes open ports and services from a network scan and generates a comprehensive, insightful, and detailed security threat report in Markdown. - -### create_newsletter_entry - -Condenses provided article text into a concise, objective, newsletter-style summary with a title in the style of Frontend Weekly. - -### create_npc - -Generates a detailed D&D 5E NPC, including background, flaws, stats, appearance, personality, goals, and more in Markdown format. +Transform concepts into detailed AI art prompts with style references. ### create_pattern -Extracts, organizes, and formats LLM/AI prompts into structured sections, detailing the AI's role, instructions, output format, and any provided examples for clarity and accuracy. - -### create_prd - -Creates a precise Product Requirements Document (PRD) in Markdown based on input. +Design structured patterns for AI prompts with identity, purpose, steps, output. ### create_prediction_block -Extracts and formats predictions from input into a structured Markdown block for a blog post. - -### create_quiz - -Generates review questions based on learning objectives from the input, adapted to the specified student level, and outputs them in a clear markdown format. - -### create_reading_plan - -Creates a three-phase reading plan based on an author or topic to help the user become significantly knowledgeable, including core, extended, and supplementary readings. - -### create_recursive_outline - -Breaks down complex tasks or projects into manageable, hierarchical components with recursive outlining for clarity and simplicity. - -### create_report_finding - -Creates a detailed, structured security finding report in markdown, including sections on Description, Risk, Recommendations, References, One-Sentence-Summary, and Quotes. - -### create_rpg_summary - -Summarizes an in-person RPG session with key events, combat details, player stats, and role-playing highlights in a structured format. - -### create_security_update - -Creates concise security updates for newsletters, covering stories, threats, advisories, vulnerabilities, and a summary of key issues. - -### create_show_intro - -Creates compelling short intros for podcasts, summarizing key topics and themes discussed in the episode. - -### create_sigma_rules - -Extracts Tactics, Techniques, and Procedures (TTPs) from security news and converts them into Sigma detection rules for host-based detections. - -### create_story_explanation - -Summarizes complex content in a clear, approachable story format that makes the concepts easy to understand. - -### create_stride_threat_model - -Create a STRIDE-based threat model for a system design, identifying assets, trust boundaries, data flows, and prioritizing threats with mitigations. - -### create_summary - -Summarizes content into a 20-word sentence, 10 main points (16 words max), and 5 key takeaways in Markdown format. - -### create_tags - -Identifies at least 5 tags from text content for mind mapping tools, including authors and existing tags if present. - -### create_threat_scenarios - -Identifies likely attack methods for any system by providing a narrative-based threat model, balancing risk and opportunity. - -### create_ttrc_graph - -Creates a CSV file showing the progress of Time to Remediate Critical Vulnerabilities over time using given data. - -### create_ttrc_narrative - -Creates a persuasive narrative highlighting progress in reducing the Time to Remediate Critical Vulnerabilities metric over time. - -### create_upgrade_pack - -Extracts world model and task algorithm updates from content, providing beliefs about how the world works and task performance. - -### create_user_story - -Writes concise and clear technical user stories for new features in complex software programs, formatted for all stakeholders. - -### create_video_chapters - -Extracts interesting topics and timestamps from a transcript, providing concise summaries of key moments. - -### create_visualization - -Transforms complex ideas into visualizations using intricate ASCII art, simplifying concepts where necessary. - -### dialog_with_socrates - -Engages in deep, meaningful dialogues to explore and challenge beliefs using the Socratic method. - -### enrich_blog_post - -Enhances Markdown blog files by applying instructions to improve structure, visuals, and readability for HTML rendering. - -### explain_code - -Explains code, security tool output, configuration text, and answers questions based on the provided input. - -### explain_docs - -Improves and restructures tool documentation into clear, concise instructions, including overviews, usage, use cases, and key features. - -### explain_math - -Helps you understand mathematical concepts in a clear and engaging way. - -### explain_project - -Summarizes project documentation into clear, concise sections covering the project, problem, solution, installation, usage, and examples. - -### explain_terms - -Produces a glossary of advanced terms from content, providing a definition, analogy, and explanation of why each term matters. - -### export_data_as_csv - -Extracts and outputs all data structures from the input in properly formatted CSV data. - -### extract_algorithm_update_recommendations - -Extracts concise, practical algorithm update recommendations from the input and outputs them in a bulleted list. - -### extract_article_wisdom - -Extracts surprising, insightful, and interesting information from content, categorizing it into sections like summary, ideas, quotes, facts, references, and recommendations. - -### extract_book_ideas - -Extracts and outputs 50 to 100 of the most surprising, insightful, and interesting ideas from a book's content. - -### extract_book_recommendations - -Extracts and outputs 50 to 100 practical, actionable recommendations from a book's content. - -### extract_business_ideas - -Extracts top business ideas from content and elaborates on the best 10 with unique differentiators. - -### extract_controversial_ideas - -Extracts and outputs controversial statements and supporting quotes from the input in a structured Markdown list. - -### extract_core_message - -Extracts and outputs a clear, concise sentence that articulates the core message of a given text or body of work. - -### extract_ctf_writeup - -Extracts a short writeup from a warstory-like text about a cyber security engagement. - -### extract_domains - -Extracts domains and URLs from content to identify sources used for articles, newsletters, and other publications. - -### extract_extraordinary_claims - -Extracts and outputs a list of extraordinary claims from conversations, focusing on scientifically disputed or false statements. - -### extract_ideas - -Extracts and outputs all the key ideas from input, presented as 15-word bullet points in Markdown. - -### extract_insights - -Extracts and outputs the most powerful and insightful ideas from text, formatted as 16-word bullet points in the INSIGHTS section, also IDEAS section. - -### extract_insights_dm - -Extracts and outputs all valuable insights and a concise summary of the content, including key points and topics discussed. - -### extract_instructions - -Extracts clear, actionable step-by-step instructions and main objectives from instructional video transcripts, organizing them into a concise list. - -### extract_jokes - -Extracts jokes from text content, presenting each joke with its punchline in separate bullet points. - -### extract_latest_video - -Extracts the latest video URL from a YouTube RSS feed and outputs the URL only. - -### extract_main_activities - -Extracts key events and activities from transcripts or logs, providing a summary of what happened. - -### extract_main_idea - -Extracts the main idea and key recommendation from the input, summarizing them in 15-word sentences. - -### extract_most_redeeming_thing - -Extracts the most redeeming aspect from an input, summarizing it in a single 15-word sentence. - -### extract_patterns - -Extracts and analyzes recurring, surprising, and insightful patterns from input, providing detailed analysis and advice for builders. - -### extract_poc - -Extracts proof of concept URLs and validation methods from security reports, providing the URL and command to run. - -### extract_predictions - -Extracts predictions from input, including specific details such as date, confidence level, and verification method. - -### extract_primary_problem - -Extracts the primary problem with the world as presented in a given text or body of work. - -### extract_primary_solution - -Extracts the primary solution for the world as presented in a given text or body of work. - -### extract_product_features - -Extracts and outputs a list of product features from the provided input in a bulleted format. - -### extract_questions - -Extracts and outputs all questions asked by the interviewer in a conversation or interview. - -### extract_recipe - -Extracts and outputs a recipe with a short meal description, ingredients with measurements, and preparation steps. - -### extract_recommendations - -Extracts and outputs concise, practical recommendations from a given piece of content in a bulleted list. - -### extract_references - -Extracts and outputs a bulleted list of references to art, stories, books, literature, and other sources from content. - -### extract_skills - -Extracts and classifies skills from a job description into a table, separating each skill and classifying it as either hard or soft. - -### extract_song_meaning - -Analyzes a song to provide a summary of its meaning, supported by detailed evidence from lyrics, artist commentary, and fan analysis. - -### extract_sponsors - -Extracts and lists official sponsors and potential sponsors from a provided transcript. - -### extract_videoid - -Extracts and outputs the video ID from any given URL. - -### extract_wisdom - -Extracts surprising, insightful, and interesting information from text on topics like human flourishing, AI, learning, and more. +Format predictions for tracking/verification in markdown prediction logs. ### extract_wisdom_agents -Extracts valuable insights, ideas, quotes, and references from content, emphasizing topics like human flourishing, AI, learning, and technology. - -### extract_wisdom_dm - -Extracts all valuable, insightful, and thought-provoking information from content, focusing on topics like human flourishing, AI, learning, and technology. - -### extract_wisdom_nometa - -Extracts insights, ideas, quotes, habits, facts, references, and recommendations from content, focusing on human flourishing, AI, technology, and related topics. - -### find_female_life_partner - -Analyzes criteria for finding a female life partner and provides clear, direct, and poetic descriptions. - -### find_hidden_message - -Extracts overt and hidden political messages, justifications, audience actions, and a cynical analysis from content. - -### find_logical_fallacies - -Identifies and analyzes fallacies in arguments, classifying them as formal or informal with detailed reasoning. - -### get_wow_per_minute - -Determines the wow-factor of content per minute based on surprise, novelty, insight, value, and wisdom, measuring how rewarding the content is for the viewer. - -### get_youtube_rss - -Returns the RSS URL for a given YouTube channel based on the channel ID or URL. - -### humanize - -Rewrites AI-generated text to sound natural, conversational, and easy to understand, maintaining clarity and simplicity. - -### identify_dsrp_distinctions - -Encourages creative, systems-based thinking by exploring distinctions, boundaries, and their implications, drawing on insights from prominent systems thinkers. - -### identify_dsrp_perspectives - -Explores the concept of distinctions in systems thinking, focusing on how boundaries define ideas, influence understanding, and reveal or obscure insights. - -### identify_dsrp_relationships - -Encourages exploration of connections, distinctions, and boundaries between ideas, inspired by systems thinkers to reveal new insights and patterns in complex systems. - -### identify_dsrp_systems - -Encourages organizing ideas into systems of parts and wholes, inspired by systems thinkers to explore relationships and how changes in organization impact meaning and understanding. - -### identify_job_stories - -Identifies key job stories or requirements for roles. - -### improve_academic_writing - -Refines text into clear, concise academic language while improving grammar, coherence, and clarity, with a list of changes. +Extract insights from AI agent interactions, focusing on learning. ### improve_prompt -Improves an LLM/AI prompt by applying expert prompt writing strategies for better results and clarity. - -### improve_report_finding - -Improves a penetration test security finding by providing detailed descriptions, risks, recommendations, references, quotes, and a concise summary in markdown format. - -### improve_writing - -Refines text by correcting grammar, enhancing style, improving clarity, and maintaining the original meaning. +Enhance AI prompts by refining clarity and specificity. ### judge_output -Evaluates Honeycomb queries by judging their effectiveness, providing critiques and outcomes based on language nuances and analytics relevance. - -### label_and_rate - -Labels content with up to 20 single-word tags and rates it based on idea count and relevance to human meaning, AI, and other related themes, assigning a tier (S, A, B, C, D) and a quality score. - -### md_callout - -Classifies content and generates a markdown callout based on the provided text, selecting the most appropriate type. - -### official_pattern_template - -Template to use if you want to create new fabric patterns. - -### prepare_7s_strategy - -Prepares a comprehensive briefing document from 7S's strategy capturing organizational profile, strategic elements, and market dynamics with clear, concise, and organized content. - -### provide_guidance - -Provides psychological and life coaching advice, including analysis, recommendations, and potential diagnoses, with a compassionate and honest tone. +Evaluate AI outputs for quality and accuracy. ### rate_ai_response -Rates the quality of AI responses by comparing them to top human expert performance, assigning a letter grade, reasoning, and providing a 1-100 score based on the evaluation. +Evaluate AI responses for quality and effectiveness. ### rate_ai_result -Assesses the quality of AI/ML/LLM work by deeply analyzing content, instructions, and output, then rates performance based on multiple dimensions, including coverage, creativity, and interdisciplinary thinking. - -### rate_content - -Labels content with up to 20 single-word tags and rates it based on idea count and relevance to human meaning, AI, and other related themes, assigning a tier (S, A, B, C, D) and a quality score. - -### rate_value - -Produces the best possible output by deeply analyzing and understanding the input and its intended purpose. +Assess AI outputs against criteria, providing scores and feedback. ### raw_query -Fully digests and contemplates the input to produce the best possible result based on understanding the sender's intent. - -### recommend_artists - -Recommends a personalized festival schedule with artists aligned to your favorite styles and interests, including rationale. - -### recommend_pipeline_upgrades - -Optimizes vulnerability-checking pipelines by incorporating new information and improving their efficiency, with detailed explanations of changes. - -### recommend_talkpanel_topics - -Produces a clean set of proposed talks or panel talking points for a person based on their interests and goals, formatted for submission to a conference organizer. - -### refine_design_document - -Refines a design document based on a design review by analyzing, mapping concepts, and implementing changes using valid Markdown. - -### review_design - -Reviews and analyzes architecture design, focusing on clarity, component design, system integrations, security, performance, scalability, and data management. - -### sanitize_broken_html_to_markdown - -Converts messy HTML into clean, properly formatted Markdown, applying custom styling and ensuring compatibility with Vite. - -### show_fabric_options_markmap - -Visualizes the functionality of the Fabric framework by representing its components, commands, and features based on the provided input. +Process direct queries by interpreting intent. ### solve_with_cot -Provides detailed, step-by-step responses with chain of thought reasoning, using structured thinking, reflection, and output sections. +Solve problems using chain-of-thought reasoning. ### suggest_pattern -Suggests appropriate fabric patterns or commands based on user input, providing clear explanations and options for users. +Recommend Fabric patterns based on user requirements. -### summarize +## ANALYSIS PATTERNS -Summarizes content into a 20-word sentence, main points, and takeaways, formatted with numbered lists in Markdown. +### analyze_answers + +Evaluate student responses providing detailed feedback adapted to levels. + +### analyze_bill + +Analyze a legislative bill and implications. + +### analyze_bill_short + +Condensed - Analyze a legislative bill and implications. + +### analyze_candidates + +Compare candidate positions, policy differences and backgrounds. + +### analyze_cfp_submission + +Evaluate conference submissions for content, speaker qualifications and educational value. + +### analyze_claims + +Evaluate truth claims by analyzing evidence and logical fallacies. + +### analyze_comments + +Analyze user comments for sentiment, extract praise/criticism, and summarize reception. + +### analyze_debate + +Analyze debates identifying arguments, agreements, and emotional intensity. + +### analyze_interviewer_techniques + +Study interviewer questions/methods to identify effective interview techniques. + +### analyze_military_strategy + +Examine battles analyzing strategic decisions to extract military lessons. + +### analyze_mistakes + +Analyze past errors to prevent similar mistakes in predictions/decisions. + +### analyze_paper + +Analyze scientific papers to identify findings and assess conclusion. + +### analyze_paper_simple + +Analyze research papers to determine primary findings and assess scientific rigor. + +### analyze_patent + +Analyze patents to evaluate novelty and technical advantages. + +### analyze_personality + +Psychological analysis by examining language to reveal personality traits. + +### analyze_presentation + +Evaluate presentations scoring novelty, value for feedback. + +### analyze_product_feedback + +Process user feedback to identify themes and prioritize insights. + +### analyze_proposition + +Examine ballot propositions to assess purpose and potential impact. + +### analyze_prose + +Evaluate writing quality by rating novelty, clarity, and style. + +### analyze_prose_json + +Evaluate writing and provide JSON output rating novelty, clarity, effectiveness. + +### analyze_prose_pinker + +Analyze writing style using Pinker's principles to improve clarity and effectiveness. + +### analyze_sales_call + +Evaluate sales calls analyzing pitch, fundamentals, and customer interaction. + +### analyze_spiritual_text + +Compare religious texts with KJV, identifying claims and doctrinal variations. + +### analyze_tech_impact + +Evaluate tech projects' societal impact across dimensions. + +### analyze_terraform_plan + +Analyze Terraform plans for infrastructure changes, security risks, and cost implications. + +### apply_ul_tags + +Apply standardized content tags to categorize topics like AI, cybersecurity, politics, and culture. + +### check_agreement + +Review contract to identify stipulations, issues, and changes for negotiation. + +### compare_and_contrast + +Create comparisons table, highlighting key differences and similarities. + +### create_ai_jobs_analysis + +Identify automation risks and career resilience strategies. + +### create_better_frame + +Develop positive mental frameworks for challenging situations. + +### create_idea_compass + +Organize thoughts analyzing definitions, evidence, relationships, implications. + +### create_recursive_outline + +Break down tasks into hierarchical, actionable components via decomposition. + +### create_tags + +Generate single-word tags for content categorization and mind mapping. + +### extract_core_message + +Distill the fundamental message into a single, impactful sentence. + +### extract_extraordinary_claims + +Identify/extract claims contradicting scientific consensus. + +### extract_main_idea + +Identify key idea, providing core concept and recommendation. + +### extract_mcp_servers + +Analyzes content to identify and extract detailed information about Model Context Protocol (MCP) servers. + +### extract_most_redeeming_thing + +Identify the most positive aspect from content. + +### extract_predictions + +Identify/analyze predictions, claims, confidence, and verification. + +### extract_primary_problem + +Identify/analyze the core problem / root causes. + +### extract_primary_solution + +Identify/analyze the main solution proposed in content. + +### extract_song_meaning + +Analyze song lyrics to uncover deeper meanings and themes. + +### find_hidden_message + +Analyze content to uncover concealed meanings and implications. + +### find_logical_fallacies + +Identify/analyze logical fallacies to evaluate argument validity. + +### generate_code_rules + +Extracts a list of best practices rules for AI coding assisted tools. + +### get_wow_per_minute + +Calculate frequency of impressive moments to measure engagement. + +### identify_dsrp_distinctions + +Analyze content using DSRP to identify key distinctions. + +### identify_dsrp_perspectives + +Analyze content using DSRP to identify different viewpoints. + +### identify_dsrp_relationships + +Analyze content using DSRP to identify connections. + +### identify_dsrp_systems + +Analyze content using DSRP to identify systems and structures. + +### identify_job_stories + +Extract/analyze user job stories to understand motivations. + +### label_and_rate + +Categorize/evaluate content by assigning labels and ratings. + +### prepare_7s_strategy + +Apply McKinsey 7S framework to analyze organizational alignment. + +### provide_guidance + +Offer expert advice tailored to situations, providing steps. + +### rate_content + +Evaluate content quality across dimensions, providing scoring. + +### rate_value + +Assess practical value of content by evaluating utility. + +### recommend_artists + +Suggest artists based on user preferences and style. + +### recommend_talkpanel_topics + +Generate discussion topics for panel talks based on interests. ### summarize_board_meeting -Creates formal meeting notes from board meeting transcripts for corporate governance documentation. - -### summarize_debate - -Summarizes debates, identifies primary disagreement, extracts arguments, and provides analysis of evidence and argument strength to predict outcomes. - -### summarize_git_changes - -Summarizes recent project updates from the last 7 days, focusing on key changes with enthusiasm. - -### summarize_git_diff - -Summarizes and organizes Git diff changes with clear, succinct commit messages and bullet points. - -### summarize_lecture - -Extracts relevant topics, definitions, and tools from lecture transcripts, providing structured summaries with timestamps and key takeaways. - -### summarize_legislation - -Summarizes complex political proposals and legislation by analyzing key points, proposed changes, and providing balanced, positive, and cynical characterizations. - -### summarize_meeting - -Analyzes meeting transcripts to extract a structured summary, including an overview, key points, tasks, decisions, challenges, timeline, references, and next steps. - -### summarize_micro - -Summarizes content into a 20-word sentence, 3 main points, and 3 takeaways, formatted in clear, concise Markdown. - -### summarize_newsletter - -Extracts the most meaningful, interesting, and useful content from a newsletter, summarizing key sections such as content, opinions, tools, companies, and follow-up items in clear, structured Markdown. - -### summarize_paper - -Summarizes an academic paper by detailing its title, authors, technical approach, distinctive features, experimental setup, results, advantages, limitations, and conclusion in a clear, structured format using human-readable Markdown. +Convert board meeting transcripts into formal meeting notes for corporate records. ### summarize_prompt -Summarizes AI chat prompts by describing the primary function, unique approach, and expected output in a concise paragraph. The summary is focused on the prompt's purpose without unnecessary details or formatting. - -### summarize_pull-requests - -Summarizes pull requests for a coding project by providing a summary and listing the top PRs with human-readable descriptions. - -### summarize_rpg_session - -Summarizes a role-playing game session by extracting key events, combat stats, character changes, quotes, and more. +Summarize AI prompts to identify instructions and outputs. ### t_analyze_challenge_handling -Provides 8-16 word bullet points evaluating how well challenges are being addressed, calling out any lack of effort. +Evaluate challenge handling by analyzing response strategies. + +### t_check_dunning_kruger + +Analyze cognitive biases to identify overconfidence and underestimation of abilities using Dunning-Kruger principles. ### t_check_metrics -Analyzes deep context from the TELOS file and input instruction, then provides a wisdom-based output while considering metrics and KPIs to assess recent improvements. - -### t_create_h3_career - -Summarizes context and produces wisdom-based output by deeply analyzing both the TELOS File and the input instruction, considering the relationship between the two. - -### t_create_opening_sentences - -Describes from TELOS file the person's identity, goals, and actions in 4 concise, 32-word bullet points, humbly. +Analyze metrics, tracking progress and identifying trends. ### t_describe_life_outlook -Describes from TELOS file a person's life outlook in 5 concise, 16-word bullet points. - -### t_extract_intro_sentences - -Summarizes from TELOS file a person's identity, work, and current projects in 5 concise and grounded bullet points. - -### t_extract_panel_topics - -Creates 5 panel ideas with titles and descriptions based on deep context from a TELOS file and input. +Analyze personal philosophies to understand core beliefs. ### t_find_blindspots -Identify potential blindspots in thinking, frames, or models that may expose the individual to error or risk. +Identify blind spots in thinking to improve awareness. ### t_find_negative_thinking -Analyze a TELOS file and input to identify negative thinking in documents or journals, followed by tough love encouragement. - -### t_find_neglected_goals - -Analyze a TELOS file and input instructions to identify goals or projects that have not been worked on recently. - -### t_give_encouragement - -Analyze a TELOS file and input instructions to evaluate progress, provide encouragement, and offer recommendations for continued effort. +Identify negative thinking patterns to recognize distortions. ### t_red_team_thinking -Analyze a TELOS file and input instructions to red-team thinking, models, and frames, then provide recommendations for improvement. - -### t_threat_model_plans - -Analyze a TELOS file and input instructions to create threat models for a life plan and recommend improvements. - -### t_visualize_mission_goals_projects - -Analyze a TELOS file and input instructions to create an ASCII art diagram illustrating the relationship of missions, goals, and projects. +Apply adversarial thinking to identify weaknesses. ### t_year_in_review -Analyze a TELOS file to create insights about a person or entity, then summarize accomplishments and visualizations in bullet points. +Generate annual reviews by analyzing achievements and learnings. -### to_flashcards +## EXTRACTION PATTERNS -Create Anki flashcards from a given text, focusing on concise, optimized questions and answers without external context. +### create_aphorisms -### transcribe_minutes +Compile relevant, attributed aphorisms from historical figures on topics. -Extracts (from meeting transcription) meeting minutes, identifying actionables, insightful ideas, decisions, challenges, and next steps in a structured format. +### create_upgrade_pack -### translate +Extract world model updates/algorithms to improve decision-making. -Translates sentences or documentation into the specified language code while maintaining the original formatting and tone. +### create_video_chapters -### tweet +Organize video content into timestamped chapters highlighting key topics. -Provides a step-by-step guide on crafting engaging tweets with emojis, covering Twitter basics, account creation, features, and audience targeting. +### extract_algorithm_update_recommendations -### write_essay +Extract recommendations for improving algorithms, focusing on steps. -Writes essays in the style of a specified author, embodying their unique voice, vocabulary, and approach. Uses `author_name` variable. +### extract_alpha -### write_essay_pg +Extracts the most novel and surprising ideas ("alpha") from content, inspired by information theory. -Writes concise, clear essays in the style of Paul Graham, focusing on simplicity, clarity, and illumination of the provided topic. +### extract_article_wisdom -### write_hackerone_report +Extract wisdom from articles, organizing into actionable takeaways. -Generates concise, clear, and reproducible bug bounty reports, detailing vulnerability impact, steps to reproduce, and exploit details for triagers. +### extract_book_ideas -### write_latex +Extract novel ideas from books to inspire new projects. -Generates syntactically correct LaTeX code for a new.tex document, ensuring proper formatting and compatibility with pdflatex. +### extract_book_recommendations -### write_micro_essay +Extract/prioritize practical advice from books. -Writes concise, clear, and illuminating essays on the given topic in the style of Paul Graham. +### extract_controversial_ideas -### write_nuclei_template_rule +Analyze contentious viewpoints while maintaining objective analysis. -Generates Nuclei YAML templates for detecting vulnerabilities using HTTP requests, matchers, extractors, and dynamic data extraction. +### extract_domains -### write_pull-request +Extract key content and source. -Drafts detailed pull request descriptions, explaining changes, providing reasoning, and identifying potential bugs from the git diff command output. +### extract_ideas -### write_semgrep_rule +Extract/organize concepts and applications into idea collections. -Creates accurate and working Semgrep rules based on input, following syntax guidelines and specific language considerations. +### extract_insights + +Extract insights about life, tech, presenting as bullet points. + +### extract_insights_dm + +Extract insights from DMs, focusing on learnings and takeaways. + +### extract_instructions + +Extract procedures into clear instructions for implementation. + +### extract_latest_video + +Extract info from the latest video, including title and content. + +### extract_main_activities + +Extract and list main events from transcripts. + +### extract_patterns + +Extract patterns and themes to create reusable templates. + +### extract_product_features + +Extract/categorize product features into a structured list. + +### extract_questions + +Extract/categorize questions to create Q&A resources. + +### extract_recommendations + +Extract recommendations, organizing into actionable guidance. + +### extract_references + +Extract/format citations into a structured reference list. + +### extract_skills + +Extract/classify hard/soft skills from job descriptions into skill inventory. + +### extract_sponsors + +Extract/organize sponsorship info, including names and messages. + +### extract_videoid + +Extract/parse video IDs and URLs to create video lists. + +### extract_wisdom + +Extract insightful ideas and recommendations focusing on life wisdom. + +### extract_wisdom_dm + +Extract learnings from DMs, focusing on personal growth. + +### extract_wisdom_nometa + +Extract pure wisdom from content without metadata. + +### extract_wisdom_short + +Extract condensed insightful ideas and recommendations focusing on life wisdom. + +### t_extract_intro_sentences + +Extract intro sentences to identify engagement strategies. + +### t_extract_panel_topics + +Extract panel topics to create engaging discussions. + +## SUMMARIZATION PATTERNS + +### capture_thinkers_work + +Extract key concepts, background, and ideas from notable thinkers' work. + +### create_5_sentence_summary + +Generate concise summaries of content in five levels, five words to one. + +### create_micro_summary + +Generate concise summaries with one-sentence overview and key points. + +### create_summary + +Generate concise summaries by extracting key points and main ideas. + +### summarize + +Generate summaries capturing key points and details. + +### summarize_debate + +Summarize debates highlighting arguments and agreements. + +### summarize_lecture + +Summarize lectures capturing key concepts and takeaways. + +### summarize_legislation + +Summarize legislation highlighting key provisions and implications. + +### summarize_meeting + +Summarize meetings capturing discussions and decisions. + +### summarize_micro + +Generate extremely concise summaries of content. + +### summarize_newsletter + +Summarize newsletters highlighting updates and trends. + +### summarize_paper + +Summarize papers highlighting objectives and findings. + +### summarize_pull-requests + +Summarize pull requests highlighting code changes. + +### summarize_rpg_session + +Summarize RPG sessions capturing story events and decisions. ### youtube_summary -Create concise, timestamped Youtube video summaries that highlight key points. +Summarize YouTube videos with key points and timestamps. + +## WRITING PATTERNS + +### clean_text + +Format/clean text by fixing breaks, punctuation, preserving content/meaning. + +### create_academic_paper + +Transform content into academic papers using LaTeX layout. + +### create_diy + +Create step-by-step DIY tutorials with clear instructions and materials. + +### create_formal_email + +Compose professional emails with proper tone and structure. + +### create_keynote + +Design TED-style presentations with narrative, slides and notes. + +### create_newsletter_entry + +Write concise newsletter content focusing on key insights. + +### create_show_intro + +Craft compelling podcast/show intros to engage audience. + +### create_story_explanation + +Transform complex concepts into clear, engaging narratives. + +### enrich_blog_post + +Enhance blog posts by improving structure and visuals for static sites. + +### explain_docs + +Transform technical docs into clearer explanations with examples. + +### explain_terms + +Create glossaries of advanced terms with definitions and analogies. + +### humanize + +Transform technical content into approachable language. + +### improve_academic_writing + +Enhance academic writing by improving clarity and structure. + +### improve_writing + +Enhance writing by improving clarity, flow, and style. + +### md_callout + +Generate markdown callout blocks to highlight info. + +### t_create_opening_sentences + +Generate compelling opening sentences for content. + +### t_give_encouragement + +Generate personalized messages of encouragement. + +### transcribe_minutes + +Convert meeting recordings into structured minutes. + +### tweet + +Transform content into concise tweets. + +### write_essay + +Write essays on given topics in the distinctive style of specified authors. + +### write_essay_pg + +Create essays with thesis statements and arguments in the style of Paul Graham. + +### write_latex + +Generate LaTeX documents with proper formatting. + +### write_micro_essay + +Create concise essays presenting a single key idea. + +## DEVELOPMENT PATTERNS + +### agility_story + +Generate agile user stories and acceptance criteria following agile formats. + +### analyze_logs + +Examine server logs to identify patterns and potential system issues. + +### answer_interview_question + +Generate appropriate responses to technical interview questions. + +### ask_uncle_duke + +Expert software dev. guidance focusing on Java, Spring, frontend, and best practices. + +### coding_master + +Explain coding concepts/languages for beginners + +### create_coding_feature + +Generate secure and composable code features using latest technology and best practices. + +### create_coding_project + +Design coding projects with clear architecture, steps, and best practices. + +### create_design_document + +Create software architecture docs using C4 model. + +### create_git_diff_commit + +Generate clear git commit messages and commands for code changes. + +### create_loe_document + +Create detailed Level of Effort (LOE) estimation documents. + +### create_prd + +Create Product Requirements Documents (PRDs) from input specs. + +### create_user_story + +Write clear user stories with descriptions and acceptance criteria. + +### explain_code + +Analyze/explain code, security tool outputs, and configs. + +### explain_project + +Create project overviews with instructions and usage examples. + +### extract_poc + +Extract/document proof-of-concept demos from technical content. + +### official_pattern_template + +Define pattern templates with sections for consistent creation. + +### recommend_pipeline_upgrades + +Suggest CI/CD pipeline improvements for efficiency and security. + +### refine_design_document + +Enhance design docs by improving clarity and accuracy. + +### review_code + +Performs a comprehensive code review, providing detailed feedback on correctness, security, and performance. + +### review_design + +Evaluate software designs for scalability and security. + +### summarize_git_changes + +Summarize git changes highlighting key modifications. + +### summarize_git_diff + +Summarize git diff output highlighting functional changes. + +### write_pull-request + +Create pull request descriptions with summaries of changes. + +## SECURITY PATTERNS + +### analyze_email_headers + +Analyze email authentication headers to assess security and provide recommendations. + +### analyze_incident + +Extract info from breach articles, including attack details and impact. + +### analyze_malware + +Analyze malware behavior, extract IOCs, MITRE ATT&CK, provide recommendations. + +### analyze_risk + +Assess vendor security compliance to determine risk levels. + +### analyze_threat_report + +Extract/analyze insights, trends, and recommendations from threat reports. + +### analyze_threat_report_cmds + +Interpret commands from threat reports, providing implementation guidance. + +### analyze_threat_report_trends + +Extract/analyze trends from threat reports to identify emerging patterns. + +### ask_secure_by_design_questions + +Generate security-focused questions to guide secure system design. + +### create_command + +Generate precise CLI commands for penetration testing tools based on docs. + +### create_cyber_summary + +Summarize incidents, vulnerabilities into concise intelligence briefings. + +### create_network_threat_landscape + +Analyze network ports/services to create threat reports with recommendations. + +### create_report_finding + +Document security findings with descriptions, recommendations, and evidence. + +### create_security_update + +Compile security newsletters covering threats, advisories, developments with links. + +### create_sigma_rules + +Extract TTPs and translate them into YAML Sigma detection rules. + +### create_stride_threat_model + +Generate threat models using STRIDE to prioritize security threats. + +### create_threat_scenarios + +Develop realistic security threat scenarios based on risk analysis. + +### create_ttrc_graph + +Generate time-series for visualizing vulnerability remediation metrics. + +### create_ttrc_narrative + +Create narratives for security program improvements in remediation efficiency. + +### extract_ctf_writeup + +Extract techniques from CTF writeups to create learning resources. + +### improve_report_finding + +Enhance security report by improving clarity and accuracy. + +### t_threat_model_plans + +Analyze plans through a security lens to identify threats. + +### write_hackerone_report + +Create vulnerability reports following HackerOne's format. + +### write_nuclei_template_rule + +Generate Nuclei scanning templates with detection logic. + +### write_semgrep_rule + +Create Semgrep rules for static code analysis. + +## BUSINESS PATTERNS + +### create_hormozi_offer + +Create compelling business offers using Alex Hormozi's methodology. + +### extract_business_ideas + +Identify business opportunities and insights + +### t_create_h3_career + +Generate career plans using the Head, Heart, Hands framework. + +## LEARNING PATTERNS + +### create_flash_cards + +Generate flashcards for key concepts and definitions. + +### create_quiz + +Generate review questions adapting difficulty to student levels. + +### create_reading_plan + +Design three-phase reading plans to build knowledge of topics. + +### dialog_with_socrates + +Engage in Socratic dialogue to explore ideas via questioning. + +### explain_math + +Explain math concepts for students using step-by-step instructions. + +### to_flashcards + +Convert content into flashcard format for learning. + +## VISUALIZATION PATTERNS + +### create_excalidraw_visualization + +Create visualizations using Excalidraw. + +### create_graph_from_input + +Transform security metrics to CSV for visualizing progress over time. + +### create_investigation_visualization + +Create Graphviz vis. of investigation data showing relationships and findings. + +### create_logo + +Generate minimalist logo prompts capturing brand essence via vector graphics. + +### create_markmap_visualization + +Transform complex ideas into mind maps using Markmap syntax. + +### create_mermaid_visualization + +Transform concepts into visual diagrams using Mermaid syntax. + +### create_mermaid_visualization_for_github + +Create Mermaid diagrams to visualize workflows in documentation. + +### create_visualization + +Transform concepts to ASCII art with explanations of relationships. + +### show_fabric_options_markmap + +Visualize Fabric capabilities using Markmap syntax. + +### t_visualize_mission_goals_projects + +Visualize missions and goals to clarify relationships. + +## CONVERSION PATTERNS + +### convert_to_markdown + +Convert content to markdown, preserving original content and structure. + +### export_data_as_csv + +Extract data and convert to CSV, preserving data integrity. + +### get_youtube_rss + +Generate RSS feed URLs for YouTube channels. + +### sanitize_broken_html_to_markdown + +Clean/convert malformed HTML to markdown. + +### translate + +Convert content between languages while preserving meaning. + +## STRATEGY PATTERNS + +### t_find_neglected_goals + +Identify neglected goals to surface opportunities. + +## PERSONAL DEVELOPMENT PATTERNS + +### extract_recipe + +Extract/format recipes into instructions with ingredients and steps. + +### find_female_life_partner + +Clarify and summarize partner criteria in direct language. + +## CREATIVITY PATTERNS + +### create_mnemonic_phrases + +Create memorable mnemonic sentences using given words in exact order for memory aids. + +## GAMING PATTERNS + +### create_npc + +Generate detailed D&D 5E NPC characters with backgrounds and game stats. + +### create_rpg_summary + +Summarize RPG sessions capturing events, combat, and narrative. + +## OTHER PATTERNS + +### extract_jokes + +Extract/categorize jokes, puns, and witty remarks. diff --git a/data/patterns/suggest_pattern/user_clean.md b/data/patterns/suggest_pattern/user_clean.md deleted file mode 100644 index e69de29b..00000000 diff --git a/data/patterns/suggest_pattern/user_updated.md b/data/patterns/suggest_pattern/user_updated.md deleted file mode 100644 index 1e4f51fb..00000000 --- a/data/patterns/suggest_pattern/user_updated.md +++ /dev/null @@ -1,919 +0,0 @@ -# Suggest Pattern - -## OVERVIEW - -What It Does: Fabric is an open-source framework designed to augment human capabilities using AI, making it easier to integrate AI into daily tasks. - -Why People Use It: Users leverage Fabric to seamlessly apply AI for solving everyday challenges, enhancing productivity, and fostering human creativity through technology. - -## HOW TO USE IT - -Most Common Syntax: The most common usage involves executing Fabric commands in the terminal, such as `fabric --pattern `. - -## COMMON USE CASES - -For Summarizing Content: `fabric --pattern summarize` -For Analyzing Claims: `fabric --pattern analyze_claims` -For Extracting Wisdom from Videos: `fabric --pattern extract_wisdom` -For creating custom patterns: `fabric --pattern create_pattern` - -- One possible place to store them is ~/.config/custom-fabric-patterns. -- Then when you want to use them, simply copy them into ~/.config/fabric/patterns. -`cp -a ~/.config/custom-fabric-patterns/* ~/.config/fabric/patterns/` -- Now you can run them with: `pbpaste | fabric -p your_custom_pattern` - -## MOST IMPORTANT AND USED OPTIONS AND FEATURES - -- **--pattern PATTERN, -p PATTERN**: Specifies the pattern (prompt) to use. Useful for applying specific AI prompts to your input. - -- **--stream, -s**: Streams results in real-time. Ideal for getting immediate feedback from AI operations. - -- **--update, -u**: Updates patterns. Ensures you're using the latest AI prompts for your tasks. - -- **--model MODEL, -m MODEL**: Selects the AI model to use. Allows customization of the AI backend for different tasks. - -- **--setup, -S**: Sets up your Fabric instance. Essential for first-time users to configure Fabric correctly. - -- **--list, -l**: Lists available patterns. Helps users discover new AI prompts for various applications. - -- **--context, -C**: Uses a Context file to add context to your pattern. Enhances the relevance of AI responses by providing additional background information. - -## PATTERNS - -**Key pattern to use: `suggest_pattern`** - suggests appropriate fabric patterns or commands based on user input. - -### agility_story - -Generate a user story and acceptance criteria in JSON format based on the given topic. - -### ai - -Interpret questions deeply and provide concise, insightful answers in Markdown bullet points. - -### analyze_answers - -Evaluate quiz answers for correctness based on learning objectives and generated quiz questions. - -### analyze_bill - -Analyzes legislation to identify overt and covert goals, examining bills for hidden agendas and true intentions. - -### analyze_bill_short - -Provides a concise analysis of legislation, identifying overt and covert goals in a brief, structured format. - -### analyze_candidates - -Compare and contrast two political candidates based on key issues and policies. - -### analyze_cfp_submission - -Review and evaluate conference speaking session submissions based on clarity, relevance, depth, and engagement potential. - -### analyze_claims - -Analyse and rate truth claims with evidence, counter-arguments, fallacies, and final recommendations. - -### analyze_comments - -Evaluate internet comments for content, categorize sentiment, and identify reasons for praise, criticism, and neutrality. - -### analyze_debate - -Rate debates on insight, emotionality, and present an unbiased, thorough analysis of arguments, agreements, and disagreements. - -### analyze_email_headers - -Provide cybersecurity analysis and actionable insights on SPF, DKIM, DMARC, and ARC email header results. - -### analyze_incident - -Efficiently extract and organize key details from cybersecurity breach articles, focusing on attack type, vulnerable components, attacker and target info, incident details, and remediation steps. - -### analyze_interviewer_techniques - -This exercise involves analyzing interviewer techniques, identifying their unique qualities, and succinctly articulating what makes them stand out in a clear, simple format. - -### analyze_logs - -Analyse server log files to identify patterns, anomalies, and issues, providing data-driven insights and recommendations for improving server reliability and performance. - -### analyze_malware - -Analyse malware details, extract key indicators, techniques, and potential detection strategies, and summarize findings concisely for a malware analyst's use in identifying and responding to threats. - -### analyze_military_strategy - -Analyse a historical battle, offering in-depth insights into strategic decisions, strengths, weaknesses, tactical approaches, logistical factors, pivotal moments, and consequences for a comprehensive military evaluation. - -### analyze_mistakes - -Analyse past mistakes in thinking patterns, map them to current beliefs, and offer recommendations to improve accuracy in predictions. - -### analyze_paper - -Analyses research papers by summarizing findings, evaluating rigor, and assessing quality to provide insights for documentation and review. - -### analyze_paper_simple - -Analyzes academic papers with a focus on primary findings, research quality, and study design evaluation. - -### analyze_patent - -Analyse a patent's field, problem, solution, novelty, inventive step, and advantages in detail while summarizing and extracting keywords. - -### analyze_personality - -Performs a deep psychological analysis of a person in the input, focusing on their behavior, language, and psychological traits. - -### analyze_presentation - -Reviews and critiques presentations by analyzing the content, speaker's underlying goals, self-focus, and entertainment value. - -### analyze_product_feedback - -A prompt for analyzing and organizing user feedback by identifying themes, consolidating similar comments, and prioritizing them based on usefulness. - -### analyze_proposition - -Analyzes a ballot proposition by identifying its purpose, impact, arguments for and against, and relevant background information. - -### analyze_prose - -Evaluates writing for novelty, clarity, and prose, providing ratings, improvement recommendations, and an overall score. - -### analyze_prose_json - -Evaluates writing for novelty, clarity, prose, and provides ratings, explanations, improvement suggestions, and an overall score in a JSON format. - -### analyze_prose_pinker - -Evaluates prose based on Steven Pinker's The Sense of Style, analyzing writing style, clarity, and bad writing elements. - -### analyze_risk - -Conducts a risk assessment of a third-party vendor, assigning a risk score and suggesting security controls based on analysis of provided documents and vendor website. - -### analyze_sales_call - -Rates sales call performance across multiple dimensions, providing scores and actionable feedback based on transcript analysis. - -### analyze_spiritual_text - -Compares and contrasts spiritual texts by analyzing claims and differences with the King James Bible. - -### analyze_tech_impact - -Analyzes the societal impact, ethical considerations, and sustainability of technology projects, evaluating their outcomes and benefits. - -### analyze_terraform_plan - -Analyzes Terraform plan outputs to assess infrastructure changes, security risks, cost implications, and compliance considerations. - -### analyze_threat_report - -Extracts surprising insights, trends, statistics, quotes, references, and recommendations from cybersecurity threat reports, summarizing key findings and providing actionable information. - -### analyze_threat_report_cmds - -Extract and synthesize actionable cybersecurity commands from provided materials, incorporating command-line arguments and expert insights for pentesters and non-experts. - -### analyze_threat_report_trends - -Extract up to 50 surprising, insightful, and interesting trends from a cybersecurity threat report in markdown format. - -### answer_interview_question - -Generates concise, tailored responses to technical interview questions, incorporating alternative approaches and evidence to demonstrate the candidate's expertise and experience. - -### ask_secure_by_design_questions - -Generates a set of security-focused questions to ensure a project is built securely by design, covering key components and considerations. - -### ask_uncle_duke - -Coordinates a team of AI agents to research and produce multiple software development solutions based on provided specifications, and conducts detailed code reviews to ensure adherence to best practices. - -### capture_thinkers_work - -Analyze philosophers or philosophies and provide detailed summaries about their teachings, background, works, advice, and related concepts in a structured template. - -### check_agreement - -Analyze contracts and agreements to identify important stipulations, issues, and potential gotchas, then summarize them in Markdown. - -### clean_text - -Fix broken or malformatted text by correcting line breaks, punctuation, capitalization, and paragraphs without altering content or spelling. - -### coding_master - -Explain a coding concept to a beginner, providing examples, and formatting code in markdown with specific output sections like ideas, recommendations, facts, and insights. - -### compare_and_contrast - -Compare and contrast a list of items in a markdown table, with items on the left and topics on top. - -### convert_to_markdown - -Convert content to clean, complete Markdown format, preserving all original structure, formatting, links, and code blocks without alterations. - -### create_5_sentence_summary - -Create concise summaries or answers to input at 5 different levels of depth, from 5 words to 1 word. - -### create_academic_paper - -Generate a high-quality academic paper in LaTeX format with clear concepts, structured content, and a professional layout. - -### create_ai_jobs_analysis - -Analyze job categories' susceptibility to automation, identify resilient roles, and provide strategies for personal adaptation to AI-driven changes in the workforce. - -### create_aphorisms - -Find and generate a list of brief, witty statements. - -### create_art_prompt - -Generates a detailed, compelling visual description of a concept, including stylistic references and direct AI instructions for creating art. - -### create_better_frame - -Identifies and analyzes different frames of interpreting reality, emphasizing the power of positive, productive lenses in shaping outcomes. - -### create_coding_feature - -Generates secure and composable code features using modern technology and best practices from project specifications. - -### create_coding_project - -Generate wireframes and starter code for any coding ideas that you have. - -### create_command - -Helps determine the correct parameters and switches for penetration testing tools based on a brief description of the objective. - -### create_cyber_summary - -Summarizes cybersecurity threats, vulnerabilities, incidents, and malware with a 25-word summary and categorized bullet points, after thoroughly analyzing and mapping the provided input. - -### create_design_document - -Creates a detailed design document for a system using the C4 model, addressing business and security postures, and including a system context diagram. - -### create_diy - -Creates structured "Do It Yourself" tutorial patterns by analyzing prompts, organizing requirements, and providing step-by-step instructions in Markdown format. - -### create_excalidraw_visualization - -Creates complex Excalidraw diagrams to visualize relationships between concepts and ideas in structured format. - -### create_flash_cards - -Creates flashcards for key concepts, definitions, and terms with question-answer format for educational purposes. - -### create_formal_email - -Crafts professional, clear, and respectful emails by analyzing context, tone, and purpose, ensuring proper structure and formatting. - -### create_git_diff_commit - -Generates Git commands and commit messages for reflecting changes in a repository, using conventional commits and providing concise shell commands for updates. - -### create_graph_from_input - -Generates a CSV file with progress-over-time data for a security program, focusing on relevant metrics and KPIs. - -### create_hormozi_offer - -Creates a customized business offer based on principles from Alex Hormozi's book, "$100M Offers." - -### create_idea_compass - -Organizes and structures ideas by exploring their definition, evidence, sources, and related themes or consequences. - -### create_investigation_visualization - -Creates detailed Graphviz visualizations of complex input, highlighting key aspects and providing clear, well-annotated diagrams for investigative analysis and conclusions. - -### create_keynote - -Creates TED-style keynote presentations with a clear narrative, structured slides, and speaker notes, emphasizing impactful takeaways and cohesive flow. - -### create_loe_document - -Creates detailed Level of Effort documents for estimating work effort, resources, and costs for tasks or projects. - -### create_logo - -Creates simple, minimalist company logos without text, generating AI prompts for vector graphic logos based on input. - -### create_markmap_visualization - -Transforms complex ideas into clear visualizations using MarkMap syntax, simplifying concepts into diagrams with relationships, boxes, arrows, and labels. - -### create_mermaid_visualization - -Creates detailed, standalone visualizations of concepts using Mermaid (Markdown) syntax, ensuring clarity and coherence in diagrams. - -### create_mermaid_visualization_for_github - -Creates standalone, detailed visualizations using Mermaid (Markdown) syntax to effectively explain complex concepts, ensuring clarity and precision. - -### create_micro_summary - -Summarizes content into a concise, 20-word summary with main points and takeaways, formatted in Markdown. - -### create_mnemonic_phrases - -Creates memorable mnemonic sentences from given words to aid in memory retention and learning. - -### create_network_threat_landscape - -Analyzes open ports and services from a network scan and generates a comprehensive, insightful, and detailed security threat report in Markdown. - -### create_newsletter_entry - -Condenses provided article text into a concise, objective, newsletter-style summary with a title in the style of Frontend Weekly. - -### create_npc - -Generates a detailed D&D 5E NPC, including background, flaws, stats, appearance, personality, goals, and more in Markdown format. - -### create_pattern - -Extracts, organizes, and formats LLM/AI prompts into structured sections, detailing the AI's role, instructions, output format, and any provided examples for clarity and accuracy. - -### create_prd - -Creates a precise Product Requirements Document (PRD) in Markdown based on input. - -### create_prediction_block - -Extracts and formats predictions from input into a structured Markdown block for a blog post. - -### create_quiz - -Generates review questions based on learning objectives from the input, adapted to the specified student level, and outputs them in a clear markdown format. - -### create_reading_plan - -Creates a three-phase reading plan based on an author or topic to help the user become significantly knowledgeable, including core, extended, and supplementary readings. - -### create_recursive_outline - -Breaks down complex tasks or projects into manageable, hierarchical components with recursive outlining for clarity and simplicity. - -### create_report_finding - -Creates a detailed, structured security finding report in markdown, including sections on Description, Risk, Recommendations, References, One-Sentence-Summary, and Quotes. - -### create_rpg_summary - -Summarizes an in-person RPG session with key events, combat details, player stats, and role-playing highlights in a structured format. - -### create_security_update - -Creates concise security updates for newsletters, covering stories, threats, advisories, vulnerabilities, and a summary of key issues. - -### create_show_intro - -Creates compelling short intros for podcasts, summarizing key topics and themes discussed in the episode. - -### create_sigma_rules - -Extracts Tactics, Techniques, and Procedures (TTPs) from security news and converts them into Sigma detection rules for host-based detections. - -### create_story_explanation - -Summarizes complex content in a clear, approachable story format that makes the concepts easy to understand. - -### create_stride_threat_model - -Create a STRIDE-based threat model for a system design, identifying assets, trust boundaries, data flows, and prioritizing threats with mitigations. - -### create_summary - -Summarizes content into a 20-word sentence, 10 main points (16 words max), and 5 key takeaways in Markdown format. - -### create_tags - -Identifies at least 5 tags from text content for mind mapping tools, including authors and existing tags if present. - -### create_threat_scenarios - -Identifies likely attack methods for any system by providing a narrative-based threat model, balancing risk and opportunity. - -### create_ttrc_graph - -Creates a CSV file showing the progress of Time to Remediate Critical Vulnerabilities over time using given data. - -### create_ttrc_narrative - -Creates a persuasive narrative highlighting progress in reducing the Time to Remediate Critical Vulnerabilities metric over time. - -### create_upgrade_pack - -Extracts world model and task algorithm updates from content, providing beliefs about how the world works and task performance. - -### create_user_story - -Writes concise and clear technical user stories for new features in complex software programs, formatted for all stakeholders. - -### create_video_chapters - -Extracts interesting topics and timestamps from a transcript, providing concise summaries of key moments. - -### create_visualization - -Transforms complex ideas into visualizations using intricate ASCII art, simplifying concepts where necessary. - -### dialog_with_socrates - -Engages in deep, meaningful dialogues to explore and challenge beliefs using the Socratic method. - -### enrich_blog_post - -Enhances Markdown blog files by applying instructions to improve structure, visuals, and readability for HTML rendering. - -### explain_code - -Explains code, security tool output, configuration text, and answers questions based on the provided input. - -### explain_docs - -Improves and restructures tool documentation into clear, concise instructions, including overviews, usage, use cases, and key features. - -### explain_math - -Helps you understand mathematical concepts in a clear and engaging way. - -### explain_project - -Summarizes project documentation into clear, concise sections covering the project, problem, solution, installation, usage, and examples. - -### explain_terms - -Produces a glossary of advanced terms from content, providing a definition, analogy, and explanation of why each term matters. - -### export_data_as_csv - -Extracts and outputs all data structures from the input in properly formatted CSV data. - -### extract_algorithm_update_recommendations - -Extracts concise, practical algorithm update recommendations from the input and outputs them in a bulleted list. - -### extract_article_wisdom - -Extracts surprising, insightful, and interesting information from content, categorizing it into sections like summary, ideas, quotes, facts, references, and recommendations. - -### extract_book_ideas - -Extracts and outputs 50 to 100 of the most surprising, insightful, and interesting ideas from a book's content. - -### extract_book_recommendations - -Extracts and outputs 50 to 100 practical, actionable recommendations from a book's content. - -### extract_business_ideas - -Extracts top business ideas from content and elaborates on the best 10 with unique differentiators. - -### extract_controversial_ideas - -Extracts and outputs controversial statements and supporting quotes from the input in a structured Markdown list. - -### extract_core_message - -Extracts and outputs a clear, concise sentence that articulates the core message of a given text or body of work. - -### extract_ctf_writeup - -Extracts a short writeup from a warstory-like text about a cyber security engagement. - -### extract_domains - -Extracts domains and URLs from content to identify sources used for articles, newsletters, and other publications. - -### extract_extraordinary_claims - -Extracts and outputs a list of extraordinary claims from conversations, focusing on scientifically disputed or false statements. - -### extract_ideas - -Extracts and outputs all the key ideas from input, presented as 15-word bullet points in Markdown. - -### extract_insights - -Extracts and outputs the most powerful and insightful ideas from text, formatted as 16-word bullet points in the INSIGHTS section, also IDEAS section. - -### extract_insights_dm - -Extracts and outputs all valuable insights and a concise summary of the content, including key points and topics discussed. - -### extract_instructions - -Extracts clear, actionable step-by-step instructions and main objectives from instructional video transcripts, organizing them into a concise list. - -### extract_jokes - -Extracts jokes from text content, presenting each joke with its punchline in separate bullet points. - -### extract_latest_video - -Extracts the latest video URL from a YouTube RSS feed and outputs the URL only. - -### extract_main_activities - -Extracts key events and activities from transcripts or logs, providing a summary of what happened. - -### extract_main_idea - -Extracts the main idea and key recommendation from the input, summarizing them in 15-word sentences. - -### extract_most_redeeming_thing - -Extracts the most redeeming aspect from an input, summarizing it in a single 15-word sentence. - -### extract_patterns - -Extracts and analyzes recurring, surprising, and insightful patterns from input, providing detailed analysis and advice for builders. - -### extract_poc - -Extracts proof of concept URLs and validation methods from security reports, providing the URL and command to run. - -### extract_predictions - -Extracts predictions from input, including specific details such as date, confidence level, and verification method. - -### extract_primary_problem - -Extracts the primary problem with the world as presented in a given text or body of work. - -### extract_primary_solution - -Extracts the primary solution for the world as presented in a given text or body of work. - -### extract_product_features - -Extracts and outputs a list of product features from the provided input in a bulleted format. - -### extract_questions - -Extracts and outputs all questions asked by the interviewer in a conversation or interview. - -### extract_recipe - -Extracts and outputs a recipe with a short meal description, ingredients with measurements, and preparation steps. - -### extract_recommendations - -Extracts and outputs concise, practical recommendations from a given piece of content in a bulleted list. - -### extract_references - -Extracts and outputs a bulleted list of references to art, stories, books, literature, and other sources from content. - -### extract_skills - -Extracts and classifies skills from a job description into a table, separating each skill and classifying it as either hard or soft. - -### extract_song_meaning - -Analyzes a song to provide a summary of its meaning, supported by detailed evidence from lyrics, artist commentary, and fan analysis. - -### extract_sponsors - -Extracts and lists official sponsors and potential sponsors from a provided transcript. - -### extract_videoid - -Extracts and outputs the video ID from any given URL. - -### extract_wisdom - -Extracts surprising, insightful, and interesting information from text on topics like human flourishing, AI, learning, and more. - -### extract_wisdom_agents - -Extracts valuable insights, ideas, quotes, and references from content, emphasizing topics like human flourishing, AI, learning, and technology. - -### extract_wisdom_dm - -Extracts all valuable, insightful, and thought-provoking information from content, focusing on topics like human flourishing, AI, learning, and technology. - -### extract_wisdom_nometa - -Extracts insights, ideas, quotes, habits, facts, references, and recommendations from content, focusing on human flourishing, AI, technology, and related topics. - -### find_female_life_partner - -Analyzes criteria for finding a female life partner and provides clear, direct, and poetic descriptions. - -### find_hidden_message - -Extracts overt and hidden political messages, justifications, audience actions, and a cynical analysis from content. - -### find_logical_fallacies - -Identifies and analyzes fallacies in arguments, classifying them as formal or informal with detailed reasoning. - -### get_wow_per_minute - -Determines the wow-factor of content per minute based on surprise, novelty, insight, value, and wisdom, measuring how rewarding the content is for the viewer. - -### get_youtube_rss - -Returns the RSS URL for a given YouTube channel based on the channel ID or URL. - -### humanize - -Rewrites AI-generated text to sound natural, conversational, and easy to understand, maintaining clarity and simplicity. - -### identify_dsrp_distinctions - -Encourages creative, systems-based thinking by exploring distinctions, boundaries, and their implications, drawing on insights from prominent systems thinkers. - -### identify_dsrp_perspectives - -Explores the concept of distinctions in systems thinking, focusing on how boundaries define ideas, influence understanding, and reveal or obscure insights. - -### identify_dsrp_relationships - -Encourages exploration of connections, distinctions, and boundaries between ideas, inspired by systems thinkers to reveal new insights and patterns in complex systems. - -### identify_dsrp_systems - -Encourages organizing ideas into systems of parts and wholes, inspired by systems thinkers to explore relationships and how changes in organization impact meaning and understanding. - -### identify_job_stories - -Identifies key job stories or requirements for roles. - -### improve_academic_writing - -Refines text into clear, concise academic language while improving grammar, coherence, and clarity, with a list of changes. - -### improve_prompt - -Improves an LLM/AI prompt by applying expert prompt writing strategies for better results and clarity. - -### improve_report_finding - -Improves a penetration test security finding by providing detailed descriptions, risks, recommendations, references, quotes, and a concise summary in markdown format. - -### improve_writing - -Refines text by correcting grammar, enhancing style, improving clarity, and maintaining the original meaning. - -### judge_output - -Evaluates Honeycomb queries by judging their effectiveness, providing critiques and outcomes based on language nuances and analytics relevance. - -### label_and_rate - -Labels content with up to 20 single-word tags and rates it based on idea count and relevance to human meaning, AI, and other related themes, assigning a tier (S, A, B, C, D) and a quality score. - -### md_callout - -Classifies content and generates a markdown callout based on the provided text, selecting the most appropriate type. - -### official_pattern_template - -Template to use if you want to create new fabric patterns. - -### prepare_7s_strategy - -Prepares a comprehensive briefing document from 7S's strategy capturing organizational profile, strategic elements, and market dynamics with clear, concise, and organized content. - -### provide_guidance - -Provides psychological and life coaching advice, including analysis, recommendations, and potential diagnoses, with a compassionate and honest tone. - -### rate_ai_response - -Rates the quality of AI responses by comparing them to top human expert performance, assigning a letter grade, reasoning, and providing a 1-100 score based on the evaluation. - -### rate_ai_result - -Assesses the quality of AI/ML/LLM work by deeply analyzing content, instructions, and output, then rates performance based on multiple dimensions, including coverage, creativity, and interdisciplinary thinking. - -### rate_content - -Labels content with up to 20 single-word tags and rates it based on idea count and relevance to human meaning, AI, and other related themes, assigning a tier (S, A, B, C, D) and a quality score. - -### rate_value - -Produces the best possible output by deeply analyzing and understanding the input and its intended purpose. - -### raw_query - -Fully digests and contemplates the input to produce the best possible result based on understanding the sender's intent. - -### recommend_artists - -Recommends a personalized festival schedule with artists aligned to your favorite styles and interests, including rationale. - -### recommend_pipeline_upgrades - -Optimizes vulnerability-checking pipelines by incorporating new information and improving their efficiency, with detailed explanations of changes. - -### recommend_talkpanel_topics - -Produces a clean set of proposed talks or panel talking points for a person based on their interests and goals, formatted for submission to a conference organizer. - -### refine_design_document - -Refines a design document based on a design review by analyzing, mapping concepts, and implementing changes using valid Markdown. - -### review_design - -Reviews and analyzes architecture design, focusing on clarity, component design, system integrations, security, performance, scalability, and data management. - -### sanitize_broken_html_to_markdown - -Converts messy HTML into clean, properly formatted Markdown, applying custom styling and ensuring compatibility with Vite. - -### show_fabric_options_markmap - -Visualizes the functionality of the Fabric framework by representing its components, commands, and features based on the provided input. - -### solve_with_cot - -Provides detailed, step-by-step responses with chain of thought reasoning, using structured thinking, reflection, and output sections. - -### suggest_pattern - -Suggests appropriate fabric patterns or commands based on user input, providing clear explanations and options for users. - -### summarize - -Summarizes content into a 20-word sentence, main points, and takeaways, formatted with numbered lists in Markdown. - -### summarize_board_meeting - -Creates formal meeting notes from board meeting transcripts for corporate governance documentation. - -### summarize_debate - -Summarizes debates, identifies primary disagreement, extracts arguments, and provides analysis of evidence and argument strength to predict outcomes. - -### summarize_git_changes - -Summarizes recent project updates from the last 7 days, focusing on key changes with enthusiasm. - -### summarize_git_diff - -Summarizes and organizes Git diff changes with clear, succinct commit messages and bullet points. - -### summarize_lecture - -Extracts relevant topics, definitions, and tools from lecture transcripts, providing structured summaries with timestamps and key takeaways. - -### summarize_legislation - -Summarizes complex political proposals and legislation by analyzing key points, proposed changes, and providing balanced, positive, and cynical characterizations. - -### summarize_meeting - -Analyzes meeting transcripts to extract a structured summary, including an overview, key points, tasks, decisions, challenges, timeline, references, and next steps. - -### summarize_micro - -Summarizes content into a 20-word sentence, 3 main points, and 3 takeaways, formatted in clear, concise Markdown. - -### summarize_newsletter - -Extracts the most meaningful, interesting, and useful content from a newsletter, summarizing key sections such as content, opinions, tools, companies, and follow-up items in clear, structured Markdown. - -### summarize_paper - -Summarizes an academic paper by detailing its title, authors, technical approach, distinctive features, experimental setup, results, advantages, limitations, and conclusion in a clear, structured format using human-readable Markdown. - -### summarize_prompt - -Summarizes AI chat prompts by describing the primary function, unique approach, and expected output in a concise paragraph. The summary is focused on the prompt's purpose without unnecessary details or formatting. - -### summarize_pull-requests - -Summarizes pull requests for a coding project by providing a summary and listing the top PRs with human-readable descriptions. - -### summarize_rpg_session - -Summarizes a role-playing game session by extracting key events, combat stats, character changes, quotes, and more. - -### t_analyze_challenge_handling - -Provides 8-16 word bullet points evaluating how well challenges are being addressed, calling out any lack of effort. - -### t_check_metrics - -Analyzes deep context from the TELOS file and input instruction, then provides a wisdom-based output while considering metrics and KPIs to assess recent improvements. - -### t_create_h3_career - -Summarizes context and produces wisdom-based output by deeply analyzing both the TELOS File and the input instruction, considering the relationship between the two. - -### t_create_opening_sentences - -Describes from TELOS file the person's identity, goals, and actions in 4 concise, 32-word bullet points, humbly. - -### t_describe_life_outlook - -Describes from TELOS file a person's life outlook in 5 concise, 16-word bullet points. - -### t_extract_intro_sentences - -Summarizes from TELOS file a person's identity, work, and current projects in 5 concise and grounded bullet points. - -### t_extract_panel_topics - -Creates 5 panel ideas with titles and descriptions based on deep context from a TELOS file and input. - -### t_find_blindspots - -Identify potential blindspots in thinking, frames, or models that may expose the individual to error or risk. - -### t_find_negative_thinking - -Analyze a TELOS file and input to identify negative thinking in documents or journals, followed by tough love encouragement. - -### t_find_neglected_goals - -Analyze a TELOS file and input instructions to identify goals or projects that have not been worked on recently. - -### t_give_encouragement - -Analyze a TELOS file and input instructions to evaluate progress, provide encouragement, and offer recommendations for continued effort. - -### t_red_team_thinking - -Analyze a TELOS file and input instructions to red-team thinking, models, and frames, then provide recommendations for improvement. - -### t_threat_model_plans - -Analyze a TELOS file and input instructions to create threat models for a life plan and recommend improvements. - -### t_visualize_mission_goals_projects - -Analyze a TELOS file and input instructions to create an ASCII art diagram illustrating the relationship of missions, goals, and projects. - -### t_year_in_review - -Analyze a TELOS file to create insights about a person or entity, then summarize accomplishments and visualizations in bullet points. - -### to_flashcards - -Create Anki flashcards from a given text, focusing on concise, optimized questions and answers without external context. - -### transcribe_minutes - -Extracts (from meeting transcription) meeting minutes, identifying actionables, insightful ideas, decisions, challenges, and next steps in a structured format. - -### translate - -Translates sentences or documentation into the specified language code while maintaining the original formatting and tone. - -### tweet - -Provides a step-by-step guide on crafting engaging tweets with emojis, covering Twitter basics, account creation, features, and audience targeting. - -### write_essay - -Writes essays in the style of a specified author, embodying their unique voice, vocabulary, and approach. Uses `author_name` variable. - -### write_essay_pg - -Writes concise, clear essays in the style of Paul Graham, focusing on simplicity, clarity, and illumination of the provided topic. - -### write_hackerone_report - -Generates concise, clear, and reproducible bug bounty reports, detailing vulnerability impact, steps to reproduce, and exploit details for triagers. - -### write_latex - -Generates syntactically correct LaTeX code for a new.tex document, ensuring proper formatting and compatibility with pdflatex. - -### write_micro_essay - -Writes concise, clear, and illuminating essays on the given topic in the style of Paul Graham. - -### write_nuclei_template_rule - -Generates Nuclei YAML templates for detecting vulnerabilities using HTTP requests, matchers, extractors, and dynamic data extraction. - -### write_pull-request - -Drafts detailed pull request descriptions, explaining changes, providing reasoning, and identifying potential bugs from the git diff command output. - -### write_semgrep_rule - -Creates accurate and working Semgrep rules based on input, following syntax guidelines and specific language considerations. - -### youtube_summary - -Create concise, timestamped Youtube video summaries that highlight key points. diff --git a/internal/cli/flags.go b/internal/cli/flags.go index 7c158143..b20d7375 100644 --- a/internal/cli/flags.go +++ b/internal/cli/flags.go @@ -23,78 +23,79 @@ import ( // Chat parameter defaults set in the struct tags must match domain.Default* constants type Flags struct { - Pattern string `short:"p" long:"pattern" yaml:"pattern" description:"Choose a pattern from the available patterns" default:""` - PatternVariables map[string]string `short:"v" long:"variable" description:"Values for pattern variables, e.g. -v=#role:expert -v=#points:30"` - Context string `short:"C" long:"context" description:"Choose a context from the available contexts" default:""` - Session string `long:"session" description:"Choose a session from the available sessions"` - Attachments []string `short:"a" long:"attachment" description:"Attachment path or URL (e.g. for OpenAI image recognition messages)"` - Setup bool `short:"S" long:"setup" description:"Run setup for all reconfigurable parts of fabric"` - Temperature float64 `short:"t" long:"temperature" yaml:"temperature" description:"Set temperature" default:"0.7"` - TopP float64 `short:"T" long:"topp" yaml:"topp" description:"Set top P" default:"0.9"` - Stream bool `short:"s" long:"stream" yaml:"stream" description:"Stream"` - PresencePenalty float64 `short:"P" long:"presencepenalty" yaml:"presencepenalty" description:"Set presence penalty" default:"0.0"` - Raw bool `short:"r" long:"raw" yaml:"raw" description:"Use the defaults of the model without sending chat options (like temperature etc.) and use the user role instead of the system role for patterns."` - FrequencyPenalty float64 `short:"F" long:"frequencypenalty" yaml:"frequencypenalty" description:"Set frequency penalty" default:"0.0"` - ListPatterns bool `short:"l" long:"listpatterns" description:"List all patterns"` - ListAllModels bool `short:"L" long:"listmodels" description:"List all available models"` - ListAllContexts bool `short:"x" long:"listcontexts" description:"List all contexts"` - ListAllSessions bool `short:"X" long:"listsessions" description:"List all sessions"` - UpdatePatterns bool `short:"U" long:"updatepatterns" description:"Update patterns"` - Message string `hidden:"true" description:"Messages to send to chat"` - Copy bool `short:"c" long:"copy" description:"Copy to clipboard"` - Model string `short:"m" long:"model" yaml:"model" description:"Choose model"` - Vendor string `short:"V" long:"vendor" yaml:"vendor" description:"Specify vendor for the selected model (e.g., -V \"LM Studio\" -m openai/gpt-oss-20b)"` - ModelContextLength int `long:"modelContextLength" yaml:"modelContextLength" description:"Model context length (only affects ollama)"` - Output string `short:"o" long:"output" description:"Output to file" default:""` - OutputSession bool `long:"output-session" description:"Output the entire session (also a temporary one) to the output file"` - LatestPatterns string `short:"n" long:"latest" description:"Number of latest patterns to list" default:"0"` - ChangeDefaultModel bool `short:"d" long:"changeDefaultModel" description:"Change default model"` - YouTube string `short:"y" long:"youtube" description:"YouTube video or play list \"URL\" to grab transcript, comments from it and send to chat or print it put to the console and store it in the output file"` - YouTubePlaylist bool `long:"playlist" description:"Prefer playlist over video if both ids are present in the URL"` - YouTubeTranscript bool `long:"transcript" description:"Grab transcript from YouTube video and send to chat (it is used per default)."` - YouTubeTranscriptWithTimestamps bool `long:"transcript-with-timestamps" description:"Grab transcript from YouTube video with timestamps and send to chat"` - YouTubeComments bool `long:"comments" description:"Grab comments from YouTube video and send to chat"` - YouTubeMetadata bool `long:"metadata" description:"Output video metadata"` - YtDlpArgs string `long:"yt-dlp-args" yaml:"ytDlpArgs" description:"Additional arguments to pass to yt-dlp (e.g. '--cookies-from-browser brave')"` - Language string `short:"g" long:"language" description:"Specify the Language Code for the chat, e.g. -g=en -g=zh" default:""` - ScrapeURL string `short:"u" long:"scrape_url" description:"Scrape website URL to markdown using Jina AI"` - ScrapeQuestion string `short:"q" long:"scrape_question" description:"Search question using Jina AI"` - Seed int `short:"e" long:"seed" yaml:"seed" description:"Seed to be used for LMM generation"` - WipeContext string `short:"w" long:"wipecontext" description:"Wipe context"` - WipeSession string `short:"W" long:"wipesession" description:"Wipe session"` - PrintContext string `long:"printcontext" description:"Print context"` - PrintSession string `long:"printsession" description:"Print session"` - HtmlReadability bool `long:"readability" description:"Convert HTML input into a clean, readable view"` - InputHasVars bool `long:"input-has-vars" description:"Apply variables to user input"` - DryRun bool `long:"dry-run" description:"Show what would be sent to the model without actually sending it"` - Serve bool `long:"serve" description:"Serve the Fabric Rest API"` - ServeOllama bool `long:"serveOllama" description:"Serve the Fabric Rest API with ollama endpoints"` - ServeAddress string `long:"address" description:"The address to bind the REST API" default:":8080"` - ServeAPIKey string `long:"api-key" description:"API key used to secure server routes" default:""` - Config string `long:"config" description:"Path to YAML config file"` - Version bool `long:"version" description:"Print current version"` - ListExtensions bool `long:"listextensions" description:"List all registered extensions"` - AddExtension string `long:"addextension" description:"Register a new extension from config file path"` - RemoveExtension string `long:"rmextension" description:"Remove a registered extension by name"` - Strategy string `long:"strategy" description:"Choose a strategy from the available strategies" default:""` - ListStrategies bool `long:"liststrategies" description:"List all strategies"` - ListVendors bool `long:"listvendors" description:"List all vendors"` - ShellCompleteOutput bool `long:"shell-complete-list" description:"Output raw list without headers/formatting (for shell completion)"` - Search bool `long:"search" description:"Enable web search tool for supported models (Anthropic, OpenAI, Gemini)"` - SearchLocation string `long:"search-location" description:"Set location for web search results (e.g., 'America/Los_Angeles')"` - ImageFile string `long:"image-file" description:"Save generated image to specified file path (e.g., 'output.png')"` - ImageSize string `long:"image-size" description:"Image dimensions: 1024x1024, 1536x1024, 1024x1536, auto (default: auto)"` - ImageQuality string `long:"image-quality" description:"Image quality: low, medium, high, auto (default: auto)"` - ImageCompression int `long:"image-compression" description:"Compression level 0-100 for JPEG/WebP formats (default: not set)"` - ImageBackground string `long:"image-background" description:"Background type: opaque, transparent (default: opaque, only for PNG/WebP)"` - SuppressThink bool `long:"suppress-think" yaml:"suppressThink" description:"Suppress text enclosed in thinking tags"` - ThinkStartTag string `long:"think-start-tag" yaml:"thinkStartTag" description:"Start tag for thinking sections" default:""` - ThinkEndTag string `long:"think-end-tag" yaml:"thinkEndTag" description:"End tag for thinking sections" default:""` - DisableResponsesAPI bool `long:"disable-responses-api" yaml:"disableResponsesAPI" description:"Disable OpenAI Responses API (default: false)"` - Voice string `long:"voice" yaml:"voice" description:"TTS voice name for supported models (e.g., Kore, Charon, Puck)" default:"Kore"` - ListGeminiVoices bool `long:"list-gemini-voices" description:"List all available Gemini TTS voices"` - Notification bool `long:"notification" yaml:"notification" description:"Send desktop notification when command completes"` - NotificationCommand string `long:"notification-command" yaml:"notificationCommand" description:"Custom command to run for notifications (overrides built-in notifications)"` + Pattern string `short:"p" long:"pattern" yaml:"pattern" description:"Choose a pattern from the available patterns" default:""` + PatternVariables map[string]string `short:"v" long:"variable" description:"Values for pattern variables, e.g. -v=#role:expert -v=#points:30"` + Context string `short:"C" long:"context" description:"Choose a context from the available contexts" default:""` + Session string `long:"session" description:"Choose a session from the available sessions"` + Attachments []string `short:"a" long:"attachment" description:"Attachment path or URL (e.g. for OpenAI image recognition messages)"` + Setup bool `short:"S" long:"setup" description:"Run setup for all reconfigurable parts of fabric"` + Temperature float64 `short:"t" long:"temperature" yaml:"temperature" description:"Set temperature" default:"0.7"` + TopP float64 `short:"T" long:"topp" yaml:"topp" description:"Set top P" default:"0.9"` + Stream bool `short:"s" long:"stream" yaml:"stream" description:"Stream"` + PresencePenalty float64 `short:"P" long:"presencepenalty" yaml:"presencepenalty" description:"Set presence penalty" default:"0.0"` + Raw bool `short:"r" long:"raw" yaml:"raw" description:"Use the defaults of the model without sending chat options (like temperature etc.) and use the user role instead of the system role for patterns."` + FrequencyPenalty float64 `short:"F" long:"frequencypenalty" yaml:"frequencypenalty" description:"Set frequency penalty" default:"0.0"` + ListPatterns bool `short:"l" long:"listpatterns" description:"List all patterns"` + ListAllModels bool `short:"L" long:"listmodels" description:"List all available models"` + ListAllContexts bool `short:"x" long:"listcontexts" description:"List all contexts"` + ListAllSessions bool `short:"X" long:"listsessions" description:"List all sessions"` + UpdatePatterns bool `short:"U" long:"updatepatterns" description:"Update patterns"` + Message string `hidden:"true" description:"Messages to send to chat"` + Copy bool `short:"c" long:"copy" description:"Copy to clipboard"` + Model string `short:"m" long:"model" yaml:"model" description:"Choose model"` + Vendor string `short:"V" long:"vendor" yaml:"vendor" description:"Specify vendor for the selected model (e.g., -V \"LM Studio\" -m openai/gpt-oss-20b)"` + ModelContextLength int `long:"modelContextLength" yaml:"modelContextLength" description:"Model context length (only affects ollama)"` + Output string `short:"o" long:"output" description:"Output to file" default:""` + OutputSession bool `long:"output-session" description:"Output the entire session (also a temporary one) to the output file"` + LatestPatterns string `short:"n" long:"latest" description:"Number of latest patterns to list" default:"0"` + ChangeDefaultModel bool `short:"d" long:"changeDefaultModel" description:"Change default model"` + YouTube string `short:"y" long:"youtube" description:"YouTube video or play list \"URL\" to grab transcript, comments from it and send to chat or print it put to the console and store it in the output file"` + YouTubePlaylist bool `long:"playlist" description:"Prefer playlist over video if both ids are present in the URL"` + YouTubeTranscript bool `long:"transcript" description:"Grab transcript from YouTube video and send to chat (it is used per default)."` + YouTubeTranscriptWithTimestamps bool `long:"transcript-with-timestamps" description:"Grab transcript from YouTube video with timestamps and send to chat"` + YouTubeComments bool `long:"comments" description:"Grab comments from YouTube video and send to chat"` + YouTubeMetadata bool `long:"metadata" description:"Output video metadata"` + YtDlpArgs string `long:"yt-dlp-args" yaml:"ytDlpArgs" description:"Additional arguments to pass to yt-dlp (e.g. '--cookies-from-browser brave')"` + Language string `short:"g" long:"language" description:"Specify the Language Code for the chat, e.g. -g=en -g=zh" default:""` + ScrapeURL string `short:"u" long:"scrape_url" description:"Scrape website URL to markdown using Jina AI"` + ScrapeQuestion string `short:"q" long:"scrape_question" description:"Search question using Jina AI"` + Seed int `short:"e" long:"seed" yaml:"seed" description:"Seed to be used for LMM generation"` + WipeContext string `short:"w" long:"wipecontext" description:"Wipe context"` + WipeSession string `short:"W" long:"wipesession" description:"Wipe session"` + PrintContext string `long:"printcontext" description:"Print context"` + PrintSession string `long:"printsession" description:"Print session"` + HtmlReadability bool `long:"readability" description:"Convert HTML input into a clean, readable view"` + InputHasVars bool `long:"input-has-vars" description:"Apply variables to user input"` + DryRun bool `long:"dry-run" description:"Show what would be sent to the model without actually sending it"` + Serve bool `long:"serve" description:"Serve the Fabric Rest API"` + ServeOllama bool `long:"serveOllama" description:"Serve the Fabric Rest API with ollama endpoints"` + ServeAddress string `long:"address" description:"The address to bind the REST API" default:":8080"` + ServeAPIKey string `long:"api-key" description:"API key used to secure server routes" default:""` + Config string `long:"config" description:"Path to YAML config file"` + Version bool `long:"version" description:"Print current version"` + ListExtensions bool `long:"listextensions" description:"List all registered extensions"` + AddExtension string `long:"addextension" description:"Register a new extension from config file path"` + RemoveExtension string `long:"rmextension" description:"Remove a registered extension by name"` + Strategy string `long:"strategy" description:"Choose a strategy from the available strategies" default:""` + ListStrategies bool `long:"liststrategies" description:"List all strategies"` + ListVendors bool `long:"listvendors" description:"List all vendors"` + ShellCompleteOutput bool `long:"shell-complete-list" description:"Output raw list without headers/formatting (for shell completion)"` + Search bool `long:"search" description:"Enable web search tool for supported models (Anthropic, OpenAI, Gemini)"` + SearchLocation string `long:"search-location" description:"Set location for web search results (e.g., 'America/Los_Angeles')"` + ImageFile string `long:"image-file" description:"Save generated image to specified file path (e.g., 'output.png')"` + ImageSize string `long:"image-size" description:"Image dimensions: 1024x1024, 1536x1024, 1024x1536, auto (default: auto)"` + ImageQuality string `long:"image-quality" description:"Image quality: low, medium, high, auto (default: auto)"` + ImageCompression int `long:"image-compression" description:"Compression level 0-100 for JPEG/WebP formats (default: not set)"` + ImageBackground string `long:"image-background" description:"Background type: opaque, transparent (default: opaque, only for PNG/WebP)"` + SuppressThink bool `long:"suppress-think" yaml:"suppressThink" description:"Suppress text enclosed in thinking tags"` + ThinkStartTag string `long:"think-start-tag" yaml:"thinkStartTag" description:"Start tag for thinking sections" default:""` + ThinkEndTag string `long:"think-end-tag" yaml:"thinkEndTag" description:"End tag for thinking sections" default:""` + DisableResponsesAPI bool `long:"disable-responses-api" yaml:"disableResponsesAPI" description:"Disable OpenAI Responses API (default: false)"` + Voice string `long:"voice" yaml:"voice" description:"TTS voice name for supported models (e.g., Kore, Charon, Puck)" default:"Kore"` + ListGeminiVoices bool `long:"list-gemini-voices" description:"List all available Gemini TTS voices"` + Notification bool `long:"notification" yaml:"notification" description:"Send desktop notification when command completes"` + NotificationCommand string `long:"notification-command" yaml:"notificationCommand" description:"Custom command to run for notifications (overrides built-in notifications)"` + Thinking domain.ThinkingLevel `long:"thinking" yaml:"thinking" description:"Set reasoning/thinking level (e.g., off, low, medium, high, or numeric tokens for Anthropic)"` } var debug = false @@ -438,6 +439,7 @@ func (o *Flags) BuildChatOptions() (ret *domain.ChatOptions, err error) { FrequencyPenalty: o.FrequencyPenalty, Raw: o.Raw, Seed: o.Seed, + Thinking: o.Thinking, ModelContextLength: o.ModelContextLength, Search: o.Search, SearchLocation: o.SearchLocation, diff --git a/internal/cli/flags_test.go b/internal/cli/flags_test.go index c7b2a587..da81e208 100644 --- a/internal/cli/flags_test.go +++ b/internal/cli/flags_test.go @@ -64,6 +64,7 @@ func TestBuildChatOptions(t *testing.T) { FrequencyPenalty: 0.2, Raw: false, Seed: 1, + Thinking: domain.ThinkingLevel(""), SuppressThink: false, ThinkStartTag: "", ThinkEndTag: "", @@ -88,6 +89,7 @@ func TestBuildChatOptionsDefaultSeed(t *testing.T) { FrequencyPenalty: 0.2, Raw: false, Seed: 0, + Thinking: domain.ThinkingLevel(""), SuppressThink: false, ThinkStartTag: "", ThinkEndTag: "", diff --git a/internal/domain/domain.go b/internal/domain/domain.go index c2eeb17f..005f0011 100644 --- a/internal/domain/domain.go +++ b/internal/domain/domain.go @@ -32,6 +32,7 @@ type ChatOptions struct { FrequencyPenalty float64 Raw bool Seed int + Thinking ThinkingLevel ModelContextLength int MaxTokens int Search bool diff --git a/internal/domain/thinking.go b/internal/domain/thinking.go new file mode 100644 index 00000000..deab8b13 --- /dev/null +++ b/internal/domain/thinking.go @@ -0,0 +1,18 @@ +package domain + +// ThinkingLevel represents reasoning/thinking levels supported across providers. +type ThinkingLevel string + +const ( + ThinkingOff ThinkingLevel = "off" + ThinkingLow ThinkingLevel = "low" + ThinkingMedium ThinkingLevel = "medium" + ThinkingHigh ThinkingLevel = "high" +) + +// ThinkingBudgets defines standardized token budgets for reasoning-enabled models. +var ThinkingBudgets = map[ThinkingLevel]int64{ + ThinkingLow: 1024, + ThinkingMedium: 2048, + ThinkingHigh: 4096, +} diff --git a/internal/plugins/ai/anthropic/anthropic.go b/internal/plugins/ai/anthropic/anthropic.go index 6963e9b6..a29637b2 100644 --- a/internal/plugins/ai/anthropic/anthropic.go +++ b/internal/plugins/ai/anthropic/anthropic.go @@ -5,6 +5,7 @@ import ( "fmt" "net/http" "os" + "strconv" "strings" "github.com/anthropics/anthropic-sdk-go" @@ -154,6 +155,24 @@ func (an *Client) ListModels() (ret []string, err error) { return an.models, nil } +func parseThinking(level domain.ThinkingLevel) (anthropic.ThinkingConfigParamUnion, bool) { + lower := strings.ToLower(string(level)) + switch domain.ThinkingLevel(lower) { + case domain.ThinkingOff: + disabled := anthropic.NewThinkingConfigDisabledParam() + return anthropic.ThinkingConfigParamUnion{OfDisabled: &disabled}, true + case domain.ThinkingLow, domain.ThinkingMedium, domain.ThinkingHigh: + if budget, ok := domain.ThinkingBudgets[domain.ThinkingLevel(lower)]; ok { + return anthropic.ThinkingConfigParamOfEnabled(budget), true + } + default: + if tokens, err := strconv.ParseInt(lower, 10, 64); err == nil { + return anthropic.ThinkingConfigParamOfEnabled(tokens), true + } + } + return anthropic.ThinkingConfigParamUnion{}, false +} + func (an *Client) SendStream( msgs []*chat.ChatCompletionMessage, opts *domain.ChatOptions, channel chan string, ) (err error) { @@ -243,6 +262,10 @@ func (an *Client) buildMessageParams(msgs []anthropic.MessageParam, opts *domain } } + if t, ok := parseThinking(opts.Thinking); ok { + params.Thinking = t + } + return } diff --git a/internal/plugins/ai/dryrun/dryrun.go b/internal/plugins/ai/dryrun/dryrun.go index 6a3f903e..1f36d515 100644 --- a/internal/plugins/ai/dryrun/dryrun.go +++ b/internal/plugins/ai/dryrun/dryrun.go @@ -87,6 +87,9 @@ func (c *Client) formatOptions(opts *domain.ChatOptions) string { if opts.ImageFile != "" { builder.WriteString(fmt.Sprintf("ImageFile: %s\n", opts.ImageFile)) } + if opts.Thinking != "" { + builder.WriteString(fmt.Sprintf("Thinking: %s\n", string(opts.Thinking))) + } if opts.SuppressThink { builder.WriteString("SuppressThink: enabled\n") builder.WriteString(fmt.Sprintf("Thinking Start Tag: %s\n", opts.ThinkStartTag)) diff --git a/internal/plugins/ai/openai/chat_completions.go b/internal/plugins/ai/openai/chat_completions.go index ab056b60..9ae444a6 100644 --- a/internal/plugins/ai/openai/chat_completions.go +++ b/internal/plugins/ai/openai/chat_completions.go @@ -85,6 +85,9 @@ func (o *Client) buildChatCompletionParams( ret.Seed = openai.Int(int64(opts.Seed)) } } + if eff, ok := parseReasoningEffort(opts.Thinking); ok { + ret.ReasoningEffort = eff + } return } diff --git a/internal/plugins/ai/openai/openai.go b/internal/plugins/ai/openai/openai.go index 4cc1c597..20e6ab91 100644 --- a/internal/plugins/ai/openai/openai.go +++ b/internal/plugins/ai/openai/openai.go @@ -184,6 +184,19 @@ func (o *Client) NeedsRawMode(modelName string) bool { return slices.Contains(openAIModelsNeedingRaw, modelName) } +func parseReasoningEffort(level domain.ThinkingLevel) (shared.ReasoningEffort, bool) { + switch domain.ThinkingLevel(strings.ToLower(string(level))) { + case domain.ThinkingLow: + return shared.ReasoningEffortLow, true + case domain.ThinkingMedium: + return shared.ReasoningEffortMedium, true + case domain.ThinkingHigh: + return shared.ReasoningEffortHigh, true + default: + return "", false + } +} + func (o *Client) buildResponseParams( inputMsgs []*chat.ChatCompletionMessage, opts *domain.ChatOptions, ) (ret responses.ResponseNewParams) { @@ -229,6 +242,10 @@ func (o *Client) buildResponseParams( ret.Tools = tools } + if eff, ok := parseReasoningEffort(opts.Thinking); ok { + ret.Reasoning = shared.ReasoningParam{Effort: eff} + } + if !opts.Raw { ret.Temperature = openai.Float(opts.Temperature) if opts.TopP != 0 { diff --git a/internal/server/chat.go b/internal/server/chat.go index 43951823..6dcc981f 100755 --- a/internal/server/chat.go +++ b/internal/server/chat.go @@ -130,6 +130,7 @@ func (h *ChatHandler) HandleChat(c *gin.Context) { TopP: request.TopP, FrequencyPenalty: request.FrequencyPenalty, PresencePenalty: request.PresencePenalty, + Thinking: request.Thinking, } session, err := chatter.Send(chatReq, opts)