Google Workspace
RedWoodOG/Hermes-Desktop
Gmail, Calendar, Drive, Contacts, Sheets, and Docs integration via Python.
GAT-style Google Workspace auditing as an agent-native CLI: sync Directory, Drive, Gmail, Reports, and Alert Center into a local store, then run offline cross-API audits, offboarding, and OAuth-app…
$ npx skills add mvanhorn/printing-press-library --skill pp-workspace-admin -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mvanhorn/printing-press-library pp-workspace-admin --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .claude/skills && cp -r skills-src/cli-skills/pp-workspace-admin .claude/skills/pp-workspace-admin && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "pp-workspace-admin" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-workspace-admin into .claude/skills/pp-workspace-admin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-workspace-admin", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-workspace-adminType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add mvanhorn/printing-press-library --skill pp-workspace-admin -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mvanhorn/printing-press-library pp-workspace-admin --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .agents/skills && cp -r skills-src/cli-skills/pp-workspace-admin .agents/skills/pp-workspace-admin && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "pp-workspace-admin" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-workspace-admin into .agents/skills/pp-workspace-admin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-workspace-admin", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mvanhorn/printing-press-library --skill pp-workspace-admin -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mvanhorn/printing-press-library pp-workspace-admin --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/cli-skills/pp-workspace-admin .cursor/skills/pp-workspace-admin && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "pp-workspace-admin" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-workspace-admin into .cursor/skills/pp-workspace-admin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-workspace-admin", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/mvanhorn/printing-press-library.git --path cli-skills/pp-workspace-admin--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add mvanhorn/printing-press-library --skill pp-workspace-admin -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mvanhorn/printing-press-library pp-workspace-admin --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/cli-skills/pp-workspace-admin .gemini/skills/pp-workspace-admin && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "pp-workspace-admin" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-workspace-admin into .gemini/skills/pp-workspace-admin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-workspace-admin", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install mvanhorn/printing-press-library pp-workspace-adminInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add mvanhorn/printing-press-library --skill pp-workspace-admin -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .github/skills && cp -r skills-src/cli-skills/pp-workspace-admin .github/skills/pp-workspace-admin && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "pp-workspace-admin" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-workspace-admin into .github/skills/pp-workspace-admin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-workspace-admin", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mvanhorn/printing-press-library --skill pp-workspace-admin -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install mvanhorn/printing-press-library pp-workspace-admin --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/cli-skills/pp-workspace-admin .opencode/skills/pp-workspace-admin && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "pp-workspace-admin" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-workspace-admin into .opencode/skills/pp-workspace-admin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-workspace-admin", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
pp-workspace-adminGAT-style Google Workspace auditing as an agent-native CLI: sync Directory, Drive, Gmail, Reports, and Alert Center into a local store, then run offline cross-API audits, offboarding, and OAuth-app…
Pp Workspace Admin is an agent skill from mvanhorn/printing-press-library. GAT-style Google Workspace auditing as an agent-native CLI: sync Directory, Drive, Gmail, Reports, and Alert Center into a local store, then run offline cross-API audits, offboarding, and OAuth-app risk checks that GAM and the official gws CLI cannot persist. Trigger phrases: offboard a user, audit external Drive sharing, which OAuth apps have Full Drive access, show me this user's security posture, reconstruct this account's activity, use workspace-admin, run workspace-admin.
Its SKILL.md is about 11k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Backend & APIs, covering Cloud office suites, Email management and OAuth and OpenID Connect. It works with Google Workspace and Gmail. The repository describes itself as: Official library of CLIs generated by the CLI Printing Press. Endorsed, tested, and community-contributed. The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 0fdcc7a. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadBashFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
goclaudenpxgcloudFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx and gcloud, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
GOOGLE_WORKSPACE_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Pp Workspace Admin loads about 11k tokens when it runs. Until then it costs about 129 tokens; SKILL.md has 4,220 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, BashAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from mvanhorn/printing-press-library at commit 0fdcc7a, republished under its Apache-2.0 licence (© mvanhorn). 4,220 words, ~10,570 tokens.
.claude/skills/pp-workspace-admin/SKILL.md (or your agent's skills folder).<!-- GENERATED FILE — DO NOT EDIT.
This file is a verbatim mirror of library/productivity/workspace-admin/SKILL.md,
regenerated post-merge by tools/generate-skills/. Hand-edits here are
silently overwritten on the next regen. Edit the library/ source instead.
See the repository agent guide, section "Generated artifacts: registry.json, cli-skills/". -->
This skill drives the workspace-admin-pp-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:
$HOME/.local/bin on macOS/Linux and %LOCALAPPDATA%\Programs\PrintingPress\bin on Windows:npx -y @mvanhorn/printing-press-library install workspace-admin --cli-onlyworkspace-admin-pp-cli --version$PATH for the agent/runtime that will invoke this skill.If the npx install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.6 or newer). This installs into $GOPATH/bin (default $HOME/go/bin), so add that directory to $PATH instead:
go install github.com/mvanhorn/printing-press-library/library/productivity/workspace-admin/cmd/workspace-admin-pp-cli@latestIf --version reports "command not found" after install, the runtime cannot see the binary directory on $PATH. Do not proceed with skill commands until verification succeeds.
A curated Google Workspace admin and audit tool built on the Admin SDK (Directory, Reports, Alert Center), Drive, and Gmail. Unlike stateless tools, it syncs Workspace metadata into a local SQLite store so audits like audit external-shares, audit app-risk, and audit user360 run offline and join data across APIs. workflow offboard executes a departing user's full lifecycle in one command, and every command is agent-native with --json, --select, --dry-run, and typed exit codes.
Use this CLI for GAT-style Google Workspace auditing and lifecycle automation: offboarding departing users, auditing external Drive sharing, scoring third-party OAuth app risk, reviewing login anomalies and dormant accounts, reconstructing a compromised account's activity, and producing offline cross-API reports over Directory, Drive, Gmail, Reports, and Alert Center. It is the right choice when you want joinable, persisted audit data that stateless tools like GAM and the official gws CLI do not keep.
Do not use this CLI for:
These capabilities aren't available in any other tool for this API.
workflow offboard — Run a departing user's entire lifecycle in one command — suspend, sign out, revoke OAuth tokens, transfer Drive ownership, set Gmail delegation, remove from groups, and move to a suspended OU.
Reach for this instead of running eight separate endpoint commands when a user leaves; it guarantees no step is skipped and records what completed.
workspace-admin-pp-cli workflow offboard departing@example.com --manager manager@example.com --dry-runaudit user360 — One per-user posture report joining the user's Drive footprint and quota, security (2SV, suspended), connected OAuth apps, devices, Gmail settings, group memberships, and recent activity.
Pick this to answer 'what is going on with this account' in one call instead of stitching five APIs together.
workspace-admin-pp-cli audit user360 user@example.com --agent --select security,apps,devicesaudit external-shares — Find every Drive file shared 'anyone with link' or with an external domain, joined to its owner and the owner's org unit.
Use this for the domain-wide external Drive exposure sweep; for one user's Drive footprint use audit user360.
workspace-admin-pp-cli audit external-shares --domain gmail.com --agent --select files.name,files.owner,files.permissions.emailAddressaudit reconstruct — Merge one user's login, admin, Drive, and token activity into a single ordered timeline for post-compromise review.
Pick this after a suspected compromise to see everything an account did in order; for domain-wide anomalies use audit logins.
workspace-admin-pp-cli audit reconstruct user@example.com --since 7d --agentaudit email-exposure — Sweep every user's Gmail forwarding, sendAs, delegates, and filters for external forwarding, external send-as, delegates, and forward/delete rules — the standard business-email-compromise indicators.
Use this for the domain-wide BEC sweep of forwarding rules, delegates, and suspicious filters; for one user's full email settings use audit user360.
workspace-admin-pp-cli audit email-exposure --agent --select findings.user,findings.type,findings.detailaudit app-risk — Roll up every third-party OAuth app authorized in the domain by a curated scope-to-risk tier (Low/Moderate/High), flag apps with Full Drive access, and count users-per-app with the member list.
Reach for this during third-party app review to rank risk and find which users authorized a dangerous app.
workspace-admin-pp-cli audit app-risk --min-risk high --agentaudit logins — Surface failed-login bursts, new-country logins, and dormant accounts (no login since N days) from synced login activity joined to users.
Use this for the weekly login-anomaly and dormant-account review; for a single user's forensic timeline use audit reconstruct.
workspace-admin-pp-cli audit logins --failures --geo --since 7d --agentgroups expand — Recursively flatten nested groups into their effective direct-user membership, cycle-safe.
Use this to answer 'who is effectively in this group' before an access decision; to list one user's group memberships use audit user360.
workspace-admin-pp-cli groups expand all-staff@example.com --agent --select members.email,members.viaGroupadmin — Manage admin
workspace-admin-pp-cli admin channels-stop — Stops watching resources through this channel.workspace-admin-pp-cli admin customer-devices-chromeos-commands-get — Gets command data a specific command issued to the device.workspace-admin-pp-cli admin customer-devices-chromeos-issue-command — Issues a command for the device to execute.workspace-admin-pp-cli admin customers-chrome-print-servers-batch-create-print-servers — Creates multiple print servers.workspace-admin-pp-cli admin customers-chrome-print-servers-batch-delete-print-servers — Deletes multiple print servers.workspace-admin-pp-cli admin customers-chrome-print-servers-create — Creates a print server.workspace-admin-pp-cli admin customers-chrome-print-servers-delete — Deletes a print server.workspace-admin-pp-cli admin customers-chrome-print-servers-get — Returns a print server's configuration.workspace-admin-pp-cli admin customers-chrome-print-servers-list — Lists print server configurations.workspace-admin-pp-cli admin customers-chrome-print-servers-patch — Updates a print server's configuration.workspace-admin-pp-cli admin customers-chrome-printers-batch-create-printers — Creates printers under given Organization Unit.workspace-admin-pp-cli admin customers-chrome-printers-batch-delete-printers — Deletes printers in batch.workspace-admin-pp-cli admin customers-chrome-printers-create — Creates a printer under given Organization Unit.workspace-admin-pp-cli admin customers-chrome-printers-list — List printers configs.workspace-admin-pp-cli admin customers-chrome-printers-list-printer-models — Lists the supported printer models.workspace-admin-pp-cli admin directory-asps-delete — Deletes an ASP issued by a user.workspace-admin-pp-cli admin directory-asps-get — Gets information about an ASP issued by a user.workspace-admin-pp-cli admin directory-asps-list — Lists the ASPs issued by a user.workspace-admin-pp-cli admin directory-chromeosdevices-action — Takes an action that affects a Chrome OS Device. This includes deprovisioning, disabling, and re-enabling devices.workspace-admin-pp-cli admin directory-chromeosdevices-get — Retrieves a Chrome OS device's properties.workspace-admin-pp-cli admin directory-chromeosdevices-list — Retrieves a paginated list of Chrome OS devices within an account.workspace-admin-pp-cli admin directory-chromeosdevices-move-devices-to-ou — Moves or inserts multiple Chrome OS devices to an organizational unit. You can move up to 50 devices at once.workspace-admin-pp-cli admin directory-chromeosdevices-patch — Updates a device's updatable properties, such as annotatedUser, annotatedLocation, notes, orgUnitPathworkspace-admin-pp-cli admin directory-chromeosdevices-update — Updates a device's updatable properties, such as annotatedUser, annotatedLocation, notes, orgUnitPathworkspace-admin-pp-cli admin directory-customers-get — Retrieves a customer.workspace-admin-pp-cli admin directory-customers-patch — Patches a customer.workspace-admin-pp-cli admin directory-customers-update — Updates a customer.workspace-admin-pp-cli admin directory-domain-aliases-delete — Deletes a domain Alias of the customer.workspace-admin-pp-cli admin directory-domain-aliases-get — Retrieves a domain alias of the customer.workspace-admin-pp-cli admin directory-domain-aliases-insert — Inserts a domain alias of the customer.workspace-admin-pp-cli admin directory-domain-aliases-list — Lists the domain aliases of the customer.workspace-admin-pp-cli admin directory-domains-delete — Deletes a domain of the customer.workspace-admin-pp-cli admin directory-domains-get — Retrieves a domain of the customer.workspace-admin-pp-cli admin directory-domains-insert — Inserts a domain of the customer.workspace-admin-pp-cli admin directory-domains-list — Lists the domains of the customer.workspace-admin-pp-cli admin directory-groups-aliases-delete — Removes an alias.workspace-admin-pp-cli admin directory-groups-aliases-insert — Adds an alias for the group.workspace-admin-pp-cli admin directory-groups-aliases-list — Lists all aliases for a group.workspace-admin-pp-cli admin directory-groups-delete — Deletes a group.workspace-admin-pp-cli admin directory-groups-get — Retrieves a group's properties.workspace-admin-pp-cli admin directory-groups-insert — Creates a group.workspace-admin-pp-cli admin directory-groups-list — Retrieves all groups of a domain or of a user given a userKey (paginated).workspace-admin-pp-cli admin directory-groups-patch — Updates a group's properties. This method supports patch semantics.workspace-admin-pp-cli admin directory-groups-update — Updates a group's properties.workspace-admin-pp-cli admin directory-members-delete — Removes a member from a group.workspace-admin-pp-cli admin directory-members-get — Retrieves a group member's properties.workspace-admin-pp-cli admin directory-members-has-member — Checks whether the given user is a member of the group.workspace-admin-pp-cli admin directory-members-insert — Adds a user to the specified group.workspace-admin-pp-cli admin directory-members-list — Retrieves a paginated list of all members in a group. This method times out after 60 minutes.workspace-admin-pp-cli admin directory-members-patch — Updates the membership properties of a user in the specified group.workspace-admin-pp-cli admin directory-members-update — Updates the membership of a user in the specified group.workspace-admin-pp-cli admin directory-mobiledevices-action — Takes an action that affects a mobile device. For example, remotely wiping a device.workspace-admin-pp-cli admin directory-mobiledevices-delete — Removes a mobile device.workspace-admin-pp-cli admin directory-mobiledevices-get — Retrieves a mobile device's properties.workspace-admin-pp-cli admin directory-mobiledevices-list — Retrieves a paginated list of all user-owned mobile devices for an account.workspace-admin-pp-cli admin directory-orgunits-delete — Removes an organizational unit.workspace-admin-pp-cli admin directory-orgunits-get — Retrieves an organizational unit.workspace-admin-pp-cli admin directory-orgunits-insert — Adds an organizational unit.workspace-admin-pp-cli admin directory-orgunits-list — Retrieves a list of all organizational units for an account.workspace-admin-pp-cli admin directory-orgunits-patch — Updates an organizational unit. This method supports patch semanticsworkspace-admin-pp-cli admin directory-orgunits-update — Updates an organizational unit.workspace-admin-pp-cli admin directory-privileges-list — Retrieves a paginated list of all privileges for a customer.workspace-admin-pp-cli admin directory-resources-buildings-delete — Deletes a building.workspace-admin-pp-cli admin directory-resources-buildings-get — Retrieves a building.workspace-admin-pp-cli admin directory-resources-buildings-insert — Inserts a building.workspace-admin-pp-cli admin directory-resources-buildings-list — Retrieves a list of buildings for an account.workspace-admin-pp-cli admin directory-resources-buildings-patch — Patches a building.workspace-admin-pp-cli admin directory-resources-buildings-update — Updates a building.workspace-admin-pp-cli admin directory-resources-calendars-delete — Deletes a calendar resource.workspace-admin-pp-cli admin directory-resources-calendars-get — Retrieves a calendar resource.workspace-admin-pp-cli admin directory-resources-calendars-insert — Inserts a calendar resource.workspace-admin-pp-cli admin directory-resources-calendars-list — Retrieves a list of calendar resources for an account.workspace-admin-pp-cli admin directory-resources-calendars-patch — Patches a calendar resource.workspace-admin-pp-cli admin directory-resources-calendars-update — Updates a calendar resource.workspace-admin-pp-cli admin directory-resources-features-delete — Deletes a feature.workspace-admin-pp-cli admin directory-resources-features-get — Retrieves a feature.workspace-admin-pp-cli admin directory-resources-features-insert — Inserts a feature.workspace-admin-pp-cli admin directory-resources-features-list — Retrieves a list of features for an account.workspace-admin-pp-cli admin directory-resources-features-patch — Patches a feature.workspace-admin-pp-cli admin directory-resources-features-rename — Renames a feature.workspace-admin-pp-cli admin directory-resources-features-update — Updates a feature.workspace-admin-pp-cli admin directory-role-assignments-delete — Deletes a role assignment.workspace-admin-pp-cli admin directory-role-assignments-get — Retrieves a role assignment.workspace-admin-pp-cli admin directory-role-assignments-insert — Creates a role assignment.workspace-admin-pp-cli admin directory-role-assignments-list — Retrieves a paginated list of all roleAssignments.workspace-admin-pp-cli admin directory-roles-delete — Deletes a role.workspace-admin-pp-cli admin directory-roles-get — Retrieves a role.workspace-admin-pp-cli admin directory-roles-insert — Creates a role.workspace-admin-pp-cli admin directory-roles-list — Retrieves a paginated list of all the roles in a domain.workspace-admin-pp-cli admin directory-roles-patch — Patches a role.workspace-admin-pp-cli admin directory-roles-update — Updates a role.workspace-admin-pp-cli admin directory-schemas-delete — Deletes a schema.workspace-admin-pp-cli admin directory-schemas-get — Retrieves a schema.workspace-admin-pp-cli admin directory-schemas-insert — Creates a schema.workspace-admin-pp-cli admin directory-schemas-list — Retrieves all schemas for a customer.workspace-admin-pp-cli admin directory-schemas-patch — Patches a schema.workspace-admin-pp-cli admin directory-schemas-update — Updates a schema.workspace-admin-pp-cli admin directory-tokens-delete — Deletes all access tokens issued by a user for an application.workspace-admin-pp-cli admin directory-tokens-get — Gets information about an access token issued by a user.workspace-admin-pp-cli admin directory-tokens-list — Returns the set of tokens specified user has issued to 3rd party applications.workspace-admin-pp-cli admin directory-two-step-verification-turn-off — Turns off 2-Step Verification for user.workspace-admin-pp-cli admin directory-users-aliases-delete — Removes an alias.workspace-admin-pp-cli admin directory-users-aliases-insert — Adds an alias.workspace-admin-pp-cli admin directory-users-aliases-list — Lists all aliases for a user.workspace-admin-pp-cli admin directory-users-aliases-watch — Watches for changes in users list.workspace-admin-pp-cli admin directory-users-delete — Deletes a user.workspace-admin-pp-cli admin directory-users-get — Retrieves a user.workspace-admin-pp-cli admin directory-users-insert — Creates a user.workspace-admin-pp-cli admin directory-users-list — Retrieves a paginated list of either deleted users or all users in a domain.workspace-admin-pp-cli admin directory-users-make — Makes a user a super administrator.workspace-admin-pp-cli admin directory-users-patch — Updates a user using patch semantics.workspace-admin-pp-cli admin directory-users-photos-delete — Removes the user's photo.workspace-admin-pp-cli admin directory-users-photos-get — Retrieves the user's photo.workspace-admin-pp-cli admin directory-users-photos-patch — Adds a photo for the user. This method supports patch semantics.workspace-admin-pp-cli admin directory-users-photos-update — Adds a photo for the user.workspace-admin-pp-cli admin directory-users-sign-out — Signs a user out of all web and device sessions and reset their sign-in cookies.workspace-admin-pp-cli admin directory-users-undelete — Undeletes a deleted user.workspace-admin-pp-cli admin directory-users-update — Updates a user.workspace-admin-pp-cli admin directory-users-watch — Watches for changes in users list.workspace-admin-pp-cli admin directory-verification-codes-generate — Generates new backup verification codes for the user.workspace-admin-pp-cli admin directory-verification-codes-invalidate — Invalidates the current backup verification codes for the user.workspace-admin-pp-cli admin directory-verification-codes-list — Returns the current set of valid backup verification codes for the specified user.admin-sdk-admin — Manage admin sdk admin
workspace-admin-pp-cli admin-sdk-admin channels-stop — Stop watching resources through this channel.workspace-admin-pp-cli admin-sdk-admin reports-activities-list — Retrieves a list of activities for a specific customer's account and application such as the Admin console applicationworkspace-admin-pp-cli admin-sdk-admin reports-activities-watch — Start receiving notifications for account activities. For more information, see Receiving Push Notifications.workspace-admin-pp-cli admin-sdk-admin reports-customer-usage-reports-get — Retrieves a report which is a collection of properties and statistics for a specific customer's account.workspace-admin-pp-cli admin-sdk-admin reports-entity-usage-reports-get — Retrieves a report which is a collection of properties and statistics for entities used by users within the account.workspace-admin-pp-cli admin-sdk-admin reports-user-usage-report-get — Retrieves a report which is a collection of properties and statistics for a set of users with the account.alerts — Manage alerts
workspace-admin-pp-cli alerts delete — Marks the specified alert for deletion.workspace-admin-pp-cli alerts get — Gets the specified alert. Attempting to get a nonexistent alert returns NOT_FOUND error.workspace-admin-pp-cli alerts list — Lists the alerts.workspace-admin-pp-cli alerts undelete — Restores, or 'undeletes', an alert that was marked for deletion within the past 30 days.alerts-batch-delete — Manage alerts batch delete
workspace-admin-pp-cli alerts-batch-delete — Performs batch delete operation on alerts.alerts-batch-undelete — Manage alerts batch undelete
workspace-admin-pp-cli alerts-batch-undelete — Performs batch undelete operation on alerts.changes — Manage changes
workspace-admin-pp-cli changes get-start-page-token — Gets the starting pageToken for listing future changes.workspace-admin-pp-cli changes list — Lists the changes for a user or shared drive.workspace-admin-pp-cli changes watch — Subscribes to changes for a user. To use this method, you must include the pageToken query parameter.channels — Manage channels
workspace-admin-pp-cli channels — Stop watching resources through this channeldrafts — Manage drafts
workspace-admin-pp-cli drafts create — Creates a new draft with the DRAFT label.workspace-admin-pp-cli drafts delete — Immediately and permanently deletes the specified draft. Does not simply trash it.workspace-admin-pp-cli drafts get — Gets the specified draft.workspace-admin-pp-cli drafts list — Lists the drafts in the user's mailbox.workspace-admin-pp-cli drafts send — Sends the specified, existing draft to the recipients in the To, Cc, and Bcc headers.workspace-admin-pp-cli drafts update — Replaces a draft's content.drive-about — Manage drive about
workspace-admin-pp-cli drive-about — Gets information about the user, the user's Drive, and system capabilities.drives — Manage drives
workspace-admin-pp-cli drives create — Creates a shared drive.workspace-admin-pp-cli drives delete — Permanently deletes a shared drive for which the user is an organizer.workspace-admin-pp-cli drives get — Gets a shared drive's metadata by ID.workspace-admin-pp-cli drives list — Lists the user's shared drives.workspace-admin-pp-cli drives update — Updates the metadata for a shared drive.files — Manage files
workspace-admin-pp-cli files create — Creates a file.workspace-admin-pp-cli files delete — Permanently deletes a file owned by the user without moving it to the trash.workspace-admin-pp-cli files empty-trash — Permanently deletes all of the user's trashed files.workspace-admin-pp-cli files generate-ids — Generates a set of file IDs which can be provided in create or copy requests.workspace-admin-pp-cli files get — Gets a file's metadata or content by ID.workspace-admin-pp-cli files list — Lists or searches files.workspace-admin-pp-cli files update — Updates a file's metadata and/or content.gmail-settings — Manage gmail settings
workspace-admin-pp-cli gmail-settings create — Adds a delegate with its verification status set directly to accepted, without sending any verification email.workspace-admin-pp-cli gmail-settings create-gmail — Creates a filter. Note: you can only create a maximum of 1,000 filters.workspace-admin-pp-cli gmail-settings create-gmail-2 — Creates a forwarding address.workspace-admin-pp-cli gmail-settings create-gmail-3 — Creates a custom 'from' send-as alias.workspace-admin-pp-cli gmail-settings create-gmail-4 — Creates and configures a client-side encryption identity that's authorized to send mail from the user account.workspace-admin-pp-cli gmail-settings create-gmail-5 — Creates and uploads a client-side encryption S/MIME public key certificate chain and private key metadata for theworkspace-admin-pp-cli gmail-settings delete — Removes the specified delegate (which can be of any verification status)workspace-admin-pp-cli gmail-settings delete-gmail — Immediately and permanently deletes the specified filter.workspace-admin-pp-cli gmail-settings delete-gmail-2 — Deletes the specified forwarding address and revokes any verification that may have been required.workspace-admin-pp-cli gmail-settings delete-gmail-3 — Deletes the specified send-as alias. Revokes any verification that may have been required for using it.workspace-admin-pp-cli gmail-settings delete-gmail-4 — Deletes a client-side encryption identity.workspace-admin-pp-cli gmail-settings delete-gmail-5 — Deletes the specified S/MIME config for the specified send-as alias.workspace-admin-pp-cli gmail-settings disable — Turns off a client-side encryption key pair.workspace-admin-pp-cli gmail-settings enable — Turns on a client-side encryption key pair that was turned off.workspace-admin-pp-cli gmail-settings get — Gets the specified delegate.workspace-admin-pp-cli gmail-settings get-auto-forwarding — Gets the auto-forwarding setting for the specified account.workspace-admin-pp-cli gmail-settings get-gmail — Gets a filter.workspace-admin-pp-cli gmail-settings get-gmail-2 — Gets the specified forwarding address.workspace-admin-pp-cli gmail-settings get-gmail-3 — Gets the specified send-as alias.workspace-admin-pp-cli gmail-settings get-gmail-4 — Retrieves a client-side encryption identity configuration.workspace-admin-pp-cli gmail-settings get-gmail-5 — Retrieves an existing client-side encryption key pair.workspace-admin-pp-cli gmail-settings get-gmail-6 — Gets the specified S/MIME config for the specified send-as alias.workspace-admin-pp-cli gmail-settings get-imap — Gets IMAP settings.workspace-admin-pp-cli gmail-settings get-language — Gets language settings.workspace-admin-pp-cli gmail-settings get-pop — Gets POP settings.workspace-admin-pp-cli gmail-settings get-vacation — Gets vacation responder settings.workspace-admin-pp-cli gmail-settings insert — Insert (upload) the given S/MIME config for the specified send-as alias.workspace-admin-pp-cli gmail-settings list — Lists the delegates for the specified account.workspace-admin-pp-cli gmail-settings list-gmail — Lists the message filters of a Gmail user.workspace-admin-pp-cli gmail-settings list-gmail-2 — Lists the forwarding addresses for the specified account.workspace-admin-pp-cli gmail-settings list-gmail-3 — Lists the send-as aliases for the specified account.workspace-admin-pp-cli gmail-settings list-gmail-4 — Lists the client-side encrypted identities for an authenticated user.workspace-admin-pp-cli gmail-settings list-gmail-5 — Lists client-side encryption key pairs for an authenticated user.workspace-admin-pp-cli gmail-settings list-gmail-6 — Lists S/MIME configs for the specified send-as alias.workspace-admin-pp-cli gmail-settings obliterate — Deletes a client-side encryption key pair permanently and immediately.workspace-admin-pp-cli gmail-settings patch — Patch the specified send-as alias.workspace-admin-pp-cli gmail-settings patch-gmail — Associates a different key pair with an existing client-side encryption identity.workspace-admin-pp-cli gmail-settings set-default — Sets the default S/MIME config for the specified send-as alias.workspace-admin-pp-cli gmail-settings update — Updates a send-as alias. If a signature is provided, Gmail will sanitize the HTML before saving it with the alias.workspace-admin-pp-cli gmail-settings update-auto-forwarding — Updates the auto-forwarding setting for the specified account.workspace-admin-pp-cli gmail-settings update-imap — Updates IMAP settings.workspace-admin-pp-cli gmail-settings update-language — Updates language settings.workspace-admin-pp-cli gmail-settings update-pop — Updates POP settings.workspace-admin-pp-cli gmail-settings update-vacation — Updates vacation responder settings.workspace-admin-pp-cli gmail-settings verify — Sends a verification email to the specified send-as alias address. The verification status must be pending.history — Manage history
workspace-admin-pp-cli history <userId> — Lists the history of all changes to the given mailbox.labels — Manage labels
workspace-admin-pp-cli labels create — Creates a new label.workspace-admin-pp-cli labels delete — Immediately and permanently deletes the specified label and removes it from any messages and threads that it is appliedworkspace-admin-pp-cli labels get — Gets the specified label.workspace-admin-pp-cli labels list — Lists all labels in the user's mailbox.workspace-admin-pp-cli labels patch — Patch the specified label.workspace-admin-pp-cli labels update — Updates the specified label.messages — Manage messages
workspace-admin-pp-cli messages batch-delete — Deletes many messages by message ID.workspace-admin-pp-cli messages batch-modify — Modifies the labels on the specified messages.workspace-admin-pp-cli messages delete — Immediately and permanently deletes the specified message. This operation cannot be undone. Prefer `messages.workspace-admin-pp-cli messages get — Gets the specified message.workspace-admin-pp-cli messages import — Imports a message into only this user's mailboxworkspace-admin-pp-cli messages insert — Directly inserts a message into only this user's mailbox similar to IMAP APPENDworkspace-admin-pp-cli messages list — Lists the messages in the user's mailbox.workspace-admin-pp-cli messages send — Sends the specified message to the recipients in the To, Cc, and Bcc headers.settings — Manage settings
workspace-admin-pp-cli settings alertcenter-get — Returns customer-level settings.workspace-admin-pp-cli settings alertcenter-update — Updates the customer-level settings.stop — Manage stop
workspace-admin-pp-cli stop <userId> — Stop receiving push notifications for the given user mailbox.teamdrives — Manage teamdrives
workspace-admin-pp-cli teamdrives create — Deprecated use drives.create instead.workspace-admin-pp-cli teamdrives delete — Deprecated use drives.delete instead.workspace-admin-pp-cli teamdrives get — Deprecated use drives.get instead.workspace-admin-pp-cli teamdrives list — Deprecated use drives.list instead.workspace-admin-pp-cli teamdrives update — Deprecated use drives.update insteadthreads — Manage threads
workspace-admin-pp-cli threads delete — Immediately and permanently deletes the specified thread. Any messages that belong to the thread are also deleted.workspace-admin-pp-cli threads get — Gets the specified thread.workspace-admin-pp-cli threads list — Lists the threads in the user's mailbox.users_profile — Manage users profile
workspace-admin-pp-cli users-profile <userId> — Gets the current user's Gmail profile.watch — Manage watch
workspace-admin-pp-cli watch <userId> — Set up or update a push notification watch on the given user mailbox.When you know what you want to do but not which command does it, ask the CLI directly:
workspace-admin-pp-cli which "<capability in your own words>"which resolves a natural-language capability query to the best matching command from this CLI's curated feature index. Exit code 0 means at least one match; exit code 2 means no confident match — fall back to --help or use a narrower query.
workspace-admin-pp-cli workflow offboard departing@example.com --manager manager@example.com --dry-runShows every step (suspend, token revoke, Drive transfer, delegation, device wipe, group removal, OU move) without changing anything; drop --dry-run to execute.
workspace-admin-pp-cli audit external-shares --domain gmail.com --agent --select files.name,files.owner,files.permissions.emailAddressUses dotted --select paths to return only the fields that matter from a deeply nested Drive permissions response, keeping agent context small.
workspace-admin-pp-cli audit app-risk --min-risk high --agentLists third-party apps tiered High risk (including Full Drive access) with their authorizing users, for third-party app review.
workspace-admin-pp-cli audit reconstruct user@example.com --since 7d --agentProduces one ordered timeline of the user's login, admin, Drive, and token activity over the last 7 days.
workspace-admin-pp-cli search "external" --type drive_files --jsonFull-text search over synced Drive metadata after a sync, returning structured JSON.
Google Workspace admin APIs use OAuth2. This CLI accepts any Google access token as a bearer token via GOOGLE_WORKSPACE_TOKEN (for example from gcloud auth print-access-token). The first-class admin path is a service account with domain-wide delegation: workspace-admin-pp-cli auth service-account --key sa.json --impersonate admin@example.com mints and caches an access token by impersonating a super admin (required for Directory, Reports, and Alert Center). For Drive and Gmail data belonging to a specific user, impersonate that user with --impersonate user@example.com. Authorize the service account's scopes once in Admin Console > Security > API Controls > Domain-wide Delegation; run doctor to verify each scope.
Run workspace-admin-pp-cli doctor to verify setup.
Add --agent to any command. Expands to: --json --compact --no-input --no-color --yes.
Pipeable — JSON on stdout, errors on stderr
Filterable — --select keeps a subset of fields. Dotted paths descend into nested structures; arrays traverse element-wise. Critical for keeping context small on verbose APIs:
workspace-admin-pp-cli alerts list --agent --select id,name,statusPreviewable — --dry-run shows the request without sending
Offline-friendly — sync/search commands can use the local SQLite store when available
Non-interactive — never prompts, every input is a flag
Explicit retries — use --idempotent only when an already-existing create should count as success, and use --ignore-missing only when a missing delete target should count as success
Commands that read from the local store or the API wrap output in a provenance envelope:
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}Parse .results for data and .meta.source to know whether it's live or local. A human-readable N results (live) summary is printed to stderr only when stdout is a terminal AND no machine-format flag (--json, --csv, --compact, --quiet, --plain, --select) is set — piped/agent consumers and explicit-format runs get pure JSON on stdout.
Agents should treat the CLI's path resolver as part of the runtime contract:
Use --home <dir> for one invocation, or set WORKSPACE_ADMIN_HOME=<dir> to relocate all four path kinds under one root.
Use per-kind env vars only when a specific kind must diverge: WORKSPACE_ADMIN_CONFIG_DIR, WORKSPACE_ADMIN_DATA_DIR, WORKSPACE_ADMIN_STATE_DIR, WORKSPACE_ADMIN_CACHE_DIR.
Resolution order is per-kind env var, --home, WORKSPACE_ADMIN_HOME, XDG (XDG_CONFIG_HOME, XDG_DATA_HOME, XDG_STATE_HOME, XDG_CACHE_HOME), then platform defaults.
config contains settings like config.toml and profiles. data contains credentials.toml, data.db, cookies, and auth sidecars. state contains persisted queries, jobs, and teach.log. cache contains regenerable HTTP/cache files.
Stored secrets live in credentials.toml under the data dir. Existing legacy config.toml secrets are read for compatibility and leave config.toml on the first auth write.
Run workspace-admin-pp-cli doctor --fail-on warn to surface path and credential-location warnings. agent-context exposes a schema v4 paths block for agents that need the resolved dirs.
For MCP, pass relocation through the MCP host config. The MCP binary does not inherit CLI flags:
{
"mcpServers": {
"workspace-admin": {
"command": "workspace-admin-pp-mcp",
"env": {
"WORKSPACE_ADMIN_HOME": "/srv/workspace-admin"
}
}
}
}Fleet precedence: an inherited per-kind env var overrides an explicit --home for that kind. Use WORKSPACE_ADMIN_HOME or per-kind vars as durable fleet levers, and use --home only for a single invocation. Relocation is not reversible by unsetting env vars; move files manually before clearing WORKSPACE_ADMIN_HOME, or doctor will not find credentials left under the former root.
When you (or the agent) notice something off about this CLI, record it:
workspace-admin-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
workspace-admin-pp-cli feedback --stdin < notes.txt
workspace-admin-pp-cli feedback list --json --limit 10Entries are stored locally as feedback.jsonl under the resolved data dir. They are never POSTed unless WORKSPACE_ADMIN_FEEDBACK_ENDPOINT is set AND either --send is passed or WORKSPACE_ADMIN_FEEDBACK_AUTO_SEND=true. Default behavior is local-only.
Write what surprised you, not a bug report. Short, specific, one line: that is the part that compounds.
Every command accepts --deliver <sink>. The output goes to the named sink in addition to (or instead of) stdout, so agents can route command results without hand-piping. Three sinks are supported:
| Sink | Effect |
|---|---|
stdout | Default; write to stdout only |
file:<path> | Atomically write output to <path> (tmp + rename) |
webhook:<url> | POST the output body to the URL (application/json or application/x-ndjson when --compact) |
Unknown schemes are refused with a structured error naming the supported set. Webhook failures return non-zero and log the URL + HTTP status on stderr.
A profile is a saved set of flag values, reused across invocations. Use it when a scheduled agent calls the same command every run with the same configuration - HeyGen's "Beacon" pattern.
workspace-admin-pp-cli profile save briefing --json
workspace-admin-pp-cli --profile briefing alerts list
workspace-admin-pp-cli profile list --json
workspace-admin-pp-cli profile show briefing
workspace-admin-pp-cli profile delete briefing --yesExplicit flags always win over profile values; profile values win over defaults. agent-context lists all available profiles under available_profiles so introspecting agents discover them at runtime.
| Code | Meaning |
|---|---|
| 0 | Success |
| 2 | Usage error (wrong arguments) |
| 3 | Resource not found |
| 4 | Authentication required |
| 5 | API error (upstream issue) |
| 7 | Rate limited (wait and retry) |
| 10 | Config error |
Parse $ARGUMENTS:
help, or --help → show workspace-admin-pp-cli --help outputinstall → ends with mcp → MCP installation; otherwise → see Prerequisites above--agent)go install github.com/mvanhorn/printing-press-library/library/productivity/workspace-admin/cmd/workspace-admin-pp-mcp@latestclaude mcp add workspace-admin-pp-mcp -- workspace-admin-pp-mcpclaude mcp listwhich workspace-admin-pp-cli
If not found, offer to install (see Prerequisites at the top of this skill).--agent flag:workspace-admin-pp-cli <command> [subcommand] [args] --agentworkspace-admin-pp-cli <command> --help.© mvanhorn, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in cli-skills/pp-workspace-admin of mvanhorn/printing-press-library.
Open the folder on GitHubat commit 0fdcc7a
Pp Workspace Admin next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Pp Workspace Admin this skillmvanhorn/printing-press-library | 2.1k | — | ~11k | Automated safety check: Notes | Apache-2.0 | |
| Google WorkspaceRedWoodOG/Hermes-Desktop | 177 | 1 repos | ~2.1k | Automated safety check: Pass | MIT | |
| GCP Workspace Pivotwgpsec/AboutSecurity | 1.8k | — | ~2.9k | Automated safety check: Pass | None | |
| Google WorkspaceTommy-yw/RunbookHermes | 546 | 2 repos | ~2.7k | Automated safety check: Pass | MIT | |
| Community Google WorkspaceArgentAIOS/argentos-core | 126 | — | ~2.8k | Automated safety check: Pass | MIT | |
| Google Workspaceericrisco/rsc-harness | 167 | — | ~3.2k | Automated safety check: Pass | MIT |
RedWoodOG/Hermes-Desktop
Gmail, Calendar, Drive, Contacts, Sheets, and Docs integration via Python.
wgpsec/AboutSecurity
GCP 到 Google Workspace 的穿越攻击方法论。当已获取 GCP Service Account 或 Project 权限并发现目标组织使用 Google Workspace、需要从云平台穿越到企业邮件/文档/管理控制台、或发现 Domain-Wide Delegation 配置时使用。覆盖 Domain-Wide Delegation 滥用、OAuth…
Tommy-yw/RunbookHermes
Gmail, Calendar, Drive, Contacts, Sheets, and Docs integration for Hermes.
ArgentAIOS/argentos-core
Gmail, Calendar, Drive, Contacts, Sheets, and Docs integration for community skills.
ericrisco/rsc-harness
A skill your agent uses when server-side code reads or writes Gmail, Drive, Calendar, or Sheets with a GCP service account and no human in the OAuth loop: picking the auth mode (app-owned vs…
yc-software/qm
Read and act on the user's Gmail, Google Calendar, and Google Tasks through per-user OAuth.
mvanhorn/printing-press-library
Desktop automation through the real Rust agent-desktop CLI, published in Printing Press through a small bridge.
mvanhorn/printing-press-library
Search, browse, and download Google Fonts from the terminal via the gfonts CLI.
mvanhorn/printing-press-library
The free, offline Trigger phrases: search 1688 for, find a factory on 1688 for, wholesale price on 1688 for, who is the cheapest supplier on 1688 for, compare 1688 suppliers for, use 1688, run 1688.
mvanhorn/printing-press-library
Inspect known Activity Japan plan IDs or URLs, compare dated prices and sessions, check language-sitemap coverage, and hand off to canonical booking pages.
mvanhorn/printing-press-library
Every Admin By Request portal action, plus a local SQLite mirror of audit, events, inventory and requests for ad-hoc...
mvanhorn/printing-press-library
macOS screen capture, window recording, GIF conversion, and agent evidence bundles from the terminal.
Works with
GAT-style Google Workspace auditing as an agent-native CLI: sync Directory, Drive, Gmail, Reports, and Alert Center into a local store, then run offline cross-API audits, offboarding, and OAuth-app…. Pp Workspace Admin is an agent skill from mvanhorn/printing-press-library. GAT-style Google Workspace auditing as an agent-native CLI: sync Directory, Drive, Gmail, Reports, and Alert Center into a local store, then run offline cross-API audits, offboarding, and OAuth-app risk checks that GAM and the official gws CLI cannot persist.
Pp Workspace Admin fits situations like: phrases: offboard a user; audit external Drive sharing; which OAuth apps have Full Drive access; show me this users security posture.
Run `npx skills add mvanhorn/printing-press-library --skill pp-workspace-admin -a claude-code`. Or copy the skill folder (cli-skills/pp-workspace-admin in mvanhorn/printing-press-library) into .claude/skills/pp-workspace-admin in your project. Claude Code loads it when a task matches its description.
Run `npx skills add mvanhorn/printing-press-library --skill pp-workspace-admin -a codex`. Or copy the skill folder (cli-skills/pp-workspace-admin in mvanhorn/printing-press-library) into .agents/skills/pp-workspace-admin in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mvanhorn/printing-press-library --skill pp-workspace-admin -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pp-workspace-admin, .gemini/skills/pp-workspace-admin, .github/skills/pp-workspace-admin and .opencode/skills/pp-workspace-admin in your project.
Going by SKILL.md and its folder, Pp Workspace Admin needs the command-line tools its instructions call (go, claude, npx and gcloud) and credentials named GOOGLE_WORKSPACE_TOKEN. Our summary lists: Node.js. Its frontmatter pre-approves these tools: Read, Bash.
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Pp Workspace Admin is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 11k tokens (SKILL.md is roughly 42k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Pp Workspace Admin: Google Workspace (RedWoodOG/Hermes-Desktop, 177 stars), GCP Workspace Pivot (wgpsec/AboutSecurity, 1.8k stars), Google Workspace (Tommy-yw/RunbookHermes, 546 stars) and Community Google Workspace (ArgentAIOS/argentos-core, 126 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
mvanhorn (a GitHub user) maintains it in mvanhorn/printing-press-library, which has 2,053 GitHub stars. The repository holds 505 skills in this directory. The repository was last updated on October 7, 2026.
Source: mvanhorn/printing-press-library on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.