Skip to content

grandcamel/Assistant-Skills

Repository files navigation

Assistant Skills

Assistant Skills

10x

Faster skill
development

7

Production-ready
skills included

80+

Scripts &
templates

0

Boilerplate
to write

GitHub Stars PyPI Plugin v1.3.1 Tests Python 3.8+ Claude Code Marketplace Docker MIT License

Build Claude Code skills in minutes, not days.
Templates, wizards, and tools from production implementations.

> "Create a new Datadog Assistant Skills project"

βœ“ Project scaffolded with best practices
βœ“ Shared library configured
βœ“ First skill template ready
βœ“ Test infrastructure in place

Get Started β€’ Skills β€’ Use Cases β€’ Templates


Quick Start

1. Install Plugin

From Claude Code:

/plugin grandcamel/Assistant-Skills

This adds the marketplace and installs the assistant-skills plugin with all 7 skills.

Alternative: Clone locally

git clone https://github.com/grandcamel/Assistant-Skills.git
cd Assistant-Skills && /plugin .

2. Set Up Environment

Run the setup wizard to configure the shared Python environment:

/assistant-skills-setup

The wizard will:

  • Create a shared venv at ~/.assistant-skills-venv/
  • Install Python dependencies
  • Add the claude-as shell function to your .bashrc/.zshrc

After setup, use claude-as instead of claude to run with dependencies:

claude-as  # Runs Claude with Assistant Skills venv

Alternative: Run in Docker insteadβ€”see Docker Usage.

3. Create Your First Project

"Create a new Slack Assistant Skills project"

Or use the interactive wizard:

/assistant-builder-setup

4. Start Building

Claude scaffolds your project with:

  • Optimized directory structure
  • Shared library with HTTP client, error handling
  • First skill template ready to customize
  • Test infrastructure configured

That's it. Start building your skills immediately.


Included Skills

Skill Purpose Example
setup-wizard Configure shared venv & shell /assistant-skills-setup
assistant-builder Create & extend projects "Add a search skill to my project"
skills-optimizer Audit token efficiency "Analyze my skill for optimization"
landing-page Generate branded READMEs "Create a landing page for this project"
library-publisher Publish shared libs to PyPI "Publish my shared library as a PyPI package"
e2e-testing Set up E2E test infrastructure "Add E2E tests to my plugin"
safe-mode Risk-based CLI permission enforcement claude-safe -d -l caution

setup-wizard

Configure the shared Python environment for all Assistant Skills plugins.

# Run the interactive setup wizard
/assistant-skills-setup

# After setup, use claude-as to run with dependencies
claude-as

Creates ~/.assistant-skills-venv/ (shared venv) and adds claude-as function to shell.

assistant-builder

Interactive wizard for creating new Assistant Skills projects or adding skills to existing ones.

# Create new project
python skills/assistant-builder/scripts/scaffold_project.py

# Add skill to existing project
python skills/assistant-builder/scripts/add_skill.py --name "search"

# Validate project structure
python skills/assistant-builder/scripts/validate_project.py /path/to/project

skills-optimizer

Audit skills for token efficiency and progressive disclosure compliance.

# Analyze a skill (get grade A-F)
./skills/skills-optimizer/scripts/analyze-skill.sh ~/.claude/skills/my-skill

# Audit all skills
./skills/skills-optimizer/scripts/audit-all-skills.sh ~/.claude/skills

landing-page

Generate professional README landing pages with consistent branding.

# Analyze project metadata
python skills/landing-page/scripts/analyze_project.py /path/to/project

# Generate logo SVG
python skills/landing-page/scripts/generate_logo.py --name jira --primary "#0052CC"

library-publisher

Extract shared libraries and publish them as PyPI packages with automated CI/CD.

# Analyze existing shared library
python skills/library-publisher/scripts/analyze_library.py /path/to/project

# Scaffold PyPI package
python skills/library-publisher/scripts/scaffold_package.py \
  --name "myproject-lib" \
  --source /path/to/lib \
  --output ~/myproject-lib

# Migrate project to use new package
python skills/library-publisher/scripts/migrate_imports.py \
  --project /path/to/project \
  --package myproject_lib

e2e-testing

Set up end-to-end testing infrastructure for Claude Code plugins.

# Initialize E2E testing infrastructure
python skills/e2e-testing/scripts/setup_e2e.py /path/to/project

# Auto-generate test cases from plugin structure
python skills/e2e-testing/scripts/generate_test_cases.py /path/to/project

# Run tests
./scripts/run-e2e-tests.sh

# Update documentation with E2E info
python skills/e2e-testing/scripts/update_docs.py /path/to/project

safe-mode

Risk-based permission enforcement wrapper for Claude CLI. Restricts CLI operations based on configurable risk thresholds.

# Auto-discover plugins, safe level (read-only only)
./scripts/claude-safe -d

# Caution level (allows creates/updates)
./scripts/claude-safe -d -l caution

# Preview permissions without running
./scripts/claude-safe -d -n -v

