From smart-ai
Creates, updates, and manages Agent Skills following the Claude Code style. Use this skill when the user wants to add a new capability, create a new skill, or modify an existing skill.
npx claudepluginhub davidkiss/smart-ai-skills --plugin smart-aiThis skill uses the workspace's default tool permissions.
This skill enables the agent to create and maintain "Agent Skills" - modular capabilities that extend the agent's functionality. It ensures that all skills follow the standardized directory structure and file format required by the deepagents environment.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
This skill enables the agent to create and maintain "Agent Skills" - modular capabilities that extend the agent's functionality. It ensures that all skills follow the standardized directory structure and file format required by the deepagents environment.
Every skill must reside in its own directory and contain a SKILL.md file.
Create a new directory for the skill (e.g., pdf-processing/).
Inside, the SKILL.md is mandatory. Other files are optional but recommended for complex tasks to keep the context window light (Progressive Disclosure).
skill-name/
├── SKILL.md # (Required) Main instructions and metadata
├── REFERENCE.md # (Optional) Detailed API docs or reference material
├── FORMS.md # (Optional) Specialized guides
└── scripts/ # (Optional) Executable scripts
└── utility.py
The SKILL.md file must start with YAML frontmatter, followed by markdown instructions.
Frontmatter Requirements:
name: Max 64 chars, lowercase letters, numbers, and hyphens only. No reserved words ("anthropic", "claude").description: Max 1024 chars. Must explain what the skill does and when to use it.Content Sections:
# [Skill Name]## Instructions: Step-by-step guidance.## Examples: Concrete usage examples.MUST use the todowrite and todoread tools to track progress of the execution of the below steps:
Before creating or editing a skill, MUST run a quick web-search (use the webfetch tool) to find any existing, similar skills online (for example, Anthropic's official skills at https://github.com/anthropics/skills/tree/main/skills or community-maintained lists). If similar skills are found:
Before creating a new skill and not using an online skill as a template, search for existing or similar local skills and reuse their structure, examples, and patterns as a starting point.
Create a directory under .opencode/skills/ with a kebab-case name matching the skill's purpose.
Write the SKILL.md file with the required frontmatter and sections.
Template:
---
name: my-new-skill
description: Brief description of what this skill does and when to use it.
---
# My New Skill
## Instructions
[Clear, step-by-step guidance for the agent to follow]
## Examples
[Concrete examples of using this skill]
If the skill requires large reference texts or scripts, create separate files (e.g., scripts/main.py, docs/api.md) and reference them in SKILL.md. The agent will read these only when needed.
Add any required dependencies to the project's requirements.txt file using uv pip install <package> so the project's virtual environment is updated.
If a skill's scripts require environment variables (API keys, tokens, credentials), list them clearly in the SKILL.md Credentials section with the expected variable names (e.g., GITHUB_ACCESS_TOKEN, YOUTUBE_API_KEY). When creating a new skill, surface these required env vars to the user and advise adding them to the project's .env file or system environment before running the scripts.
SKILL.md. Use it as an entry point that links to other files.description clearly states when the skill should be used so the router can pick it up correctly.