gws-classroom

googleworkspace/cli · updated Apr 8, 2026

MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.

$npx skills add https://github.com/googleworkspace/cli --skill gws-classroom
0 commentsdiscussion
summary

Google Classroom API integration for managing courses, rosters, assignments, and notifications.

  • Covers courses (create, update, delete, list), invitations (accept, create, delete), and user profiles with full CRUD operations
  • Supports nested resources including students, teachers, announcements, course work, topics, and student groups
  • Includes grading period management and Cloud Pub/Sub registration for real-time notifications
  • Requires gws binary and Google Workspace authentication
skill.md

classroom (v1)

PREREQUISITE: Read ../gws-shared/SKILL.md for auth, global flags, and security rules. If missing, run gws generate-skills to create it.

gws classroom <resource> <method> [flags]

API Resources

courses

  • create — Creates a course. The user specified in ownerId is the owner of the created course and added as a teacher. A non-admin requesting user can only create a course with themselves as the owner. Domain admins can create courses owned by any user within their domain. This method returns the following error codes: * PERMISSION_DENIED if the requesting user is not permitted to create courses or for access errors. * NOT_FOUND if the primary teacher is not a valid user.
  • delete — Deletes a course. This method returns the following error codes: * PERMISSION_DENIED if the requesting user is not permitted to delete the requested course or for access errors. * NOT_FOUND if no course exists with the requested ID.
  • get — Returns a course. This method returns the following error codes: * PERMISSION_DENIED if the requesting user is not permitted to access the requested course or for access errors. * NOT_FOUND if no course exists with the requested ID.
  • getGradingPeriodSettings — Returns the grading period settings in a course. This method returns the following error codes: * PERMISSION_DENIED if the requesting user isn't permitted to access the grading period settings in the requested course or for access errors. * NOT_FOUND if the requested course does not exist.
  • list — Returns a list of courses that the requesting user is permitted to view, restricted to those that match the request. Returned courses are ordered by creation time, with the most recently created coming first. This method returns the following error codes: * PERMISSION_DENIED for access errors. * INVALID_ARGUMENT if the query argument is malformed. * NOT_FOUND if any users specified in the query arguments do not exist.
  • patch — Updates one or more fields in a course. This method returns the following error codes: * PERMISSION_DENIED if the requesting user is not permitted to modify the requested course or for access errors. * NOT_FOUND if no course exists with the requested ID. * INVALID_ARGUMENT if invalid fields are specified in the update mask or if no update mask is supplied.
  • update — Updates a course. This method returns the following error codes: * PERMISSION_DENIED if the requesting user is not permitted to modify the requested course or for access errors. * NOT_FOUND if no course exists with the requested ID. * FAILED_PRECONDITION for the following request errors: * CourseNotModifiable * CourseTitleCannotContainUrl
  • updateGradingPeriodSettings — Updates grading period settings of a course. Individual grading periods can be added, removed, or modified using this method. The requesting user and course owner must be eligible to modify Grading Periods. For details, see licensing requirements.
  • aliases — Operations on the 'aliases' resource
  • announcements — Operations on the 'announcements' resource
  • courseWork — Operations on the 'courseWork' resource
  • courseWorkMaterials — Operations on the 'courseWorkMaterials' resource
  • posts — Operations on the 'posts' resource
  • studentGroups — Operations on the 'studentGroups' resource
  • students — Operations on the 'students' resource
  • teachers — Operations on the 'teachers' resource
  • topics — Operations on the 'topics' resource

invitations

  • accept — Accepts an invitation, removing it and adding the invited user to the teachers or students (as appropriate) of the specified course. Only the invited user may accept an invitation. This method returns the following error codes: * PERMISSION_DENIED if the requesting user is not permitted to accept the requested invitation or for access errors.
  • create — Creates an invitation. Only one invitation for a user and course may exist at a time. Delete and re-create an invitation to make changes. This method returns the following error codes: * PERMISSION_DENIED if the requesting user is not permitted to create invitations for this course or for access errors. * NOT_FOUND if the course or the user does not exist. * FAILED_PRECONDITION: * if the requested user's account is disabled.
  • delete — Deletes an invitation. This method returns the following error codes: * PERMISSION_DENIED if the requesting user is not permitted to delete the requested invitation or for access errors. * NOT_FOUND if no invitation exists with the requested ID.
  • get — Returns an invitation. This method returns the following error codes: * PERMISSION_DENIED if the requesting user is not permitted to view the requested invitation or for access errors. * NOT_FOUND if no invitation exists with the requested ID.
  • list — Returns a list of invitations that the requesting user is permitted to view, restricted to those that match the list request. Note: At least one of user_id or course_id must be supplied. Both fields can be supplied. This method returns the following error codes: * PERMISSION_DENIED for access errors.

registrations

  • create — Creates a Registration, causing Classroom to start sending notifications from the provided feed to the destination provided in cloudPubSubTopic. Returns the created Registration. Currently, this will be the same as the argument, but with server-assigned fields such as expiry_time and id filled in. Note that any value specified for the expiry_time or id fields will be ignored.
  • delete — Deletes a Registration, causing Classroom to stop sending notifications for that Registration.

userProfiles

  • get — Returns a user profile. This method returns the following error codes: * PERMISSION_DENIED if the requesting user is not permitted to access this user profile, if no profile exists with the requested ID, or for access errors.
  • guardianInvitations — Operations on the 'guardianInvitations' resource
  • guardians — Operations on the 'guardians' resource

