SerpentStack find-skills

Discover, evaluate, and create project-specific skills. Use when: the user needs a capability not covered by built-in skills, wants to find patterns for a specific tool or service, or asks about extending the skills directory. Also use when asking 'how do I add a new skill.'

install
source · Clone the upstream repo
git clone https://github.com/Benja-Pauls/SerpentStack
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Benja-Pauls/SerpentStack "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.skills/find-skills" ~/.claude/skills/benja-pauls-serpentstack-find-skills && rm -rf "$T"
manifest: .skills/find-skills/SKILL.md
source content

Find & Create Skills

Discover community skills and create new ones when SerpentStack's built-in skills don't cover what the user needs.

When to Use This Skill

Use this when the user asks for something outside the scope of the built-in skills:

Built-in SkillCovers
scaffold
Generating new API endpoints and frontend pages following project conventions
auth
Understanding auth, protecting routes, swapping providers
test
Running and interpreting pytest and vitest
db-migrate
Alembic migrations, schema changes, seed data
dev-server
Starting, monitoring, and auto-fixing the dev environment
deploy
Docker build, ECR push, Terraform apply to AWS
git-workflow
Branches, commits, PRs, rebasing
generate-skills
Interviewing a developer to produce project-specific skills for any codebase
model-routing
Delegating code generation to on-device models (Ollama) to reduce costs

If the user needs something else — monitoring, Stripe, email, Slack, S3 file uploads, PDF generation, browser automation, etc. — search for a community skill or official docs first before building from scratch.

Step 1: Search for Existing Skills

Via web search (recommended):

Search for:

"SKILL.md" <what the user needs>
or
site:github.com SKILL.md <topic>

Via package registries:

Many integrations have official SDKs with excellent docs:

# Python packages
uv search <topic>

# Check PyPI directly
# https://pypi.org/search/?q=<topic>

# NPM packages
npm search <topic>

Via official documentation:

For third-party services, always prefer the provider's official docs over community implementations — they're always up to date:

Step 2: Evaluate Before Adopting

Before using any community skill or third-party integration, check:

  1. Read the instructions — does it actually do what the user needs?
  2. Check requirements — what dependencies does it need? Are those installed?
  3. Check for red flags — does it ask you to run
    curl | bash
    from unknown URLs? Does it request API keys be sent to external services?
  4. Check recency — is the source recently updated, or abandoned?

Step 3: Create a New Skill

If no existing skill covers what's needed, create one. A skill is a markdown file at

.skills/<skill-name>/SKILL.md
.

Skill format:

---
name: <skill-name>
description: "<when to use this skill>"
---

# <Skill Title>

## When to Use
<Describe the trigger conditions>

## Steps
<Specific, actionable instructions with real file paths and commands>

## Verification
<How to verify the task was done correctly>

Good skills are:

  • Actionable — specific commands, real file paths, decision trees (not vague documentation)
  • Self-contained — all the info needed to complete the task, without requiring external searches
  • Linked to live docs — for third-party services, link to their official docs rather than hardcoding API signatures that go stale
  • Adapted to project conventions — use
    uv add
    not
    pip install
    , put services in
    backend/app/services/
    , use structured logging, etc.

Step 4: Adapt to SerpentStack Patterns

When following any external guide or community skill, adapt it to SerpentStack conventions:

  • Python packages: use
    uv add
    not
    pip install
  • Config/secrets: add to
    backend/app/config.py
    as a Pydantic settings class, set via env vars in
    .env
  • Service layer: new integrations go in
    backend/app/services/
    , not in route handlers
  • Route handlers: use
    async def
    with
    AsyncSession = Depends(get_db)
  • Frontend API calls: add typed functions in
    frontend/src/api/
    , hooks in
    frontend/src/hooks/
  • Logging: use
    get_logger(__name__)
    with structured JSON events

Example: Adding Stripe Integration

User asks: "I want to add Stripe payments."

  1. Search: check Stripe's official Python SDK docs at https://docs.stripe.com/api
  2. Install:
    cd backend && uv add stripe
  3. Config: add
    STRIPE_SECRET_KEY
    and
    STRIPE_WEBHOOK_SECRET
    to
    backend/app/config.py
  4. Service: create
    backend/app/services/stripe.py
    with payment logic
  5. Route: create
    backend/app/routes/payments.py
    with checkout and webhook endpoints
  6. Create skill: write
    .skills/payments/SKILL.md
    documenting the integration for future agent sessions
  7. Verify: run
    make test
    to ensure nothing broke

Skills Created by This Project

Add skills here as you create them.

SkillWhat it does
(none yet)Run
make dev
and start building!

Created a useful skill? Consider sharing it by opening a PR.