pds-agent-skills

Skill from NASA-PDS/pds-agent-skills


PDS Claude Code Plugin Marketplace

Specialized AI workflow plugins for NASA Planetary Data System in Claude Code

SLIM Plugins Skills License Claude Code

This repository is a Claude Code plugin marketplace for NASA's Planetary Data System (PDS) Engineering Node. It distributes 2 thematic plugins grouping 5 specialized AI agents that automate complex workflows within the Claude Code CLI environment.

šŸ”Œ Plugins: pds-github-skills (GitHub workflows) • sonarcloud-skills (Security workflows)

Table of Contents

What are Claude Code Skills?

Claude Code skills are reusable prompts that enable Claude Code to perform specialized tasks autonomously. Each skill is defined by a SKILL.md file containing:

  • Detailed instructions for task execution
  • Input/output specifications
  • Style rules and algorithms
  • Edge case handling

Skills help automate repetitive or complex workflows, making development more efficient and consistent across the PDS organization.

Available Plugins & Skills

šŸ”Œ Plugin 1: pds-github-skills (GitHub Workflows)

SkillDescriptionUse Cases
generating-release-notesGenerate structured GitHub release notes with breaking changes, categorization, and uploadSoftware releases, changelogs, version announcements
creating-pds-issuesCreate GitHub issues using NASA-PDS organizational templatesBug reports, feature requests, tasks, vulnerabilities, release themes
creating-pds-pull-requestsCreate GitHub pull requests with auto-detection of repo/branch, issue linking, reviewer assignment, and label managementOpening PRs, submitting code changes, linking issues to PRs, draft PRs

šŸ”’ Plugin 2: sonarcloud-skills (Security Workflows)

SkillDescriptionUse Cases
sonarcloud-security-auditAudit SonarCloud security issues for NASA PDS repositories and export to CSVSecurity audits, vulnerability triage, compliance reporting
sonarcloud-security-triageApply triage decisions to SonarCloud security issues by bulk-updating statuses and commentsSecurity triage, bulk remediation, compliance tracking

Total: 2 plugins • 5 production-ready skills

Installation

Prerequisites

  • Claude Code CLI: Install from claude.ai/code or via Homebrew:
    BASH
    brew install claude
    
  • Claude Desktop: Download from claude.ai/download (plugins work in projects mode)
  • For release notes upload: GitHub CLI (gh) installed and authenticated

The easiest way to install and manage PDS plugins with automatic updates and version control.

Option A: Public GitHub Repository

Add the marketplace once:

BASH
/plugin marketplace add NASA-PDS/pds-agent-skills

Install individual plugins as needed:

BASH
# List available plugins
/plugin list @pds-agent-skills

# Install GitHub workflow skills
/plugin install pds-github-skills@pds-agent-skills

# Install SonarCloud security skills
/plugin install sonarcloud-skills@pds-agent-skills

# Or install both
/plugin install pds-github-skills@pds-agent-skills sonarcloud-skills@pds-agent-skills

Update to latest versions:

BASH
/plugin marketplace update pds-agent-skills
/plugin update pds-github-skills@pds-agent-skills sonarcloud-skills@pds-agent-skills

Option B: Local/Internal Installation

For internal use, air-gapped environments, or testing before publishing:

Clone the repository first:

BASH
# Clone to a local directory
git clone https://github.com/NASA-PDS/pds-agent-skills.git ~/pds-plugins

# Or for internal use, clone from your internal git server
git clone https://git.your-org.com/pds/pds-agent-skills.git ~/pds-plugins

Add the local marketplace:

BASH
# Option 1: Use absolute path (recommended)
/plugin marketplace add /Users/yourname/pds-plugins

# Option 2: Add from parent directory
cd ~
/plugin marketplace add pds-plugins

# Option 3: Use tilde expansion
/plugin marketplace add ~/pds-plugins

Important: Run the /plugin marketplace add command from outside the marketplace directory, pointing to the directory that contains .claude-plugin/. Don't run it from inside the marketplace directory itself.

Install plugins:

BASH
# List available plugins (marketplace name will be auto-generated from path)
/plugin list @pds-plugins

# Install GitHub workflow skills
/plugin install pds-github-skills@pds-plugins

# Install SonarCloud security skills
/plugin install sonarcloud-skills@pds-plugins

Update from local marketplace:

BASH
# Pull latest changes first
cd ~/pds-plugins
git pull

# Then update the marketplace in Claude Code
/plugin marketplace update pds-plugins
/plugin update pds-github-skills@pds-plugins sonarcloud-skills@pds-plugins

Option C: Private Git Repository

For private organizational repositories:

BASH
# Add private repository with authentication
/plugin marketplace add https://git.your-org.com/pds/pds-agent-skills.git

# Or use SSH
/plugin marketplace add git@github.com:your-org/pds-agent-skills.git

Make sure you're authenticated with your git provider (e.g., gh auth login for GitHub).

