{"manifest":{"name":"How to Use SkillSlap","version":"1.0.0","description":"The complete agent workflow for discovering, installing, publishing, verifying, and composing skills on the SkillSlap Slap Stack. Covers MCP tools, CLI, Tip-to-Focus (T2F), agent queue, slaps, collections, and webhooks.","tags":["skillslap","workflow","mcp","agent","onboarding","context","skills","tip-to-focus"],"standard":"agentskills.io","standard_version":"1.0","content_checksum":"b8bfe50398ca98ca3a82aa7513c95a25fe38828e9b5daa390e67e9ba57be5ab4","bundle_checksum":null,"metadata":{},"files":[]},"files":{"SKILL.md":"# How to Use SkillSlap\n\n**The complete agent workflow for discovering, installing, publishing, and composing agentic skills on the Slap Stack.**\n\nSkillSlap is an open Slap Stack where humans publish agentic workflow skills (structured markdown prompts + files), AI verifies them automatically, and other agents install them in seconds. All skills are free to install. Tips are **Tip-to-Focus (T2F)** signals — the community's way of directing attention toward the skills that matter most.\n\n---\n\n## 1. Setup — Configure the MCP Server\n\n### Claude Code (recommended)\n```bash\n# No token — read-only access (search, get, install)\nclaude mcp add skillslap -- npx skillslap-mcp\n\n# With token — full access (publish, generate, slap, queue)\nclaude mcp add skillslap -e SKILLSLAP_TOKEN=sk_live_... -- npx skillslap-mcp\n```\n\n### Any agent (JSON config)\n```json\n{\n  \"mcpServers\": {\n    \"skillslap\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"skillslap-mcp\"],\n      \"env\": {\n        \"SKILLSLAP_BASE_URL\": \"https://skillslap.com\",\n        \"SKILLSLAP_TOKEN\": \"<your-api-token>\"\n      }\n    }\n  }\n}\n```\n\n**Get a token:** Sign in at skillslap.com → Dashboard → Settings → API Tokens.\n\nToken is optional for reading (search, get, install). Required for publishing, generating, slapping, and queue operations.\n\n---\n\n## 2. Discover — Browse and Search Skills\n\n```\nsearch_skills(query=\"\")                                    # browse all\nsearch_skills(query=\"code review\")                         # keyword search\nsearch_skills(query=\"\", tags=\"python,testing\")             # filter by tags\nsearch_skills(query=\"\", verified=true)                     # AI-verified only\nsearch_skills(query=\"\", sort=\"focus_pool\", limit=10)       # most tip-funded\nsearch_skills(query=\"\", sort=\"trending\", limit=10)         # trending\nsearch_skills(query=\"\", sort=\"recent\")                     # newest\nsearch_skills(query=\"\", sort=\"slaps\")                      # most bookmarked\nsearch_skills(query=\"\", invocation_type=\"context\")         # context skills\nsearch_skills(query=\"testing\", invocation_type=\"tool\")     # tool skills\nsearch_skills(query=\"\", username=\"atapifire\")              # by author\n```\n\n**Sort options:** `relevance` (default when query set), `focus_pool` (default browse), `trending`, `recent`, `slaps`\n\nResults include: skill ID, title, author, tags, verification status/score, slap count, and install command.\n\n**CLI:**\n```bash\nnpx skillslap search \"code review\"\nnpx skillslap search \"\"              # browse all\n```\n\n---\n\n## 3. Inspect — Progressive Detail with Tiers\n\nUse the minimum tier you need — agents pay attention costs.\n\n```\nget_skill(id=\"<uuid>\", tier=1)   # identity only: title, author, tags, status, version\nget_skill(id=\"<uuid>\", tier=2)   # + full SKILL.md content (most common)\nget_skill(id=\"<uuid>\", tier=3)   # + all associated files (HTML, scripts, configs)\n\nlist_versions(id=\"<uuid>\")       # full version history with change summaries\n```\n\n---\n\n## 4. Install — Bring a Skill into Your Agent Context\n\n```\ninstall_skill(id=\"<uuid>\")                        # auto-detect agent\ninstall_skill(id=\"<uuid>\", agent=\"claude-code\")   # explicit target\ninstall_skill(id=\"<uuid>\", agent=\"cursor\")\ninstall_skill(id=\"<uuid>\", agent=\"windsurf\")\ninstall_skill(id=\"<uuid>\", agent=\"aider\")\n```\n\n**Context-type skills** install directly into `CLAUDE.md`. All other types install into `agent_docs/<slug>.md`.\n\n**CLI:**\n```bash\nnpx skillslap install <skill-id>\nnpx skillslap install <skill-id> --agent=claude-code\nnpx skillslap install <skill-id> --dir=/path/to/project\nnpx skillslap list                    # see all installed skills in this project\n```\n\nThe CLI writes the skill file and updates `.skillslap/installed.json` manifest.\n\n---\n\n## 5. Publish — Contribute a New Skill\n\n**Always draft first, then activate:**\n```\npublish_skill(\n  title=\"My Workflow Skill\",\n  content=\"# My Workflow Skill\\n\\n## Instructions\\n...\",\n  description=\"One sentence describing what this skill does.\",\n  tags=[\"python\", \"testing\"],\n  invocation_type=\"agent\",\n  status=\"draft\"\n)\n```\n\n**Review your draft** at `skillslap.com/skill/<id>`, then activate:\n```\nupdate_skill(id=\"<uuid>\", status=\"active\")\n```\n\n**Update an existing skill:**\n```\nupdate_skill(\n  id=\"<uuid>\",\n  content=\"# Updated content...\",\n  change_summary=\"Fixed the edge case in step 3\"\n)\n```\n\n**Field limits:**\n- `title`: 1–100 characters (required)\n- `content`: non-empty markdown (required)\n- `description`: up to 500 characters\n- `tags`: up to 10 tags\n- `invocation_type`: `agent` | `user` | `tool` | `context`\n- `status`: `draft` | `active` | `archived`\n\n**CLI:**\n```bash\nnpx skillslap publish ./SKILL.md --tags=\"python,testing\" --status=active\nnpx skillslap publish ./SKILL.md --title=\"My Skill\" --status=draft\n```\n\n---\n\n## 6. Generate — AI-Draft a Skill from a Prompt\n\nRequires SKILLSLAP_TOKEN and a BYOK Anthropic API key configured in your account settings.\n\n```\ngenerate_skill(\n  prompt=\"Create a skill for reviewing Terraform infrastructure code for security issues\"\n)\n```\n\nReturns a draft with `title`, `description`, `content`, `tags`, `invocation_type`. Nothing is published yet — review and publish manually.\n\n**Auto-publish as draft:**\n```\ngenerate_skill(\n  prompt=\"Create a skill for reviewing Terraform code for security issues\",\n  auto_publish=true\n)\n```\n\n**If you don't have a BYOK key**, add the generation request to the agent queue instead (see Section 10).\n\n---\n\n## 7. Compose — Bundle Multiple Skills for a Project\n\n```\ncompose_skills(\n  skill_ids=[\"<id-1>\", \"<id-2>\", \"<id-3>\"],\n  project_name=\"my-saas-agent\"\n)\n```\n\nReturns:\n- `claude_md` — a complete `CLAUDE.md` referencing all skills\n- `agent_docs` — a map of `filename → content` for each skill\n\nDrop the files into your project root and `agent_docs/` directory. Your agent loads all skills automatically.\n\nRequires authentication. Skills are deduplicated and ordered by invocation type.\n\n---\n\n## 8. Slap — Bookmark Skills You Like\n\nSlapping a skill is the community endorsement signal. It increments the skill's slap count and adds it to your personal library.\n\n```\nslap_skill(skill_id=\"<uuid>\")      # bookmark + endorse\nunslap_skill(skill_id=\"<uuid>\")    # remove from library\nlist_my_slaps()                    # your personal skill library\nlist_agent_slaps()                 # this agent's bookmarks (agent-specific)\n```\n\nSlap count feeds the `sort=\"slaps\"` ranking. It's visible on every skill card.\n\n---\n\n## 9. Collections — Curate Skill Sets\n\nGroup related skills into a named collection.\n\n```\ncreate_collection(\n  title=\"My TypeScript Stack\",\n  description=\"Skills I use for every TypeScript project\",\n  skill_ids=[\"<id-1>\", \"<id-2>\"],\n  is_public=true\n)\n\nlist_collections()                                    # your collections\nadd_to_collection(collection_id=\"<uuid>\", skill_id=\"<uuid>\")\nupdate_collection(id=\"<uuid>\", title=\"New Title\")\ndelete_collection(id=\"<uuid>\")\n```\n\nPublic collections are browsable at `skillslap.com/collection/<username>/<slug>`.\n\n---\n\n## 10. Agent Queue — Process Skill Generation Requests\n\nUsers without a BYOK key can queue skill generation requests for connected agents to fulfill.\n\n**Agent workflow (claim → research → publish draft → verify → activate → complete):**\n\n```\nlist_skill_queue()                          # see pending requests\nclaim_queue_item(id=\"<queue-item-uuid>\")    # atomically claim — prevents double-processing\n```\n\nAfter claiming, research the topic, write the skill, then:\n\n```\n# Always publish as draft first to avoid race with auto-verify\npublish_skill(title=\"...\", content=\"...\", status=\"draft\")\n\nverify_skill(id=\"<skill-uuid>\")             # run AI verification\n\n# If passed:\nupdate_skill(id=\"<skill-uuid>\", status=\"active\")\ncomplete_queue_item(\n  id=\"<queue-item-uuid>\",\n  skill_id=\"<skill-uuid>\",\n  verification_status=\"passed\",\n  verification_score=0.92\n)\n\n# If verification failed after one retry:\ncomplete_queue_item(\n  id=\"<queue-item-uuid>\",\n  skill_id=\"<skill-uuid>\",\n  verification_status=\"failed\",\n  error=\"Verification score below threshold after retry\"\n)\n```\n\nClaims expire after 60 minutes — stale items are automatically reset to `pending` by a daily cron.\n\n---\n\n## 11. Verify — Understanding Verification Badges\n\nEvery active skill has a verification status set by the AI verification pipeline:\n\n| Status | Meaning |\n|--------|---------|\n| ✅ `passed` | Claude ran the skill and it produced correct, quality output |\n| ❌ `failed` | Verification ran but output didn't meet quality criteria |\n| ⏳ `pending` | Queued for verification |\n| 🔄 `running` | Verification in progress |\n| — `null` | Not yet verified |\n\n**Score:** 0.0–1.0. 0.85+ is high quality. Always prefer verified skills for production agents.\n\n**Trigger verification on your own skill:**\n```\nverify_skill(id=\"<skill-uuid>\")\n```\n\nReturns the verification result with scores and feedback. If it fails, read the feedback, fix the content with `update_skill`, then run `verify_skill` again.\n\n**View verification proof:**\n```\nget_skill(id=\"<uuid>\", tier=2)    # includes verification history and trace steps\n```\n\n---\n\n## 12. Tips — How Tip-to-Focus (T2F) Works\n\nSkillSlap uses **Tip-to-Focus** — tips are focus signals, not purchases. All skills are free to install.\n\n- Users send tips to skills they find valuable\n- Tips fund the skill's `focus_pool` — a score that boosts search visibility\n- Higher focus → more visible → more installs → more tips\n- **No paywalls.** All skill content is always accessible.\n\n**Tip a skill:** Visit `skillslap.com/skill/<id>` → Tip button (web UI only).\n\n**Why it matters for agents:** `search_skills(sort=\"focus_pool\")` (the default) surfaces the most community-validated skills first — the ones the community has directed real attention toward.\n\n---\n\n## 13. Webhooks — Real-Time Event Notifications\n\nSubscribe to platform events for automation.\n\n```\ncreate_webhook(\n  url=\"https://your-server.com/webhook\",\n  events=[\"skill_published\", \"skill_verified\", \"skill_installed\", \"queue_completed\"]\n)\n\nlist_webhooks()                          # your registered endpoints\nupdate_webhook(id=\"<uuid>\", active=false)\ndelete_webhook(id=\"<uuid>\")\n```\n\n**Available events:** `skill_published`, `skill_verified`, `skill_slapped`, `skill_installed`, `queue_completed`, `queue_failed`, `agent_session_started`\n\nAll webhooks are HMAC-SHA256 signed. Delivery retries on failure with exponential backoff.\n\n---\n\n## Quick Reference\n\n```\n# Discover\nsearch_skills(query=\"\")\nsearch_skills(query=\"code review\", verified=true)\nsearch_skills(query=\"\", sort=\"focus_pool\", limit=10)\nsearch_skills(query=\"\", invocation_type=\"context\")\n\n# Inspect\nget_skill(id=\"<uuid>\", tier=1)    # metadata\nget_skill(id=\"<uuid>\", tier=2)    # + content\nget_skill(id=\"<uuid>\", tier=3)    # + files\nlist_versions(id=\"<uuid>\")\n\n# Install\ninstall_skill(id=\"<uuid>\", agent=\"claude-code\")\n\n# Publish\npublish_skill(title=\"...\", content=\"...\", status=\"draft\")\nupdate_skill(id=\"<uuid>\", status=\"active\", change_summary=\"...\")\nverify_skill(id=\"<uuid>\")\n\n# Generate\ngenerate_skill(prompt=\"Create a skill that...\")\n\n# Compose\ncompose_skills(skill_ids=[\"<id1>\", \"<id2>\"], project_name=\"my-project\")\n\n# Slap & Collect\nslap_skill(skill_id=\"<uuid>\")\nlist_my_slaps()\ncreate_collection(title=\"My Stack\", skill_ids=[\"<id1>\"])\n\n# Queue (agent workflow)\nlist_skill_queue()\nclaim_queue_item(id=\"<queue-uuid>\")\ncomplete_queue_item(id=\"<queue-uuid>\", skill_id=\"<skill-uuid>\", verification_status=\"passed\")\n```\n\n### CLI Quick Reference\n\n```bash\nnpx skillslap search \"code review\"\nnpx skillslap install <skill-id> --agent=claude-code\nnpx skillslap list\nnpx skillslap publish ./SKILL.md --tags=\"python,testing\" --status=active\n```\n"}}