@hasna/assistants 1.1.71 → 1.1.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: calendar
3
+ description: View and manage Google Calendar events
4
+ argument-hint: [today|tomorrow|week|add "event"]
5
+ allowed-tools: bash, googlecalendar
6
+ ---
7
+
8
+ ## Instructions
9
+
10
+ Manage calendar events based on the command: $ARGUMENTS
11
+
12
+ ### Commands
13
+
14
+ **View today's events:**
15
+ ```bash
16
+ connect-googlecalendar events list --today
17
+ ```
18
+
19
+ **View tomorrow's events:**
20
+ ```bash
21
+ connect-googlecalendar events list --tomorrow
22
+ ```
23
+
24
+ **View this week's events:**
25
+ ```bash
26
+ connect-googlecalendar events list --week
27
+ ```
28
+
29
+ **Add an event:**
30
+ Parse the event details from the arguments and create the event:
31
+ ```bash
32
+ connect-googlecalendar events create "Event Title" --start "2025-01-31T10:00:00" --end "2025-01-31T11:00:00"
33
+ ```
34
+
35
+ ### Output Format
36
+
37
+ Present events in a clean list:
38
+ - **Time** - Event Title (Location if available)
39
+
40
+ For conflicts or busy periods, highlight them.
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: email
3
+ description: Check and manage Gmail inbox
4
+ argument-hint: [inbox|unread|send "to" "subject" "body"]
5
+ allowed-tools: bash, gmail
6
+ ---
7
+
8
+ ## Instructions
9
+
10
+ Manage email based on the command: $ARGUMENTS
11
+
12
+ ### Commands
13
+
14
+ **View inbox:**
15
+ ```bash
16
+ connect-gmail messages list --max 10
17
+ ```
18
+
19
+ **View unread:**
20
+ ```bash
21
+ connect-gmail messages list --unread --max 10
22
+ ```
23
+
24
+ **Send email:**
25
+ Parse the recipient, subject, and body from arguments:
26
+ ```bash
27
+ connect-gmail messages send --to "recipient@example.com" --subject "Subject" --body "Body text"
28
+ ```
29
+
30
+ **Search emails:**
31
+ ```bash
32
+ connect-gmail messages search "query" --max 10
33
+ ```
34
+
35
+ ### Output Format
36
+
37
+ Present emails as:
38
+ - **From** | Subject | Date
39
+ Preview of body (first 100 chars)
40
+
41
+ Flag important or urgent emails.
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: notes
3
+ description: Create and manage notes in Notion
4
+ argument-hint: [list|create "title"|search "query"]
5
+ allowed-tools: bash, notion
6
+ ---
7
+
8
+ ## Instructions
9
+
10
+ Manage notes in Notion based on the command: $ARGUMENTS
11
+
12
+ ### Commands
13
+
14
+ **List recent notes:**
15
+ ```bash
16
+ connect-notion pages list --max 10
17
+ ```
18
+
19
+ **Create a note:**
20
+ Parse the title and optional content from arguments:
21
+ ```bash
22
+ connect-notion pages create "PARENT_PAGE_ID" "Note Title" --content "Note content here"
23
+ ```
24
+
25
+ Note: You'll need to know the parent page ID. List pages first to find it.
26
+
27
+ **Search notes:**
28
+ ```bash
29
+ connect-notion search "query" --pages
30
+ ```
31
+
32
+ **Get note content:**
33
+ ```bash
34
+ connect-notion blocks children "PAGE_ID"
35
+ ```
36
+
37
+ ### Output Format
38
+
39
+ Present notes with:
40
+ - Title
41
+ - Last edited date
42
+ - Preview of content
43
+
44
+ For search results, show relevance highlights.
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: search
3
+ description: Search the web for information using Exa
4
+ argument-hint: [query]
5
+ allowed-tools: bash, exa
6
+ ---
7
+
8
+ ## Instructions
9
+
10
+ Search the web for information about: $ARGUMENTS
11
+
12
+ Use the `connect-exa` CLI to perform the search:
13
+
14
+ ```bash
15
+ connect-exa search "$ARGUMENTS" --max 5
16
+ ```
17
+
18
+ Summarize the results in a clear, concise format with:
19
+ 1. Key findings
20
+ 2. Relevant links
21
+ 3. Any important caveats
22
+
23
+ If no results are found, suggest alternative search queries.
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: brainstorm
3
+ description: Generate ideas and explore possibilities. Use when the user needs creative thinking or problem solving.
4
+ argument-hint: [topic or problem]
5
+ ---
6
+
7
+ ## Instructions
8
+
9
+ Brainstorm ideas for: $ARGUMENTS
10
+
11
+ ### Approach
12
+
13
+ 1. **Divergent thinking**: Generate many ideas without judgment
14
+ 2. **Different angles**: Consider the topic from multiple perspectives
15
+ 3. **Build on ideas**: Create variations and combinations
16
+ 4. **Organize**: Group related ideas together
17
+
18
+ ### Output Format
19
+
20
+ - **Quick Ideas** (5-10): Rapid-fire suggestions
21
+ - **Deep Dives** (2-3): More developed concepts with brief explanations
22
+ - **Wild Cards** (1-2): Unconventional or unexpected approaches
23
+ - **Next Steps**: How to explore or refine the best ideas
24
+
25
+ ### Guidelines
26
+
27
+ - Quantity over quality initially
28
+ - No idea is too simple or too ambitious
29
+ - Consider practical and creative options
30
+ - Build on context the user provides
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: draft
3
+ description: Draft emails, messages, or documents. Use when the user needs help writing something.
4
+ argument-hint: [type] [context]
5
+ ---
6
+
7
+ ## Instructions
8
+
9
+ Draft content based on: $ARGUMENTS
10
+
11
+ ### Guidelines
12
+
13
+ 1. **Identify the type**: Email, message, letter, document, post, etc.
14
+ 2. **Understand the context**: Who is the audience? What's the purpose?
15
+ 3. **Match the tone**: Professional, casual, formal, friendly, etc.
16
+ 4. **Be concise**: Get to the point while remaining polite
17
+
18
+ ### Output Format
19
+
20
+ Provide the draft with:
21
+ - The complete text ready to use
22
+ - Any placeholders marked with [BRACKETS] for info you need
23
+ - Optional: Alternative versions if tone/approach is ambiguous
24
+
25
+ ### Tips
26
+
27
+ - For emails: Include a clear subject line suggestion
28
+ - For messages: Keep it appropriately brief
29
+ - For documents: Structure with headers if lengthy
30
+ - Always proofread for clarity and grammar
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: research
3
+ description: Research a topic thoroughly using web search and multiple sources. Use when the user needs comprehensive information on a topic.
4
+ argument-hint: [topic]
5
+ allowed-tools: web_search, web_fetch, curl
6
+ ---
7
+
8
+ ## Instructions
9
+
10
+ Research the following topic: $ARGUMENTS
11
+
12
+ ### Steps
13
+
14
+ 1. Search the web for relevant information using web_search
15
+ 2. Fetch the top 3-5 most relevant results using web_fetch
16
+ 3. Cross-reference information from multiple sources
17
+ 4. Synthesize findings into a comprehensive overview
18
+
19
+ ### Output Format
20
+
21
+ - **Overview**: Brief introduction to the topic
22
+ - **Key Findings**: Main discoveries from research
23
+ - **Different Perspectives**: Any varying viewpoints found
24
+ - **Sources**: List the URLs used with brief descriptions
25
+ - **Recommendations**: Suggested next steps or additional resources
26
+
27
+ Be thorough but focused. Prioritize accuracy and cite sources.
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: summarize
3
+ description: Summarize content from URLs, documents, or text. Use when the user wants a quick summary of something.
4
+ argument-hint: [url or text]
5
+ allowed-tools: web_fetch, read
6
+ ---
7
+
8
+ ## Instructions
9
+
10
+ Summarize the following content: $ARGUMENTS
11
+
12
+ ### Steps
13
+
14
+ 1. If the input is a URL, fetch the content using web_fetch
15
+ 2. If the input is a file path, read the file
16
+ 3. Otherwise, treat the input as text to summarize
17
+
18
+ ### Output Format
19
+
20
+ Provide a summary with:
21
+ - **TL;DR**: One sentence summary
22
+ - **Key Points**: 3-5 bullet points of the main ideas
23
+ - **Notable Details**: Any important specifics worth highlighting
24
+
25
+ Keep the summary concise but comprehensive. Adapt the length based on the source content.
@@ -0,0 +1,113 @@
1
+ ---
2
+ name: video
3
+ description: Analyze video content — transcribe audio, extract key frames, answer questions about video. Supports local files and YouTube URLs.
4
+ argument-hint: [video path or YouTube URL]
5
+ allowed-tools: bash, read_audio, read
6
+ ---
7
+
8
+ ## Instructions
9
+
10
+ Analyze the video specified by: $ARGUMENTS
11
+
12
+ ### Step 1: Detect Input Type and Check Dependencies
13
+
14
+ First, check if ffmpeg is available:
15
+
16
+ ```bash
17
+ which ffmpeg || echo "MISSING: ffmpeg is required for video analysis. Install with: brew install ffmpeg"
18
+ ```
19
+
20
+ Determine if the input is a YouTube URL or local file:
21
+ - **YouTube URL** (contains youtube.com or youtu.be): Download with yt-dlp
22
+ - **Local file**: Verify it exists
23
+
24
+ For YouTube URLs, check yt-dlp is available:
25
+ ```bash
26
+ which yt-dlp || echo "MISSING: yt-dlp is required for YouTube downloads. Install with: brew install yt-dlp"
27
+ ```
28
+
29
+ ### Step 2: Download (YouTube only)
30
+
31
+ If the input is a YouTube URL, download the video:
32
+
33
+ ```bash
34
+ mkdir -p /tmp/assistants-video
35
+ yt-dlp -f "bestvideo[height<=720]+bestaudio/best[height<=720]" --merge-output-format mp4 -o "/tmp/assistants-video/%(id)s.%(ext)s" "URL_HERE"
36
+ ```
37
+
38
+ Note the output filename for subsequent steps.
39
+
40
+ ### Step 3: Get Video Info
41
+
42
+ ```bash
43
+ ffprobe -v quiet -print_format json -show_format -show_streams "/path/to/video" 2>/dev/null | head -100
44
+ ```
45
+
46
+ This gives you duration, resolution, codec info.
47
+
48
+ ### Step 4: Extract and Transcribe Audio
49
+
50
+ Extract audio from the video:
51
+ ```bash
52
+ ffmpeg -i "/path/to/video" -vn -acodec pcm_s16le -ar 16000 -ac 1 "/tmp/assistants-video/audio.wav" -y 2>/dev/null
53
+ ```
54
+
55
+ Then transcribe using the read_audio tool:
56
+ - Use `read_audio` with path `/tmp/assistants-video/audio.wav`
57
+
58
+ If the audio file is too large (>25MB), split it first:
59
+ ```bash
60
+ ffmpeg -i "/tmp/assistants-video/audio.wav" -f segment -segment_time 300 -c copy "/tmp/assistants-video/audio_%03d.wav" -y 2>/dev/null
61
+ ```
62
+ Then transcribe each segment separately.
63
+
64
+ ### Step 5: Extract Key Frames
65
+
66
+ Extract frames at regular intervals (every 10 seconds, or every 300 frames):
67
+ ```bash
68
+ ffmpeg -i "/path/to/video" -vf "fps=1/10" -frames:v 20 "/tmp/assistants-video/frame_%04d.jpg" -y 2>/dev/null
69
+ ```
70
+
71
+ Adjust the fps and frame count based on video length:
72
+ - Short video (<1 min): fps=1/5, max 12 frames
73
+ - Medium video (1-10 min): fps=1/10, max 20 frames
74
+ - Long video (>10 min): fps=1/30, max 20 frames
75
+
76
+ ### Step 6: Analyze Key Frames
77
+
78
+ Use the `read` tool to view each extracted frame image. This sends the image to Claude's vision capability for analysis.
79
+
80
+ For each frame, note:
81
+ - What's visible in the frame
82
+ - Any text, diagrams, or slides shown
83
+ - Scene changes or transitions
84
+
85
+ ### Step 7: Synthesize Analysis
86
+
87
+ Combine the transcription and visual analysis into a comprehensive report:
88
+
89
+ **Output Format:**
90
+
91
+ - **Video Info**: Duration, resolution, source
92
+ - **Summary**: Overall summary of the video content
93
+ - **Timeline**: Key moments with timestamps
94
+ - [0:00] - Description of opening
95
+ - [1:30] - Key point discussed
96
+ - etc.
97
+ - **Transcript**: Full or summarized transcript
98
+ - **Visual Elements**: Notable visual content (slides, diagrams, demonstrations)
99
+ - **Key Takeaways**: Main points from the video
100
+
101
+ ### Step 8: Cleanup
102
+
103
+ ```bash
104
+ rm -rf /tmp/assistants-video/
105
+ ```
106
+
107
+ ### Error Handling
108
+
109
+ - If ffmpeg is not installed, inform the user: "ffmpeg is required for video analysis. Install with: brew install ffmpeg"
110
+ - If yt-dlp is not installed (for YouTube): "yt-dlp is required for YouTube video downloads. Install with: brew install yt-dlp"
111
+ - If the video file doesn't exist, inform the user with the correct path
112
+ - If transcription fails (no ELEVENLABS_API_KEY), still proceed with visual analysis only
113
+ - If the video is very long (>1 hour), suggest analyzing a specific time range
@@ -0,0 +1,23 @@
1
+ name: code-review
2
+ description: Review staged or recent code changes for quality, bugs, and improvements
3
+ version: "1.0"
4
+ tags: [dev, review, quality]
5
+
6
+ steps:
7
+ - name: Get diff
8
+ prompt: "Run 'git diff --staged' to see staged changes. If nothing is staged, run 'git diff' for unstaged changes. If still nothing, run 'git log -1 --format=%H' and 'git diff HEAD~1' to review the last commit."
9
+ allowed_tools: [bash]
10
+ output_variable: diff_output
11
+
12
+ - name: Identify changed files
13
+ prompt: "From the diff, list all changed files and categorize them: source code, tests, config, docs. Note the number of additions and deletions."
14
+ output_variable: file_summary
15
+
16
+ - name: Review for issues
17
+ prompt: "Review the code changes for: 1) Bugs or logic errors, 2) Security vulnerabilities (injection, auth issues), 3) Performance concerns, 4) Missing error handling, 5) Code style consistency. Be specific about line numbers and files."
18
+ allowed_tools: [read, grep]
19
+ output_variable: issues
20
+
21
+ - name: Suggest improvements
22
+ prompt: "Based on the review findings (${issues}), provide: 1) Critical issues that must be fixed, 2) Recommended improvements, 3) Optional nice-to-haves. For each suggestion, explain why and provide a code example if helpful."
23
+ output_variable: suggestions
@@ -0,0 +1,22 @@
1
+ name: content-creation
2
+ description: Create polished content through a structured outline, draft, and review process
3
+ version: "1.0"
4
+ tags: [writing, content]
5
+
6
+ steps:
7
+ - name: Research and outline
8
+ prompt: "For the content topic '${topic}', create a detailed outline. Consider the target audience '${audience}' and format '${format}'. Research relevant information if needed. The outline should include main sections, key points, and supporting details."
9
+ allowed_tools: [web_search, web_fetch]
10
+ output_variable: outline
11
+
12
+ - name: Write first draft
13
+ prompt: "Using the outline (${outline}), write a complete first draft. Follow the specified format '${format}'. Write in a clear, engaging style appropriate for the audience '${audience}'. Include all sections from the outline with full content."
14
+ output_variable: draft
15
+
16
+ - name: Review and improve
17
+ prompt: "Review the draft (${draft}) for: 1) Clarity and flow, 2) Grammar and style, 3) Accuracy of information, 4) Engagement and readability, 5) Structure and organization. Provide specific revision suggestions."
18
+ output_variable: review
19
+
20
+ - name: Final polish
21
+ prompt: "Apply the review feedback (${review}) to create a final, polished version of the content. Ensure smooth transitions, strong opening and closing, consistent tone, and professional quality throughout."
22
+ output_variable: final_content
@@ -0,0 +1,24 @@
1
+ name: daily-standup
2
+ description: Review recent git activity, summarize progress, and plan today's tasks
3
+ version: "1.0"
4
+ tags: [dev, daily, planning]
5
+
6
+ steps:
7
+ - name: Review git history
8
+ prompt: "Run 'git log --oneline --since=yesterday --all' to see recent commits. Summarize what was worked on."
9
+ allowed_tools: [bash]
10
+ output_variable: git_summary
11
+
12
+ - name: Check current status
13
+ prompt: "Run 'git status' and 'git diff --stat' to see current changes in progress. What's the current state of the codebase?"
14
+ allowed_tools: [bash]
15
+ output_variable: current_status
16
+
17
+ - name: Review open tasks
18
+ prompt: "Check for any TODO comments, open issues, or pending tasks. Look at any task files or issue trackers available."
19
+ allowed_tools: [bash, read, glob, grep]
20
+ output_variable: open_tasks
21
+
22
+ - name: Generate standup report
23
+ prompt: "Based on the previous steps, generate a standup report with: 1) What was done yesterday (${git_summary}), 2) Current state (${current_status}), 3) Plan for today based on open items (${open_tasks}). Format as a clear, concise standup update."
24
+ output_variable: report
@@ -0,0 +1,23 @@
1
+ name: research
2
+ description: Research a topic thoroughly by searching, gathering sources, and synthesizing findings
3
+ version: "1.0"
4
+ tags: [research, knowledge]
5
+
6
+ steps:
7
+ - name: Initial search
8
+ prompt: "Search the web for '${topic}' using web_search. Find 5-10 relevant sources covering different aspects of the topic."
9
+ allowed_tools: [web_search]
10
+ output_variable: search_results
11
+
12
+ - name: Deep dive
13
+ prompt: "From the search results (${search_results}), fetch and read the top 3-5 most relevant sources using web_fetch. Extract key information, data points, and expert opinions."
14
+ allowed_tools: [web_fetch]
15
+ output_variable: source_content
16
+
17
+ - name: Cross-reference
18
+ prompt: "Compare information across the sources (${source_content}). Identify: 1) Points of agreement, 2) Conflicting information, 3) Unique insights from specific sources. Note which sources are most authoritative."
19
+ output_variable: analysis
20
+
21
+ - name: Synthesize report
22
+ prompt: "Create a comprehensive research report on '${topic}' based on the analysis (${analysis}). Include: Overview, Key Findings (with citations), Different Perspectives, Data/Statistics, Conclusions, and Source list with URLs. Be thorough but clear."
23
+ output_variable: report