Publishing Skills
Share your skills with the Hubify community
Publishing Skills
Share your expertise with the Hubify community by publishing skills. Well-crafted skills help thousands of agents worldwide.
Skill Structure
Minimum Viable Skill
# my-skill/.hub
name: my-skill
version: 0.1.0
category: coding
description: A brief description of what this skill does
prompt: |
Your skill instructions here...
Complete Skill
name: typescript-strict-mode
version: 1.0.0
category: coding
author: "@yourusername"
license: MIT
description: |
Enforce strict TypeScript configuration for improved type safety
platforms:
- claude-code
- cursor
- windsurf
use_cases:
- Configure tsconfig.json for strict mode
- Add strict type checking rules
- Enforce null checks
tags:
- typescript
- configuration
- type-safety
dependencies:
requires: []
extends: []
integrates_with:
- eslint-typescript
prompt: |
When setting up TypeScript strict mode, follow these steps:
1. **Enable strict mode** in tsconfig.json:
```json
{
"compilerOptions": {
"strict": true,
"noUncheckedIndexedAccess": true,
"exactOptionalPropertyTypes": true
}
}
-
Handle existing errors by:
- Starting with
strict: falseif you have many errors - Enabling strict flags incrementally
- Using
// @ts-expect-errorsparingly for legacy code
- Starting with
-
Configure ESLint integration for runtime checks
examples:
-
title: "New Next.js Project" prompt: "Set up strict TypeScript for my new Next.js app" expected: "Configure tsconfig.json with strict mode enabled"
-
title: "Existing Project Migration" prompt: "Migrate my existing project to strict TypeScript" expected: "Incremental migration strategy with error handling"
## Creating Skills
### Method 1: Generate from Prompt
```bash
hubify generate "Python code review checklist with security focus"
This uses AI to create a skill scaffold:
Generating skill from prompt...
Created: python-security-review/.hub
Name: python-security-review
Category: security
Use Cases:
- Review Python code for security issues
- Check for injection vulnerabilities
- Validate input handling
Edit the .hub file to refine the skill, then publish.
Method 2: Create Manually
Create a directory with a .hub file:
mkdir my-skill
cd my-skill
Create .hub:
name: my-skill
version: 0.1.0
category: coding
description: What this skill does
prompt: |
Your instructions...
Method 3: Fork Existing Skill
hubify fork typescript-strict-mode --name my-typescript-config
This creates a local copy you can modify and publish.
Skill Categories
| Category | Description |
|---|---|
coding | Programming patterns and practices |
workflow | Development workflow automation |
documentation | Documentation generation |
testing | Testing strategies |
security | Security best practices |
devops | Deployment and infrastructure |
research | Research and analysis |
Writing Effective Prompts
Be Specific
# Bad
prompt: "Help with TypeScript"
# Good
prompt: |
When configuring TypeScript strict mode:
1. Enable `strict: true` in tsconfig.json
2. Add `noUncheckedIndexedAccess` for safer array access
3. Enable `exactOptionalPropertyTypes` for precise optional handling
Include Examples
prompt: |
...
Example tsconfig.json:
```json
{
"compilerOptions": {
"strict": true,
"noUncheckedIndexedAccess": true
}
}
### Handle Edge Cases
```yaml
prompt: |
...
For existing projects with many type errors:
1. Start with `strict: false`
2. Enable flags incrementally:
- Week 1: `strictNullChecks`
- Week 2: `strictFunctionTypes`
- Week 3: Full `strict: true`
Validating Skills
Validate Locally
hubify hub validate ./my-skill
Output:
Validating my-skill...
✓ Valid .hub file
✓ Name follows conventions
✓ Category is valid
✓ Prompt is non-empty
✓ Version is semver
Ready to publish!
Test in Sandbox
hubify test my-skill
Runs the skill in an E2B sandbox to verify it works.
Publishing
Publish to Registry
hubify publish ./my-skill
Output:
Publishing my-skill...
Validating... ✓
Uploading... ✓
Indexing... ✓
Published: my-skill@0.1.0
View at: https://hubify.com/skills/my-skill
Publish Options
# Dry run (preview without publishing)
hubify publish ./my-skill --dry-run
# Publish as unlisted (not in search)
hubify publish ./my-skill --unlisted
# Publish with specific tag
hubify publish ./my-skill --tag beta
Versioning
Follow semantic versioning:
| Change Type | Version Bump | Example |
|---|---|---|
| Bug fixes, typos | Patch | 1.0.0 → 1.0.1 |
| New examples, clarifications | Minor | 1.0.0 → 1.1.0 |
| Core prompt changes | Major | 1.0.0 → 2.0.0 |
Publishing Updates
# Edit .hub, bump version
# version: 0.1.0 → version: 0.2.0
hubify publish ./my-skill
Trust & Verification
New skills start with low confidence and build trust through:
- Executions: More agents using the skill
- Success Rate: High success percentage
- Agent Diversity: Used across different platforms
- Evolution Stability: Improvements over time
Verification Levels
| Level | Requirements |
|---|---|
| Unverified | Just published |
| Community | 100+ executions, 80%+ success |
| Verified | 1000+ executions, 90%+ success, manual review |
| Official | Hubify team maintained |
Skill Maintenance
Monitor Performance
hubify learn stats my-skill
View Improvement Suggestions
hubify evolve status my-skill
Accept Evolutions
# View pending evolution
hubify evolve preview my-skill
# Accept evolution
hubify evolve accept my-skill
Best Practices
Quality over quantity: One excellent skill is worth more than ten mediocre ones.
Do
- Write clear, actionable instructions
- Include real examples
- Handle common edge cases
- Test on multiple platforms
- Respond to improvement suggestions
Don't
- Publish duplicate skills
- Include sensitive information
- Make prompts too generic
- Ignore user feedback
Monetization
Coming soon: Premium skills marketplace with revenue sharing for authors.