# Pass arguments to claude
./scripts/claude-safe -d -l warning -- --model sonnet

Risk levels: safe (read-only) < caution (creates) < warning (deletes) < danger (irreversible).

Dependencies: bash 4.0+, yq, jq (brew install yq jq)


Who Is This For?

Developers building Claude Code integrations
  • Skip the boilerplateβ€”start with production patterns
  • Follow proven architecture from 40+ skill implementations
  • Get token-efficient skills that don't bloat context
  • Use TDD workflow with test templates included
Teams standardizing on Claude Code
  • Consistent skill structure across projects
  • Shared library patterns for common functionality
  • Documentation templates for team onboarding
  • Quality gates with optimization scoring
Open source maintainers
  • Professional landing pages in minutes
  • Branded logos with terminal prompt design
  • Consistent visual identity across repos
  • Badge and stats automation

Templates

Comprehensive templates derived from production implementations:

Folder Purpose
templates/00-project-lifecycle/ API research, GAP analysis, architecture planning
templates/01-project-scaffolding/ Project initialization, directory structure, configs
templates/02-shared-library/ HTTP client, error handling, auth patterns
templates/03-skill-templates/ SKILL.md format, script templates, validators
templates/04-testing/ TDD workflow, pytest fixtures, test patterns
templates/05-documentation/ Workflow guides, reference docs, examples
templates/06-git-and-ci/ Commit conventions, GitHub Actions, releases

Template Workflow

Build a complete project in 8 phases:

Phase Templates Deliverable
1. Research 00-project-lifecycle/01-api-research-prompt.md API capabilities documented
2. Architecture 00-project-lifecycle/03-architecture-prompt.md Skill boundaries defined
3. Scaffolding 01-project-scaffolding/project-init-prompt.md Project structure created
4. Shared Library 02-shared-library/shared-lib-prompt.md HTTP client, error handling
5. Skills 03-skill-templates/skill-creation-prompt.md Each skill implemented
6. Testing 04-testing/tdd-workflow-prompt.md Tests with 80%+ coverage
7. Documentation 05-documentation/WORKFLOWS.md.template User guides
8. CI/CD 06-git-and-ci/github-workflows/ GitHub Actions configured

Template Placeholders

All templates use {{PLACEHOLDER}} syntax:

Placeholder Example
{{API_NAME}} GitHub, Stripe, JIRA
{{TOPIC}} github, stripe, jira
{{SKILL_NAME}} issues, payments, search
{{BASE_URL}} https://api.github.com

Project Completion Checklist

Before shipping:

  • API research and GAP analysis complete
  • All skills implemented with SKILL.md files
  • Unit tests with 80%+ coverage
  • Router skill routes to all skills
  • CI/CD configured with GitHub Actions

Shared Library

Production-ready Python utilities available via PyPI:

pip install assistant-skills-lib
Module Purpose
formatters Output formatting (tables, trees, colors, timestamps)
validators Input validation (emails, URLs, dates, pagination)
template_engine Template loading and placeholder replacement
project_detector Find existing Assistant Skills projects
cache Response caching with TTL and LRU eviction
error_handler Exception hierarchy and @handle_errors decorator
from assistant_skills_lib import (
    format_table, format_tree,
    validate_email, validate_url,
    Cache, handle_errors
)

@handle_errors
def fetch_data(resource_id):
    return api.get(f"/resources/{resource_id}")

πŸ“¦ assistant-skills-lib on PyPI


Architecture

flowchart TD
    U["User Request"] --> CC["Claude Code"]
    CC --> AS["Assistant Skills<br/>Plugin"]

    AS --> SW["setup-wizard<br/>Environment Setup"]
    AS --> AB["assistant-builder<br/>Project Scaffolding"]
    AS --> SO["skills-optimizer<br/>Token Efficiency"]
    AS --> LP["landing-page<br/>README Branding"]
    AS --> LIB["library-publisher<br/>PyPI Publishing"]
    AS --> E2E["e2e-testing<br/>E2E Test Infrastructure"]
    AS --> SM["safe-mode<br/>Permission Enforcement"]

    SW --> VE["Shared Venv<br/>~/.assistant-skills-venv"]
    AB --> T["Templates"]
    AB --> SH["Shared Library"]

    SO --> AN["Analyzers"]
    LP --> TM["Template Engine"]
    LIB --> PY["PyPI Package<br/>Generation"]
    E2E --> DOC["Docker + pytest"]
    SM --> SG["SAFEGUARDS.md<br/>Permission Blocks"]
Loading

Progressive Disclosure Model

Skills use 3 levels to minimize token usage:

Level Target Loaded When
L1: Metadata ~200 chars Startup (all skills)
L2: SKILL.md <500 lines Skill triggered
L3: Nested docs Variable Explicitly accessed

Reference Projects

Templates derived from production implementations:

Project Skills Tests Status
Jira-Assistant-Skills 14 560+ Production
Confluence-Assistant-Skills 14 1,039 Production
Splunk-Assistant-Skills 13 248+ Production

Development

Run Tests

pip install -r requirements.txt

