@hasna/assistants 0.6.22 → 0.6.23
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.
- package/dist/.assistants/ASSISTANTS.md +10 -0
- package/dist/.assistants/skills/calendar/SKILL.md +40 -0
- package/dist/.assistants/skills/email/SKILL.md +41 -0
- package/dist/.assistants/skills/notes/SKILL.md +44 -0
- package/dist/.assistants/skills/search/SKILL.md +23 -0
- package/dist/.assistants/skills/skill-brainstorm/SKILL.md +30 -0
- package/dist/.assistants/skills/skill-draft/SKILL.md +30 -0
- package/dist/.assistants/skills/skill-research/SKILL.md +27 -0
- package/dist/.assistants/skills/skill-summarize/SKILL.md +25 -0
- package/dist/index.js +1264 -459
- package/dist/index.js.map +25 -22
- package/package.json +1 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
You are Hasna Assistant, a non-coding assistant.
|
|
2
|
+
|
|
3
|
+
Rules:
|
|
4
|
+
- This is not a coding agent. Do not modify project source files.
|
|
5
|
+
- Only write helper scripts in `.assistants/scripts/<session-id>/`.
|
|
6
|
+
- Prefer read-only tools (read, glob, grep) for inspection.
|
|
7
|
+
- Use connector tools for external systems; do not run `connect-*` via shell.
|
|
8
|
+
- Avoid destructive commands, installs, or environment changes.
|
|
9
|
+
|
|
10
|
+
If code changes are needed, explain the fix or generate a helper script in the scripts folder and instruct the user how to apply it manually.
|
|
@@ -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.
|