aiden-runtime 3.19.5 → 3.19.7

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.
Files changed (107) hide show
  1. package/README.md +1 -1
  2. package/dist/api/server.js +24 -25
  3. package/dist/core/agentLoop.js +8 -6
  4. package/dist/core/aidenPersonality.js +20 -3
  5. package/dist/core/protectedContext.js +15 -2
  6. package/dist/core/skillLoader.js +2 -0
  7. package/dist/core/skillTeacher.js +18 -5
  8. package/dist/core/version.js +1 -1
  9. package/dist-bundle/cli.js +50 -18
  10. package/dist-bundle/index.js +73 -35
  11. package/package.json +2 -1
  12. package/scripts/postinstall.js +70 -1
  13. package/workspace-templates/HEARTBEAT.md +16 -0
  14. package/workspace-templates/SOUL.md +267 -0
  15. package/workspace-templates/STANDING_ORDERS.md +21 -0
  16. package/workspace-templates/permissions.yaml +180 -0
  17. package/workspace-templates/skills/architecture-diagram/SKILL.md +126 -0
  18. package/workspace-templates/skills/architecture-diagram/skill.json +25 -0
  19. package/workspace-templates/skills/arxiv/SKILL.md +124 -0
  20. package/workspace-templates/skills/arxiv/skill.json +26 -0
  21. package/workspace-templates/skills/ascii-art/SKILL.md +142 -0
  22. package/workspace-templates/skills/ascii-art/skill.json +26 -0
  23. package/workspace-templates/skills/blogwatcher/SKILL.md +147 -0
  24. package/workspace-templates/skills/blogwatcher/skill.json +26 -0
  25. package/workspace-templates/skills/censys/SKILL.md +104 -0
  26. package/workspace-templates/skills/censys/index.ts +133 -0
  27. package/workspace-templates/skills/censys/skill.json +25 -0
  28. package/workspace-templates/skills/clipboard-history/SKILL.md +101 -0
  29. package/workspace-templates/skills/clipboard-history/skill.json +23 -0
  30. package/workspace-templates/skills/crt-sh/SKILL.md +102 -0
  31. package/workspace-templates/skills/crt-sh/index.ts +59 -0
  32. package/workspace-templates/skills/crt-sh/skill.json +25 -0
  33. package/workspace-templates/skills/cveapi/SKILL.md +114 -0
  34. package/workspace-templates/skills/cveapi/index.ts +249 -0
  35. package/workspace-templates/skills/cveapi/skill.json +25 -0
  36. package/workspace-templates/skills/docker-management/SKILL.md +156 -0
  37. package/workspace-templates/skills/docker-management/skill.json +25 -0
  38. package/workspace-templates/skills/excalidraw/SKILL.md +148 -0
  39. package/workspace-templates/skills/excalidraw/skill.json +25 -0
  40. package/workspace-templates/skills/explainshell/SKILL.md +93 -0
  41. package/workspace-templates/skills/explainshell/index.ts +132 -0
  42. package/workspace-templates/skills/explainshell/skill.json +25 -0
  43. package/workspace-templates/skills/financial_research/SKILL.md +21 -0
  44. package/workspace-templates/skills/financial_research/skill.json +24 -0
  45. package/workspace-templates/skills/gif-search/SKILL.md +122 -0
  46. package/workspace-templates/skills/gif-search/skill.json +25 -0
  47. package/workspace-templates/skills/github-auth/SKILL.md +134 -0
  48. package/workspace-templates/skills/github-auth/skill.json +26 -0
  49. package/workspace-templates/skills/github-issues/SKILL.md +130 -0
  50. package/workspace-templates/skills/github-issues/skill.json +25 -0
  51. package/workspace-templates/skills/github-pr-workflow/SKILL.md +143 -0
  52. package/workspace-templates/skills/github-pr-workflow/skill.json +26 -0
  53. package/workspace-templates/skills/github-repo-management/SKILL.md +147 -0
  54. package/workspace-templates/skills/github-repo-management/skill.json +26 -0
  55. package/workspace-templates/skills/google-workspace/SKILL.md +110 -0
  56. package/workspace-templates/skills/google-workspace/skill.json +26 -0
  57. package/workspace-templates/skills/greynoise/SKILL.md +96 -0
  58. package/workspace-templates/skills/greynoise/index.ts +107 -0
  59. package/workspace-templates/skills/greynoise/skill.json +25 -0
  60. package/workspace-templates/skills/haveibeenpwned/SKILL.md +100 -0
  61. package/workspace-templates/skills/haveibeenpwned/index.ts +72 -0
  62. package/workspace-templates/skills/haveibeenpwned/skill.json +24 -0
  63. package/workspace-templates/skills/jupyter-live-kernel/SKILL.md +116 -0
  64. package/workspace-templates/skills/jupyter-live-kernel/skill.json +25 -0
  65. package/workspace-templates/skills/linear/SKILL.md +107 -0
  66. package/workspace-templates/skills/linear/skill.json +25 -0
  67. package/workspace-templates/skills/nano-pdf/SKILL.md +113 -0
  68. package/workspace-templates/skills/nano-pdf/skill.json +26 -0
  69. package/workspace-templates/skills/notion/SKILL.md +108 -0
  70. package/workspace-templates/skills/notion/skill.json +24 -0
  71. package/workspace-templates/skills/obsidian/SKILL.md +115 -0
  72. package/workspace-templates/skills/obsidian/skill.json +24 -0
  73. package/workspace-templates/skills/ocr-and-documents/SKILL.md +125 -0
  74. package/workspace-templates/skills/ocr-and-documents/skill.json +26 -0
  75. package/workspace-templates/skills/p5js/SKILL.md +163 -0
  76. package/workspace-templates/skills/p5js/skill.json +24 -0
  77. package/workspace-templates/skills/research-paper-writing/SKILL.md +158 -0
  78. package/workspace-templates/skills/research-paper-writing/skill.json +26 -0
  79. package/workspace-templates/skills/securityheaders/SKILL.md +99 -0
  80. package/workspace-templates/skills/securityheaders/index.ts +213 -0
  81. package/workspace-templates/skills/securityheaders/skill.json +26 -0
  82. package/workspace-templates/skills/shodan/SKILL.md +113 -0
  83. package/workspace-templates/skills/shodan/index.ts +94 -0
  84. package/workspace-templates/skills/shodan/skill.json +26 -0
  85. package/workspace-templates/skills/songsee/SKILL.md +152 -0
  86. package/workspace-templates/skills/songsee/skill.json +25 -0
  87. package/workspace-templates/skills/ssllabs/SKILL.md +107 -0
  88. package/workspace-templates/skills/ssllabs/index.ts +208 -0
  89. package/workspace-templates/skills/ssllabs/skill.json +27 -0
  90. package/workspace-templates/skills/stable-diffusion-image-generation/SKILL.md +136 -0
  91. package/workspace-templates/skills/stable-diffusion-image-generation/skill.json +24 -0
  92. package/workspace-templates/skills/systematic-debugging/SKILL.md +131 -0
  93. package/workspace-templates/skills/systematic-debugging/skill.json +25 -0
  94. package/workspace-templates/skills/test-driven-development/SKILL.md +164 -0
  95. package/workspace-templates/skills/test-driven-development/skill.json +25 -0
  96. package/workspace-templates/skills/urlscan/SKILL.md +118 -0
  97. package/workspace-templates/skills/urlscan/index.ts +94 -0
  98. package/workspace-templates/skills/urlscan/skill.json +24 -0
  99. package/workspace-templates/skills/virustotal/SKILL.md +120 -0
  100. package/workspace-templates/skills/virustotal/index.ts +124 -0
  101. package/workspace-templates/skills/virustotal/skill.json +26 -0
  102. package/workspace-templates/skills/web_research/SKILL.md +18 -0
  103. package/workspace-templates/skills/web_research/skill.json +20 -0
  104. package/workspace-templates/skills/xitter/SKILL.md +148 -0
  105. package/workspace-templates/skills/xitter/skill.json +26 -0
  106. package/workspace-templates/skills/youtube-content/SKILL.md +121 -0
  107. package/workspace-templates/skills/youtube-content/skill.json +25 -0
@@ -0,0 +1,130 @@
1
+ ---
2
+ name: github-issues
3
+ description: Create, list, view, and manage GitHub issues using the gh CLI
4
+ category: developer
5
+ version: 1.0.0
6
+ origin: aiden
7
+ license: Apache-2.0
8
+ tags: github, issues, bug-tracker, gh-cli, labels, milestones, comments, triage, project-management
9
+ ---
10
+
11
+ # GitHub Issues Management
12
+
13
+ Manage GitHub issues — create, list, view, label, assign, and close issues — using the `gh` CLI. Requires `gh auth login` (see github-auth skill) or `GH_TOKEN` environment variable.
14
+
15
+ ## When to Use
16
+
17
+ - User wants to create a bug report or feature request issue
18
+ - User wants to list open issues in a repository
19
+ - User wants to add a comment or close an issue
20
+ - User wants to filter issues by label, assignee, or milestone
21
+ - User wants to bulk-triage or update multiple issues
22
+
23
+ ## How to Use
24
+
25
+ ### 1. List open issues
26
+
27
+ ```powershell
28
+ # List open issues in current repo
29
+ gh issue list
30
+
31
+ # List with specific filters
32
+ gh issue list --state open --label bug --limit 20
33
+
34
+ # List issues assigned to me
35
+ gh issue list --assignee @me
36
+ ```
37
+
38
+ ### 2. View an issue
39
+
40
+ ```powershell
41
+ gh issue view 42
42
+ gh issue view 42 --comments
43
+ ```
44
+
45
+ ### 3. Create a new issue
46
+
47
+ ```powershell
48
+ # Interactive (opens editor)
49
+ gh issue create
50
+
51
+ # Non-interactive with all fields
52
+ gh issue create --title "Login fails on mobile Safari" --body "Steps to reproduce:
53
+ 1. Open app on iOS Safari
54
+ 2. Tap Sign In
55
+ 3. Form submits but returns to login page
56
+
57
+ Expected: successful login. Actual: redirect loop." --label bug --assignee "@me"
58
+ ```
59
+
60
+ ### 4. Add a comment
61
+
62
+ ```powershell
63
+ gh issue comment 42 --body "Investigated — root cause is a CSRF token mismatch. Fix in progress."
64
+ ```
65
+
66
+ ### 5. Edit an issue (labels, assignees, milestone, title)
67
+
68
+ ```powershell
69
+ # Add a label
70
+ gh issue edit 42 --add-label "priority:high"
71
+
72
+ # Remove a label and add another
73
+ gh issue edit 42 --remove-label bug --add-label wont-fix
74
+
75
+ # Assign to someone
76
+ gh issue edit 42 --add-assignee johndoe
77
+
78
+ # Change title
79
+ gh issue edit 42 --title "Login redirect loop on mobile Safari"
80
+ ```
81
+
82
+ ### 6. Close and reopen issues
83
+
84
+ ```powershell
85
+ # Close (resolved)
86
+ gh issue close 42 --comment "Fixed in v2.1.3"
87
+
88
+ # Close as not planned
89
+ gh issue close 42 --reason "not planned"
90
+
91
+ # Reopen
92
+ gh issue reopen 42
93
+ ```
94
+
95
+ ### 7. Search issues across repos
96
+
97
+ ```powershell
98
+ # Search open issues mentioning a keyword
99
+ gh issue list --repo owner/repo --search "authentication token" --state all
100
+
101
+ # GitHub search syntax in --search
102
+ gh issue list --repo owner/repo --search "label:bug created:>2026-01-01"
103
+ ```
104
+
105
+ ### 8. Bulk operations
106
+
107
+ ```powershell
108
+ # Close all issues with a specific label
109
+ gh issue list --label "duplicate" --limit 100 --json number |
110
+ python -c "import json,sys; [print(i['number']) for i in json.load(sys.stdin)]" |
111
+ ForEach-Object { gh issue close $_ --reason "not planned" }
112
+ ```
113
+
114
+ ## Examples
115
+
116
+ **"Create a GitHub issue for the login bug we just found"**
117
+ → Use step 3 with title, body describing steps to reproduce, and `--label bug`.
118
+
119
+ **"Show me all open bugs assigned to me in this repo"**
120
+ → Use step 1: `gh issue list --label bug --assignee @me`.
121
+
122
+ **"Close issue 42 and add a comment that it's fixed"**
123
+ → Use step 6: `gh issue close 42 --comment "Fixed in latest release"`.
124
+
125
+ ## Cautions
126
+
127
+ - `gh` must be authenticated — run `gh auth status` to verify before use
128
+ - Labels must already exist in the repository — creating non-existent labels with `--add-label` will error
129
+ - Bulk operations cannot be undone — confirm with the user before closing multiple issues
130
+ - Issue numbers are repository-specific — always confirm the correct repo with `--repo owner/repo` for multi-repo workflows
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "github-issues",
3
+ "version": "1.0.0",
4
+ "description": "Create, list, view, and manage GitHub issues using the gh CLI",
5
+ "author": "aiden",
6
+ "license": "MIT",
7
+ "tools": [],
8
+ "trigger_phrases": [],
9
+ "compatible_agents": [
10
+ "aiden"
11
+ ],
12
+ "min_agent_version": "3.0.0",
13
+ "tags": [
14
+ "github",
15
+ "issues",
16
+ "bug-tracker",
17
+ "gh-cli",
18
+ "labels",
19
+ "milestones",
20
+ "comments",
21
+ "triage",
22
+ "project-management"
23
+ ],
24
+ "created": "2026-04-27T17:11:39.674Z"
25
+ }
@@ -0,0 +1,143 @@
1
+ ---
2
+ name: github-pr-workflow
3
+ description: Full pull request lifecycle — create, review, merge, and manage PRs using the gh CLI
4
+ category: developer
5
+ version: 1.0.0
6
+ origin: aiden
7
+ license: Apache-2.0
8
+ tags: github, pull-request, pr, review, merge, gh-cli, code-review, workflow, branch, diff
9
+ ---
10
+
11
+ # GitHub Pull Request Workflow
12
+
13
+ Manage the full lifecycle of GitHub pull requests — create, review, approve, request changes, merge, and clean up — using the `gh` CLI.
14
+
15
+ ## When to Use
16
+
17
+ - User wants to create a pull request from the current branch
18
+ - User wants to review or approve a PR
19
+ - User wants to merge a PR after approval
20
+ - User wants to check PR status, checks, or reviews
21
+ - User wants to list open PRs or find a specific PR
22
+
23
+ ## How to Use
24
+
25
+ ### 1. Create a pull request
26
+
27
+ ```powershell
28
+ # Interactive (opens editor for body)
29
+ gh pr create
30
+
31
+ # Non-interactive with all fields
32
+ gh pr create --title "feat: add user authentication" --body "## Summary
33
+ - Add JWT-based auth
34
+ - Add login/logout endpoints
35
+ - Add middleware for protected routes
36
+
37
+ ## Test plan
38
+ - [ ] Login with valid credentials
39
+ - [ ] Reject invalid credentials
40
+ - [ ] Access protected route with token" --base main --draft
41
+ ```
42
+
43
+ ### 2. List open PRs
44
+
45
+ ```powershell
46
+ gh pr list
47
+ gh pr list --state all --limit 20
48
+ gh pr list --author "@me"
49
+ gh pr list --label "ready for review"
50
+ ```
51
+
52
+ ### 3. View PR details and diff
53
+
54
+ ```powershell
55
+ # View PR summary
56
+ gh pr view 15
57
+
58
+ # View with comments
59
+ gh pr view 15 --comments
60
+
61
+ # Show diff
62
+ gh pr diff 15
63
+ ```
64
+
65
+ ### 4. Check PR status and CI checks
66
+
67
+ ```powershell
68
+ gh pr checks 15
69
+ gh pr status # shows PRs relevant to you (authored, assigned, review requested)
70
+ ```
71
+
72
+ ### 5. Review a PR (approve / request changes / comment)
73
+
74
+ ```powershell
75
+ # Approve
76
+ gh pr review 15 --approve --body "LGTM! Clean implementation."
77
+
78
+ # Request changes
79
+ gh pr review 15 --request-changes --body "Please add unit tests for the auth middleware."
80
+
81
+ # Leave a general comment
82
+ gh pr review 15 --comment --body "Looks mostly good — just one question inline."
83
+ ```
84
+
85
+ ### 6. Merge a PR
86
+
87
+ ```powershell
88
+ # Squash merge (recommended for feature branches)
89
+ gh pr merge 15 --squash --delete-branch
90
+
91
+ # Merge commit (preserves all commits)
92
+ gh pr merge 15 --merge
93
+
94
+ # Rebase merge
95
+ gh pr merge 15 --rebase --delete-branch
96
+ ```
97
+
98
+ ### 7. Checkout a PR locally
99
+
100
+ ```powershell
101
+ # Checkout a PR branch for local testing
102
+ gh pr checkout 15
103
+
104
+ # Return to main when done
105
+ git checkout main
106
+ ```
107
+
108
+ ### 8. Edit a PR (title, body, labels, reviewers)
109
+
110
+ ```powershell
111
+ # Mark draft as ready for review
112
+ gh pr ready 15
113
+
114
+ # Add reviewer
115
+ gh pr edit 15 --add-reviewer alice,bob
116
+
117
+ # Add label
118
+ gh pr edit 15 --add-label "ready for review"
119
+ ```
120
+
121
+ ### 9. Close a PR without merging
122
+
123
+ ```powershell
124
+ gh pr close 15 --comment "Closing in favour of PR #16 which takes a different approach."
125
+ ```
126
+
127
+ ## Examples
128
+
129
+ **"Create a PR from my current branch to main"**
130
+ → Use step 1 — fill in title and body describing the changes and test plan.
131
+
132
+ **"Show me what CI checks are failing on PR 15"**
133
+ → Use step 4: `gh pr checks 15` to see check names, status, and links to logs.
134
+
135
+ **"Approve PR 22 and merge it with squash"**
136
+ → Use step 5 to approve, then step 6 with `--squash --delete-branch`.
137
+
138
+ ## Cautions
139
+
140
+ - Always check CI status (`gh pr checks`) before merging — do not merge PRs with failing required checks
141
+ - `--delete-branch` removes the remote branch after merge — confirm this is desired
142
+ - Squash merge rewrites history — use merge commit for PRs where individual commit history matters
143
+ - Merging from `gh pr merge` requires merge permissions — the user needs write access to the repo
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "github-pr-workflow",
3
+ "version": "1.0.0",
4
+ "description": "Full pull request lifecycle — create, review, merge, and manage PRs using the gh CLI",
5
+ "author": "aiden",
6
+ "license": "MIT",
7
+ "tools": [],
8
+ "trigger_phrases": [],
9
+ "compatible_agents": [
10
+ "aiden"
11
+ ],
12
+ "min_agent_version": "3.0.0",
13
+ "tags": [
14
+ "github",
15
+ "pull-request",
16
+ "pr",
17
+ "review",
18
+ "merge",
19
+ "gh-cli",
20
+ "code-review",
21
+ "workflow",
22
+ "branch",
23
+ "diff"
24
+ ],
25
+ "created": "2026-04-27T17:11:39.693Z"
26
+ }
@@ -0,0 +1,147 @@
1
+ ---
2
+ name: github-repo-management
3
+ description: Create, clone, fork, archive, and manage GitHub repositories using gh CLI and git
4
+ category: developer
5
+ version: 1.0.0
6
+ origin: aiden
7
+ license: Apache-2.0
8
+ tags: github, repository, repo, clone, fork, branch, gh-cli, git, remote, management
9
+ ---
10
+
11
+ # GitHub Repository Management
12
+
13
+ Create, clone, fork, configure, and manage GitHub repositories using the `gh` CLI and `git`. Covers repo creation, branch management, secrets, and repo settings.
14
+
15
+ ## When to Use
16
+
17
+ - User wants to create a new GitHub repository
18
+ - User wants to clone or fork an existing repository
19
+ - User wants to list repositories in an organization or for a user
20
+ - User wants to manage branches (list, create, protect, delete)
21
+ - User wants to add or list GitHub Actions secrets
22
+
23
+ ## How to Use
24
+
25
+ ### 1. Create a new repository
26
+
27
+ ```powershell
28
+ # Create public repo and clone locally
29
+ gh repo create my-new-project --public --clone
30
+
31
+ # Create private repo with description
32
+ gh repo create my-new-project --private --description "Internal API service"
33
+
34
+ # Create repo from local directory
35
+ cd "C:\Users\shiva\Projects\myapp"
36
+ gh repo create my-new-project --source=. --private --push
37
+ ```
38
+
39
+ ### 2. Clone a repository
40
+
41
+ ```powershell
42
+ # Clone via gh (handles auth automatically)
43
+ gh repo clone owner/repo-name
44
+
45
+ # Clone to specific directory
46
+ gh repo clone owner/repo-name ./local-folder
47
+
48
+ # Clone with SSH explicitly
49
+ git clone git@github.com:owner/repo-name.git
50
+ ```
51
+
52
+ ### 3. Fork a repository
53
+
54
+ ```powershell
55
+ # Fork to your account and clone locally
56
+ gh repo fork owner/repo-name --clone
57
+
58
+ # Fork to an organization
59
+ gh repo fork owner/repo-name --org my-org
60
+ ```
61
+
62
+ ### 4. List repositories
63
+
64
+ ```powershell
65
+ # Your repos
66
+ gh repo list --limit 30
67
+
68
+ # Organization repos
69
+ gh repo list my-org --limit 50
70
+
71
+ # Filter by language
72
+ gh repo list --language python --limit 20
73
+ ```
74
+
75
+ ### 5. Manage branches
76
+
77
+ ```powershell
78
+ # List remote branches
79
+ git branch -r
80
+
81
+ # Create and push a new branch
82
+ git checkout -b feature/my-feature
83
+ git push -u origin feature/my-feature
84
+
85
+ # Delete a remote branch
86
+ git push origin --delete feature/old-branch
87
+
88
+ # List branches via gh
89
+ gh api repos/owner/repo/branches | python -m json.tool
90
+ ```
91
+
92
+ ### 6. View and update repo settings
93
+
94
+ ```powershell
95
+ # View repo details
96
+ gh repo view owner/repo-name
97
+
98
+ # View in browser
99
+ gh repo view owner/repo-name --web
100
+
101
+ # Edit repo description and topics
102
+ gh repo edit owner/repo-name --description "Updated description" --add-topic "api,python"
103
+ ```
104
+
105
+ ### 7. Manage GitHub Actions secrets
106
+
107
+ ```powershell
108
+ # List secrets
109
+ gh secret list
110
+
111
+ # Set a secret
112
+ gh secret set DATABASE_URL --body "postgresql://user:pass@host/db"
113
+
114
+ # Set from a file
115
+ gh secret set PRIVATE_KEY < private_key.pem
116
+
117
+ # Delete a secret
118
+ gh secret delete OLD_SECRET
119
+ ```
120
+
121
+ ### 8. Archive or delete a repository
122
+
123
+ ```powershell
124
+ # Archive (read-only, not deleted)
125
+ gh repo archive owner/repo-name
126
+
127
+ # Delete — IRREVERSIBLE — direct user to do this manually
128
+ # gh repo delete owner/repo-name --yes ← do not run this for the user
129
+ ```
130
+
131
+ ## Examples
132
+
133
+ **"Create a new private GitHub repo for my Python scripts"**
134
+ → Use step 1: `gh repo create my-python-scripts --private --clone`.
135
+
136
+ **"Fork the fastapi repository so I can contribute"**
137
+ → Use step 3: `gh repo fork tiangolo/fastapi --clone`.
138
+
139
+ **"Add my API key as a GitHub Actions secret"**
140
+ → Use step 7: `gh secret set API_KEY --body "..."`.
141
+
142
+ ## Cautions
143
+
144
+ - Repository deletion is IRREVERSIBLE — never run `gh repo delete` for the user; direct them to do it in the GitHub web UI
145
+ - Archiving a repo makes it read-only but does not delete it — safe to run
146
+ - Secrets set with `gh secret set` are write-only in the GitHub UI — they cannot be read back after creation
147
+ - Forking a private repo copies it to your account — ensure the original owner's license permits this
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "github-repo-management",
3
+ "version": "1.0.0",
4
+ "description": "Create, clone, fork, archive, and manage GitHub repositories using gh CLI and git",
5
+ "author": "aiden",
6
+ "license": "MIT",
7
+ "tools": [],
8
+ "trigger_phrases": [],
9
+ "compatible_agents": [
10
+ "aiden"
11
+ ],
12
+ "min_agent_version": "3.0.0",
13
+ "tags": [
14
+ "github",
15
+ "repository",
16
+ "repo",
17
+ "clone",
18
+ "fork",
19
+ "branch",
20
+ "gh-cli",
21
+ "git",
22
+ "remote",
23
+ "management"
24
+ ],
25
+ "created": "2026-04-27T17:11:39.714Z"
26
+ }
@@ -0,0 +1,110 @@
1
+ ---
2
+ name: google-workspace
3
+ description: Interact with Gmail, Google Calendar, Drive, Sheets, and Docs via the Google API with service account or OAuth credentials
4
+ category: productivity
5
+ version: 1.0.0
6
+ origin: aiden
7
+ license: Apache-2.0
8
+ tags: google, gmail, calendar, drive, sheets, docs, workspace, api, oauth, email
9
+ ---
10
+
11
+ # Google Workspace Integration
12
+
13
+ Access Gmail, Google Calendar, Drive, Sheets, and Docs through the Google REST APIs. Requires either a service account JSON key (`GOOGLE_APPLICATION_CREDENTIALS`) or an OAuth2 access token.
14
+
15
+ ## When to Use
16
+
17
+ - User wants to read or send Gmail messages
18
+ - User wants to list or create Google Calendar events
19
+ - User wants to read/write a Google Sheet
20
+ - User wants to list Google Drive files
21
+ - User wants to read or update a Google Doc
22
+
23
+ ## How to Use
24
+
25
+ ### 1. Authenticate — OAuth token (quickest)
26
+
27
+ Get a short-lived access token via `gcloud` CLI (requires Google Cloud SDK installed):
28
+
29
+ ```powershell
30
+ # One-time login (opens browser)
31
+ gcloud auth login
32
+ # Get token for API calls
33
+ $token = (gcloud auth print-access-token)
34
+ $headers = @{ "Authorization" = "Bearer $token" }
35
+ ```
36
+
37
+ For service accounts, set `GOOGLE_APPLICATION_CREDENTIALS` to the JSON key path and use `gcloud auth application-default print-access-token`.
38
+
39
+ ### 2. List recent Gmail messages
40
+
41
+ ```powershell
42
+ $resp = Invoke-RestMethod -Uri "https://gmail.googleapis.com/gmail/v1/users/me/messages?maxResults=10" -Headers $headers
43
+ $resp.messages | ForEach-Object {
44
+ $msg = Invoke-RestMethod -Uri "https://gmail.googleapis.com/gmail/v1/users/me/messages/$($_.id)?format=metadata&metadataHeaders=Subject,From,Date" -Headers $headers
45
+ $msg.payload.headers | Where-Object { $_.name -in @("Subject","From","Date") } | Select-Object name,value
46
+ }
47
+ ```
48
+
49
+ ### 3. List today's Calendar events
50
+
51
+ ```powershell
52
+ $now = [System.DateTime]::UtcNow.ToString("yyyy-MM-ddTHH:mm:ssZ")
53
+ $end = [System.DateTime]::UtcNow.AddDays(1).ToString("yyyy-MM-ddTHH:mm:ssZ")
54
+ $resp = Invoke-RestMethod -Uri "https://www.googleapis.com/calendar/v3/calendars/primary/events?timeMin=$now&timeMax=$end&singleEvents=true&orderBy=startTime" -Headers $headers
55
+ $resp.items | Select-Object summary, @{N="start";E={$_.start.dateTime}}
56
+ ```
57
+
58
+ ### 4. Read a Google Sheet
59
+
60
+ ```powershell
61
+ $spreadsheetId = "your-sheet-id" # from URL: /spreadsheets/d/<id>/
62
+ $range = "Sheet1!A1:E20"
63
+ $resp = Invoke-RestMethod -Uri "https://sheets.googleapis.com/v4/spreadsheets/$spreadsheetId/values/$range" -Headers $headers
64
+ $resp.values | ForEach-Object { $_ -join "`t" }
65
+ ```
66
+
67
+ ### 5. Write to a Google Sheet
68
+
69
+ ```powershell
70
+ $spreadsheetId = "your-sheet-id"
71
+ $range = "Sheet1!A1"
72
+ $writeHeaders = $headers.Clone(); $writeHeaders["Content-Type"] = "application/json"
73
+ $payload = @{ values = @(@("Name","Score"),@("Alice","95"),@("Bob","87")) } | ConvertTo-Json
74
+ Invoke-RestMethod -Uri "https://sheets.googleapis.com/v4/spreadsheets/$spreadsheetId/values/$range`?valueInputOption=RAW" -Method Put -Headers $writeHeaders -Body $payload
75
+ ```
76
+
77
+ ### 6. List Google Drive files
78
+
79
+ ```powershell
80
+ $resp = Invoke-RestMethod -Uri "https://www.googleapis.com/drive/v3/files?pageSize=20&fields=files(id,name,mimeType,modifiedTime)" -Headers $headers
81
+ $resp.files | Select-Object name, mimeType, modifiedTime | Format-Table -AutoSize
82
+ ```
83
+
84
+ ### 7. Read a Google Doc
85
+
86
+ ```powershell
87
+ $docId = "your-doc-id" # from URL: /document/d/<id>/
88
+ $resp = Invoke-RestMethod -Uri "https://docs.googleapis.com/v1/documents/$docId" -Headers $headers
89
+ $resp.body.content | Where-Object { $_.paragraph } |
90
+ ForEach-Object { $_.paragraph.elements.textRun.content } | Where-Object { $_ } | Out-String
91
+ ```
92
+
93
+ ## Examples
94
+
95
+ **"Show me my unread Gmail emails from today"**
96
+ → Use step 2 with query parameter `q=is:unread after:2026/04/17`.
97
+
98
+ **"What meetings do I have tomorrow?"**
99
+ → Use step 3 with tomorrow's date range for `timeMin`/`timeMax`.
100
+
101
+ **"Read the sales data from my Google Sheet"**
102
+ → Use step 4 with the sheet ID from the URL and the relevant range.
103
+
104
+ ## Cautions
105
+
106
+ - OAuth tokens expire after 1 hour — refresh with `gcloud auth print-access-token` as needed
107
+ - Service account must be granted Workspace domain-wide delegation to impersonate users
108
+ - Google Sheets API ranges use A1 notation — specify exact range to avoid reading entire sheet
109
+ - Drive API returns a maximum of 1000 files per page; use `nextPageToken` for pagination
110
+ - Sending emails requires the `gmail.send` scope — confirm scope during OAuth setup
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "google-workspace",
3
+ "version": "1.0.0",
4
+ "description": "Interact with Gmail, Google Calendar, Drive, Sheets, and Docs via the Google API with service account or OAuth credentials",
5
+ "author": "aiden",
6
+ "license": "MIT",
7
+ "tools": [],
8
+ "trigger_phrases": [],
9
+ "compatible_agents": [
10
+ "aiden"
11
+ ],
12
+ "min_agent_version": "3.0.0",
13
+ "tags": [
14
+ "google",
15
+ "gmail",
16
+ "calendar",
17
+ "drive",
18
+ "sheets",
19
+ "docs",
20
+ "workspace",
21
+ "api",
22
+ "oauth",
23
+ "email"
24
+ ],
25
+ "created": "2026-04-27T17:11:39.741Z"
26
+ }