Discovering Commands

Before calling any API method, inspect it:

# Browse resources and methods
gws classroom --help

# Inspect a method's required params, types, and defaults
gws schema classroom.<resource>.<method>

Use gws schema output to build your --params and --json flags.

how to use gws-classroom

How to use gws-classroom on Cursor

AI-first code editor with Composer

1

Prerequisites

Before installing skills in Cursor, ensure your development environment meets these requirements:

  • Cursor installed and configured on your development machine
  • Node.js version 16.0+ with npm package manager (verify with node --version)
  • Active project directory or workspace where you want to add gws-classroom
2

Execute installation command

Execute the skills CLI command in your project's root directory to begin installation:

$npx skills add https://github.com/googleworkspace/cli --skill gws-classroom

The skills CLI fetches gws-classroom from GitHub repository googleworkspace/cli and configures it for Cursor.

3

Select Cursor when prompted

The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:

◆ Which agents do you want to install to?
│ ── Universal (.agents/skills) ── always included ────
│ • Amp
│ • Antigravity
│ • Cline
│ • Codex
│ ●Cursor(selected)
│ • Cursor
│ • Windsurf
4

Verify installation

Confirm successful installation by checking the skill directory location:

.cursor/skills/gws-classroom

Reload or restart Cursor to activate gws-classroom. Access the skill through slash commands (e.g., /gws-classroom) or your agent's skill management interface.

Security & Verification Notice

We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.

Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.

List & Monetize Your Skill

Submit your Claude Code skill and start earning

GET_STARTED →

Use Cases

User Story & Requirements Generation

Create detailed user stories, acceptance criteria, and feature specs

Example

Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios

Reduce spec writing time by 50%, ensure comprehensive coverage

Competitive Analysis

Research competitors, compare features, identify gaps

Example

Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities

Complete competitive research in 2 hours instead of 2 days

Roadmap Prioritization

Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs

Example

Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale

Make data-driven prioritization decisions faster

Stakeholder Communication

Draft PRDs, status updates, and stakeholder presentations

Example

Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement

Save 3-5 hours/week on communication overhead

Implementation Guide

Prerequisites

  • Claude Desktop or compatible AI client
  • Access to product documentation and roadmap tools (Jira, Notion, etc.)
  • Understanding of product management frameworks (RICE, Jobs-to-be-Done, etc.)
  • Stakeholder contact information and communication channels

Time Estimate

30-60 minutes to see productivity improvements

Installation Steps

  1. 1.Install product management skill
  2. 2.Start with user story generation for known feature
  3. 3.Progress to competitive analysis: research 2-3 competitors
  4. 4.Use for roadmap prioritization: apply RICE/ICE scoring
  5. 5.Draft stakeholder communications and refine based on feedback
  6. 6.Build template library for recurring PM tasks
  7. 7.Share effective prompts with product team

Common Pitfalls

  • Not validating competitive research—verify facts before sharing
  • Accepting user stories without involving engineering team
  • Over-relying on frameworks without qualitative judgment
  • Not customizing outputs to company culture and communication style
  • Skipping stakeholder validation of generated requirements

Best Practices

✓ Do

  • +Validate research and competitive analysis with real data
  • +Collaborate with engineering when generating technical requirements
  • +Customize frameworks and templates to your company context
  • +Use skill for first drafts, refine with stakeholder input
  • +Document successful prompt patterns for PM tasks
  • +Combine AI efficiency with human judgment and intuition

✗ Don't

  • Don't publish competitive analysis without fact-checking
  • Don't finalize user stories without engineering review
  • Don't make prioritization decisions solely on AI scoring
  • Don't skip customer validation of generated requirements
  • Don't ignore company-specific context and culture

💡 Pro Tips

  • Provide context: company goals, constraints, customer feedback
  • Ask for alternatives: 'Show 3 ways to prioritize this roadmap'
  • Request stakeholder-specific formatting: 'Executive summary vs. engineering spec'
  • Use skill for 70% generation + 30% customization to company needs

When to Use This

✓ Use When

Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.

✗ Avoid When

Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.

Learning Path

  1. 1Basic: user stories, feature specs, status updates
  2. 2Intermediate: competitive analysis, prioritization frameworks, PRDs
  3. 3Advanced: product strategy, go-to-market planning, OKR setting
  4. 4Expert: product vision, market positioning, business model innovation

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.671 reviews
  • Pratham Ware· Dec 28, 2024

    gws-classroom fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Anika Sanchez· Dec 28, 2024

    We added gws-classroom from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Isabella Khanna· Dec 24, 2024

    Useful defaults in gws-classroom — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Dhruvi Jain· Dec 20, 2024

    Useful defaults in gws-classroom — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Dev Chawla· Dec 16, 2024

    gws-classroom fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Ava Sethi· Dec 12, 2024

    I recommend gws-classroom for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Isabella Mehta· Dec 12, 2024

    gws-classroom fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Noah Nasser· Dec 12, 2024

    gws-classroom has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Meera White· Dec 8, 2024

    Solid pick for teams standardizing on skills: gws-classroom is focused, and the summary matches what you get after install.

  • Daniel Lopez· Dec 4, 2024

    Useful defaults in gws-classroom — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

showing 1-10 of 71

1 / 8