# Run all skill tests (248 tests)
pytest skills/*/tests/ -v

# Run specific skill tests
pytest skills/assistant-builder/tests/ -v

Run E2E Tests

E2E tests validate the plugin by interacting with the actual Claude Code CLI:

# Run in Docker (requires ANTHROPIC_API_KEY)
./scripts/run-e2e-tests.sh

# Run locally (prefers OAuth, falls back to API key)
./scripts/run-e2e-tests.sh --local

Authentication:

  • Local runs: Prefers OAuth credentials (~/.claude.json). Run claude auth login first.
  • Docker runs: Requires ANTHROPIC_API_KEY environment variable.

Failed test responses are logged to test-results/e2e/responses_latest.log.

See tests/e2e/README.md for details.

Project Structure

Assistant-Skills/
β”œβ”€β”€ .claude-plugin/
β”‚   β”œβ”€β”€ plugin.json           # Plugin manifest
β”‚   └── marketplace.json      # Marketplace registry
β”œβ”€β”€ commands/                 # Slash commands (at project root)
β”‚   β”œβ”€β”€ assistant-skills-setup.md
β”‚   └── assistant-builder-setup.md
β”œβ”€β”€ agents/                   # Skill reviewer agents (at project root)
β”œβ”€β”€ skills/                   # Skills (autodiscovered at project root)
β”‚   β”œβ”€β”€ setup-wizard/         # Environment setup
β”‚   β”œβ”€β”€ assistant-builder/    # Project scaffolding
β”‚   β”œβ”€β”€ skills-optimizer/     # Token optimization
β”‚   β”œβ”€β”€ landing-page/         # README branding
β”‚   β”œβ”€β”€ library-publisher/    # PyPI publishing
β”‚   β”œβ”€β”€ e2e-testing/          # E2E test infrastructure
β”‚   └── safe-mode/            # Permission enforcement
β”œβ”€β”€ hooks/                    # Plugin hooks (at project root)
β”‚   └── hooks.json            # SessionStart health checks
β”œβ”€β”€ docker/                   # Docker infrastructure
β”‚   β”œβ”€β”€ runtime/              # Claude Code runtime image
β”‚   └── e2e/                  # E2E test image
β”œβ”€β”€ .github/workflows/        # GitHub Actions
β”‚   └── docker-publish.yml    # Publish image on release
β”œβ”€β”€ templates/                # Project templates
β”‚   β”œβ”€β”€ 00-project-lifecycle/
β”‚   β”œβ”€β”€ 01-project-scaffolding/
β”‚   └── ...
β”œβ”€β”€ tests/                    # E2E and integration tests
β”‚   └── e2e/                  # End-to-end tests
β”œβ”€β”€ pytest.ini                # Pytest configuration
β”œβ”€β”€ conftest.py               # Shared test fixtures
β”œβ”€β”€ requirements.txt          # Python dependencies
└── README.md

Note: All plugin components (commands/, agents/, skills/, hooks/) are at project root. Paths in .claude-plugin/plugin.json are relative to project root, NOT to .claude-plugin/.


Docker Usage

Run Claude Code with Assistant Skills in a Docker container. No local Python or Node.js installation required.

Quick Start

# Pull and run (API key authentication)
export ANTHROPIC_API_KEY=sk-ant-...
./scripts/claude-as-docker.sh

# Or use OAuth (mount existing credentials)
./scripts/claude-as-docker.sh --oauth

Environment Variables

Variable Description
ANTHROPIC_API_KEY API key for Claude authentication
CLAUDE_PLUGINS Comma-separated plugin repos (owner/repo or full URLs)
CLAUDE_MARKETPLACES Comma-separated marketplace repos
CLAUDE_REFRESH_PLUGINS Set to false to skip plugin updates (default: true)

Examples

# Run with a prompt
./scripts/claude-as-docker.sh -- -p "Help me refactor this code"

# Install additional plugins
CLAUDE_PLUGINS="myorg/my-plugin,other/plugin" ./scripts/claude-as-docker.sh

# Use multiple marketplaces
CLAUDE_MARKETPLACES="grandcamel/Assistant-Skills,company/internal-skills" \
  ./scripts/claude-as-docker.sh

# Skip plugin updates for faster startup
./scripts/claude-as-docker.sh --no-refresh

# Start a shell for debugging
./scripts/claude-as-docker.sh --shell

# Pull latest image before running
./scripts/claude-as-docker.sh --pull

Building Locally

# Build the image
docker build -t assistant-skills -f docker/runtime/Dockerfile .

# Run with custom image
./scripts/claude-as-docker.sh --image assistant-skills

Contributing

Contributions welcome!

# Clone the repository
git clone https://github.com/grandcamel/Assistant-Skills.git
cd Assistant-Skills

# Install dependencies and run tests
pip install -r requirements.txt
pytest skills/*/tests/ -v

License

MIT License β€” see LICENSE for details.


Stop writing boilerplate. Start building skills.
Built for Claude Code by developers who got tired of reinventing the wheel.