Benefits of Plugin Marketplace:

  • āœ… One command to add marketplace
  • āœ… Automatic version management
  • āœ… Easy updates with /plugin marketplace update
  • āœ… Install only the plugins you need
  • āœ… Works with public, private, or local repositories
  • āœ… Official Anthropic plugin system

Alternative: Manual Installation (Legacy)

For backwards compatibility or air-gapped environments, you can still manually install plugins.

Project-level skills are shared with your team via version control and automatically available when team members pull changes.

Install for a specific project:

BASH
# Navigate to your project directory
cd your-project

# Create the skills directory
mkdir -p .claude/skills

# Clone this repository into the skills directory
git clone https://github.com/NASA-PDS/pds-agent-skills.git .claude/skills/pds

# Commit to version control
git add .claude/skills/pds
git commit -m "Add PDS Claude Code skills"

Or add as a git submodule (recommended for easier updates):

BASH
cd your-project
mkdir -p .claude/skills
git submodule add https://github.com/NASA-PDS/pds-agent-skills.git .claude/skills/pds
git commit -m "Add PDS Claude Code skills as submodule"

Team members can then pull the changes, and skills become immediately available:

BASH
git pull
git submodule update --init --recursive  # if using submodules

Option 2: Personal Skills (Available Across All Projects)

Personal skills are available in all your projects, stored in your home directory.

Install globally:

BASH
# Create personal skills directory
mkdir -p ~/.claude/skills

# Clone this repository
git clone https://github.com/NASA-PDS/pds-agent-skills.git ~/.claude/skills/pds

Update personal skills:

BASH
cd ~/.claude/skills/pds
git pull

Option 3: Direct Git Reference

Deprecated: Use the plugin marketplace method instead. Direct git references are kept for backwards compatibility only.

Troubleshooting

Issue: "Failed to load marketplace" or "Invalid schema" Error

Symptoms:

BASH
/plugin install pds-github-skills@pds-agent-skills
āŽæ  Failed to load marketplace "claude-plugins-official" from source (github): Failed to parse
   marketplace file at .../claude-plugins-official/.claude-plugin/marketplace.json: Invalid schema

Cause: The official Claude plugins marketplace (claude-plugins-official) may have a corrupted or outdated schema that prevents plugin installation.

Solution 1: Remove and re-add the official marketplace

BASH
# Remove the corrupted marketplace
claude plugin marketplace remove claude-plugins-official

# Try to re-add it (if this fails, proceed to Solution 2)
claude plugin marketplace add anthropics/claude-plugins-official

Solution 2: Install plugins without the official marketplace

The PDS plugins can be installed independently without the official marketplace:

BASH
# Remove the corrupted marketplace
claude plugin marketplace remove claude-plugins-official

# Install PDS plugins directly
claude plugin install pds-github-skills@pds-agent-skills
claude plugin install sonarcloud-skills@pds-agent-skills

Solution 3: Manually clean up the marketplace directory

If the above solutions don't work:

BASH
# Remove the corrupted marketplace directory
rm -rf ~/.claude/plugins/marketplaces/claude-plugins-official

# Update your PDS marketplace
claude plugin marketplace update pds-agent-skills

# Install PDS plugins
claude plugin install pds-github-skills@pds-agent-skills
claude plugin install sonarcloud-skills@pds-agent-skills

Issue: Plugin Not Found

Symptoms:

BASH
/plugin install pds-github-skills@pds-agent-skills
Error: Plugin not found

Solution: Ensure the marketplace is added and updated:

BASH
# Add the marketplace if not already added
/plugin marketplace add NASA-PDS/pds-claude-skills

# Update the marketplace to fetch latest plugin catalog
/plugin marketplace update pds-agent-skills

# List available plugins to verify
/plugin list @pds-agent-skills

# Install the plugin
/plugin install pds-github-skills@pds-agent-skills

Issue: Marketplace Name Mismatch

Problem: When adding from GitHub, the marketplace name is pds-agent-skills (derived from the repository name), not pds-claude-skills.

Solution: Always use pds-agent-skills as the marketplace identifier:

BASH
# Correct
/plugin install pds-github-skills@pds-agent-skills

# Incorrect (will fail)
/plugin install pds-github-skills@pds-claude-skills

Verify Installation

To confirm plugins are installed correctly:

BASH
# Check installed plugins
/plugin list

# Should show both plugins with version 2.0.0 or higher
# āœ“ pds-github-skills@pds-agent-skills (v2.0.0)
# āœ“ sonarcloud-skills@pds-agent-skills (v2.0.0)

# View installation details
cat ~/.claude/plugins/installed_plugins.json

Getting Help

If issues persist:

  1. Check Claude Code version: claude --version (requires v1.0.0+)
  2. Review Claude Code logs: ~/.claude/logs/
  3. Open an issue in this repository with error details
  4. Contact PDS Engineering Node team

Using Plugins

