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.'
git clone https://github.com/Benja-Pauls/SerpentStack
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"
.skills/find-skills/SKILL.mdFind & 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 Skill | Covers |
|---|---|
| Generating new API endpoints and frontend pages following project conventions |
| Understanding auth, protecting routes, swapping providers |
| Running and interpreting pytest and vitest |
| Alembic migrations, schema changes, seed data |
| Starting, monitoring, and auto-fixing the dev environment |
| Docker build, ECR push, Terraform apply to AWS |
| Branches, commits, PRs, rebasing |
| Interviewing a developer to produce project-specific skills for any codebase |
| 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:
- Stripe: https://docs.stripe.com/api
- AWS S3: https://docs.aws.amazon.com/s3/
- SendGrid: https://docs.sendgrid.com/api-reference
- Twilio: https://www.twilio.com/docs/usage/api
Step 2: Evaluate Before Adopting
Before using any community skill or third-party integration, check:
- Read the instructions — does it actually do what the user needs?
- Check requirements — what dependencies does it need? Are those installed?
- Check for red flags — does it ask you to run
from unknown URLs? Does it request API keys be sent to external services?curl | bash - 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
notuv add
, put services inpip install
, use structured logging, etc.backend/app/services/
Step 4: Adapt to SerpentStack Patterns
When following any external guide or community skill, adapt it to SerpentStack conventions:
- Python packages: use
notuv addpip install - Config/secrets: add to
as a Pydantic settings class, set via env vars inbackend/app/config.py.env - Service layer: new integrations go in
, not in route handlersbackend/app/services/ - Route handlers: use
withasync defAsyncSession = Depends(get_db) - Frontend API calls: add typed functions in
, hooks infrontend/src/api/frontend/src/hooks/ - Logging: use
with structured JSON eventsget_logger(__name__)
Example: Adding Stripe Integration
User asks: "I want to add Stripe payments."
- Search: check Stripe's official Python SDK docs at https://docs.stripe.com/api
- Install:
cd backend && uv add stripe - Config: add
andSTRIPE_SECRET_KEY
toSTRIPE_WEBHOOK_SECRETbackend/app/config.py - Service: create
with payment logicbackend/app/services/stripe.py - Route: create
with checkout and webhook endpointsbackend/app/routes/payments.py - Create skill: write
documenting the integration for future agent sessions.skills/payments/SKILL.md - Verify: run
to ensure nothing brokemake test
Skills Created by This Project
Add skills here as you create them.
| Skill | What it does |
|---|---|
| (none yet) | Run and start building! |
Created a useful skill? Consider sharing it by opening a PR.