Comparing gws-calendar with skill-installer
gws-calendar
View full →Author
@JetBrains
Stars
56
Repository
JetBrains/skills
calendar (v3)
PREREQUISITE: Read
../gws-shared/SKILL.mdfor auth, global flags, and security rules. If missing, rungws generate-skillsto create it.
gws calendar <resource> <method> [flags]
Helper Commands
| Command | Description |
|---|---|
+insert | create a new event |
+agenda | Show upcoming events across all calendars |
API Resources
acl
delete— Deletes an access control rule.get— Returns an access control rule.insert— Creates an access control rule.list— Returns the rules in the access control list for the calendar.patch— Updates an access control rule. This method supports patch semantics.update— Updates an access control rule.watch— Watch for changes to ACL resources.
calendarList
delete— Removes a calendar from the user's calendar list.get— Returns a calendar from the user's calendar list.insert— Inserts an existing calendar into the user's calendar list.list— Returns the calendars on the user's calendar list.patch— Updates an existing calendar on the user's calendar list. This method supports patch semantics.update— Updates an existing calendar on the user's calendar list.watch— Watch for changes to CalendarList resources.
calendars
clear— Clears a primary calendar. This operation deletes all events associated with the primary calendar of an account.delete— Deletes a secondary calendar. Use calendars.clear for clearing all events on primary calendars.get— Returns metadata for a calendar.insert— Creates a secondary calendar. The authenticated user for the request is made the data owner of the new calendar.
Note: We recommend to authenticate as the intended data owner of the calendar. You can use domain-wide delegation of authority to allow applications to act on behalf of a specific user. Don't use a service account for authentication. If you use a service account for authentication, the service account is the data owner, which can lead to unexpected behavior.
patch— Updates metadata for a calendar. This method supports patch semantics.update— Updates metadata for a calendar.
channels
stop— Stop watching resources through this channel
colors
get— Returns the color definitions for calendars and events.
events
delete— Deletes an event.get— Returns an event based on its Google Calendar ID. To retrieve an event using its iCalendar ID, call the events.list method using the iCalUID parameter.import— Imports an event. This operation is used to add a private copy of an existing event to a calendar. Only events with an eventType of default may be imported. Deprecated behavior: If a non-default event is imported, its type will be changed to default and any event-type-specific properties it may have will be dropped.insert— Creates an event.instances— Returns instances of the specified recurring event.list— Returns events on the specified calendar.move— Moves an event to another calendar, i.e. changes an event's organizer. Note that only default events can be moved; birthday, focusTime, fromGmail, outOfOffice and workingLocation events cannot be moved.patch— Updates an event. This method supports patch semantics.quickAdd— Creates an event based on a simple text string.update— Updates an event.watch— Watch for changes to Events resources.
freebusy
query— Returns free/busy information for a set of calendars.
settings
get— Returns a single user setting.list— Returns all user settings for the authenticated user.watch— Watch for changes to Settings resources.
Discovering Commands
Before calling any API method, inspect it:
# Browse resources and methods
gws calendar --help
# Inspect a method's required params, types, and defaults
gws schema calendar.<resource>.<method>
Use gws schema output to build your --params and --json flags.
skill-installer
View full →Author
@JetBrains
Stars
56
Repository
JetBrains/skills
Skill Installer
Helps install skills. By default these are from https://github.com/openai/skills/tree/main/skills/.curated, but users can also provide other locations.
Use the helper scripts based on the task:
- List skills when the user asks what is available, or if the user uses this skill without specifying what to do. Default listing is
.curated, but you can pass--path skills/.experimentalwhen they ask about experimental skills. - Install from the curated list when the user provides a skill name.
- Install from another repo when the user provides a GitHub repo/path (including private repos).
Install skills with the helper scripts.
Communication
When listing skills, output approximately as follows, depending on the context of the user's request. If they ask about experimental skills, list from .experimental instead of .curated and label the source accordingly:
"""
Skills from {repo}:
- skill-1
- skill-2 (already installed)
- ... Which ones would you like installed? """
After installing a skill, tell the user: "Restart Codex to pick up new skills."
Scripts
All of these scripts use network, so when running in the sandbox, request escalation when running them.
scripts/list-skills.py(prints skills list with installed annotations)scripts/list-skills.py --format json- Example (experimental list):
scripts/list-skills.py --path skills/.experimental scripts/install-skill-from-github.py --repo <owner>/<repo> --path <path/to/skill> [<path/to/skill> ...]scripts/install-skill-from-github.py --url https://github.com/<owner>/<repo>/tree/<ref>/<path>- Example (experimental skill):
scripts/install-skill-from-github.py --repo openai/skills --path skills/.experimental/<skill-name>
Behavior and Options
- Defaults to direct download for public GitHub repos.
- If download fails with auth/permission errors, falls back to git sparse checkout.
- Aborts if the destination skill directory already exists.
- Installs into
$CODEX_HOME/skills/<skill-name>(defaults to~/.codex/skills). - Multiple
--pathvalues install multiple skills in one run, each named from the path basename unless--nameis supplied. - Options:
--ref <ref>(defaultmain),--dest <path>,--method auto|download|git.
Notes
- Curated listing is fetched from
https://github.com/openai/skills/tree/main/skills/.curatedvia the GitHub API. If it is unavailable, explain the error and exit. - Private GitHub repos can be accessed via existing git credentials or optional
GITHUB_TOKEN/GH_TOKENfor download. - Git fallback tries HTTPS first, then SSH.
- The skills at https://github.com/openai/skills/tree/main/skills/.system are preinstalled, so no need to help users install those. If they ask, just explain this. If they insist, you can download and overwrite.
- Installed annotations come from
$CODEX_HOME/skills.