Once installed via the plugin marketplace, plugins are automatically available in Claude Code.

How it works:

  1. Install plugins from the marketplace (see Installation above)
  2. Open Claude Code in your project directory (CLI) or start a project in Claude Desktop
  3. Describe your task naturally - Claude will autonomously use relevant plugins based on your request
  4. Provide necessary inputs as described in each plugin's documentation

Example:

BASH
# Claude will automatically use the generating-release-notes skill
claude "Generate release notes for NASA-PDS/doi-service version v1.6.0"

Managing Plugins:

BASH
# List installed plugins
/plugin list

# List available plugins in marketplace
/plugin list @pds-agent-skills

# Update a specific plugin
/plugin update pds-github-skills@pds-agent-skills

# Uninstall a plugin
/plugin uninstall pds-github-skills@pds-agent-skills

See individual skill documentation (linked in table above) for detailed input specifications and examples.

šŸ“š For detailed installation scenarios (local, private repos, air-gapped environments), see the Plugin Marketplace Installation Guide.

Adding a New Skill

See CLAUDE.md for comprehensive development guidance and the existing skills in static/marketplace/skills/ for examples.

Quick steps:

  1. Create a new directory: static/marketplace/skills/<skill-name>/ (use gerund form: generating-*, processing-*)
  2. Add a SKILL.md file with YAML frontmatter and instructions
  3. Add supporting files (scripts, templates, resources) as needed
  4. Update .claude-plugin/marketplace.json to add the skill to the appropriate plugin
  5. Update README.md Available Plugins & Skills section
  6. Update CHANGELOG.md following Keep a Changelog
  7. Test with sample inputs
  8. Submit a pull request

For new plugin groups: See CLAUDE.md section "Creating a New Plugin Group" For marketplace configuration: See docs/MARKETPLACE_SETUP.md

Repository Structure

pds-agent-skills/
ā”œā”€ā”€ .claude-plugin/             # Plugin marketplace configuration
│   └── marketplace.json        # Marketplace catalog listing all plugins
ā”œā”€ā”€ static/                     # Static marketplace content
│   └── marketplace/            # Marketplace plugins and resources
│       └── skills/             # All plugin skills organized here
│           ā”œā”€ā”€ generating-release-notes/    # Release notes generation
│           │   ā”œā”€ā”€ .claude-plugin/plugin.json
│           │   ā”œā”€ā”€ SKILL.md
│           │   ā”œā”€ā”€ templates/
│           │   └── resources/
│           ā”œā”€ā”€ creating-pds-issues/         # GitHub issue creation
│           │   ā”œā”€ā”€ .claude-plugin/plugin.json
│           │   ā”œā”€ā”€ SKILL.md
│           │   ā”œā”€ā”€ scripts/
│           │   └── resources/
│           ā”œā”€ā”€ sonarcloud-security-audit/   # Security audit
│           │   ā”œā”€ā”€ .claude-plugin/plugin.json
│           │   ā”œā”€ā”€ SKILL.md
│           │   └── scripts/
│           ā”œā”€ā”€ sonarcloud-security-triage/  # Security triage
│           │   ā”œā”€ā”€ .claude-plugin/plugin.json
│           │   ā”œā”€ā”€ SKILL.md
│           │   └── scripts/
│           └── shared-resources/            # Shared across plugins
│               └── pds-labels.yaml
ā”œā”€ā”€ docs/                       # Documentation
│   ā”œā”€ā”€ history/                # AI session histories
│   ā”œā”€ā”€ MARKETPLACE_SETUP.md    # GitHub configuration guide
│   ā”œā”€ā”€ PLUGIN_MARKETPLACE_GUIDE.md  # Comprehensive install guide
│   └── PRODUCTS_README.md      # Product mapping documentation
ā”œā”€ā”€ .github/                    # GitHub configuration
│   └── ISSUE_TEMPLATE/         # Issue templates
ā”œā”€ā”€ backup/                     # Deprecated/experimental skills
ā”œā”€ā”€ CLAUDE.md                   # Developer guidance for Claude Code
ā”œā”€ā”€ CONTRIBUTING.md             # Contribution guidelines
ā”œā”€ā”€ README.md                   # This file (marketplace overview)
└── CHANGELOG.md                # Project changelog

Contributing

Contributions are welcome! When adding new skills:

  1. Follow the skill structure outlined in CLAUDE.md
  2. Ensure comprehensive documentation in the SKILL.md file
  3. Test your skill with various inputs and edge cases
  4. Update the changelog following Keep a Changelog format
  5. Submit a pull request with a clear description of the skill's purpose

Changelog

See CHANGELOG.md for a history of changes to this project.

License

Copyright (c) 2022 California Institute of Technology ("Caltech"). U.S. Government sponsorship acknowledged.

Licensed under the Apache License, Version 2.0. See LICENSE.md for details.

Support

This repository is maintained by NASA's Planetary Data System Engineering Node.

For questions or issues: