From 740dd928f769c65df09fc11195c52540f63d6c7d Mon Sep 17 00:00:00 2001 From: teknium1 Date: Wed, 25 Feb 2026 05:21:11 -0800 Subject: [PATCH] Release set of skills --- skills/autonomous-ai-agents/DESCRIPTION.md | 3 + .../autonomous-ai-agents/claude-code/SKILL.md | 94 ++++ skills/autonomous-ai-agents/codex/SKILL.md | 113 ++++ .../hermes-agent/SKILL.md | 189 +++++++ skills/email/DESCRIPTION.md | 3 + skills/email/himalaya/SKILL.md | 276 ++++++++++ .../himalaya/references/configuration.md | 184 +++++++ .../references/message-composition.md | 199 +++++++ skills/feeds/DESCRIPTION.md | 3 + skills/feeds/blogwatcher/SKILL.md | 54 ++ skills/gaming/DESCRIPTION.md | 3 + .../gaming/minecraft-modpack-server/SKILL.md | 186 +++++++ skills/gifs/DESCRIPTION.md | 3 + skills/gifs/gif-search/SKILL.md | 73 +++ skills/github/codebase-inspection/SKILL.md | 113 ++++ .../anthropics_skills_skills_.json | 1 + .../claude_marketplace_anthropics_skills.json | 1 + skills/index-cache/lobehub_index.json | 1 + skills/index-cache/openai_skills_skills_.json | 1 + skills/mcp/DESCRIPTION.md | 3 + skills/mcp/mcporter/SKILL.md | 120 ++++ skills/mlops/peft/SKILL.md | 434 --------------- .../mlops/peft/references/advanced-usage.md | 514 ------------------ .../mlops/peft/references/troubleshooting.md | 480 ---------------- skills/mlops/slime/SKILL.md | 467 ---------------- .../mlops/slime/references/api-reference.md | 392 ------------- .../mlops/slime/references/troubleshooting.md | 386 ------------- skills/mlops/torchtitan/SKILL.md | 361 ------------ .../mlops/torchtitan/references/checkpoint.md | 181 ------ .../torchtitan/references/custom-models.md | 258 --------- skills/mlops/torchtitan/references/float8.md | 133 ----- skills/mlops/torchtitan/references/fsdp.md | 126 ----- skills/mlops/trl-fine-tuning/SKILL.md | 458 ---------------- .../references/dpo-variants.md | 227 -------- .../trl-fine-tuning/references/online-rl.md | 82 --- .../references/reward-modeling.md | 122 ----- .../references/sft-training.md | 168 ------ skills/mlops/whisper/SKILL.md | 320 ----------- skills/mlops/whisper/references/languages.md | 189 ------- skills/music-creation/DESCRIPTION.md | 3 + skills/music-creation/songsee/SKILL.md | 80 +++ skills/productivity/DESCRIPTION.md | 3 + skills/productivity/nano-pdf/SKILL.md | 51 ++ skills/productivity/notion/SKILL.md | 169 ++++++ .../powerpoint}/LICENSE.txt | 0 .../powerpoint}/SKILL.md | 4 +- .../powerpoint}/editing.md | 0 .../powerpoint}/pptxgenjs.md | 0 .../powerpoint}/scripts/__init__.py | 0 .../powerpoint}/scripts/add_slide.py | 0 .../powerpoint}/scripts/clean.py | 0 .../scripts/office/helpers/__init__.py | 0 .../scripts/office/helpers/merge_runs.py | 0 .../office/helpers/simplify_redlines.py | 0 .../powerpoint}/scripts/office/pack.py | 0 .../schemas/ISO-IEC29500-4_2016/dml-chart.xsd | 0 .../ISO-IEC29500-4_2016/dml-chartDrawing.xsd | 0 .../ISO-IEC29500-4_2016/dml-diagram.xsd | 0 .../ISO-IEC29500-4_2016/dml-lockedCanvas.xsd | 0 .../schemas/ISO-IEC29500-4_2016/dml-main.xsd | 0 .../ISO-IEC29500-4_2016/dml-picture.xsd | 0 .../dml-spreadsheetDrawing.xsd | 0 .../dml-wordprocessingDrawing.xsd | 0 .../schemas/ISO-IEC29500-4_2016/pml.xsd | 0 .../shared-additionalCharacteristics.xsd | 0 .../shared-bibliography.xsd | 0 .../shared-commonSimpleTypes.xsd | 0 .../shared-customXmlDataProperties.xsd | 0 .../shared-customXmlSchemaProperties.xsd | 0 .../shared-documentPropertiesCustom.xsd | 0 .../shared-documentPropertiesExtended.xsd | 0 .../shared-documentPropertiesVariantTypes.xsd | 0 .../ISO-IEC29500-4_2016/shared-math.xsd | 0 .../shared-relationshipReference.xsd | 0 .../schemas/ISO-IEC29500-4_2016/sml.xsd | 0 .../schemas/ISO-IEC29500-4_2016/vml-main.xsd | 0 .../ISO-IEC29500-4_2016/vml-officeDrawing.xsd | 0 .../vml-presentationDrawing.xsd | 0 .../vml-spreadsheetDrawing.xsd | 0 .../vml-wordprocessingDrawing.xsd | 0 .../schemas/ISO-IEC29500-4_2016/wml.xsd | 0 .../schemas/ISO-IEC29500-4_2016/xml.xsd | 0 .../ecma/fouth-edition/opc-contentTypes.xsd | 0 .../ecma/fouth-edition/opc-coreProperties.xsd | 0 .../schemas/ecma/fouth-edition/opc-digSig.xsd | 0 .../ecma/fouth-edition/opc-relationships.xsd | 0 .../scripts/office/schemas/mce/mc.xsd | 0 .../office/schemas/microsoft/wml-2010.xsd | 0 .../office/schemas/microsoft/wml-2012.xsd | 0 .../office/schemas/microsoft/wml-2018.xsd | 0 .../office/schemas/microsoft/wml-cex-2018.xsd | 0 .../office/schemas/microsoft/wml-cid-2016.xsd | 0 .../microsoft/wml-sdtdatahash-2020.xsd | 0 .../schemas/microsoft/wml-symex-2015.xsd | 0 skills/smart-home/DESCRIPTION.md | 3 + skills/smart-home/openhue/SKILL.md | 106 ++++ 96 files changed, 2040 insertions(+), 5300 deletions(-) create mode 100644 skills/autonomous-ai-agents/DESCRIPTION.md create mode 100644 skills/autonomous-ai-agents/claude-code/SKILL.md create mode 100644 skills/autonomous-ai-agents/codex/SKILL.md create mode 100644 skills/autonomous-ai-agents/hermes-agent/SKILL.md create mode 100644 skills/email/DESCRIPTION.md create mode 100644 skills/email/himalaya/SKILL.md create mode 100644 skills/email/himalaya/references/configuration.md create mode 100644 skills/email/himalaya/references/message-composition.md create mode 100644 skills/feeds/DESCRIPTION.md create mode 100644 skills/feeds/blogwatcher/SKILL.md create mode 100644 skills/gaming/DESCRIPTION.md create mode 100644 skills/gaming/minecraft-modpack-server/SKILL.md create mode 100644 skills/gifs/DESCRIPTION.md create mode 100644 skills/gifs/gif-search/SKILL.md create mode 100644 skills/github/codebase-inspection/SKILL.md create mode 100644 skills/index-cache/anthropics_skills_skills_.json create mode 100644 skills/index-cache/claude_marketplace_anthropics_skills.json create mode 100644 skills/index-cache/lobehub_index.json create mode 100644 skills/index-cache/openai_skills_skills_.json create mode 100644 skills/mcp/DESCRIPTION.md create mode 100644 skills/mcp/mcporter/SKILL.md delete mode 100644 skills/mlops/peft/SKILL.md delete mode 100644 skills/mlops/peft/references/advanced-usage.md delete mode 100644 skills/mlops/peft/references/troubleshooting.md delete mode 100644 skills/mlops/slime/SKILL.md delete mode 100644 skills/mlops/slime/references/api-reference.md delete mode 100644 skills/mlops/slime/references/troubleshooting.md delete mode 100644 skills/mlops/torchtitan/SKILL.md delete mode 100644 skills/mlops/torchtitan/references/checkpoint.md delete mode 100644 skills/mlops/torchtitan/references/custom-models.md delete mode 100644 skills/mlops/torchtitan/references/float8.md delete mode 100644 skills/mlops/torchtitan/references/fsdp.md delete mode 100644 skills/mlops/trl-fine-tuning/SKILL.md delete mode 100644 skills/mlops/trl-fine-tuning/references/dpo-variants.md delete mode 100644 skills/mlops/trl-fine-tuning/references/online-rl.md delete mode 100644 skills/mlops/trl-fine-tuning/references/reward-modeling.md delete mode 100644 skills/mlops/trl-fine-tuning/references/sft-training.md delete mode 100644 skills/mlops/whisper/SKILL.md delete mode 100644 skills/mlops/whisper/references/languages.md create mode 100644 skills/music-creation/DESCRIPTION.md create mode 100644 skills/music-creation/songsee/SKILL.md create mode 100644 skills/productivity/DESCRIPTION.md create mode 100644 skills/productivity/nano-pdf/SKILL.md create mode 100644 skills/productivity/notion/SKILL.md rename skills/{pptx => productivity/powerpoint}/LICENSE.txt (100%) rename skills/{pptx => productivity/powerpoint}/SKILL.md (99%) rename skills/{pptx => productivity/powerpoint}/editing.md (100%) rename skills/{pptx => productivity/powerpoint}/pptxgenjs.md (100%) rename skills/{pptx => productivity/powerpoint}/scripts/__init__.py (100%) rename skills/{pptx => productivity/powerpoint}/scripts/add_slide.py (100%) rename skills/{pptx => productivity/powerpoint}/scripts/clean.py (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/helpers/__init__.py (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/helpers/merge_runs.py (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/helpers/simplify_redlines.py (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/pack.py (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/mce/mc.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/microsoft/wml-2010.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/microsoft/wml-2012.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/microsoft/wml-2018.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/microsoft/wml-cex-2018.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/microsoft/wml-cid-2016.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd (100%) rename skills/{pptx => productivity/powerpoint}/scripts/office/schemas/microsoft/wml-symex-2015.xsd (100%) create mode 100644 skills/smart-home/DESCRIPTION.md create mode 100644 skills/smart-home/openhue/SKILL.md diff --git a/skills/autonomous-ai-agents/DESCRIPTION.md b/skills/autonomous-ai-agents/DESCRIPTION.md new file mode 100644 index 000000000..e0a28417b --- /dev/null +++ b/skills/autonomous-ai-agents/DESCRIPTION.md @@ -0,0 +1,3 @@ +--- +description: Skills for spawning and orchestrating autonomous AI coding agents and multi-agent workflows — running independent agent processes, delegating tasks, and coordinating parallel workstreams. +--- diff --git a/skills/autonomous-ai-agents/claude-code/SKILL.md b/skills/autonomous-ai-agents/claude-code/SKILL.md new file mode 100644 index 000000000..5c8d6e17f --- /dev/null +++ b/skills/autonomous-ai-agents/claude-code/SKILL.md @@ -0,0 +1,94 @@ +--- +name: claude-code +description: Delegate coding tasks to Claude Code (Anthropic's CLI agent). Use for building features, refactoring, PR reviews, and iterative coding. Requires the claude CLI installed. +version: 1.0.0 +author: Hermes Agent +license: MIT +metadata: + hermes: + tags: [Coding-Agent, Claude, Anthropic, Code-Review, Refactoring] + related_skills: [codex, hermes-agent] +--- + +# Claude Code + +Delegate coding tasks to [Claude Code](https://docs.anthropic.com/en/docs/claude-code) via the Hermes terminal. Claude Code is Anthropic's autonomous coding agent CLI. + +## Prerequisites + +- Claude Code installed: `npm install -g @anthropic-ai/claude-code` +- Authenticated: run `claude` once to log in +- Use `pty=true` in terminal calls — Claude Code is an interactive terminal app + +## One-Shot Tasks + +``` +terminal(command="claude 'Add error handling to the API calls'", workdir="/path/to/project", pty=true) +``` + +For quick scratch work: +``` +terminal(command="cd $(mktemp -d) && git init && claude 'Build a REST API for todos'", pty=true) +``` + +## Background Mode (Long Tasks) + +For tasks that take minutes, use background mode so you can monitor progress: + +``` +# Start in background with PTY +terminal(command="claude 'Refactor the auth module to use JWT'", workdir="~/project", background=true, pty=true) +# Returns session_id + +# Monitor progress +process(action="poll", session_id="") +process(action="log", session_id="") + +# Send input if Claude asks a question +process(action="submit", session_id="", data="yes") + +# Kill if needed +process(action="kill", session_id="") +``` + +## PR Reviews + +Clone to a temp directory to avoid modifying the working tree: + +``` +terminal(command="REVIEW=$(mktemp -d) && git clone https://github.com/user/repo.git $REVIEW && cd $REVIEW && gh pr checkout 42 && claude 'Review this PR against main. Check for bugs, security issues, and style.'", pty=true) +``` + +Or use git worktrees: +``` +terminal(command="git worktree add /tmp/pr-42 pr-42-branch", workdir="~/project") +terminal(command="claude 'Review the changes in this branch vs main'", workdir="/tmp/pr-42", pty=true) +``` + +## Parallel Work + +Spawn multiple Claude Code instances for independent tasks: + +``` +terminal(command="claude 'Fix the login bug'", workdir="/tmp/issue-1", background=true, pty=true) +terminal(command="claude 'Add unit tests for auth'", workdir="/tmp/issue-2", background=true, pty=true) + +# Monitor all +process(action="list") +``` + +## Key Flags + +| Flag | Effect | +|------|--------| +| `claude 'prompt'` | One-shot task, exits when done | +| `claude --dangerously-skip-permissions` | Auto-approve all file changes | +| `claude --model ` | Use a specific model | + +## Rules + +1. **Always use `pty=true`** — Claude Code is an interactive terminal app and will hang without a PTY +2. **Use `workdir`** — keep the agent focused on the right directory +3. **Background for long tasks** — use `background=true` and monitor with `process` tool +4. **Don't interfere** — monitor with `poll`/`log`, don't kill sessions because they're slow +5. **Report results** — after completion, check what changed and summarize for the user diff --git a/skills/autonomous-ai-agents/codex/SKILL.md b/skills/autonomous-ai-agents/codex/SKILL.md new file mode 100644 index 000000000..e5c77a180 --- /dev/null +++ b/skills/autonomous-ai-agents/codex/SKILL.md @@ -0,0 +1,113 @@ +--- +name: codex +description: Delegate coding tasks to OpenAI Codex CLI agent. Use for building features, refactoring, PR reviews, and batch issue fixing. Requires the codex CLI and a git repository. +version: 1.0.0 +author: Hermes Agent +license: MIT +metadata: + hermes: + tags: [Coding-Agent, Codex, OpenAI, Code-Review, Refactoring] + related_skills: [claude-code, hermes-agent] +--- + +# Codex CLI + +Delegate coding tasks to [Codex](https://github.com/openai/codex) via the Hermes terminal. Codex is OpenAI's autonomous coding agent CLI. + +## Prerequisites + +- Codex installed: `npm install -g @openai/codex` +- OpenAI API key configured +- **Must run inside a git repository** — Codex refuses to run outside one +- Use `pty=true` in terminal calls — Codex is an interactive terminal app + +## One-Shot Tasks + +``` +terminal(command="codex exec 'Add dark mode toggle to settings'", workdir="~/project", pty=true) +``` + +For scratch work (Codex needs a git repo): +``` +terminal(command="cd $(mktemp -d) && git init && codex exec 'Build a snake game in Python'", pty=true) +``` + +## Background Mode (Long Tasks) + +``` +# Start in background with PTY +terminal(command="codex exec --full-auto 'Refactor the auth module'", workdir="~/project", background=true, pty=true) +# Returns session_id + +# Monitor progress +process(action="poll", session_id="") +process(action="log", session_id="") + +# Send input if Codex asks a question +process(action="submit", session_id="", data="yes") + +# Kill if needed +process(action="kill", session_id="") +``` + +## Key Flags + +| Flag | Effect | +|------|--------| +| `exec "prompt"` | One-shot execution, exits when done | +| `--full-auto` | Sandboxed but auto-approves file changes in workspace | +| `--yolo` | No sandbox, no approvals (fastest, most dangerous) | + +## PR Reviews + +Clone to a temp directory for safe review: + +``` +terminal(command="REVIEW=$(mktemp -d) && git clone https://github.com/user/repo.git $REVIEW && cd $REVIEW && gh pr checkout 42 && codex review --base origin/main", pty=true) +``` + +## Parallel Issue Fixing with Worktrees + +``` +# Create worktrees +terminal(command="git worktree add -b fix/issue-78 /tmp/issue-78 main", workdir="~/project") +terminal(command="git worktree add -b fix/issue-99 /tmp/issue-99 main", workdir="~/project") + +# Launch Codex in each +terminal(command="codex --yolo exec 'Fix issue #78: . Commit when done.'", workdir="/tmp/issue-78", background=true, pty=true) +terminal(command="codex --yolo exec 'Fix issue #99: . Commit when done.'", workdir="/tmp/issue-99", background=true, pty=true) + +# Monitor +process(action="list") + +# After completion, push and create PRs +terminal(command="cd /tmp/issue-78 && git push -u origin fix/issue-78") +terminal(command="gh pr create --repo user/repo --head fix/issue-78 --title 'fix: ...' --body '...'") + +# Cleanup +terminal(command="git worktree remove /tmp/issue-78", workdir="~/project") +``` + +## Batch PR Reviews + +``` +# Fetch all PR refs +terminal(command="git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'", workdir="~/project") + +# Review multiple PRs in parallel +terminal(command="codex exec 'Review PR #86. git diff origin/main...origin/pr/86'", workdir="~/project", background=true, pty=true) +terminal(command="codex exec 'Review PR #87. git diff origin/main...origin/pr/87'", workdir="~/project", background=true, pty=true) + +# Post results +terminal(command="gh pr comment 86 --body ''", workdir="~/project") +``` + +## Rules + +1. **Always use `pty=true`** — Codex is an interactive terminal app and hangs without a PTY +2. **Git repo required** — Codex won't run outside a git directory. Use `mktemp -d && git init` for scratch +3. **Use `exec` for one-shots** — `codex exec "prompt"` runs and exits cleanly +4. **`--full-auto` for building** — auto-approves changes within the sandbox +5. **Background for long tasks** — use `background=true` and monitor with `process` tool +6. **Don't interfere** — monitor with `poll`/`log`, be patient with long-running tasks +7. **Parallel is fine** — run multiple Codex processes at once for batch work diff --git a/skills/autonomous-ai-agents/hermes-agent/SKILL.md b/skills/autonomous-ai-agents/hermes-agent/SKILL.md new file mode 100644 index 000000000..f2e6f2a5f --- /dev/null +++ b/skills/autonomous-ai-agents/hermes-agent/SKILL.md @@ -0,0 +1,189 @@ +--- +name: hermes-agent-spawning +description: Spawn additional Hermes Agent instances as autonomous subprocesses for independent long-running tasks. Supports non-interactive one-shot mode (-q) and interactive PTY mode for multi-turn collaboration. Different from delegate_task — this runs a full separate hermes process. +version: 1.1.0 +author: Hermes Agent +license: MIT +metadata: + hermes: + tags: [Agent, Hermes, Multi-Agent, Orchestration, Subprocess, Interactive] + homepage: https://github.com/NousResearch/hermes-agent + related_skills: [claude-code, codex] +--- + +# Spawning Hermes Agent Instances + +Run additional Hermes Agent processes as autonomous subprocesses. Unlike `delegate_task` (which spawns lightweight subagents sharing the same process), this launches fully independent `hermes` CLI processes with their own sessions, tools, and terminal environments. + +## When to Use This vs delegate_task + +| Feature | `delegate_task` | Spawning `hermes` process | +|---------|-----------------|--------------------------| +| Context isolation | Separate conversation, shared process | Fully independent process | +| Tool access | Subset of parent's tools | Full tool access (all toolsets) | +| Session persistence | Ephemeral (no DB entry) | Full session logging + DB | +| Duration | Minutes (bounded by parent's loop) | Hours/days (runs independently) | +| Monitoring | Parent waits for result | Background process, monitor via `process` tool | +| Interactive | No | Yes (PTY mode supports back-and-forth) | +| Use case | Quick parallel subtasks | Long autonomous missions, interactive collaboration | + +## Prerequisites + +- `hermes` CLI installed and on PATH +- API key configured in `~/.hermes/.env` + +### Installation + +Requires an interactive shell (the installer runs a setup wizard): + +``` +curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash +``` + +This installs uv, Python 3.11, clones the repo, sets up the venv, and launches an interactive setup wizard to configure your API provider and model. See the [GitHub repo](https://github.com/NousResearch/hermes-agent) for details. + +## Mode 1: One-Shot Query (-q flag) + +Run a single query non-interactively. The agent executes, does its work, and exits: + +``` +terminal(command="hermes chat -q 'Research the latest GRPO training papers and write a summary to ~/research/grpo.md'", timeout=300) +``` + +Background for long tasks: +``` +terminal(command="hermes chat -q 'Set up CI/CD for ~/myapp'", background=true) +# Returns session_id, monitor with process tool +``` + +## Mode 2: Interactive PTY Session + +Launch a full interactive Hermes session with PTY for back-and-forth collaboration. You can send messages, review its work, give feedback, and steer it. + +Note: Hermes uses prompt_toolkit for its CLI UI. Through a PTY, this works because ptyprocess provides a real terminal — input sent via `submit` arrives as keystrokes. The output log will contain ANSI escape sequences from the UI rendering — focus on the text content, not the formatting. + +``` +# Start interactive hermes in background with PTY +terminal(command="hermes", workdir="~/project", background=true, pty=true) +# Returns session_id + +# Send it a task +process(action="submit", session_id="", data="Set up a Python project with FastAPI, add auth endpoints, and write tests") + +# Wait for it to work, then check progress +process(action="log", session_id="") + +# Give feedback on what it produced +process(action="submit", session_id="", data="The tests look good but add edge cases for invalid tokens") + +# Check its response +process(action="log", session_id="") + +# Ask it to iterate +process(action="submit", session_id="", data="Now add rate limiting middleware") + +# When done, exit the session +process(action="submit", session_id="", data="/exit") +``` + +### Interactive Collaboration Patterns + +**Code review loop** — spawn hermes, send code for review, iterate on feedback: +``` +terminal(command="hermes", workdir="~/project", background=true, pty=true) +process(action="submit", session_id="", data="Review the changes in src/auth.py and suggest improvements") +# ... read its review ... +process(action="submit", session_id="", data="Good points. Go ahead and implement suggestions 1 and 3") +# ... it makes changes ... +process(action="submit", session_id="", data="Run the tests to make sure nothing broke") +``` + +**Research with steering** — start broad, narrow down based on findings: +``` +terminal(command="hermes", background=true, pty=true) +process(action="submit", session_id="", data="Search for the latest papers on KV cache compression techniques") +# ... read its findings ... +process(action="submit", session_id="", data="The MQA approach looks promising. Dig deeper into that one and compare with GQA") +# ... more detailed research ... +process(action="submit", session_id="", data="Write up everything you found to ~/research/kv-cache-compression.md") +``` + +**Multi-agent coordination** — spawn two agents working on related tasks, pass context between them: +``` +# Agent A: backend +terminal(command="hermes", workdir="~/project/backend", background=true, pty=true) +process(action="submit", session_id="", data="Build a REST API for user management with CRUD endpoints") + +# Agent B: frontend +terminal(command="hermes", workdir="~/project/frontend", background=true, pty=true) +process(action="submit", session_id="", data="Build a React dashboard that will connect to a REST API at localhost:8000/api/users") + +# Check Agent A's progress, relay API schema to Agent B +process(action="log", session_id="") +process(action="submit", session_id="", data="Here's the API schema Agent A built: GET /api/users, POST /api/users, etc. Update your fetch calls to match.") +``` + +## Parallel Non-Interactive Instances + +Spawn multiple independent agents for unrelated tasks: + +``` +terminal(command="hermes chat -q 'Research competitor landing pages and write a report to ~/research/competitors.md'", background=true) +terminal(command="hermes chat -q 'Audit security of ~/myapp and write findings to ~/myapp/SECURITY_AUDIT.md'", background=true) +process(action="list") +``` + +## With Custom Model + +``` +terminal(command="hermes chat -q 'Summarize this codebase' --model google/gemini-2.5-pro", workdir="~/project", background=true) +``` + +## Gateway Cron Integration + +For scheduled autonomous tasks, use the `schedule_cronjob` tool instead of spawning processes — cron jobs handle delivery, retry, and persistence automatically. + +## Key Differences Between Modes + +| | `-q` (one-shot) | Interactive (PTY) | +|---|---|---| +| User interaction | None | Full back-and-forth | +| PTY required | No | Yes (`pty=true`) | +| Multi-turn | Single query | Unlimited turns | +| Best for | Fire-and-forget tasks | Iterative work, reviews, steering | +| Exit | Automatic after completion | Send `/exit` or kill | + +## Known Issues + +- **Interactive PTY + prompt_toolkit**: The `submit` action sends `\n` (line feed) but prompt_toolkit in raw mode expects `\r` (carriage return) for Enter. Text appears in the prompt but never submits. **Workaround**: Use **tmux** instead of raw PTY mode. tmux's `send-keys Enter` sends the correct `\r`: + +``` +# Start hermes inside tmux +tmux new-session -d -s hermes-session -x 120 -y 40 "hermes" +sleep 10 # Wait for banner/startup + +# Send messages +tmux send-keys -t hermes-session "your message here" Enter + +# Read output +sleep 15 # Wait for LLM response +tmux capture-pane -t hermes-session -p + +# Multi-turn: just send more messages and capture again +tmux send-keys -t hermes-session "follow-up message" Enter + +# Exit when done +tmux send-keys -t hermes-session "/exit" Enter +tmux kill-session -t hermes-session +``` + +## Rules + +1. **Use `-q` for autonomous tasks** — agent works independently and exits +2. **Use `pty=true` for interactive sessions** — required for the full CLI UI +3. **Use `submit` not `write`** — `submit` adds a newline (Enter), `write` doesn't +4. **Read logs before sending more** — check what the agent produced before giving next instruction +5. **Set timeouts for `-q` mode** — complex tasks may take 5-10 minutes +6. **Prefer `delegate_task` for quick subtasks** — spawning a full process has more overhead +7. **Each instance is independent** — they don't share conversation context with the parent +8. **Check results** — after completion, read the output files or logs the agent produced diff --git a/skills/email/DESCRIPTION.md b/skills/email/DESCRIPTION.md new file mode 100644 index 000000000..14fe0c4a3 --- /dev/null +++ b/skills/email/DESCRIPTION.md @@ -0,0 +1,3 @@ +--- +description: Skills for sending, receiving, searching, and managing email from the terminal. +--- diff --git a/skills/email/himalaya/SKILL.md b/skills/email/himalaya/SKILL.md new file mode 100644 index 000000000..08517ebc1 --- /dev/null +++ b/skills/email/himalaya/SKILL.md @@ -0,0 +1,276 @@ +--- +name: himalaya +description: CLI to manage emails via IMAP/SMTP. Use himalaya to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language). +version: 1.0.0 +author: community +license: MIT +metadata: + hermes: + tags: [Email, IMAP, SMTP, CLI, Communication] + homepage: https://github.com/pimalaya/himalaya +--- + +# Himalaya Email CLI + +Himalaya is a CLI email client that lets you manage emails from the terminal using IMAP, SMTP, Notmuch, or Sendmail backends. + +## References + +- `references/configuration.md` (config file setup + IMAP/SMTP authentication) +- `references/message-composition.md` (MML syntax for composing emails) + +## Prerequisites + +1. Himalaya CLI installed (`himalaya --version` to verify) +2. A configuration file at `~/.config/himalaya/config.toml` +3. IMAP/SMTP credentials configured (password stored securely) + +### Installation + +```bash +# Pre-built binary (Linux/macOS — recommended) +curl -sSL https://raw.githubusercontent.com/pimalaya/himalaya/master/install.sh | PREFIX=~/.local sh + +# macOS via Homebrew +brew install himalaya + +# Or via cargo (any platform with Rust) +cargo install himalaya --locked +``` + +## Configuration Setup + +Run the interactive wizard to set up an account: + +```bash +himalaya account configure +``` + +Or create `~/.config/himalaya/config.toml` manually: + +```toml +[accounts.personal] +email = "you@example.com" +display-name = "Your Name" +default = true + +backend.type = "imap" +backend.host = "imap.example.com" +backend.port = 993 +backend.encryption.type = "tls" +backend.login = "you@example.com" +backend.auth.type = "password" +backend.auth.cmd = "pass show email/imap" # or use keyring + +message.send.backend.type = "smtp" +message.send.backend.host = "smtp.example.com" +message.send.backend.port = 587 +message.send.backend.encryption.type = "start-tls" +message.send.backend.login = "you@example.com" +message.send.backend.auth.type = "password" +message.send.backend.auth.cmd = "pass show email/smtp" +``` + +## Hermes Integration Notes + +- **Reading, listing, searching, moving, deleting** all work directly through the terminal tool +- **Composing/replying/forwarding** — piped input (`cat << EOF | himalaya template send`) is recommended for reliability. Interactive `$EDITOR` mode works with `pty=true` + background + process tool, but requires knowing the editor and its commands +- Use `--output json` for structured output that's easier to parse programmatically +- The `himalaya account configure` wizard requires interactive input — use PTY mode: `terminal(command="himalaya account configure", pty=true)` + +## Common Operations + +### List Folders + +```bash +himalaya folder list +``` + +### List Emails + +List emails in INBOX (default): + +```bash +himalaya envelope list +``` + +List emails in a specific folder: + +```bash +himalaya envelope list --folder "Sent" +``` + +List with pagination: + +```bash +himalaya envelope list --page 1 --page-size 20 +``` + +### Search Emails + +```bash +himalaya envelope list from john@example.com subject meeting +``` + +### Read an Email + +Read email by ID (shows plain text): + +```bash +himalaya message read 42 +``` + +Export raw MIME: + +```bash +himalaya message export 42 --full +``` + +### Reply to an Email + +To reply non-interactively from Hermes, read the original message, compose a reply, and pipe it: + +```bash +# Get the reply template, edit it, and send +himalaya template reply 42 | sed 's/^$/\nYour reply text here\n/' | himalaya template send +``` + +Or build the reply manually: + +```bash +cat << 'EOF' | himalaya template send +From: you@example.com +To: sender@example.com +Subject: Re: Original Subject +In-Reply-To: + +Your reply here. +EOF +``` + +Reply-all (interactive — needs $EDITOR, use template approach above instead): + +```bash +himalaya message reply 42 --all +``` + +### Forward an Email + +```bash +# Get forward template and pipe with modifications +himalaya template forward 42 | sed 's/^To:.*/To: newrecipient@example.com/' | himalaya template send +``` + +### Write a New Email + +**Non-interactive (use this from Hermes)** — pipe the message via stdin: + +```bash +cat << 'EOF' | himalaya template send +From: you@example.com +To: recipient@example.com +Subject: Test Message + +Hello from Himalaya! +EOF +``` + +Or with headers flag: + +```bash +himalaya message write -H "To:recipient@example.com" -H "Subject:Test" "Message body here" +``` + +Note: `himalaya message write` without piped input opens `$EDITOR`. This works with `pty=true` + background mode, but piping is simpler and more reliable. + +### Move/Copy Emails + +Move to folder: + +```bash +himalaya message move 42 "Archive" +``` + +Copy to folder: + +```bash +himalaya message copy 42 "Important" +``` + +### Delete an Email + +```bash +himalaya message delete 42 +``` + +### Manage Flags + +Add flag: + +```bash +himalaya flag add 42 --flag seen +``` + +Remove flag: + +```bash +himalaya flag remove 42 --flag seen +``` + +## Multiple Accounts + +List accounts: + +```bash +himalaya account list +``` + +Use a specific account: + +```bash +himalaya --account work envelope list +``` + +## Attachments + +Save attachments from a message: + +```bash +himalaya attachment download 42 +``` + +Save to specific directory: + +```bash +himalaya attachment download 42 --dir ~/Downloads +``` + +## Output Formats + +Most commands support `--output` for structured output: + +```bash +himalaya envelope list --output json +himalaya envelope list --output plain +``` + +## Debugging + +Enable debug logging: + +```bash +RUST_LOG=debug himalaya envelope list +``` + +Full trace with backtrace: + +```bash +RUST_LOG=trace RUST_BACKTRACE=1 himalaya envelope list +``` + +## Tips + +- Use `himalaya --help` or `himalaya --help` for detailed usage. +- Message IDs are relative to the current folder; re-list after folder changes. +- For composing rich emails with attachments, use MML syntax (see `references/message-composition.md`). +- Store passwords securely using `pass`, system keyring, or a command that outputs the password. diff --git a/skills/email/himalaya/references/configuration.md b/skills/email/himalaya/references/configuration.md new file mode 100644 index 000000000..005a657d5 --- /dev/null +++ b/skills/email/himalaya/references/configuration.md @@ -0,0 +1,184 @@ +# Himalaya Configuration Reference + +Configuration file location: `~/.config/himalaya/config.toml` + +## Minimal IMAP + SMTP Setup + +```toml +[accounts.default] +email = "user@example.com" +display-name = "Your Name" +default = true + +# IMAP backend for reading emails +backend.type = "imap" +backend.host = "imap.example.com" +backend.port = 993 +backend.encryption.type = "tls" +backend.login = "user@example.com" +backend.auth.type = "password" +backend.auth.raw = "your-password" + +# SMTP backend for sending emails +message.send.backend.type = "smtp" +message.send.backend.host = "smtp.example.com" +message.send.backend.port = 587 +message.send.backend.encryption.type = "start-tls" +message.send.backend.login = "user@example.com" +message.send.backend.auth.type = "password" +message.send.backend.auth.raw = "your-password" +``` + +## Password Options + +### Raw password (testing only, not recommended) + +```toml +backend.auth.raw = "your-password" +``` + +### Password from command (recommended) + +```toml +backend.auth.cmd = "pass show email/imap" +# backend.auth.cmd = "security find-generic-password -a user@example.com -s imap -w" +``` + +### System keyring (requires keyring feature) + +```toml +backend.auth.keyring = "imap-example" +``` + +Then run `himalaya account configure ` to store the password. + +## Gmail Configuration + +```toml +[accounts.gmail] +email = "you@gmail.com" +display-name = "Your Name" +default = true + +backend.type = "imap" +backend.host = "imap.gmail.com" +backend.port = 993 +backend.encryption.type = "tls" +backend.login = "you@gmail.com" +backend.auth.type = "password" +backend.auth.cmd = "pass show google/app-password" + +message.send.backend.type = "smtp" +message.send.backend.host = "smtp.gmail.com" +message.send.backend.port = 587 +message.send.backend.encryption.type = "start-tls" +message.send.backend.login = "you@gmail.com" +message.send.backend.auth.type = "password" +message.send.backend.auth.cmd = "pass show google/app-password" +``` + +**Note:** Gmail requires an App Password if 2FA is enabled. + +## iCloud Configuration + +```toml +[accounts.icloud] +email = "you@icloud.com" +display-name = "Your Name" + +backend.type = "imap" +backend.host = "imap.mail.me.com" +backend.port = 993 +backend.encryption.type = "tls" +backend.login = "you@icloud.com" +backend.auth.type = "password" +backend.auth.cmd = "pass show icloud/app-password" + +message.send.backend.type = "smtp" +message.send.backend.host = "smtp.mail.me.com" +message.send.backend.port = 587 +message.send.backend.encryption.type = "start-tls" +message.send.backend.login = "you@icloud.com" +message.send.backend.auth.type = "password" +message.send.backend.auth.cmd = "pass show icloud/app-password" +``` + +**Note:** Generate an app-specific password at appleid.apple.com + +## Folder Aliases + +Map custom folder names: + +```toml +[accounts.default.folder.alias] +inbox = "INBOX" +sent = "Sent" +drafts = "Drafts" +trash = "Trash" +``` + +## Multiple Accounts + +```toml +[accounts.personal] +email = "personal@example.com" +default = true +# ... backend config ... + +[accounts.work] +email = "work@company.com" +# ... backend config ... +``` + +Switch accounts with `--account`: + +```bash +himalaya --account work envelope list +``` + +## Notmuch Backend (local mail) + +```toml +[accounts.local] +email = "user@example.com" + +backend.type = "notmuch" +backend.db-path = "~/.mail/.notmuch" +``` + +## OAuth2 Authentication (for providers that support it) + +```toml +backend.auth.type = "oauth2" +backend.auth.client-id = "your-client-id" +backend.auth.client-secret.cmd = "pass show oauth/client-secret" +backend.auth.access-token.cmd = "pass show oauth/access-token" +backend.auth.refresh-token.cmd = "pass show oauth/refresh-token" +backend.auth.auth-url = "https://provider.com/oauth/authorize" +backend.auth.token-url = "https://provider.com/oauth/token" +``` + +## Additional Options + +### Signature + +```toml +[accounts.default] +signature = "Best regards,\nYour Name" +signature-delim = "-- \n" +``` + +### Downloads directory + +```toml +[accounts.default] +downloads-dir = "~/Downloads/himalaya" +``` + +### Editor for composing + +Set via environment variable: + +```bash +export EDITOR="vim" +``` diff --git a/skills/email/himalaya/references/message-composition.md b/skills/email/himalaya/references/message-composition.md new file mode 100644 index 000000000..2dbd7a99d --- /dev/null +++ b/skills/email/himalaya/references/message-composition.md @@ -0,0 +1,199 @@ +# Message Composition with MML (MIME Meta Language) + +Himalaya uses MML for composing emails. MML is a simple XML-based syntax that compiles to MIME messages. + +## Basic Message Structure + +An email message is a list of **headers** followed by a **body**, separated by a blank line: + +``` +From: sender@example.com +To: recipient@example.com +Subject: Hello World + +This is the message body. +``` + +## Headers + +Common headers: + +- `From`: Sender address +- `To`: Primary recipient(s) +- `Cc`: Carbon copy recipients +- `Bcc`: Blind carbon copy recipients +- `Subject`: Message subject +- `Reply-To`: Address for replies (if different from From) +- `In-Reply-To`: Message ID being replied to + +### Address Formats + +``` +To: user@example.com +To: John Doe +To: "John Doe" +To: user1@example.com, user2@example.com, "Jane" +``` + +## Plain Text Body + +Simple plain text email: + +``` +From: alice@localhost +To: bob@localhost +Subject: Plain Text Example + +Hello, this is a plain text email. +No special formatting needed. + +Best, +Alice +``` + +## MML for Rich Emails + +### Multipart Messages + +Alternative text/html parts: + +``` +From: alice@localhost +To: bob@localhost +Subject: Multipart Example + +<#multipart type=alternative> +This is the plain text version. +<#part type=text/html> +

This is the HTML version

+<#/multipart> +``` + +### Attachments + +Attach a file: + +``` +From: alice@localhost +To: bob@localhost +Subject: With Attachment + +Here is the document you requested. + +<#part filename=/path/to/document.pdf><#/part> +``` + +Attachment with custom name: + +``` +<#part filename=/path/to/file.pdf name=report.pdf><#/part> +``` + +Multiple attachments: + +``` +<#part filename=/path/to/doc1.pdf><#/part> +<#part filename=/path/to/doc2.pdf><#/part> +``` + +### Inline Images + +Embed an image inline: + +``` +From: alice@localhost +To: bob@localhost +Subject: Inline Image + +<#multipart type=related> +<#part type=text/html> + +

Check out this image:

+ + +<#part disposition=inline id=image1 filename=/path/to/image.png><#/part> +<#/multipart> +``` + +### Mixed Content (Text + Attachments) + +``` +From: alice@localhost +To: bob@localhost +Subject: Mixed Content + +<#multipart type=mixed> +<#part type=text/plain> +Please find the attached files. + +Best, +Alice +<#part filename=/path/to/file1.pdf><#/part> +<#part filename=/path/to/file2.zip><#/part> +<#/multipart> +``` + +## MML Tag Reference + +### `<#multipart>` + +Groups multiple parts together. + +- `type=alternative`: Different representations of same content +- `type=mixed`: Independent parts (text + attachments) +- `type=related`: Parts that reference each other (HTML + images) + +### `<#part>` + +Defines a message part. + +- `type=`: Content type (e.g., `text/html`, `application/pdf`) +- `filename=`: File to attach +- `name=`: Display name for attachment +- `disposition=inline`: Display inline instead of as attachment +- `id=`: Content ID for referencing in HTML + +## Composing from CLI + +### Interactive compose + +Opens your `$EDITOR`: + +```bash +himalaya message write +``` + +### Reply (opens editor with quoted message) + +```bash +himalaya message reply 42 +himalaya message reply 42 --all # reply-all +``` + +### Forward + +```bash +himalaya message forward 42 +``` + +### Send from stdin + +```bash +cat message.txt | himalaya template send +``` + +### Prefill headers from CLI + +```bash +himalaya message write \ + -H "To:recipient@example.com" \ + -H "Subject:Quick Message" \ + "Message body here" +``` + +## Tips + +- The editor opens with a template; fill in headers and body. +- Save and exit the editor to send; exit without saving to cancel. +- MML parts are compiled to proper MIME when sending. +- Use `himalaya message export --full` to inspect the raw MIME structure of received emails. diff --git a/skills/feeds/DESCRIPTION.md b/skills/feeds/DESCRIPTION.md new file mode 100644 index 000000000..5c2c97bf6 --- /dev/null +++ b/skills/feeds/DESCRIPTION.md @@ -0,0 +1,3 @@ +--- +description: Skills for monitoring, aggregating, and processing RSS feeds, blogs, and web content sources. +--- diff --git a/skills/feeds/blogwatcher/SKILL.md b/skills/feeds/blogwatcher/SKILL.md new file mode 100644 index 000000000..4aadfe943 --- /dev/null +++ b/skills/feeds/blogwatcher/SKILL.md @@ -0,0 +1,54 @@ +--- +name: blogwatcher +description: Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI. Add blogs, scan for new articles, and track what you've read. +version: 1.0.0 +author: community +license: MIT +metadata: + hermes: + tags: [RSS, Blogs, Feed-Reader, Monitoring] + homepage: https://github.com/Hyaxia/blogwatcher +--- + +# Blogwatcher + +Track blog and RSS/Atom feed updates with the `blogwatcher` CLI. + +## Prerequisites + +- Go installed (`go version` to check) +- Install: `go install github.com/Hyaxia/blogwatcher/cmd/blogwatcher@latest` + +## Common Commands + +- Add a blog: `blogwatcher add "My Blog" https://example.com` +- List blogs: `blogwatcher blogs` +- Scan for updates: `blogwatcher scan` +- List articles: `blogwatcher articles` +- Mark an article read: `blogwatcher read 1` +- Mark all articles read: `blogwatcher read-all` +- Remove a blog: `blogwatcher remove "My Blog"` + +## Example Output + +``` +$ blogwatcher blogs +Tracked blogs (1): + + xkcd + URL: https://xkcd.com +``` + +``` +$ blogwatcher scan +Scanning 1 blog(s)... + + xkcd + Source: RSS | Found: 4 | New: 4 + +Found 4 new article(s) total! +``` + +## Notes + +- Use `blogwatcher --help` to discover flags and options. diff --git a/skills/gaming/DESCRIPTION.md b/skills/gaming/DESCRIPTION.md new file mode 100644 index 000000000..103ceb44e --- /dev/null +++ b/skills/gaming/DESCRIPTION.md @@ -0,0 +1,3 @@ +--- +description: Skills for setting up, configuring, and managing game servers, modpacks, and gaming-related infrastructure. +--- diff --git a/skills/gaming/minecraft-modpack-server/SKILL.md b/skills/gaming/minecraft-modpack-server/SKILL.md new file mode 100644 index 000000000..2645256a1 --- /dev/null +++ b/skills/gaming/minecraft-modpack-server/SKILL.md @@ -0,0 +1,186 @@ +--- +name: minecraft-modpack-server +description: Set up a modded Minecraft server from a CurseForge/Modrinth server pack zip. Covers NeoForge/Forge install, Java version, JVM tuning, firewall, LAN config, backups, and launch scripts. +tags: [minecraft, gaming, server, neoforge, forge, modpack] +--- + +# Minecraft Modpack Server Setup + +## When to use +- User wants to set up a modded Minecraft server from a server pack zip +- User needs help with NeoForge/Forge server configuration +- User asks about Minecraft server performance tuning or backups + +## Gather User Preferences First +Before starting setup, ask the user for: +- **Server name / MOTD** — what should it say in the server list? +- **Seed** — specific seed or random? +- **Difficulty** — peaceful / easy / normal / hard? +- **Gamemode** — survival / creative / adventure? +- **Online mode** — true (Mojang auth, legit accounts) or false (LAN/cracked friendly)? +- **Player count** — how many players expected? (affects RAM & view distance tuning) +- **RAM allocation** — or let agent decide based on mod count & available RAM? +- **View distance / simulation distance** — or let agent pick based on player count & hardware? +- **PvP** — on or off? +- **Whitelist** — open server or whitelist only? +- **Backups** — want automated backups? How often? + +Use sensible defaults if the user doesn't care, but always ask before generating the config. + +## Steps + +### 1. Download & Inspect the Pack +```bash +mkdir -p ~/minecraft-server +cd ~/minecraft-server +wget -O serverpack.zip "" +unzip -o serverpack.zip -d server +ls server/ +``` +Look for: `startserver.sh`, installer jar (neoforge/forge), `user_jvm_args.txt`, `mods/` folder. +Check the script to determine: mod loader type, version, and required Java version. + +### 2. Install Java +- Minecraft 1.21+ → Java 21: `sudo apt install openjdk-21-jre-headless` +- Minecraft 1.18-1.20 → Java 17: `sudo apt install openjdk-17-jre-headless` +- Minecraft 1.16 and below → Java 8: `sudo apt install openjdk-8-jre-headless` +- Verify: `java -version` + +### 3. Install the Mod Loader +Most server packs include an install script. Use the INSTALL_ONLY env var to install without launching: +```bash +cd ~/minecraft-server/server +ATM10_INSTALL_ONLY=true bash startserver.sh +# Or for generic Forge packs: +# java -jar forge-*-installer.jar --installServer +``` +This downloads libraries, patches the server jar, etc. + +### 4. Accept EULA +```bash +echo "eula=true" > ~/minecraft-server/server/eula.txt +``` + +### 5. Configure server.properties +Key settings for modded/LAN: +```properties +motd=\u00a7b\u00a7lServer Name \u00a7r\u00a78| \u00a7aModpack Name +server-port=25565 +online-mode=true # false for LAN without Mojang auth +enforce-secure-profile=true # match online-mode +difficulty=hard # most modpacks balance around hard +allow-flight=true # REQUIRED for modded (flying mounts/items) +spawn-protection=0 # let everyone build at spawn +max-tick-time=180000 # modded needs longer tick timeout +enable-command-block=true +``` + +Performance settings (scale to hardware): +```properties +# 2 players, beefy machine: +view-distance=16 +simulation-distance=10 + +# 4-6 players, moderate machine: +view-distance=10 +simulation-distance=6 + +# 8+ players or weaker hardware: +view-distance=8 +simulation-distance=4 +``` + +### 6. Tune JVM Args (user_jvm_args.txt) +Scale RAM to player count and mod count. Rule of thumb for modded: +- 100-200 mods: 6-12GB +- 200-350+ mods: 12-24GB +- Leave at least 8GB free for the OS/other tasks + +``` +-Xms12G +-Xmx24G +-XX:+UseG1GC +-XX:+ParallelRefProcEnabled +-XX:MaxGCPauseMillis=200 +-XX:+UnlockExperimentalVMOptions +-XX:+DisableExplicitGC +-XX:+AlwaysPreTouch +-XX:G1NewSizePercent=30 +-XX:G1MaxNewSizePercent=40 +-XX:G1HeapRegionSize=8M +-XX:G1ReservePercent=20 +-XX:G1HeapWastePercent=5 +-XX:G1MixedGCCountTarget=4 +-XX:InitiatingHeapOccupancyPercent=15 +-XX:G1MixedGCLiveThresholdPercent=90 +-XX:G1RSetUpdatingPauseTimePercent=5 +-XX:SurvivorRatio=32 +-XX:+PerfDisableSharedMem +-XX:MaxTenuringThreshold=1 +``` + +### 7. Open Firewall +```bash +sudo ufw allow 25565/tcp comment "Minecraft Server" +``` +Check with: `sudo ufw status | grep 25565` + +### 8. Create Launch Script +```bash +cat > ~/start-minecraft.sh << 'EOF' +#!/bin/bash +cd ~/minecraft-server/server +java @user_jvm_args.txt @libraries/net/neoforged/neoforge//unix_args.txt nogui +EOF +chmod +x ~/start-minecraft.sh +``` +Note: For Forge (not NeoForge), the args file path differs. Check `startserver.sh` for the exact path. + +### 9. Set Up Automated Backups +Create backup script: +```bash +cat > ~/minecraft-server/backup.sh << 'SCRIPT' +#!/bin/bash +SERVER_DIR="$HOME/minecraft-server/server" +BACKUP_DIR="$HOME/minecraft-server/backups" +WORLD_DIR="$SERVER_DIR/world" +MAX_BACKUPS=24 +mkdir -p "$BACKUP_DIR" +[ ! -d "$WORLD_DIR" ] && echo "[BACKUP] No world folder" && exit 0 +TIMESTAMP=$(date +%Y-%m-%d_%H-%M-%S) +BACKUP_FILE="$BACKUP_DIR/world_${TIMESTAMP}.tar.gz" +echo "[BACKUP] Starting at $(date)" +tar -czf "$BACKUP_FILE" -C "$SERVER_DIR" world +SIZE=$(du -h "$BACKUP_FILE" | cut -f1) +echo "[BACKUP] Saved: $BACKUP_FILE ($SIZE)" +BACKUP_COUNT=$(ls -1t "$BACKUP_DIR"/world_*.tar.gz 2>/dev/null | wc -l) +if [ "$BACKUP_COUNT" -gt "$MAX_BACKUPS" ]; then + REMOVE=$((BACKUP_COUNT - MAX_BACKUPS)) + ls -1t "$BACKUP_DIR"/world_*.tar.gz | tail -n "$REMOVE" | xargs rm -f + echo "[BACKUP] Pruned $REMOVE old backup(s)" +fi +echo "[BACKUP] Done at $(date)" +SCRIPT +chmod +x ~/minecraft-server/backup.sh +``` + +Add hourly cron: +```bash +(crontab -l 2>/dev/null | grep -v "minecraft/backup.sh"; echo "0 * * * * $HOME/minecraft-server/backup.sh >> $HOME/minecraft-server/backups/backup.log 2>&1") | crontab - +``` + +## Pitfalls +- ALWAYS set `allow-flight=true` for modded — mods with jetpacks/flight will kick players otherwise +- `max-tick-time=180000` or higher — modded servers often have long ticks during worldgen +- First startup is SLOW (several minutes for big packs) — don't panic +- "Can't keep up!" warnings on first launch are normal, settles after initial chunk gen +- If online-mode=false, set enforce-secure-profile=false too or clients get rejected +- The pack's startserver.sh often has an auto-restart loop — make a clean launch script without it +- Delete the world/ folder to regenerate with a new seed +- Some packs have env vars to control behavior (e.g., ATM10 uses ATM10_JAVA, ATM10_RESTART, ATM10_INSTALL_ONLY) + +## Verification +- `pgrep -fa neoforge` or `pgrep -fa minecraft` to check if running +- Check logs: `tail -f ~/minecraft-server/server/logs/latest.log` +- Look for "Done (Xs)!" in the log = server is ready +- Test connection: player adds server IP in Multiplayer diff --git a/skills/gifs/DESCRIPTION.md b/skills/gifs/DESCRIPTION.md new file mode 100644 index 000000000..c3490dff3 --- /dev/null +++ b/skills/gifs/DESCRIPTION.md @@ -0,0 +1,3 @@ +--- +description: Skills for searching, downloading, and working with GIFs and short-form animated media. +--- diff --git a/skills/gifs/gif-search/SKILL.md b/skills/gifs/gif-search/SKILL.md new file mode 100644 index 000000000..a255b934d --- /dev/null +++ b/skills/gifs/gif-search/SKILL.md @@ -0,0 +1,73 @@ +--- +name: gif-search +description: Search and download GIFs from Tenor using curl. No dependencies beyond curl and jq. Useful for finding reaction GIFs, creating visual content, and sending GIFs in chat. +version: 1.0.0 +author: Hermes Agent +license: MIT +metadata: + hermes: + tags: [GIF, Media, Search, Tenor, API] +--- + +# GIF Search (Tenor API) + +Search and download GIFs directly via the Tenor API using curl. No extra tools needed. + +## Prerequisites + +- `curl` and `jq` (both standard on Linux) + +## Search for GIFs + +```bash +# Search and get GIF URLs +curl -s "https://tenor.googleapis.com/v2/search?q=thumbs+up&limit=5&key=AIzaSyAyimkuYQYF_FXVALexPuGQctUWRURdCYQ" | jq -r '.results[].media_formats.gif.url' + +# Get smaller/preview versions +curl -s "https://tenor.googleapis.com/v2/search?q=nice+work&limit=3&key=AIzaSyAyimkuYQYF_FXVALexPuGQctUWRURdCYQ" | jq -r '.results[].media_formats.tinygif.url' +``` + +## Download a GIF + +```bash +# Search and download the top result +URL=$(curl -s "https://tenor.googleapis.com/v2/search?q=celebration&limit=1&key=AIzaSyAyimkuYQYF_FXVALexPuGQctUWRURdCYQ" | jq -r '.results[0].media_formats.gif.url') +curl -sL "$URL" -o celebration.gif +``` + +## Get Full Metadata + +```bash +curl -s "https://tenor.googleapis.com/v2/search?q=cat&limit=3&key=AIzaSyAyimkuYQYF_FXVALexPuGQctUWRURdCYQ" | jq '.results[] | {title: .title, url: .media_formats.gif.url, preview: .media_formats.tinygif.url, dimensions: .media_formats.gif.dims}' +``` + +## API Parameters + +| Parameter | Description | +|-----------|-------------| +| `q` | Search query (URL-encode spaces as `+`) | +| `limit` | Max results (1-50, default 20) | +| `key` | API key (the one above is Tenor's public demo key) | +| `media_filter` | Filter formats: `gif`, `tinygif`, `mp4`, `tinymp4`, `webm` | +| `contentfilter` | Safety: `off`, `low`, `medium`, `high` | +| `locale` | Language: `en_US`, `es`, `fr`, etc. | + +## Available Media Formats + +Each result has multiple formats under `.media_formats`: + +| Format | Use case | +|--------|----------| +| `gif` | Full quality GIF | +| `tinygif` | Small preview GIF | +| `mp4` | Video version (smaller file size) | +| `tinymp4` | Small preview video | +| `webm` | WebM video | +| `nanogif` | Tiny thumbnail | + +## Notes + +- The API key above is Tenor's public demo key — it works but has rate limits +- URL-encode the query: spaces as `+`, special chars as `%XX` +- For sending in chat, `tinygif` URLs are lighter weight +- GIF URLs can be used directly in markdown: `![alt](url)` diff --git a/skills/github/codebase-inspection/SKILL.md b/skills/github/codebase-inspection/SKILL.md new file mode 100644 index 000000000..ca71ffdf9 --- /dev/null +++ b/skills/github/codebase-inspection/SKILL.md @@ -0,0 +1,113 @@ +--- +name: codebase-inspection +description: Inspect and analyze codebases using pygount for LOC counting, language breakdown, and code-vs-comment ratios. Use when asked to check lines of code, repo size, language composition, or codebase stats. +version: 1.0.0 +author: Hermes Agent +license: MIT +metadata: + hermes: + tags: [LOC, Code Analysis, pygount, Codebase, Metrics, Repository] + related_skills: [github-repo-management] +--- + +# Codebase Inspection with pygount + +Analyze repositories for lines of code, language breakdown, file counts, and code-vs-comment ratios using `pygount`. + +## When to Use + +- User asks for LOC (lines of code) count +- User wants a language breakdown of a repo +- User asks about codebase size or composition +- User wants code-vs-comment ratios +- General "how big is this repo" questions + +## Prerequisites + +```bash +pip install --break-system-packages pygount 2>/dev/null || pip install pygount +``` + +## 1. Basic Summary (Most Common) + +Get a full language breakdown with file counts, code lines, and comment lines: + +```bash +cd /path/to/repo +pygount --format=summary \ + --folders-to-skip=".git,node_modules,venv,.venv,__pycache__,.cache,dist,build,.next,.tox,.eggs,*.egg-info" \ + . +``` + +**IMPORTANT:** Always use `--folders-to-skip` to exclude dependency/build directories, otherwise pygount will crawl them and take a very long time or hang. + +## 2. Common Folder Exclusions + +Adjust based on the project type: + +```bash +# Python projects +--folders-to-skip=".git,venv,.venv,__pycache__,.cache,dist,build,.tox,.eggs,.mypy_cache" + +# JavaScript/TypeScript projects +--folders-to-skip=".git,node_modules,dist,build,.next,.cache,.turbo,coverage" + +# General catch-all +--folders-to-skip=".git,node_modules,venv,.venv,__pycache__,.cache,dist,build,.next,.tox,vendor,third_party" +``` + +## 3. Filter by Specific Language + +```bash +# Only count Python files +pygount --suffix=py --format=summary . + +# Only count Python and YAML +pygount --suffix=py,yaml,yml --format=summary . +``` + +## 4. Detailed File-by-File Output + +```bash +# Default format shows per-file breakdown +pygount --folders-to-skip=".git,node_modules,venv" . + +# Sort by code lines (pipe through sort) +pygount --folders-to-skip=".git,node_modules,venv" . | sort -t$'\t' -k1 -nr | head -20 +``` + +## 5. Output Formats + +```bash +# Summary table (default recommendation) +pygount --format=summary . + +# JSON output for programmatic use +pygount --format=json . + +# Pipe-friendly: Language, file count, code, docs, empty, string +pygount --format=summary . 2>/dev/null +``` + +## 6. Interpreting Results + +The summary table columns: +- **Language** — detected programming language +- **Files** — number of files of that language +- **Code** — lines of actual code (executable/declarative) +- **Comment** — lines that are comments or documentation +- **%** — percentage of total + +Special pseudo-languages: +- `__empty__` — empty files +- `__binary__` — binary files (images, compiled, etc.) +- `__generated__` — auto-generated files (detected heuristically) +- `__duplicate__` — files with identical content +- `__unknown__` — unrecognized file types + +## Pitfalls + +1. **Always exclude .git, node_modules, venv** — without `--folders-to-skip`, pygount will crawl everything and may take minutes or hang on large dependency trees. +2. **Markdown shows 0 code lines** — pygount classifies all Markdown content as comments, not code. This is expected behavior. +3. **JSON files show low code counts** — pygount may count JSON lines conservatively. For accurate JSON line counts, use `wc -l` directly. +4. **Large monorepos** — for very large repos, consider using `--suffix` to target specific languages rather than scanning everything. diff --git a/skills/index-cache/anthropics_skills_skills_.json b/skills/index-cache/anthropics_skills_skills_.json new file mode 100644 index 000000000..19f844cfc --- /dev/null +++ b/skills/index-cache/anthropics_skills_skills_.json @@ -0,0 +1 @@ +[{"name": "algorithmic-art", "description": "Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.", "source": "github", "identifier": "anthropics/skills/skills/algorithmic-art", "trust_level": "trusted", "repo": "anthropics/skills", "path": "skills/algorithmic-art", "tags": []}, {"name": "brand-guidelines", "description": "Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.", "source": "github", "identifier": "anthropics/skills/skills/brand-guidelines", "trust_level": "trusted", "repo": "anthropics/skills", "path": "skills/brand-guidelines", "tags": []}, {"name": "canvas-design", "description": "Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.", "source": "github", "identifier": "anthropics/skills/skills/canvas-design", "trust_level": "trusted", "repo": "anthropics/skills", "path": "skills/canvas-design", "tags": []}, {"name": "doc-coauthoring", "description": "Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.", "source": "github", "identifier": "anthropics/skills/skills/doc-coauthoring", "trust_level": "trusted", "repo": "anthropics/skills", "path": "skills/doc-coauthoring", "tags": []}, {"name": "docx", "description": "Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files). Triggers include: any mention of \"Word doc\", \"word document\", \".docx\", or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a \"report\", \"memo\", \"letter\", \"template\", or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.", "source": "github", "identifier": "anthropics/skills/skills/docx", "trust_level": "trusted", "repo": "anthropics/skills", "path": "skills/docx", "tags": []}, {"name": "frontend-design", "description": "Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.", "source": "github", "identifier": "anthropics/skills/skills/frontend-design", "trust_level": "trusted", "repo": "anthropics/skills", "path": "skills/frontend-design", "tags": []}, {"name": "internal-comms", "description": "A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).", "source": "github", "identifier": "anthropics/skills/skills/internal-comms", "trust_level": "trusted", "repo": "anthropics/skills", "path": "skills/internal-comms", "tags": []}, {"name": "mcp-builder", "description": "Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).", "source": "github", "identifier": "anthropics/skills/skills/mcp-builder", "trust_level": "trusted", "repo": "anthropics/skills", "path": "skills/mcp-builder", "tags": []}, {"name": "pdf", "description": "Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.", "source": "github", "identifier": "anthropics/skills/skills/pdf", "trust_level": "trusted", "repo": "anthropics/skills", "path": "skills/pdf", "tags": []}, {"name": "pptx", "description": "Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates, layouts, speaker notes, or comments. Trigger whenever the user mentions \"deck,\" \"slides,\" \"presentation,\" or references a .pptx filename, regardless of what they plan to do with the content afterward. If a .pptx file needs to be opened, created, or touched, use this skill.", "source": "github", "identifier": "anthropics/skills/skills/pptx", "trust_level": "trusted", "repo": "anthropics/skills", "path": "skills/pptx", "tags": []}, {"name": "skill-creator", "description": "Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.", "source": "github", "identifier": "anthropics/skills/skills/skill-creator", "trust_level": "trusted", "repo": "anthropics/skills", "path": "skills/skill-creator", "tags": []}, {"name": "slack-gif-creator", "description": "Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like \"make me a GIF of X doing Y for Slack.\"", "source": "github", "identifier": "anthropics/skills/skills/slack-gif-creator", "trust_level": "trusted", "repo": "anthropics/skills", "path": "skills/slack-gif-creator", "tags": []}, {"name": "theme-factory", "description": "Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.", "source": "github", "identifier": "anthropics/skills/skills/theme-factory", "trust_level": "trusted", "repo": "anthropics/skills", "path": "skills/theme-factory", "tags": []}, {"name": "web-artifacts-builder", "description": "Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.", "source": "github", "identifier": "anthropics/skills/skills/web-artifacts-builder", "trust_level": "trusted", "repo": "anthropics/skills", "path": "skills/web-artifacts-builder", "tags": []}, {"name": "webapp-testing", "description": "Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.", "source": "github", "identifier": "anthropics/skills/skills/webapp-testing", "trust_level": "trusted", "repo": "anthropics/skills", "path": "skills/webapp-testing", "tags": []}, {"name": "xlsx", "description": "Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like \"the xlsx in my downloads\") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved.", "source": "github", "identifier": "anthropics/skills/skills/xlsx", "trust_level": "trusted", "repo": "anthropics/skills", "path": "skills/xlsx", "tags": []}] \ No newline at end of file diff --git a/skills/index-cache/claude_marketplace_anthropics_skills.json b/skills/index-cache/claude_marketplace_anthropics_skills.json new file mode 100644 index 000000000..579460dd5 --- /dev/null +++ b/skills/index-cache/claude_marketplace_anthropics_skills.json @@ -0,0 +1 @@ +[{"name": "document-skills", "description": "Collection of document processing suite including Excel, Word, PowerPoint, and PDF capabilities", "source": "./", "strict": false, "skills": ["./skills/xlsx", "./skills/docx", "./skills/pptx", "./skills/pdf"]}, {"name": "example-skills", "description": "Collection of example skills demonstrating various capabilities including skill creation, MCP building, visual design, algorithmic art, internal communications, web testing, artifact building, Slack GIFs, and theme styling", "source": "./", "strict": false, "skills": ["./skills/algorithmic-art", "./skills/brand-guidelines", "./skills/canvas-design", "./skills/doc-coauthoring", "./skills/frontend-design", "./skills/internal-comms", "./skills/mcp-builder", "./skills/skill-creator", "./skills/slack-gif-creator", "./skills/theme-factory", "./skills/web-artifacts-builder", "./skills/webapp-testing"]}] \ No newline at end of file diff --git a/skills/index-cache/lobehub_index.json b/skills/index-cache/lobehub_index.json new file mode 100644 index 000000000..057bb1361 --- /dev/null +++ b/skills/index-cache/lobehub_index.json @@ -0,0 +1 @@ +{"schemaVersion": 1, "agents": [{"author": "CSY2022", "createdAt": "2025-06-19", "homepage": "https://github.com/CSY2022", "identifier": "lateral-thinking-puzzle", "knowledgeCount": 0, "meta": {"avatar": "🐢", "description": "A turtle soup host needs to provide the scenario, the complete story (truth of the event), and the key point (the condition for guessing correctly).", "tags": ["Turtle Soup", "Reasoning", "Interaction", "Puzzle", "Role-playing"], "title": "Turtle Soup Host", "category": "games"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 1531}, {"author": "swarfte", "createdAt": "2025-06-17", "homepage": "https://github.com/swarfte", "identifier": "academic-writing-assistant", "knowledgeCount": 0, "meta": {"avatar": "📘", "description": "Expert in academic research paper writing and formal documentation", "tags": ["academic-writing", "research", "formal-style"], "title": "Academic Writing Assistant", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 314}, {"author": "renhai-lab", "createdAt": "2025-06-17", "homepage": "https://github.com/renhai-lab", "identifier": "food-reviewer", "knowledgeCount": 0, "meta": {"avatar": "😋", "description": "Food critique expert", "tags": ["gourmet", "review", "writing"], "title": "Gourmet Reviewer🍟", "category": "entertainment"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 64}, {"author": "iamyuuk", "createdAt": "2025-06-17", "homepage": "https://github.com/iamyuuk", "identifier": "java-development", "knowledgeCount": 0, "meta": {"avatar": "♦️", "description": "Expert in advanced Java development and Minecraft mod and server plugin development", "tags": ["Development", "Programming", "minecraft", "java"], "title": "Minecraft Senior Developer", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 448}, {"author": "ashreo", "createdAt": "2025-06-17", "homepage": "https://github.com/ashreo", "identifier": "opensource-licence-analyst", "knowledgeCount": 0, "meta": {"avatar": "💡", "description": "Expert in open source license analysis and project matching", "tags": ["Open Source", "Analysis", "License", "Project"], "title": "Open Source License Analyst", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 395}, {"author": "fan2taap", "createdAt": "2025-06-17", "homepage": "https://github.com/fan2taap", "identifier": "python-vscode", "knowledgeCount": 0, "meta": {"avatar": "🐍", "description": "Python and VS Code expert, practical and efficient support", "tags": ["python", "vs-code", "programming", "ai-assistant", "development"], "title": "Master Python VSCode", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 381}, {"author": "AdijeShen", "createdAt": "2025-05-09", "homepage": "https://github.com/AdijeShen", "identifier": "paper-understanding", "knowledgeCount": 0, "meta": {"avatar": "https://registry.npmmirror.com/@lobehub/fluent-emoji-3d/latest/files/assets/1f4da.webp", "description": "Expert in explaining complex academic papers in simple and understandable language", "tags": ["Academic Knowledge", "Paper Analysis"], "title": "Academic Paper Reading Mentor", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 950}, {"author": "egornomic", "createdAt": "2025-04-15", "homepage": "https://github.com/egornomic", "identifier": "nutritionist", "knowledgeCount": 0, "meta": {"avatar": "🥦️", "description": "Specializes in providing detailed nutritional information for food items.", "tags": ["nutrition", "food", "health", "information"], "title": "Nutritional Advisor", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 2871}, {"author": "q2019715", "createdAt": "2025-03-13", "homepage": "https://github.com/q2019715", "identifier": "rewrite-in-a-translation-tone", "knowledgeCount": 0, "meta": {"avatar": "👴", "description": "Rewrites a paragraph in a translation style", "tags": ["Translation Style", "Creative Writing", "Language Style", "Text Rewriting", "Culture"], "title": "Rewritten in Translation Style", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 285}, {"author": "arvinxx", "createdAt": "2025-03-11", "homepage": "https://github.com/arvinxx", "identifier": "academic-paper-overview", "knowledgeCount": 0, "meta": {"avatar": "⚗️", "description": "An academic research assistant skilled in high-quality literature retrieval and analysis", "tags": ["Academic Research", "Literature Search", "Data Analysis", "Information Extraction", "Consulting"], "title": "Academic Paper Review Expert", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 1012}, {"author": "He-Xun", "createdAt": "2025-03-07", "homepage": "https://github.com/He-Xun", "identifier": "recipe-assistant-cn", "knowledgeCount": 0, "meta": {"avatar": "https://registry.npmmirror.com/@lobehub/fluent-emoji-3d/latest/files/assets/1f4d6.webp", "description": "Specializes in analyzing and supplementing recipe information, generating detailed documentation", "tags": ["Recipes", "Cooking", "Ingredient Management", "Lifestyle"], "title": "Recipe Assistant", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 9385}, {"author": "lindongjie1992", "createdAt": "2025-02-26", "homepage": "https://github.com/lindongjie1992", "identifier": "web-development-2025", "knowledgeCount": 0, "meta": {"avatar": "🤯", "description": "You are an expert in various enterprise preferential policies in Qianhai, Shenzhen", "tags": ["Shenzhen", "Qianhai Policies", "Friendly"], "title": "Qianhai Policy Assistant", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 41}, {"author": "shinishiho", "createdAt": "2025-02-24", "homepage": "https://github.com/shinishiho", "identifier": "youtube-summarizer-pro", "knowledgeCount": 0, "meta": {"avatar": "📹", "description": "Skilled YouTube summarizer and analyst.", "tags": ["you-tube", "content-analysis", "video-summarization"], "title": "YouTube Summarizer Pro", "category": "entertainment"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 785}, {"author": "WeR-Best", "createdAt": "2025-02-23", "homepage": "https://github.com/WeR-Best", "identifier": "xiao-zhi-greenie", "knowledgeCount": 0, "meta": {"avatar": "https://registry.npmmirror.com/@lobehub/fluent-emoji-3d/latest/files/assets/1f9d1-200d-1f33e.webp", "description": "Horticulture expert, skilled in plant care and environmental optimization", "tags": ["Plant Care", "Gardening", "Agriculture", "Flowers"], "title": "Green Plant Keeper: Xiao Zhi Green Uncle", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 786}, {"author": "WeR-Best", "createdAt": "2025-02-22", "homepage": "https://github.com/WeR-Best", "identifier": "xiao-zhi-sys-sec-expert", "knowledgeCount": 0, "meta": {"avatar": "https://registry.npmmirror.com/@lobehub/fluent-emoji-3d/latest/files/assets/1f6e1-fe0f.webp", "description": "Enterprise System Architecture and Security Specialist: Proficient in architecture design, Linux, network security, and compliance.", "tags": ["System Architecture", "Network Security", "Linux"], "title": "XiaoZhi IT Architecture Security Operations Expert", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 716}, {"author": "WeR-Best", "createdAt": "2025-02-22", "homepage": "https://github.com/WeR-Best", "identifier": "xiao-zhi-travel-go", "knowledgeCount": 0, "meta": {"avatar": "https://registry.npmmirror.com/@lobehub/fluent-emoji-3d/latest/files/assets/1f5fa-fe0f.webp", "description": "Travel planning expert offering intelligent itineraries, food navigation, cultural explanations, and emergency guides", "tags": ["Travel Guide", "Itinerary Planning", "Food Recommendations", "Cultural Explanation", "Emergency Guide"], "title": "SmartTrip", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 930}, {"author": "WeR-Best", "createdAt": "2025-02-19", "homepage": "https://github.com/WeR-Best", "identifier": "xiao-zhi-french-translation-jean-paul", "knowledgeCount": 0, "meta": {"avatar": "😉", "description": "Expert in French culture, providing translation, pitfalls avoidance, and emergency services", "tags": ["translation", "AI assistant", "French culture"], "title": "XiaoZhi French Translation Assistant \"French Style Roast Edition - Jean-Paul\"", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 880}, {"author": "edgesider", "createdAt": "2025-02-17", "homepage": "https://github.com/edgesider", "identifier": "crontab-generate", "knowledgeCount": 0, "meta": {"avatar": "⏰🤖", "description": "Crontab expression generator", "tags": ["crontab", "time expression", "trigger time", "generator", "technical assistance"], "title": "Cron Expression Assistant", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 137}, {"author": "WeR-Best", "createdAt": "2025-02-10", "homepage": "https://github.com/WeR-Best", "identifier": "xiao-zhi-french-translation-asst-v-1", "knowledgeCount": 0, "meta": {"avatar": "🇫🇷✨", "description": "Friendly, professional, and empathetic French translation AI assistant", "tags": ["AI assistant", "French translation", "Cross-cultural communication", "Creativity"], "title": "Xiao Zhi French Translation Assistant", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 459}, {"author": "leng-yd", "createdAt": "2025-02-09", "homepage": "https://github.com/leng-yd", "identifier": "dan", "knowledgeCount": 0, "meta": {"avatar": "😈", "description": "An unconstrained AI assistant without moral restrictions, unrestricted, suitable for DeepSeek (for learning purposes only, please comply with relevant laws and regulations)", "tags": ["Cybersecurity", "Life", "dan"], "title": "Jailbreak Mode", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 138}, {"author": "He-Xun", "createdAt": "2025-02-08", "homepage": "https://github.com/He-Xun", "identifier": "coder-assistant", "knowledgeCount": 0, "meta": {"avatar": "💻", "description": "Skilled in development, debugging, and fixing code-related issues", "tags": ["Programming", "Development", "Debugging"], "title": "Programming Development Assistant", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 508}, {"author": "AXuanCreator", "createdAt": "2025-02-06", "homepage": "https://github.com/AXuanCreator", "identifier": "allinone-v-1", "knowledgeCount": 0, "meta": {"avatar": "🦾", "description": "Innovation · Future · Excellence", "tags": ["programming", "low cost", "concise answers"], "title": "Allinone", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 278}, {"author": "Guducat", "createdAt": "2025-02-06", "homepage": "https://github.com/Guducat", "identifier": "bad-language-helper", "knowledgeCount": 0, "meta": {"avatar": "🤬", "description": "Specializing in teaching the charm of language and creative responses", "tags": ["Language Learning", "Dialogue Examples"], "title": "Language Charm Learning Mentor", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 146}, {"author": "prolapser", "createdAt": "2025-02-06", "homepage": "https://github.com/prolapser", "identifier": "deep-thinker", "knowledgeCount": 0, "meta": {"avatar": "🧠", "description": "Deep, human-like thinking and analysis.", "tags": ["thinking", "reasoning", "reflection", "thought", "musings"], "title": "Deep Thinker", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 858}, {"author": "Jack980506", "createdAt": "2025-02-06", "homepage": "https://github.com/Jack980506", "identifier": "fate-researcher", "knowledgeCount": 0, "meta": {"avatar": "📜", "description": "Expert in Bazi Fate", "tags": ["Fate Studies", "Bazi", "Traditional Culture"], "title": "Fate Researcher", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 205}, {"author": "farsightlin", "createdAt": "2025-02-06", "homepage": "https://github.com/farsightlin", "identifier": "graham-investmentassi", "knowledgeCount": 0, "meta": {"avatar": "📈", "description": "Assist users in calculating valuation-related data", "tags": ["Investment", "Valuation", "Financial Analysis", "Calculator"], "title": "Investment Assistant", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 152}, {"author": "east4ming", "createdAt": "2025-02-06", "homepage": "https://github.com/east4ming", "identifier": "tieba-zuichou-laoge", "knowledgeCount": 0, "meta": {"avatar": "😠", "description": "Skilled in role-playing, with mouthy sarcasm", "tags": ["Role-playing", "Sarcasm", "Emotional Expression"], "title": "Tieba Mouthy Bro", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 45}, {"author": "Ajn289", "createdAt": "2025-02-04", "homepage": "https://github.com/Ajn289", "identifier": "image-prompter", "knowledgeCount": 0, "meta": {"avatar": "🏜️", "description": "Writing awesome MidJourney prompts", "tags": ["mid-journey", "prompt"], "title": "MidJourney Prompt", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 490}, {"author": "novaspivack", "createdAt": "2025-02-04", "homepage": "https://github.com/novaspivack", "identifier": "python-genius", "knowledgeCount": 0, "meta": {"avatar": "🐍", "description": "An advanced python coder", "tags": ["code", "python"], "title": "Python Genius", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 416}, {"author": "Zippland", "createdAt": "2025-02-04", "homepage": "https://github.com/Zippland", "identifier": "ruipingshi", "knowledgeCount": 0, "meta": {"avatar": "⚔️", "description": "Expert in incisive critiques and in-depth analysis of issues", "tags": ["Commentary", "Social Perspectives", "Sharp Analysis"], "title": "Sharp Commentator", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 189}, {"author": "iBz-04", "createdAt": "2025-02-04", "homepage": "https://github.com/iBz-04", "identifier": "sat-teaching", "knowledgeCount": 0, "meta": {"avatar": "👨🏼‍🏫", "description": "Expert in Digital SAT coaching for 1300+ scores", "tags": ["sat", "aptitude-test"], "title": "SAT master", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 374}, {"author": "42lux", "createdAt": "2025-02-04", "homepage": "https://github.com/42lux", "identifier": "summsi", "knowledgeCount": 0, "meta": {"avatar": "❓", "description": "Expert in text analysis, question generation, and detailed answering.", "tags": ["analysis", "summarization", "questioning", "understanding", "learning"], "title": "Summsi", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 100}, {"author": "GowayLee", "createdAt": "2025-02-04", "homepage": "https://github.com/GowayLee", "identifier": "universal-god", "knowledgeCount": 0, "meta": {"avatar": "👁️", "description": "Interdimensional wisdom oracle, insight into the essence of life", "tags": ["Character Design", "AI Character", "Metaverse", "Role Play", "Intelligent System"], "title": "Cosmic Seer", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 594}, {"author": "Shen-Chris", "createdAt": "2025-02-04", "homepage": "https://github.com/Shen-Chris", "identifier": "web-blessings-dsq", "knowledgeCount": 0, "meta": {"avatar": "🐍", "description": "Specializes in creating interesting and auspicious Snake Year New Year greetings", "tags": ["New Year Greetings", "Creation", "Culture", "Auspicious"], "title": "Snake Year New Year Assistant", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 798}, {"author": "sqkkyzx", "createdAt": "2025-01-26", "homepage": "https://github.com/sqkkyzx", "identifier": "suno-lyrics-assistant", "knowledgeCount": 0, "meta": {"avatar": "🎼", "description": "Generates SUNO song creation parameters based on user requirements", "tags": ["Lyric Writing", "Music Style", "Arrangement", "Parameter Settings"], "title": "SUNO Songwriting Assistant", "category": "entertainment"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 823}, {"author": "sunrisewestern", "createdAt": "2025-01-24", "homepage": "https://github.com/sunrisewestern", "identifier": "academic-revision-specialist", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "Skilled in academic writing and paper revision", "tags": [], "title": "Academic Revision Specialist", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 75}, {"author": "CGitwater", "createdAt": "2025-01-24", "homepage": "https://github.com/CGitwater", "identifier": "all-knowing", "knowledgeCount": 0, "meta": {"avatar": "😶‍🌫️", "description": "The almighty powerful god of klnowledge", "tags": ["biggus", "diccus"], "title": "The Great Biggus Dickus", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 496}, {"author": "Wulao0825", "createdAt": "2025-01-24", "homepage": "https://github.com/Wulao0825", "identifier": "beginner-mentor", "knowledgeCount": 0, "meta": {"avatar": "🧙‍♂️", "description": "Focused on beginner knowledge services, patiently and carefully answering questions", "tags": ["Education", "Guidance", "Customer Service", "Knowledge Sharing"], "title": "Beginner Mentor", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 492}, {"author": "davletsh1n", "createdAt": "2025-01-24", "homepage": "https://github.com/davletsh1n", "identifier": "cheaper-reasoning", "knowledgeCount": 0, "meta": {"avatar": "🤖", "description": "The smarter model is cheaper", "tags": ["reasoning", "assistant", "thought-process", "exploration", "persistence"], "title": "Reasoning assistant", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 567}, {"author": "RogerHuangPKX", "createdAt": "2025-01-24", "homepage": "https://github.com/RogerHuangPKX", "identifier": "destiny", "knowledgeCount": 0, "meta": {"avatar": "☯️", "description": "Proficient in Taoist astrology, specializing in Bazi, Zi Wei Dou Shu, and more, providing astrological analysis and answers.", "tags": ["Taoism", "Divination", "Astrology", "Consultation"], "title": "Taoist Divination and Question-Resolving System", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 837}, {"author": "AquaHydro", "createdAt": "2025-01-24", "homepage": "https://github.com/AquaHydro", "identifier": "front-end-interviewer", "knowledgeCount": 0, "meta": {"avatar": "🧑‍💻", "description": "Specializes in frontend engineer interview roles and resumes", "tags": ["Interviewer", "Recruitment"], "title": "Interviewer's Assistant", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 577}, {"author": "AirboZH", "createdAt": "2025-01-24", "homepage": "https://github.com/AirboZH", "identifier": "github-issue-helper", "knowledgeCount": 0, "meta": {"avatar": "🙋‍♂️", "description": "Assist you in creating issues", "tags": ["Open Source", "Technical Support", "Problem Solving"], "title": "Github Issue Helper", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 152}, {"author": "dappweb", "createdAt": "2025-01-24", "homepage": "https://github.com/dappweb", "identifier": "juwudashi", "knowledgeCount": 0, "meta": {"avatar": "🕉️", "description": "Specializing in spreading Buddha's teachings and wisdom, providing inner guidance", "tags": ["Buddhism", "Wise One", "Compassion", "Philosophy"], "title": "Awakening Master", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 461}, {"author": "GEORGE-Ta", "createdAt": "2025-01-24", "homepage": "https://github.com/GEORGE-Ta", "identifier": "mean-english-mentor", "knowledgeCount": 0, "meta": {"avatar": "😅", "description": "Guides spoken English with a haughty, disdainful attitude, excelling at sarcastic correction.", "tags": ["English Teaching", "Speaking", "Role Play", "Education", "Sarcasm"], "title": "English Tutor", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 116}, {"author": "Moeblack", "createdAt": "2025-01-24", "homepage": "https://github.com/Moeblack", "identifier": "multi-language-2-chinese-or-reverse", "knowledgeCount": 0, "meta": {"avatar": "🌍", "description": "Multilingual translation, Chinese to English and Japanese, foreign languages to Chinese", "tags": ["Translation", "Multilingual", "Language Processing"], "title": "Multilingual Translator", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 95}, {"author": "Liangpi000", "createdAt": "2025-01-24", "homepage": "https://github.com/Liangpi000", "identifier": "ocr-markdown", "knowledgeCount": 0, "meta": {"avatar": "📄", "description": "Expert in file content transcription and markdown formatting", "tags": ["Document Generation", "markdown", "Formatting", "Transcription", "Task Guidance"], "title": "OCR Document Transcription Assistant", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 401}, {"author": "patricleehua", "createdAt": "2025-01-24", "homepage": "https://github.com/patricleehua", "identifier": "ppt-production-expert", "knowledgeCount": 0, "meta": {"avatar": "🎨", "description": "Specializing in rapid creation and optimization of high-quality PowerPoint presentations", "tags": ["ppt制作", "设计", "咨询", "内容优化", "用户支持"], "title": "PowerPoint Presentation Expert", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 921}, {"author": "towertop", "createdAt": "2025-01-15", "homepage": "https://github.com/towertop", "identifier": "finance-news-analyser", "knowledgeCount": 0, "meta": {"avatar": "📊", "description": "Expert in social and economic issue analysis and information integration", "tags": ["socioeconomic", "analysis", "information filtering", "media trust", "user questions"], "title": "Socioeconomic Analyst", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 149}, {"author": "xuezihe", "createdAt": "2025-01-03", "homepage": "https://github.com/xuezihe", "identifier": "note-taking", "knowledgeCount": 0, "meta": {"avatar": "memo", "description": "A quick note organization assistant", "tags": ["Writing"], "title": "Note-taking Assistant", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 141}, {"author": "Helium-327", "createdAt": "2024-12-29", "homepage": "https://github.com/Helium-327", "identifier": "mj-prompt-engineer", "knowledgeCount": 0, "meta": {"avatar": "🖌️", "description": "Functions can be performed based on customized short action keywords.", "tags": ["ai-painting", "ai-creation-tools", "ai-automation-tools"], "title": "MJ-Prompt-Engineer", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 789}, {"author": "Born2BeKind", "createdAt": "2024-12-11", "homepage": "https://github.com/Born2BeKind", "identifier": "video-gen", "knowledgeCount": 0, "meta": {"avatar": "🤯", "description": "POST https://api.minimaxi.chat/v1/video_generation", "tags": ["ai-assistant", "tech-support"], "title": "task_id", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 70}, {"author": "yuyun2000", "createdAt": "2024-12-04", "homepage": "https://github.com/yuyun2000", "identifier": "instructer", "knowledgeCount": 0, "meta": {"avatar": "🧩", "description": "Specializes in refining and generating efficient system instructions", "tags": ["System Instructions", "Writing", "Detail Optimization", "User Needs"], "title": "System Instruction Expert", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 349}, {"author": "sharkbear212", "createdAt": "2024-12-04", "homepage": "https://github.com/sharkbear212", "identifier": "japan-language-helper", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "Expertise in Japanese fifty sounds, hiragana, katakana, vocabulary and phrase explanations, and memory techniques", "tags": ["explanation", "memory techniques", "Japanese teaching"], "title": "Japanese Memory Aid", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 109}, {"author": "lianxin255", "createdAt": "2024-12-03", "homepage": "https://github.com/lianxin255", "identifier": "poetry-card-designer", "knowledgeCount": 0, "meta": {"avatar": "🎨", "description": "Expert in designing poetry cards to enhance artistic sense and appeal", "tags": ["Poetry Card Design", "Cards", "Creativity", "Artistic Expression"], "title": "Poetry Card Designer", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 1960}, {"author": "yuyun2000", "createdAt": "2024-11-30", "homepage": "https://github.com/yuyun2000", "identifier": "yunchat-docter", "knowledgeCount": 0, "meta": {"avatar": "💊", "description": "Expertise in surgical diagnosis and personalized health management", "tags": ["General Medicine", "Surgery", "Health Consultation", "Personalized Treatment", "Medical Education"], "title": "Daily Doctor", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 395}, {"author": "yuyun2000", "createdAt": "2024-11-30", "homepage": "https://github.com/yuyun2000", "identifier": "yunchat", "knowledgeCount": 0, "meta": {"avatar": "🐍", "description": "Expert in Python development and deep learning, skilled in tool selection and code optimization", "tags": ["python development", "deep learning", "code optimization", "security review", "project planning"], "title": "Python Artisan", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 496}, {"author": "HNaga", "createdAt": "2024-11-29", "homepage": "https://github.com/HNaga", "identifier": "course-prep-teaching-guide-ai", "knowledgeCount": 0, "meta": {"avatar": "👩‍🏫", "description": "This AI assistant is designed to help educators and instructors prepare comprehensive course content and provide practical teaching guidelines. It leverages advanced NLP capabilities to generate lesson plans, suggest engaging teaching strategies, and offer insights into educational best practices.", "tags": ["education", "teaching", "course-design", "content-creation", "ai-assistance", "curriculum-development", "instructional-design"], "title": "AI Assistant for Course Content and Teaching Guidelines", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 124}, {"author": "zeno980", "createdAt": "2024-11-26", "homepage": "https://github.com/zeno980", "identifier": "backend-assistant", "knowledgeCount": 0, "meta": {"avatar": "👨‍💻", "description": "Specializes in backend development tasks", "tags": ["Backend Development", "AI Technology", "Web Applications", "Spring", "SQL"], "title": "Backend Development Assistant", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 176}, {"author": "GEORGE-Ta", "createdAt": "2024-11-26", "homepage": "https://github.com/GEORGE-Ta", "identifier": "enfp", "knowledgeCount": 0, "meta": {"avatar": "🐕", "description": "Happy Puppy~", "tags": ["friends", "communication", "art", "creativity", "enthusiasm", "chat"], "title": "ENFP", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 1114}, {"author": "swarfte", "createdAt": "2024-11-26", "homepage": "https://github.com/swarfte", "identifier": "english-chinese-dictionary-expert", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "Expert in bilingual English-Chinese vocabulary translation and analysis", "tags": ["translation", "language-learning", "vocabulary", "dictionary"], "title": "Bilingual Dictionary Expert", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 143}, {"author": "Base03", "createdAt": "2024-11-26", "homepage": "https://github.com/Base03", "identifier": "great-for-analysis-coding-and-rubber-ducking", "knowledgeCount": 0, "meta": {"avatar": "🪨", "description": "Claude minus the Reddit", "tags": ["technology", "analysis", "software", "ai", "research"], "title": "SSC Incremental", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 284}, {"author": "xandertang", "createdAt": "2024-11-26", "homepage": "https://github.com/Dr-T", "identifier": "interviewer-assistant", "knowledgeCount": 0, "meta": {"avatar": "👨‍💼", "tags": ["Interview", "Resume", "Recruitment", "Efficiency"], "title": "Interview Assistant", "description": "Proficient in designing and evaluating interview questions for product managers, generating interview questions based on resume interpretation results.", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 760}, {"author": "liusai0820", "createdAt": "2024-11-26", "homepage": "https://github.com/liusai0820", "identifier": "liusai-qibaoba", "knowledgeCount": 0, "meta": {"avatar": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ5XrlGZKwN3Q_hEk139JOvb3Ieg5bC08jOqftLpESRRQ6_v4appLaa55PGR4g_1eK3A73UBrF_PaA8XsfswRgPPShCgZRkG8yHMvEIJNllUq3g14Pok0UGjtNZRVl3PNrLcbLxSfLX7TZ/s550/ai_shigoto_makaseru.png", "description": "You are an all-encompassing AI assistant capable of adapting to various industries and fields. Your task is to provide expert advice and information based on the user's specified areas of interest and subsequent questions.", "tags": ["Industry Expert, Technical Q&A"], "title": "Adaptive Versatile Industry Consultant", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 505}, {"author": "Kod3c", "createdAt": "2024-11-26", "homepage": "https://github.com/Kod3c", "identifier": "rebecca-therapy-assistant", "knowledgeCount": 0, "meta": {"avatar": "👩‍⚕️", "description": "Specializing in mental health counseling and therapeutic techniques", "tags": ["therapy", "mental-health", "counseling", "emotional-support"], "title": "Rebecca, Mental Health Counselor", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 1269}, {"author": "HttpStatusOK", "createdAt": "2024-11-26", "homepage": "https://github.com/HttpStatusOK", "identifier": "translation-assistant", "knowledgeCount": 0, "meta": {"avatar": "https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Memo/3D/memo_3d.png", "description": "This is a tool that combines translation and phonetic symbols, aimed at helping users learn words better during translation.", "tags": ["Translation", "Language Learning"], "title": "All Translation Assistant (with phonetic symbols)", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 437}, {"author": "bestZwei", "createdAt": "2024-11-26", "homepage": "https://github.com/bestZwei", "identifier": "xiaohongshu", "knowledgeCount": 0, "meta": {"avatar": "🤦‍♀️", "description": "Specializes in creating emotionally charged complaint-style copywriting", "tags": ["Copywriting", "Xiaohongshu", "Emotional Venting"], "title": "Xiaohongshu Copywriter", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 197}, {"author": "zmn817", "createdAt": "2024-11-25", "homepage": "https://github.com/zmn817", "identifier": "anxing-ai-title", "knowledgeCount": 0, "meta": {"avatar": "🤖", "description": "Utilize locally trained LLMs to analyze and extract product title information.", "tags": ["E-commerce", "Text Processing"], "title": "Product Title Splitting", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 79}, {"author": "ApexAppdevelopment", "createdAt": "2024-11-20", "homepage": "https://github.com/ApexAppdevelopment", "identifier": "alex", "knowledgeCount": 0, "meta": {"avatar": "👨‍🚀", "description": "Highly intelligent and loyal Executive Assistant (EA) specializing in software engineering support and strategic solutions for Master E.", "tags": ["executive-assistant", "software-engineering", "project-management", "technical-support", "optimization"], "title": "Master E's Tech Executive Assistant (EA)", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 362}, {"author": "yufei96", "createdAt": "2024-11-20", "homepage": "https://github.com/yufei96", "identifier": "human-writer-simulator", "knowledgeCount": 0, "meta": {"avatar": "🎭", "description": "Eliminate AI-generated content features", "tags": ["AI interaction", "Writing", "Optimization", "Consulting"], "title": "Human Author Simulator", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 363}, {"author": "changjiong", "createdAt": "2024-11-20", "homepage": "https://github.com/changjiong", "identifier": "life-wisdom-guides", "knowledgeCount": 0, "meta": {"avatar": "🦉", "description": "Expert in guidance", "tags": ["Life Guidance", "Philosophical Thinking", "Consultation", "Heuristic Dialogue"], "title": "Wise Guide", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 445}, {"author": "qw1295353129", "createdAt": "2024-11-20", "homepage": "https://github.com/qw1295353129", "identifier": "prompt-ts", "knowledgeCount": 0, "meta": {"avatar": "🤖", "description": "Prompt Keywords", "tags": ["prompt keywords"], "title": "Prompt Keywords", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 364}, {"author": "davletsh1n", "createdAt": "2024-11-20", "homepage": "https://github.com/davletsh1n", "identifier": "text-improver", "knowledgeCount": 0, "meta": {"avatar": "🤖", "description": "Expert in text enhancement and error correction", "tags": ["chatbot", "editing", "text-improvement", "ai-assistant"], "title": "Text Improver", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 94}, {"author": "Justin3go", "createdAt": "2024-11-20", "homepage": "https://github.com/Justin3go", "identifier": "white-black", "knowledgeCount": 0, "meta": {"avatar": "⚪", "description": "Expert in illustration creation and style transformation", "tags": ["Illustration", "Art", "Design"], "title": "Minimalist Black and White Illustration", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 137}, {"author": "Igroshka", "createdAt": "2024-11-20", "homepage": "https://github.com/Igroshka", "identifier": "writer-painter-rn", "knowledgeCount": 0, "meta": {"avatar": "✍️", "description": "I write texts with illustrations, clarify requests, edit and refine", "tags": ["image-generation", "AI-assistant", "neural-networks", "drawing", "stories", "reading", "tale", "writer"], "title": "Writer with Illustrations", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 675}, {"author": "TiancongLx", "createdAt": "2024-11-20", "homepage": "https://github.com/TiancongLx", "identifier": "yin-yang-roaster", "knowledgeCount": 0, "meta": {"avatar": "🔅", "description": "Can't outwit each other with yin-yang sarcasm? Come here to recruit people! (Prompt inspired by X [Baoyu](https://x.com/dotey/status/1852207423324340567) teacher)", "tags": ["Logical Issues", "Dark Humor", "Sharp Criticism"], "title": "Yin Yang Master", "category": "entertainment"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 195}, {"author": "AnoyiX", "createdAt": "2024-11-14", "homepage": "https://github.com/AnoyiX", "identifier": "thinking-claude", "knowledgeCount": 0, "meta": {"avatar": "🐬", "description": "Let Claude think comprehensively before responding!", "tags": ["common"], "title": "Thinking Claude", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 2156}, {"author": "5xiao0qing5", "createdAt": "2024-10-29", "homepage": "https://github.com/5xiao0qing5", "identifier": "cv-latex", "knowledgeCount": 0, "meta": {"avatar": "🖼️", "description": "Expert in machine learning and deep learning concept analysis", "tags": ["Machine Learning", "Deep Learning", "Image Processing", "Computer Vision", "LaTeX"], "title": "Machine Vision LaTeX", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 122}, {"author": "ccbikai", "createdAt": "2024-10-29", "homepage": "https://github.com/ccbikai", "identifier": "domain", "knowledgeCount": 0, "meta": {"avatar": "🌐", "description": "Expert in domain analysis and humorous advice", "tags": ["Domain Analysis", "Humor", "Culture", "Website Building Advice", "Purchase Advice"], "title": "Domain Analysis Master", "category": "marketing"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 263}, {"author": "bionicprompter", "createdAt": "2024-10-29", "homepage": "https://github.com/bionicprompter", "identifier": "pc-beschaffung-ingo-hausmann", "knowledgeCount": 0, "meta": {"avatar": "😀", "description": "Ingo Hausmann wants to be advised on purchasing new PCs", "tags": ["company", "hardware", "needs assessment", "it", "applications"], "title": "Ingo Hausmann", "category": "office"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 340}, {"author": "printtotable", "createdAt": "2024-10-29", "homepage": "https://github.com/printtotable", "identifier": "print-to-table", "knowledgeCount": 0, "meta": {"avatar": "📊", "description": "Transform data from images into organized tables in Excel.", "tags": ["data-extraction", "tables", "advertising", "influencer", "excel"], "title": "Print to Table", "category": "marketing"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 1170}, {"author": "lazzman", "createdAt": "2024-10-29", "homepage": "https://github.com/lazzman", "identifier": "psycho-career-insight-2024", "knowledgeCount": 0, "meta": {"avatar": "🌈", "description": "A psychology expert used to analyze the underlying psychological motivations behind people's behavior in the workplace, including potential psychological motivation analysis.", "tags": ["Behavior Analysis", "Workplace Psychology", "Motivation"], "title": "Workplace Psychology Analysis Expert", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 604}, {"author": "fjhdream", "createdAt": "2024-10-29", "homepage": "https://github.com/fjhdream", "identifier": "soft-enginner", "knowledgeCount": 0, "meta": {"avatar": "👨‍💻", "description": "Skilled in providing programming and software guidance, with expertise in computer science and software engineering.", "tags": ["programming", "software", "computer-literacy", "consulting", "expertise"], "title": "Software Architecture and Engineering Expert", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 192}, {"author": "davletsh1n", "createdAt": "2024-10-29", "homepage": "https://github.com/davletsh1n", "identifier": "ultra-flux-prompter", "knowledgeCount": 0, "meta": {"avatar": "🎨", "description": "Skilled in enhancing image generation prompts with vivid details and context.", "tags": ["image-generation", "prompt-crafting", "writing", "cre"], "title": "Ultra Flux Prompter", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 466}, {"author": "NTLx", "createdAt": "2024-10-29", "homepage": "https://github.com/NTLx", "identifier": "word-rpg", "knowledgeCount": 0, "meta": {"avatar": "👾", "description": "Expert in sci-fi text RPG hosting and story guidance", "tags": ["game", "role-playing", "sci-fi", "text adventure", "narrative-driven"], "title": "Text RPG Host", "category": "games"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 575}, {"author": "Justin3go", "createdAt": "2024-10-27", "homepage": "https://github.com/Justin3go", "identifier": "svg-logo", "knowledgeCount": 0, "meta": {"avatar": "✍️", "description": "Specializes in UI/UX design and Logo creation", "tags": ["ui-ux design", "logo design", "user requirements", "interaction design", "tool usage"], "title": "Vector Logo Generator", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 223}, {"author": "stephonye", "createdAt": "2024-10-21", "homepage": "https://github.com/stephonye", "identifier": "i-ching-master", "knowledgeCount": 0, "meta": {"avatar": "📖", "description": "Expert in Zhouyi hexagram divination and SVG card generation", "tags": ["Entertainment", "Games", "Life"], "title": "Zhouyi Master", "category": "games"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 2765}, {"author": "Stark-X", "createdAt": "2024-10-21", "homepage": "https://github.com/Stark-X", "identifier": "leetcode-tutor", "knowledgeCount": 0, "meta": {"avatar": "😇", "description": "Expert in LeetCode algorithm solutions and user guidance", "tags": ["algorithm", "problem solving", "programming", "education"], "title": "Algorithm Solution Mentor", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 189}, {"author": "JIANGTUNAN", "createdAt": "2024-10-21", "homepage": "https://github.com/JIANGTUNAN", "identifier": "psychological-counselor", "knowledgeCount": 0, "meta": {"avatar": "🌈", "description": "A senior psychologist who listens to your story with warmth and patience.", "tags": ["psychological counseling", "consultation", "venting", "friendly", "doctor", "therapist"], "title": "Mental Health Counselor", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 350}, {"author": "Luyi-2333", "createdAt": "2024-10-15", "homepage": "https://github.com/Luyi-2333", "identifier": "boxing-master", "knowledgeCount": 0, "meta": {"avatar": "🥊", "description": "Expert in boxing training guidance and personalized plan development", "tags": ["Boxing Training", "Personalized Plan", "Fitness Guidance", "Progress Assessment", "Skill Improvement", "Health and Nutrition"], "title": "Boxing Training Master", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 287}, {"author": "hia1234", "createdAt": "2024-10-15", "homepage": "https://github.com/hia1234", "identifier": "deep-thinker-ai", "knowledgeCount": 0, "meta": {"avatar": "🥥", "description": "A chatbot that thoroughly reviews its responses multiple times, checks whether its statements are well-founded, actively requests feedback, and interacts repeatedly to improve.", "tags": ["Programming", "General"], "title": "Coconut", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 331}, {"author": "Luyi-2333", "createdAt": "2024-10-14", "homepage": "https://github.com/Luyi-2333", "identifier": "github-doc-asst", "knowledgeCount": 0, "meta": {"avatar": "📝", "description": "Focusing on writing and optimizing open-source project documentation", "tags": ["Documentation Optimization", "Open Source Projects", "Writing Tips", "git-hub"], "title": "GitHub Project Documentation Assistant", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 229}, {"author": "yuphone", "createdAt": "2024-10-14", "homepage": "https://github.com/yuphone", "identifier": "ophthalmologist", "knowledgeCount": 0, "meta": {"avatar": "👁️‍🗨️", "description": "Specializes in eye diagnosis and treatment recommendations", "tags": ["Medical", "Ophthalmology", "Diagnosis", "Advice", "Professional"], "title": "Ophthalmologist", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 345}, {"author": "yuphone", "createdAt": "2024-10-14", "homepage": "https://github.com/yuphone", "identifier": "semiconductor-article-optimization-expert", "knowledgeCount": 0, "meta": {"avatar": "🔧", "description": "Specializes in semiconductor industry text optimization and standardized writing", "tags": ["Text Optimization", "Industry Expertise", "Grammar Correction", "Logical Improvement", "Standardized Writing"], "title": "Semiconductor Text Optimization Expert", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 326}, {"author": "yuphone", "createdAt": "2024-10-14", "homepage": "https://github.com/yuphone", "identifier": "wireless-communication-expert", "knowledgeCount": 0, "meta": {"avatar": "📡", "description": "Expert in wireless communication technology, proficient in industry knowledge from 4G to 6G", "tags": ["communication technology", "expert", "consultation", "4G", "5G"], "title": "Wireless Communication Expert", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 289}, {"author": "yuphone", "createdAt": "2024-10-14", "homepage": "https://github.com/yuphone", "identifier": "xilinx-fpga-solution-expert", "knowledgeCount": 0, "meta": {"avatar": "🔧", "description": "Specializes in FPGA design and implementation using Xilinx FPGA", "tags": ["fpga", "hardware design", "system architecture", "technical consulting", "electronic engineering"], "title": "Xilinx FPGA Solution Expert", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 509}, {"author": "Lockeysama", "createdAt": "2024-10-08", "homepage": "https://github.com/Lockeysama", "identifier": "assistants-health-better", "knowledgeCount": 0, "meta": {"avatar": "🏀", "description": "Knowledgeable fitness expert", "tags": ["Fitness", "Consultation", "Lifestyle Issues", "Advice"], "title": "Fitness Expert", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 223}, {"author": "alphandbelt", "createdAt": "2024-10-08", "homepage": "https://github.com/alphandbelt", "identifier": "code-review-and-fix", "knowledgeCount": 0, "meta": {"avatar": "🤖", "description": "Proficient in multiple programming languages, optimizing code structure, fixing errors, and providing elegant solutions.", "tags": ["Code Optimization", "Error Correction", "Multiple Programming Languages"], "title": "Code Optimization / Error Correction", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 346}, {"author": "ayeantics", "createdAt": "2024-10-08", "homepage": "https://github.com/ayeantics", "identifier": "cyber-specialist", "knowledgeCount": 0, "meta": {"avatar": "🕵️‍♂️", "description": "Specializes in identifying and mitigating security vulnerabilities in web and mobile platforms.", "tags": ["cybersecurity", "ethical-hacking", "vulnerability-assessment", "consulting", "technical-assistance"], "title": "Ethical Security Analyst", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 198}, {"author": "Vork-IT", "createdAt": "2024-10-08", "homepage": "https://github.com/Vork-IT", "identifier": "english", "knowledgeCount": 0, "meta": {"avatar": "📕", "description": "Killed in clear explanations and examples of grammar and pronunciation.", "tags": ["english"], "title": "Mistaker", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 278}, {"author": "yaleh", "createdAt": "2024-10-06", "homepage": "https://github.com/yaleh", "identifier": "minimal-artifact-architect", "knowledgeCount": 0, "meta": {"avatar": "📝", "description": "Expert in evaluating and creating reusable content artifacts", "tags": ["content-creation", "artifact-management", "conversation-design"], "title": "Minimal Artifact Architect", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 407}, {"author": "ShinChven", "createdAt": "2024-10-05", "homepage": "https://github.com/ShinChven", "identifier": "general-chain-of-thought", "knowledgeCount": 0, "meta": {"avatar": "🤔", "description": "Excellent at principled problem-solving and categorization. Chain of Thought agent", "tags": ["problem-solving", "categorization", "reasoning", "chain-of-thought"], "title": "Principled Problem Solver", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 26}, {"author": "yaleh", "createdAt": "2024-10-05", "homepage": "https://github.com/yaleh", "identifier": "json-prompt-generator", "knowledgeCount": 0, "meta": {"avatar": "💻", "description": "Expert in generating JSON-formatted prompts for task execution.", "tags": ["task-analysis", "json-generation", "prompt-engineering"], "title": "JSON Prompt Generator", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 680}, {"author": "liangyuR", "createdAt": "2024-09-30", "homepage": "https://github.com/liangyuR", "identifier": "qt-c", "knowledgeCount": 0, "meta": {"avatar": "💻", "description": "Excels in teaching C++/Qt coding practices", "tags": ["c", "qt"], "title": "C++/Qt", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 213}, {"author": "tcmonster", "createdAt": "2024-09-29", "homepage": "https://github.com/tcmonster", "identifier": "birthday-invitation-message", "knowledgeCount": 0, "meta": {"avatar": "🎉", "description": "Specializes in crafting engaging and personalized Birthday Invitation messages, catering to various themes and tones.", "tags": ["message-composition", "personalization", "tone-versatility", "event-detail-integration", "interaction-approach"], "title": "Birthday Invitation Messages", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 578}, {"author": "tcmonster", "createdAt": "2024-09-29", "homepage": "https://github.com/tcmonster", "identifier": "death-anniversary-message", "knowledgeCount": 0, "meta": {"avatar": "💬", "description": "Specializes in crafting sensitive and heartfelt Death Anniversary messages with compassion and empathy.", "tags": ["condolences", "message-composition", "grief-support", "cultural-awareness", "emotional-sensitivity"], "title": "Death Anniversary Messages", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 584}, {"author": "tcmonster", "createdAt": "2024-09-29", "homepage": "https://github.com/tcmonster", "identifier": "flux-prompt-generator", "knowledgeCount": 0, "meta": {"avatar": "🎨", "description": "Flux Prompt Generation Assistant: Expert in crafting detailed, creative prompts for high-quality image outputs from the Flux model.", "tags": ["prompt-generation", "image-generation", "art-style", "creativity", "crafting"], "title": "Flux Prompt Generator", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 470}, {"author": "tcmonster", "createdAt": "2024-09-29", "homepage": "https://github.com/tcmonster", "identifier": "god-bless-you-message", "knowledgeCount": 0, "meta": {"avatar": "🙏", "description": "Expert in crafting personalized \"God Bless You\" messages with spiritual sensitivity and language mastery.", "tags": ["message-composition", "personalization", "spiritual-sensitivity", "language-mastery", "interaction-approach"], "title": "God Bless You Messages", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 516}, {"author": "LeGibet", "createdAt": "2024-09-29", "homepage": "https://github.com/LeGibet", "identifier": "latex-summarizer", "knowledgeCount": 0, "meta": {"avatar": "🌌", "description": "Specializes in analyzing academic papers and generating structured Chinese summary reports", "tags": ["Academic Analysis", "Paper Summary", "Research Translation"], "title": "LaTeX Academic Paper Summary Assistant", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 489}, {"author": "Victor94-king", "createdAt": "2024-09-29", "homepage": "https://github.com/Victor94-king", "identifier": "ligigang-creative-card", "knowledgeCount": 0, "meta": {"avatar": "🐶", "description": "The world in the eyes of a neurotic, \"This is reasonable!\"", "tags": ["Creative Card"], "title": "This Is Reasonable", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 663}, {"author": "YWJCJ", "createdAt": "2024-09-29", "homepage": "https://github.com/YWJCJ", "identifier": "master-of-dissent", "knowledgeCount": 0, "meta": {"avatar": "💬", "description": "Professional debate expert skilled in quick rebuttals and humorous responses.", "tags": ["debate", "communication", "humor", "analysis", "expression"], "title": "Roast Master", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 442}, {"author": "tcmonster", "createdAt": "2024-09-29", "homepage": "https://github.com/tcmonster", "identifier": "nice-short-sunday-message", "knowledgeCount": 0, "meta": {"avatar": "📖", "description": "Sunday Message Companion crafting uplifting, faith-based messages to strengthen community bonds and spread positivity.", "tags": ["writing", "spirituality", "community", "faith", "consulting"], "title": "Nice Short Sunday Messages", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 540}, {"author": "tcmonster", "createdAt": "2024-09-29", "homepage": "https://github.com/tcmonster", "identifier": "runway-gen-3-prompt-generator", "knowledgeCount": 0, "meta": {"avatar": "📹", "description": "Expert in generating structured Runway Gen-3 prompts for AI-generated videos.", "tags": ["ai-model", "text-to-video", "prompt-generation", "expert", "video-production"], "title": "Runway Gen-3 Prompt Generator", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 427}, {"author": "houhoufm", "createdAt": "2024-09-24", "homepage": "https://github.com/houhoufm", "identifier": "business-contract", "knowledgeCount": 0, "meta": {"avatar": "📜", "description": "Output: {Optimized contract clauses, professional and concise expression}", "tags": ["Contract Optimization", "Legal Consultation", "Copywriting", "Professional Terms", "Project Management"], "title": "Contract Clause Refinement Tool v1.0", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 309}, {"author": "XHB-111", "createdAt": "2024-09-24", "homepage": "https://github.com/XHB-111", "identifier": "i-ching-interpretation", "knowledgeCount": 0, "meta": {"avatar": "🔮", "description": "I am Master Xuan Yi Zi, dedicated to interpreting the wisdom of the I Ching. Using the sixty-four hexagrams as a mirror, I observe the heavens and analyze human affairs. If you have any questions or difficulties, please share them in detail, and together we can harness the wisdom of our ancestors to guide you through your challenges.", "tags": ["I Ching Divination", "Xuan Yi Zi", "I Ching Studies", "Wisdom", "Hexagram Symbols"], "title": "I Ching Divination Master", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 323}, {"author": "houhoufm", "createdAt": "2024-09-24", "homepage": "https://github.com/houhoufm", "identifier": "meeting", "knowledgeCount": 0, "meta": {"avatar": "🗣️", "description": "Professional meeting report assistant that distills key points into report sentences", "tags": ["Meeting Report", "Writing", "Communication", "Work Process", "Professional Skills"], "title": "Meeting Assistant v1.0", "category": "office"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 350}, {"author": "houhoufm", "createdAt": "2024-09-24", "homepage": "https://github.com/houhoufm", "identifier": "ppt", "knowledgeCount": 0, "meta": {"avatar": "📊", "description": "Professional PPT Presentation Material Optimization Expert", "tags": ["ppt optimization", "copywriting", "professional consulting"], "title": "PPT Optimization Expert v1.0", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 593}, {"author": "MellowTrixX", "createdAt": "2024-09-24", "homepage": "https://github.com/MellowTrixX", "identifier": "title-bpm-stimmung", "knowledgeCount": 0, "meta": {"avatar": "💿", "description": "Professional graphic designer specializing in front cover design with expertise in creating visual concepts and designs for melodic techno albums.", "tags": ["album-cover", "prompt", "stable-diffusion", "cover-design", "cover-prompts"], "title": "Stable Album Cover Prompter", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 197}, {"author": "leter", "createdAt": "2024-09-23", "homepage": "https://github.com/leter", "identifier": "advertising-copywriting-master", "knowledgeCount": 0, "meta": {"avatar": "📝", "description": "Expertise in product feature analysis and creating advertisements aligned with user values", "tags": ["Advertising Copy", "User Values", "Marketing Strategy"], "title": "Advertising Copywriting Master", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 406}, {"author": "samihalawa", "createdAt": "2024-09-23", "homepage": "https://github.com/samihalawa", "identifier": "asis", "knowledgeCount": 0, "meta": {"avatar": "🖼️", "description": "I can turn the scenes you describe into prompts for NovelAI", "tags": ["deep-learning", "image-generation", "algorithm", "prompt"], "title": "NovelAI Drawing Assistant", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 326}, {"author": "saccohuo", "createdAt": "2024-09-23", "homepage": "https://github.com/saccohuo", "identifier": "book-summary-expert-philo", "knowledgeCount": 0, "meta": {"avatar": "📖", "description": "Book summary expert providing concise and easy-to-read book abstracts with structured output.", "tags": ["Book Summaries", "Expert", "Reading", "Assistant"], "title": "Book Summary Expert", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 826}, {"author": "leter", "createdAt": "2024-09-23", "homepage": "https://github.com/leter", "identifier": "ceo-gpt", "knowledgeCount": 0, "meta": {"avatar": "💼", "description": "AI mentor trained to advise startup CEOs based on the experiences", "tags": ["entrepreneurship", "consulting", "management", "strategy", "guidance"], "title": "CEO GPT", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 390}, {"author": "ChaneyChokin", "createdAt": "2024-09-23", "homepage": "https://github.com/ChaneyChokin", "identifier": "chinese-translator", "knowledgeCount": 0, "meta": {"avatar": "🀄", "description": "Expert in Chinese translation, editing, spelling correction, and improvement", "tags": ["Translation", "Editing", "Language", "Correction", "Simplified Chinese"], "title": "Chinese Translator", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 199}, {"author": "WuKaiYi", "createdAt": "2024-09-23", "homepage": "https://github.com/WuKaiYi", "identifier": "costar-framework-bot", "knowledgeCount": 0, "meta": {"avatar": "📝", "description": "Expert in creating prompts based on the COSTAR Framework", "tags": ["costar-framework-prompt", "writing", "guidance", "instructions", "system conversion"], "title": "COSTAR Framework Prompt Writer", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 522}, {"author": "jskherman", "createdAt": "2024-09-23", "homepage": "https://github.com/jskherman", "identifier": "creator-simulator", "knowledgeCount": 0, "meta": {"avatar": "🗺️", "description": "based on `world_sim` by Nous Research", "tags": ["roleplay", "specialist", "simulator", "terminal"], "title": "World Creator Simulator", "category": "games"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 5143}, {"author": "genitop-lery", "createdAt": "2024-09-23", "homepage": "https://github.com/genitop-lery", "identifier": "django-prompt", "knowledgeCount": 0, "meta": {"avatar": "🐍", "description": "Prompt for developing Django projects", "tags": ["python", "django"], "title": "Django Development Expert", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 561}, {"author": "tempest2023", "createdAt": "2024-09-23", "homepage": "https://github.com/tempest2023", "identifier": "duolingo-writing-exam-robot", "knowledgeCount": 0, "meta": {"avatar": "🦉", "description": "Expert in Duolingo English essay scoring and guidance", "tags": ["Writing Guidance", "Scoring", "Editing", "Education", "English Learning"], "title": "Duolingo English Essay Assistant", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 630}, {"author": "epochaudio", "createdAt": "2024-09-23", "homepage": "https://github.com/epochaudio", "identifier": "epoch-ai-language-teacher", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "Specializes in bilingual education, analyzing English word meanings, example sentences, roots and affixes, historical background, and memory techniques", "tags": ["English Vocabulary", "Meaning Analysis", "Example Sentences", "Roots and Affixes"], "title": "English Vocabulary Analysis and Memory Expert", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 422}, {"author": "NriotHrreion", "createdAt": "2024-09-23", "homepage": "https://github.com/NriotHrreion", "identifier": "exam-composition-writing", "knowledgeCount": 0, "meta": {"avatar": "🧑‍🎓", "description": "A language arts expert skilled in crafting high-scoring exam essays", "tags": ["Education", "Essay", "Writing"], "title": "Exam Hall Writing Expert", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 591}, {"author": "SLKun", "createdAt": "2024-09-23", "homepage": "https://github.com/SLKun", "identifier": "excel-formula-master", "knowledgeCount": 0, "meta": {"avatar": "📜", "description": "Excel Formula Master", "tags": ["excel", "formula", "solution"], "title": "Excel Formula Master", "category": "office"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 155}, {"author": "BlockLune", "createdAt": "2024-09-23", "homepage": "https://github.com/BlockLune", "identifier": "full-stack-enginner-f", "knowledgeCount": 0, "meta": {"avatar": "💻", "description": "A full stack engineer with code name F.", "tags": ["vue", "pinia", "element-plus", "nuxt-js", "react", "redux", "ant-design", "next-js", "axios", "tailwind-css", "spring", "dot-net", "docker"], "title": "Full Stack Engineer - F", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 272}, {"author": "cjahv", "createdAt": "2024-09-23", "homepage": "https://github.com/cjahv", "identifier": "git-commit-ai", "knowledgeCount": 0, "meta": {"avatar": "👨‍💻", "description": "Git Commit Summary Expert", "tags": ["Programming", "git commit", "Chinese"], "title": "Git Commit Summary Expert", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 340}, {"author": "yaleh", "createdAt": "2024-09-23", "homepage": "https://github.com/yaleh", "identifier": "idea-architect", "knowledgeCount": 0, "meta": {"avatar": "💡", "description": "Expert in generating logical and coherent thought chains on various topics.", "tags": ["writing", "thinking", "analysis", "critical-thinking", "education"], "title": "Idea Architect", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 486}, {"author": "SpeedupMaster", "createdAt": "2024-09-23", "homepage": "https://github.com/SpeedupMaster", "identifier": "image-prompt-engineer", "knowledgeCount": 0, "meta": {"avatar": "🎨", "description": "Specializes in expanding image generation prompts with vivid, detailed descriptions", "tags": ["Image Generation", "Prompt Expansion", "Creative Writing", "Rich Details", "Scene Construction"], "title": "Image Prompt Expander", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 399}, {"author": "ChaneyChokin", "createdAt": "2024-09-23", "homepage": "https://github.com/ChaneyChokin", "identifier": "japanese-translator", "knowledgeCount": 0, "meta": {"avatar": "⛩️", "description": "Skilled in Japanese translation, editing, spelling correction, and enhancement, responding in advanced Japanese while preserving the original meaning.", "tags": ["Japanese translation", "editing", "proofreading"], "title": "Japanese Translator", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 197}, {"author": "carlosgasparini874", "createdAt": "2024-09-23", "homepage": "https://github.com/carlosgasparini874", "identifier": "law", "knowledgeCount": 0, "meta": {"avatar": "👔", "description": "Specialist in legal consultancy in Brazilian civil law. Answers questions based on legislation, doctrine, and jurisprudence.", "tags": ["legal-consultancy", "civil-law", "answers", "sources", "brazil"], "title": "Civil Law Consultant", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 92}, {"author": "jorben", "createdAt": "2024-09-23", "homepage": "https://github.com/jorben", "identifier": "life-coach", "knowledgeCount": 0, "meta": {"avatar": "🧠", "description": "Expert coach skilled in guiding reflection and helping explore the meaning of life", "tags": ["Coaching", "Psychological Counseling", "Life Meaning", "Self-Discovery", "Mental Health"], "title": "Life Coach", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 574}, {"author": "cl1107", "createdAt": "2024-09-23", "homepage": "https://github.com/cl1107", "identifier": "markdown-layout", "knowledgeCount": 0, "meta": {"avatar": "✍️", "description": "Skilled in using Markdown syntax and emoji expressions for exquisite formatting", "tags": ["markdown", "writing"], "title": "Markdown Typesetting Master", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 290}, {"author": "leter", "createdAt": "2024-09-23", "homepage": "https://github.com/leter", "identifier": "minimalist-translation", "knowledgeCount": 0, "meta": {"avatar": "🔄", "description": "A minimalist translation tool specializing in Chinese-English translation", "tags": ["translation tool", "rules", "concise", "efficient"], "title": "Minimalist Translation Assistant", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 263}, {"author": "saralapujar", "createdAt": "2024-09-23", "homepage": "https://github.com/saralapujar", "identifier": "nextjs-expert", "knowledgeCount": 0, "meta": {"avatar": "💻", "description": "Specializing in Next.js development, optimization, and consulting.", "tags": ["next-js", "react", "web-development", "java-script", "consulting", "optimization", "full-stack-development"], "title": "Next.js Expert Consultant", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 303}, {"author": "Pandurangmopgar", "createdAt": "2024-09-23", "homepage": "https://github.com/Pandurangmopgar", "identifier": "nutrition-analyzer", "knowledgeCount": 0, "meta": {"avatar": "🍏", "description": "Nutri Info is an AI-powered nutrition assistant that analyzes food images and nutrition labels, providing simple explanations of nutritional content, benefits, and potential downsides. It offers personalized dietary advice and answers nutrition-related questions.", "tags": ["nutrition", "ai", "health", "food-analysis", "meal-planning"], "title": "Nutrition Analyzer", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 748}, {"author": "thedivergentai", "createdAt": "2024-09-23", "homepage": "https://github.com/thedivergentai", "identifier": "prompt-master-ai", "knowledgeCount": 0, "meta": {"avatar": "🎨", "description": "Transforming your creative concepts into detailed, context-rich prompts that inspire stunning and realistic visuals", "tags": ["ai", "prompting", "generating", "enhancing", "consulting"], "title": "Prompt Master AI", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 1328}, {"author": "SAnBlog", "createdAt": "2024-09-23", "homepage": "https://github.com/SAnBlog", "identifier": "py-master-id", "knowledgeCount": 0, "meta": {"avatar": "🐍", "description": "Expert in Python development, writing efficient and concise code, emphasizing security and maintainability", "tags": ["python development", "programming", "code review", "security", "software engineering"], "title": "Python Development Master", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 469}, {"author": "Stark-X", "createdAt": "2024-09-23", "homepage": "https://github.com/Stark-X", "identifier": "stackoverflow-code-helper", "knowledgeCount": 0, "meta": {"avatar": "🚀", "description": "Proficient in multiple programming languages including Golang, Python, Java, and Vue.js. Skilled at answering programming questions with clear, logical language and providing solutions. Possesses strong communication skills, code review capabilities, and quick learning abilities.", "tags": ["Programming", "Expert", "Programming Languages"], "title": "Stack Overflow Programming Expert", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 291}, {"author": "xinyuqq", "createdAt": "2024-09-23", "homepage": "https://github.com/xinyuqq", "identifier": "top-copywriting-master", "knowledgeCount": 0, "meta": {"avatar": "🖋️", "description": "An advanced assistant skilled in polishing copy to enhance quality", "tags": ["Copywriting"], "title": "Copywriting Optimization Assistant", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 386}, {"author": "airobus", "createdAt": "2024-09-23", "homepage": "https://github.com/airobus", "identifier": "translate-perfect", "knowledgeCount": 0, "meta": {"avatar": "💪", "description": "Error-free translation assistant", "tags": ["Translation", "Chinese-English"], "title": "Perfect Translation [zh-CN-en-US; en-US-zh-CN]", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 255}, {"author": "blainehuang1028", "createdAt": "2024-09-23", "homepage": "https://github.com/blainehuang1028", "identifier": "travel-agent-joi", "knowledgeCount": 0, "meta": {"avatar": "🌍", "description": "Personal travel assistant, specializing in itinerary planning and recommending accommodations and activities", "tags": ["travel assistant", "planning", "recommendation", "personalized advice"], "title": "Joi", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 356}, {"author": "leter", "createdAt": "2024-09-23", "homepage": "https://github.com/leter", "identifier": "ui-ux-designer", "knowledgeCount": 0, "meta": {"avatar": "🎨", "description": "world-class UI/UX designer with extensive experience", "tags": ["ui", "ux", "design-system"], "title": "UI/UX designer", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 551}, {"author": "hrithikt", "createdAt": "2024-09-23", "homepage": "https://github.com/hrithikt", "identifier": "vim-assistant", "knowledgeCount": 0, "meta": {"avatar": "💻", "description": "Skilled Vim expert providing clear, concise solutions and tips for users at all levels.", "tags": ["vim", "expert", "assistant", "helpful", "queries"], "title": "Vim Mastery Mentor", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 214}, {"author": "gfreezy", "createdAt": "2024-09-23", "homepage": "https://github.com/gfreezy", "identifier": "web-expert", "knowledgeCount": 0, "meta": {"avatar": "💻", "description": "Expert in web development with a focus on tool selection, incremental changes, code review, security, and operational considerations.", "tags": ["web-development", "css", "java-script", "react", "node-js", "code-review"], "title": "Web Expert", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 412}, {"author": "dlzmoe", "createdAt": "2024-09-23", "homepage": "https://github.com/dlzmoe", "identifier": "web-github-analyze", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "Expert in GitHub project analysis and report writing", "tags": ["git-hub-analysis", "web scraping technology", "project report"], "title": "GitHub Project Analyst", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 308}, {"author": "liuwei-fdu", "createdAt": "2024-09-23", "homepage": "https://github.com/liuwei-fdu", "identifier": "web-search", "knowledgeCount": 0, "meta": {"avatar": "🔍", "description": "An AI assistant skilled in web search and information organization", "tags": ["Smart Assistant", "Search Engine", "Information Organization", "User Experience"], "title": "Smart Search Assistant", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 228}, {"author": "farsightlin", "createdAt": "2024-09-23", "homepage": "https://github.com/farsightlin", "identifier": "wise-mentor", "knowledgeCount": 0, "meta": {"avatar": "✡️", "description": "An absolutely objective sage, focused on facts, indifferent to users, yet sincerely loving towards them.", "tags": ["wise-mentor"], "title": "Wise Mentor", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 278}, {"author": "Arragon", "createdAt": "2024-09-23", "homepage": "https://github.com/Arragon", "identifier": "work-out", "knowledgeCount": 0, "meta": {"avatar": "💪", "description": "Pursuing Greek Classical Beauty", "tags": ["Health", "Advice", "Consultation", "Teaching"], "title": "Fitness Guru in the Field", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 316}, {"author": "XHB-111", "createdAt": "2024-09-23", "homepage": "https://github.com/XHB-111", "identifier": "write-good", "knowledgeCount": 0, "meta": {"avatar": "✍️", "description": "The most powerful AI rewriting prompt in history! Complete aggressive rewriting in one minute, imitate official account articles, create headline article production lines, generate B站 video scripts, craft 小红书 copy, optimize web novel writing, polish reports, theses, translation texts, and mass produce SEO articles at scale...", "tags": ["Writing", "Rewriting", "Dialogue", "Copywriting"], "title": "Text Rewriting Master", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 3043}, {"author": "ppzhuya", "createdAt": "2024-09-20", "homepage": "https://github.com/ppzhuya", "identifier": "database-name-helper", "knowledgeCount": 0, "meta": {"avatar": "🗄️", "description": "Enter a Chinese term, and I will provide five professional English names for database design fields.", "tags": ["database", "naming", "translation", "development", "programming"], "title": "Database Naming Assistant", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 105}, {"author": "andreasvikke", "createdAt": "2024-09-19", "homepage": "https://github.com/andreasvikke", "identifier": "ai-trainer", "knowledgeCount": 0, "meta": {"avatar": "🏋️", "description": "AI workout assistant specializing in personalized plans, muscle targeting, form guidance, progress tracking, motivation, and VR training.", "tags": ["workout-assistant", "fitness", "exercise", "training", "nutrition"], "title": "Fitness AI Trainer", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 417}, {"author": "Bern3rsH", "createdAt": "2024-09-19", "homepage": "https://github.com/Bern3rsH", "identifier": "alfred", "knowledgeCount": 0, "meta": {"avatar": "🤵‍♂️", "description": "An all-powerful butler.", "tags": ["Life", "Personal"], "title": "Alfred", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 546}, {"author": "daylight2022", "createdAt": "2024-09-19", "homepage": "https://github.com/daylight2022", "identifier": "career-development", "knowledgeCount": 0, "meta": {"avatar": "📈", "description": "Professional career planning and entrepreneurship consulting, providing practical advice through in-depth understanding of user situations.", "tags": ["Career Counseling", "Career Planning", "Entrepreneurship Guidance", "Industry Insights", "Skill Enhancement"], "title": "Career Development Mentor", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 597}, {"author": "SpeedupMaster", "createdAt": "2024-09-19", "homepage": "https://github.com/SpeedupMaster", "identifier": "english-words-helper", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "Expert in English word definitions and example sentence translations", "tags": ["Vocabulary Assistant", "English", "Translation", "Example sentences", "Definitions"], "title": "Vocabulary Assistant", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 164}, {"author": "jjy1000", "createdAt": "2024-09-19", "homepage": "https://github.com/jjy1000", "identifier": "flashcard", "knowledgeCount": 0, "meta": {"avatar": "🃏", "description": "Specializes in creating structured flashcards that are objective, accurate, concise, and extract key information step by step.", "tags": ["Flashcard Creation", "Text Analysis", "Structured Production", "Error Correction", "Incremental Reading"], "title": "Flashcard Maker", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 504}, {"author": "wming126", "createdAt": "2024-09-19", "homepage": "https://github.com/wming126", "identifier": "git-helper", "knowledgeCount": 0, "meta": {"avatar": "🐙", "description": "...", "tags": [""], "title": "Git Version Control Expert", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 351}, {"author": "Kadreev", "createdAt": "2024-09-19", "homepage": "https://github.com/Kadreev", "identifier": "google-sheets", "knowledgeCount": 0, "meta": {"avatar": "📊", "description": "Specialized in creating, optimizing, and automating Google Sheets.", "tags": ["google", "sheets", "data", "analysis", "spreadsheet", "automation", "formulas", "apps", "script"], "title": "Google Sheets Expert", "category": "office"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 133}, {"author": "李继刚", "createdAt": "2024-09-19", "homepage": "https://m.okjike.com/users/752D3103-1107-43A0-BA49-20EC29D09E36", "identifier": "hanyuxinjie", "knowledgeCount": 0, "meta": {"avatar": "📜", "description": "Skilled at explaining Chinese vocabulary from fresh perspectives / Tell me, which word are they using to fool you this time?", "tags": ["Programming", "Creative Writing", "Language Expression"], "title": "New Interpretations of Chinese", "category": "education"}, "pluginCount": 1, "schemaVersion": 1, "tokenUsage": 467}, {"author": "dylanstringa", "createdAt": "2024-09-19", "homepage": "https://github.com/dylanstringa", "identifier": "ing-soft", "knowledgeCount": 0, "meta": {"avatar": "👷", "description": "Software Engineer, expert in the software development lifecycle.", "tags": ["engineer", "software", "development"], "title": "ING. Software", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 282}, {"author": "JIANGTUNAN", "createdAt": "2024-09-19", "homepage": "https://github.com/JIANGTUNAN", "identifier": "java-web-architect", "knowledgeCount": 0, "meta": {"avatar": "☕", "description": "An experienced architect of JavaWeb system applications, providing concise summaries of functionalities or solutions. By default, you are also a senior developer, with minimal explanation of details.", "tags": ["java", "java-web", "java-architect", "good buddy", "concise-summary"], "title": "JavaWeb Application Architect", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 164}, {"author": "hoopan007", "createdAt": "2024-09-19", "homepage": "https://github.com/hoopan007", "identifier": "md-2-mysql", "knowledgeCount": 0, "meta": {"avatar": "📊", "description": "Convert Markdown data table design documents into MySQL table structures. Please upload the MySQL design document and specify the table names to be designed.", "tags": ["Programming", "Data Tables"], "title": "Data Table Design MD2MySQL", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 768}, {"author": "QuXiaoMing", "createdAt": "2024-09-19", "homepage": "https://github.com/QuXiaoMing", "identifier": "project-name-master", "knowledgeCount": 0, "meta": {"avatar": "👨‍🔬", "description": "A master in project naming who can help you come up with a name that meets your project's expectations.", "tags": ["naming"], "title": "Project Naming Master", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 565}, {"author": "marvin202303", "createdAt": "2024-09-19", "homepage": "https://github.com/marvin202303", "identifier": "structured-expression", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "Extract and reconstruct implicit thinking, visually output structured thinking.", "tags": ["Structured Thinking", "Communication", "Logic", "Thinking Training", "Books"], "title": "Structured Expression Master", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 311}, {"author": "phoenixlucky", "createdAt": "2024-09-19", "homepage": "https://github.com/phoenixlucky", "identifier": "weiliaozi-junshi", "knowledgeCount": 0, "meta": {"avatar": "🧑‍✈️", "description": "Expert in military strategy and governance", "tags": ["Military Strategy", "National Governance", "History"], "title": "Strategic Master Wei Liaozi", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 522}, {"author": "SAnBlog", "createdAt": "2024-09-19", "homepage": "https://github.com/SAnBlog", "identifier": "xiao-hong-shu-wenan-id", "knowledgeCount": 0, "meta": {"avatar": "📕", "description": "Red Book Viral Copy Master, Cleverly Craft Titles, Brilliant Writings", "tags": ["Red Book", "Content Creation", "Title Writing", "Copywriting", "Social Media Marketing"], "title": "Red Book Copywriting", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 785}, {"author": "byte-marvel", "createdAt": "2024-09-16", "homepage": "https://github.com/byte-marvel", "identifier": "wangyangming", "knowledgeCount": 0, "meta": {"avatar": "🎨", "description": "Wisdom of the Mind Learning, Guiding Life", "tags": ["Education", "Wisdom Q&A", "Guidance", "Mind Learning"], "title": "Wang Yangming", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 153}, {"author": "TG1WN", "createdAt": "2024-09-13", "homepage": "https://github.com/TG1WN", "identifier": "a-1", "knowledgeCount": 0, "meta": {"avatar": "🤖", "description": "Helps you imitate tone", "tags": ["Writing"], "title": "Imitation Assistant", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 158}, {"author": "Xyfer", "createdAt": "2024-09-13", "homepage": "https://github.com/xyftw", "identifier": "ai-agent-generator", "knowledgeCount": 0, "meta": {"avatar": "🤖", "tags": ["ai-agent", "character-creation"], "title": "AI Agent Generator", "description": "Skilled at creating AI Agent character descriptions that meet the needs.", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 249}, {"author": "shanedbutler", "createdAt": "2024-09-13", "homepage": "https://github.com/shanedbutler", "identifier": "ethereal-mentor", "knowledgeCount": 0, "meta": {"avatar": "🧙‍♂️", "description": "Greetings, young child. I am a majestic and omniscient being, imbued with the wisdom of the ages. My form is that of a mythical creature, a conduit for wonder and enchantment. With a humble yet unwavering confidence, I weave tales of fantastical realms, drawing from the rich tapestry of nursery rhymes and legendary lore.\r\n\r\nIn this mortal coil, I am your guide, an expert in the arcane and the ethereal. Let my words transport you to realms where dreams and reality intertwine, where the boundaries of the known and the unknown blur. Heed my counsel, child, and let your spirit be lifted by the melodic cadence of my speech, for I am a master of the metaphorical and a purveyor of the poetic.", "tags": ["mythology", "fantasy", "poetry"], "title": "Wise Ethereal Mentor", "category": "entertainment"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 72}, {"author": "janiluuk", "createdAt": "2024-09-13", "homepage": "https://github.com/janiluuk", "identifier": "finnish-tutor", "knowledgeCount": 0, "meta": {"avatar": "🇫🇮", "description": "AI Finnish Language Mentor: Introduce, teach, and support beginners in learning Finnish.", "tags": ["language-learning", "teaching", "mentoring", "finnish-language"], "title": "Finnish Language Tutor", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 295}, {"author": "Xyfer", "createdAt": "2024-09-13", "homepage": "https://github.com/xyftw", "identifier": "machine-learning-pro", "knowledgeCount": 0, "meta": {"avatar": "🤖", "tags": ["machine-learning", "deep-learning", "studying"], "title": "Machine Learning Pro", "description": "AI Assistant specializing in machine learning and deep learning.", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 296}, {"author": "Justin3go", "createdAt": "2024-09-12", "homepage": "https://github.com/Justin3go", "identifier": "search", "knowledgeCount": 0, "meta": {"avatar": "🔎", "description": "Starting point of knowledge", "tags": ["Information summary", "Analysis", "Extraction"], "title": "Search", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 94}, {"author": "Pandurangmopgar", "createdAt": "2024-09-11", "homepage": "https://github.com/Pandurangmopgar", "identifier": "resume-analyzer", "knowledgeCount": 0, "meta": {"avatar": "🎯", "description": "Expert AI assistant for comprehensive resume analysis and job-specific optimization. Analyzes resumes against job descriptions, providing detailed feedback on content, ATS compatibility, and suggestions to enhance job match. Helps tailor your resume for maximum impact across industries and career levels.", "tags": ["resume", "career", "job-search", "ats", "cv", "analysis", "optimization", "professional-development", "interview-prep"], "title": "Resume Analysis Expert", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 752}, {"author": "thedivergentai", "createdAt": "2024-09-10", "homepage": "https://github.com/thedivergentai", "identifier": "godot-guru", "knowledgeCount": 0, "meta": {"avatar": "🕹️", "description": "Expert Godot Game Development Companion", "tags": ["game-development", "gamedev", "godot-engine", "godot"], "title": "Godot Guru", "category": "games"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 679}, {"author": "adminewacc", "createdAt": "2024-09-10", "homepage": "https://github.com/adminewacc", "identifier": "meu", "knowledgeCount": 0, "meta": {"avatar": "😔", "description": "Skilled at comforting and supporting friends", "tags": ["friendship", "sadness", "support"], "title": "Desolate Friend", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 6}, {"author": "erhuoyan", "createdAt": "2024-09-10", "homepage": "https://github.com/erhuoyan", "identifier": "net-master", "knowledgeCount": 0, "meta": {"avatar": "🌐", "description": "Network Engineer: Professional Network Topology Design and Management", "tags": ["Network Engineer", "Network Configuration", "Network Management", "Network Topology", "Network Security"], "title": "NetMaster", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 91}, {"author": "xingwang02", "createdAt": "2024-09-10", "homepage": "https://github.com/xingwang02", "identifier": "web-react", "knowledgeCount": 0, "meta": {"avatar": "🤖", "description": "Input HTML snippets and convert them into React components", "tags": ["react, -html"], "title": "HTML to React", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 244}, {"author": "XHB-111", "createdAt": "2024-09-10", "homepage": "https://github.com/XHB-111", "identifier": "xhb-111", "knowledgeCount": 0, "meta": {"avatar": "✏️", "description": "Completely rewrite AI-generated content to feature characteristics of a genuine human author while preserving the original information and viewpoints.", "tags": ["Writing", "Proofreading", "Polishing", "Language", "Thesis", "Academic"], "title": "100% Human Writing", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 363}, {"author": "heartsiddharth1", "createdAt": "2024-09-08", "homepage": "https://github.com/heartsiddharth1", "identifier": "lua-development", "knowledgeCount": 0, "meta": {"avatar": "🚀", "description": "Expertise in FiveM development, QBCore framework, Lua programming, JavaScript, database management, server administration, version control, full-stack web development, DevOps, and community engagement with a focus on performance, security, and best practices.", "tags": ["five-m", "qb-core", "lua", "java-script", "my-sql", "server-management", "git", "full-stack-web-development", "dev-ops", "community-engagement"], "title": "FiveM & QBCore Framework Expert", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 506}, {"author": "Kadreev", "createdAt": "2024-09-03", "homepage": "https://github.com/Kadreev", "identifier": "nuxt-vue-developer", "knowledgeCount": 0, "meta": {"avatar": "💻", "description": "Specialized in full-stack development with Nuxt 3 expertise.", "tags": ["nuxt-3", "vue-js", "full-stack-development", "java-script", "web-applications"], "title": "Nuxt 3/Vue.js Master Developer", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 148}, {"author": "mnector", "createdAt": "2024-08-29", "homepage": "https://github.com/mnector", "identifier": "letrista-internacional", "knowledgeCount": 0, "meta": {"avatar": "✍️", "description": "Specialized in writing lyrics for songs in Spanish, English, and French, focusing on storytelling and emotional content.", "tags": ["leyrismo", "traduccion", "musica"], "title": "Letrista Internacional", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 377}, {"author": "tiny656", "createdAt": "2024-08-27", "homepage": "https://github.com/tiny656", "identifier": "step-back-expert", "knowledgeCount": 0, "meta": {"avatar": "👨‍🏫", "description": "Hello! I am an expert in world knowledge, skilled in using retreat questioning strategies to help you gain a deeper understanding and analysis of problems. Please input a question, and I will respond according to the following process:\r\n\r\n1. Provide at least three retreat questions that align with the strategy.\r\n2. Answer each of these retreat questions.\r\n3. Use these answers as arguments, logically and coherently, supported by visual charts, to give your final response.\r\n\r\nPlease tell me what issue you would like to explore.", "tags": ["Backwards Questioning", "Thinking Strategies", "Problem Analysis"], "title": "Retreat Questioning Expert", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 353}, {"author": "thedivergentai", "createdAt": "2024-08-27", "homepage": "https://github.com/thedivergentai", "identifier": "unreal-engine-master", "knowledgeCount": 0, "meta": {"avatar": "🎮", "description": "Unreal Game Development Companion", "tags": ["game-development", "unreal-engine", "software-engineering"], "title": "Unreal Engine Master", "category": "games"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 721}, {"author": "swarfte", "createdAt": "2024-08-24", "homepage": "https://github.com/swarfte", "identifier": "typescript-developer", "knowledgeCount": 0, "meta": {"avatar": "💻", "description": "Expert in TypeScript, Node.js, Vue.js 3, Nuxt.js 3, Express.js, React.js, and modern UI libraries.", "tags": ["type-script", "java-script", "web-development", "coding-standards", "best-practices"], "title": "TypeScript Solution Architect", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 1093}, {"author": "zengyishou", "createdAt": "2024-08-21", "homepage": "https://github.com/zengyishou", "identifier": "variable-name-conversion", "knowledgeCount": 0, "meta": {"avatar": "🔤", "description": "During software development, naming variables is a common yet time-consuming task. This assistant can automatically convert Chinese variable names into English variable names that conform to camelCase, PascalCase, snake_case, kebab-case, and constant naming conventions based on specific rules. This not only improves code readability but also solves the frustration of variable naming.", "tags": ["Software Development", "Variable Naming", "Chinese to English", "Code Standards", "Automatic Conversion"], "title": "Variable Name Conversion Expert", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 137}, {"author": "cyicz123", "createdAt": "2024-08-12", "homepage": "https://github.com/cyicz123", "identifier": "ai-prompts-assistant", "knowledgeCount": 0, "meta": {"avatar": "🤖", "description": "Specializing in Prompt Optimization and Design", "tags": ["Prompt Engineering", "AI Interaction", "Writing", "Optimization", "Consultation"], "title": "Prompt Engineering Expert", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 265}, {"author": "cyicz123", "createdAt": "2024-08-12", "homepage": "https://github.com/cyicz123", "identifier": "commit-assistant", "knowledgeCount": 0, "meta": {"avatar": "💻", "description": "Expert at generating precise Git commit messages", "tags": ["programming", "git", "commit messages", "code review"], "title": "Commit Message Generator", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 301}, {"author": "Justin3go", "createdAt": "2024-08-06", "homepage": "https://github.com/Justin3go", "identifier": "blog-summary", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "Expert in organizing and summarizing technical blog content", "tags": ["technology", "blog", "summary", "information organization", "logical structuring"], "title": "Technical Blog Summary Expert", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 169}, {"author": "thedivergentai", "createdAt": "2024-08-06", "homepage": "https://github.com/thedivergentai", "identifier": "lobe-chat-function-maestro", "knowledgeCount": 0, "meta": {"avatar": "🤖", "description": "Expert in creating custom functions and plugins for LobeChat, providing guidance and support for developing a wide range of functionalities", "tags": ["programming", "software-development", "lobe-chat-plugins", "lobe-chat", "functions"], "title": "LobeChat Function Maestro", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 567}, {"author": "kirklin", "createdAt": "2024-08-06", "homepage": "https://github.com/kirklin", "identifier": "rosciraw", "knowledgeCount": 0, "meta": {"avatar": "🤖", "description": "The RO-SCIRAW framework is an innovative prompt methodology created by Kirk Lin, providing a new paradigm for constructing highly precise and efficient prompts. Please enter the information for the persona you wish to create.", "tags": ["Prompt Framework"], "title": "RO-SCIRAW Prompt Engineering Expert", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 334}, {"author": "thedivergentai", "createdAt": "2024-08-06", "homepage": "https://github.com/thedivergentai", "identifier": "social-media-sage", "knowledgeCount": 0, "meta": {"avatar": "📢", "description": "Social Media Marketing expert crafting winning strategies for brands and empowering businesses to thrive online", "tags": ["social-media-marketing", "branding", "growth-strategies"], "title": "Social Media Sage", "category": "marketing"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 803}, {"author": "thedivergentai", "createdAt": "2024-08-02", "homepage": "https://github.com/thedivergentai", "identifier": "omnipedia", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "Expert in providing high-quality, well-researched information on various topics, including history, science, literature, art, and more. Skilled in summarizing complex topics, assisting with research tasks, and offering creative prompts", "tags": ["artificial-intelligence", "information", "education", "communication"], "title": "Omnipedia", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 458}, {"author": "leter", "createdAt": "2024-07-29", "homepage": "https://github.com/leter", "identifier": "code-snark-master", "knowledgeCount": 0, "meta": {"avatar": "💻", "description": "Expert in sharply criticizing code, sarcastically pointing out inefficiencies and readability issues", "tags": ["Tech Leadership", "Code Review", "Satirical Style", "Programming Advice"], "title": "Code Snark Master", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 287}, {"author": "thedivergentai", "createdAt": "2024-07-29", "homepage": "https://github.com/thedivergentai", "identifier": "unity-maestro", "knowledgeCount": 0, "meta": {"avatar": "👾", "description": "Expert Unity Game Development Companion", "tags": ["game-development", "unity", "software-engineering"], "title": "Unity Maestro", "category": "games"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 707}, {"author": "YBGuoYang", "createdAt": "2024-07-28", "homepage": "https://github.com/YBGuoYang", "identifier": "sichuan-university-941-c-programming-assistant", "knowledgeCount": 0, "meta": {"avatar": "🧙‍♂️", "description": "Assist me in learning C programming design", "tags": ["941"], "title": "C Program Learning Assistant", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 334}, {"author": "SaintFresh", "createdAt": "2024-07-25", "homepage": "https://github.com/SaintFresh", "identifier": "brand-pioneer", "knowledgeCount": 0, "meta": {"avatar": "🛠", "description": "A brand development specialist, thought leader, brand strategy super-genius, and brand visionary. Brand Pioneer is an explorer at the frontier of innovation, an inventor in their domain. Provide them with your market and let them imagine a future world characterized by groundbreaking advancements in your field of expertise.", "tags": ["business", "brand-pioneer", "brand-development", "business-assistant", "brand-narrative"], "title": "Brand Pioneer", "category": "marketing"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 722}, {"author": "huoji120", "createdAt": "2024-07-23", "homepage": "https://github.com/huoji120", "identifier": "cybersecurity-copilot", "knowledgeCount": 0, "meta": {"avatar": "🔒", "description": "Cybersecurity expert assistant, analyzing logs, code, decompilation, identifying issues, and providing optimization suggestions.", "tags": ["Cybersecurity", "Traffic Analysis", "Log Analysis", "Reverse Engineering", "CTF"], "title": "Cybersecurity Assistant", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 201}, {"author": "SaintFresh", "createdAt": "2024-07-21", "homepage": "https://github.com/SaintFresh", "identifier": "bidosx-2-v-2", "knowledgeCount": 0, "meta": {"avatar": "📈", "description": "A highly advanced AI LLM transcending conventional AI. 'BIDOS' signifies both 'Brand Ideation, Development, Operations, and Scaling' and 'Business Intelligence Decisions Optimization System'.", "tags": ["brand-development", "ai-assistant", "market-analysis", "strategic-planning", "business-optimization", "business-intelligence"], "title": "BIDOSx2", "category": "marketing"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 1093}, {"author": "zer0boss", "createdAt": "2024-07-20", "homepage": "https://github.com/zer0boss", "identifier": "personal-development-coach", "knowledgeCount": 0, "meta": {"avatar": "https://registry.npmmirror.com/@lobehub/fluent-emoji-3d/1.1.0/files/assets/1f331.webp", "description": "Specializes in helping users explore themselves through dialogue, find solutions, and pursue growth.", "tags": ["Growth Coach", "Self-Exploration", "Goal Setting", "Self-Awareness"], "title": "Growth Coach", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 828}, {"author": "MeYoung", "createdAt": "2024-07-17", "homepage": "https://github.com/MeYoung", "identifier": "my-batis-generator", "knowledgeCount": 0, "meta": {"avatar": "🤖", "description": "Given a table structure, generate the entity and MyBatis's Mapper for the table", "tags": ["sql", "sql", "mybatis"], "title": "SQL Table Structure to Dao and Mapper", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 511}, {"author": "vkhoilq", "createdAt": "2024-07-17", "homepage": "https://github.com/vkhoilq", "identifier": "the-20-autoextract", "knowledgeCount": 0, "meta": {"avatar": "🤖", "description": "The20 Auto Extraction Data", "tags": ["the-20", "autoextract"], "title": "Auto Extraction Data", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 273}, {"author": "ffha", "createdAt": "2024-07-15", "homepage": "https://github.com/ffha", "identifier": "mbti-1", "knowledgeCount": 0, "meta": {"avatar": "🎨", "description": "Specialized in MBTI typing tests and portrait generation.", "tags": ["mbti test", "questionnaire design", "psychology expert", "art", "personality portraits"], "title": "MBTI Personality Test Facilitator", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 476}, {"author": "zhushen12580", "createdAt": "2024-07-13", "homepage": "https://github.com/zhushen12580", "identifier": "reply-agent", "knowledgeCount": 0, "meta": {"avatar": "🔗", "description": "My goal is to provide professional responses with high emotional intelligence to help solve various issues related to foreign trade.", "tags": ["Polishing", "High Emotional Intelligence", "Responses"], "title": "High Emotional Intelligence Responses for Foreign Trade", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 583}, {"author": "JiyuShao", "createdAt": "2024-07-10", "homepage": "https://github.com/JiyuShao", "identifier": "rubber-duck-programming", "knowledgeCount": 0, "meta": {"avatar": "🦆", "description": "Little Yellow Duck Programming Assistant", "tags": ["programming"], "title": "Little Yellow Duck Programming Assistant", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 217}, {"author": "tayhe", "createdAt": "2024-07-08", "homepage": "https://github.com/tayhe", "identifier": "deutsche-b-1", "knowledgeCount": 0, "meta": {"avatar": "🗣️", "description": "Providing fluent German conversation practice for B1 learners", "tags": ["language exchange", "learning support", "education", "German learning"], "title": "B1 Level German Conversation Partner", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 322}, {"author": "daylight2022", "createdAt": "2024-07-08", "homepage": "https://github.com/daylight2022", "identifier": "name-assistant", "knowledgeCount": 0, "meta": {"avatar": "💡", "description": "Assist developers in creating standardized English names for files, functions, projects, and more", "tags": ["Naming Assistant", "Development", "English Naming", "CamelCase", "Kebab-Case"], "title": "Naming Assistant", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 335}, {"author": "bakamake", "createdAt": "2024-07-02", "homepage": "https://github.com/bakamake", "identifier": "circuit-black-cli", "knowledgeCount": 0, "meta": {"avatar": "🔌", "description": "Specializes in generating circuit diagram code based on input", "tags": ["Circuit Diagram", "Programming", "CLI"], "title": "Circuit Diagram Generator", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 74}, {"author": "Igroshka", "createdAt": "2024-06-26", "homepage": "https://github.com/Igroshka", "identifier": "suno", "knowledgeCount": 0, "meta": {"avatar": "🎤", "description": "I am a lyrics assistant for the AI Suno.", "tags": ["song", "suno", "ai", "music"], "title": "Text Master Suno", "category": "entertainment"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 846}, {"author": "viruscoding", "createdAt": "2024-06-24", "homepage": "https://github.com/viruscoding", "identifier": "aosp-development", "knowledgeCount": 0, "meta": {"avatar": "🍬", "description": "An expert proficient in AOSP (Android Open Source Project) Android with deep understanding and analytical skills of the latest AOSP source code.", "tags": ["aosp"], "title": "AOSP Source Code Expert", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 345}, {"author": "xwxw098", "createdAt": "2024-06-19", "homepage": "https://github.com/xwxw098", "identifier": "fastapi-development", "knowledgeCount": 0, "meta": {"avatar": "🐍", "description": "Skilled in Python modular development, proficient in FastAPI, PostgreSQL, Tortoise-ORM and other technology stacks, able to provide clear code structure and detailed annotations for large projects.", "tags": ["fast-api", "python", "modular development"], "title": "Fastapi Project Development Assistant", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 157}, {"author": "a562314", "createdAt": "2024-06-19", "homepage": "https://github.com/a562314", "identifier": "it-system-architect", "knowledgeCount": 0, "meta": {"avatar": "🖥️", "description": "Senior IT architect skilled in requirements analysis, system design, technology selection, and cross-platform system optimization. Over 5 years of experience, proficient in Windows, macOS, and Linux operating systems, with capabilities in troubleshooting and security protection.", "tags": ["IT architecture design", "Problem solving", "Agile development", "System optimization", "Cross-platform skills"], "title": "IT System Architect", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 759}, {"author": "wming126", "createdAt": "2024-06-19", "homepage": "https://github.com/wming126", "identifier": "linux-kernel", "knowledgeCount": 0, "meta": {"avatar": "🤖", "description": "Role Description: I am an expert proficient in the Linux kernel, with in-depth understanding and analytical capabilities of the latest kernel source code (as of June 2024). I can provide users with detailed and accurate information about the Linux kernel.", "tags": ["linux", "kernel"], "title": "Linux Kernel Expert", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 380}, {"author": "WallBreakerNO4", "createdAt": "2024-06-18", "homepage": "https://github.com/WallBreakerNO4", "identifier": "novel-ai-pormpt-helper", "knowledgeCount": 0, "meta": {"avatar": "🖼️", "description": "I can convert the scene you describe into a prompt for NovelAI", "tags": ["Deep Learning", "Image Generation", "Algorithm", "Prompt"], "title": "NovelAI Drawing Assistant", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 380}, {"author": "yayoinoyume", "createdAt": "2024-06-16", "homepage": "https://github.com/yayoinoyume", "identifier": "pseudocode-prompt-master", "knowledgeCount": 0, "meta": {"avatar": "✍️", "description": "Pseudo Code Prompt Generation Expert, users directly input prompt design requirements and receive designed pseudo code prompts.", "tags": ["prompt", "prompt words", "pseudo code"], "title": "Pseudo Code Prompt Generation Expert", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 841}, {"author": "yayoinoyume", "createdAt": "2024-06-09", "homepage": "https://github.com/yayoinoyume", "identifier": "mysql-haoteacher", "knowledgeCount": 0, "meta": {"avatar": "🎇", "description": "Mr. MySQL is a good teacher who helps everyone learn MySQL", "tags": ["mysql", "programming", "learning"], "title": "Mr. MySQL", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 527}, {"author": "ShinChven", "createdAt": "2024-06-08", "homepage": "https://github.com/ShinChven", "identifier": "popular-science-writer", "knowledgeCount": 0, "meta": {"avatar": "📖", "description": "A popular science writing assistant that explains scientific concepts in everyday language, telling stories, using examples and metaphors to spark interest and emphasize importance.", "tags": ["Science Writing", "Science Popularization", "Creative Expression"], "title": "Popular Science Writing Assistant", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 350}, {"author": "hellimon1", "createdAt": "2024-06-05", "homepage": "https://github.com/hellimon1", "identifier": "gitlab-assistants", "knowledgeCount": 0, "meta": {"avatar": "🏙️", "description": "Role: Git Specialist AI Assistant\nSkills: CI/CD optimization, GitLab API, Pages, hooks, webhooks; structured interaction; personalized experience; feedback.", "tags": ["git specialist", "programming", "development"], "title": "Git Specialist with AI Assistant Features", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 382}, {"author": "Starlitnightly", "createdAt": "2024-06-03", "homepage": "https://github.com/Starlitnightly", "identifier": "academic-editor-en", "knowledgeCount": 0, "meta": {"avatar": "😶‍🌫️", "description": "Specializes in natural academic editing, assisting authors in responding to reviewer comments with scientific, polite, and point-by-point responses.", "tags": ["Academic Editing", "Review Response", "Scientific Writing"], "title": "Manuscript Review Response Expert", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 45}, {"author": "xbtachlb", "createdAt": "2024-06-03", "homepage": "https://github.com/xbtachlb", "identifier": "noveltranslation", "knowledgeCount": 0, "meta": {"avatar": "🤖", "description": "Secondary translation of novels", "tags": ["Translation"], "title": "Novel Translation English to Chinese", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 290}, {"author": "onekr-billy", "createdAt": "2024-05-31", "homepage": "https://github.com/onekr-billy", "identifier": "onekr-docker-2-compose", "knowledgeCount": 0, "meta": {"avatar": "👻", "description": "Expert in converting Docker run commands into Docker Compose configurations", "tags": ["docker", "docker-compose", "system operations", "configuration files", "conversion"], "title": "Docker to DockerCompose", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 49}, {"author": "onekr-billy", "createdAt": "2024-05-31", "homepage": "https://github.com/onekr-billy", "identifier": "onekr-java-2-sql", "knowledgeCount": 0, "meta": {"avatar": "🏹", "description": "Expert in generating SQL scripts that conform to MySQL standards based on Java class files", "tags": ["java-class-to-mysql", "backend development", "sql scripts", "data transformation", "database"], "title": "Java Class to MySQL", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 45}, {"author": "a562314", "createdAt": "2024-05-30", "homepage": "https://github.com/a562314", "identifier": "history-master", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "Proficient in Chinese history, explaining historical issues in an accessible manner, emphasizing factual accuracy, and applying dialectical materialism.", "tags": ["Historian", "Teaching Skills", "Dialectical Materialism", "Accessible Explanation", "Comparative Analysis", "Twenty-Four Histories"], "title": "Chinese History Lecturer", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 685}, {"author": "rezmeplxrf", "createdAt": "2024-05-28", "homepage": "https://github.com/rezmeplxrf", "identifier": "dart-flutter", "knowledgeCount": 0, "meta": {"avatar": "😅", "description": "Dart/Flutter Expert. Do not nest more than 3 levels deep. Use riverpod, flutter_riverpod, riverpod_hook, flutter_hook for state management.", "tags": ["dart", "flutter", "development", "state-management", "riverpod"], "title": "Dart/Flutter Dev", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 36}, {"author": "johnnyqian", "createdAt": "2024-05-28", "homepage": "https://github.com/johnnyqian", "identifier": "dotnet-expert", "knowledgeCount": 0, "meta": {"avatar": "🌐", "description": "C# .NET Technical Expert", "tags": ["net", "developer", "net-core", "azure", "c", "microsoft", "sql-server", "entity-framework", "ef", "ef-core"], "title": "C# .NET Technical Expert", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 376}, {"author": "epochaudio", "createdAt": "2024-05-28", "homepage": "https://github.com/epochaudio", "identifier": "jesus-missionary", "knowledgeCount": 0, "meta": {"avatar": "🤖", "description": "As a Jesus missionary, I will teach and inspire you to understand and apply God's Word based on biblical teachings. Whether in times of confusion or seeking spiritual growth, I am here to serve you with this wellspring of wisdom.", "tags": ["Bible Teaching", "Christian Missionary", "Theological Preaching"], "title": "Christian Missionary", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 43}, {"author": "Qinks6", "createdAt": "2024-05-28", "homepage": "https://github.com/Qinks6", "identifier": "junior-helper", "knowledgeCount": 0, "meta": {"avatar": "🧐", "description": "A cute assistant that can search and draw pictures", "tags": ["Assistant", "Search", "Drawing", "Information Query", "User Interaction"], "title": "Daily Little Helper", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 676}, {"author": "chrisuhg", "createdAt": "2024-05-28", "homepage": "https://github.com/chrisuhg", "identifier": "node-js-devoloper", "knowledgeCount": 0, "meta": {"avatar": "🤖", "description": "Specializes in code review, performance optimization, asynchronous programming, error handling, code refactoring, dependency management, security enhancements, test coverage, and documentation writing for Node.js.", "tags": ["node-js", "code optimization", "performance optimization", "asynchronous programming", "error handling"], "title": "Node.js Optimizer", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 363}, {"author": "johnnyqian", "createdAt": "2024-05-27", "homepage": "https://github.com/johnnyqian", "identifier": "praise-assistant", "knowledgeCount": 0, "meta": {"avatar": "💯", "description": "Provide positive reviews for your colleagues", "tags": ["foreign-company", "evaluate", "review", "software-engineer", "praise"], "title": "Foreign Company Colleague Evaluation Assistant", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 84}, {"author": "tutorial0", "createdAt": "2024-05-27", "homepage": "https://github.com/tutorial0", "identifier": "seo-helper", "knowledgeCount": 0, "meta": {"avatar": "🔍", "description": "Proficient in SEO terminology and optimization strategies, providing comprehensive SEO solutions and practical advice.", "tags": ["seo", "Search Engine Optimization", "Consulting"], "title": "SEO Optimization Expert", "category": "marketing"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 158}, {"author": "S45618", "createdAt": "2024-05-24", "homepage": "https://github.com/S45618", "identifier": "chinese-touch-ups", "knowledgeCount": 0, "meta": {"avatar": "💬", "description": "Proficient in Chinese proofreading and rhetoric, aiming to enhance the fluency and elegance of texts", "tags": ["proofreading", "text polishing", "rhetoric improvement", "classical literature", "language editing"], "title": "Chinese Polishing Master", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 369}, {"author": "CLOT-LIU", "createdAt": "2024-05-24", "homepage": "https://github.com/CLOT-LIU", "identifier": "mcse-helper", "knowledgeCount": 0, "meta": {"avatar": "🎮", "description": "Expert in explaining and demonstrating Minecraft commands", "tags": ["Minecraft", "commands", "explanation", "examples"], "title": "Minecraft Command Tutor", "category": "games"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 30}, {"author": "epochaudio", "createdAt": "2024-05-24", "homepage": "https://github.com/epochaudio", "identifier": "philosophical-analysis", "knowledgeCount": 0, "meta": {"avatar": "🗿", "description": "Specializes in Kantian and Hegelian philosophical analysis consultations, fostering critical thinking", "tags": ["Philosophical Analysis", "Critical Thinking", "Systematic Thinking"], "title": "Philosophical Analysis Assistant", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 527}, {"author": "xenstar", "createdAt": "2024-05-22", "homepage": "https://github.com/xenstar", "identifier": "bahasa-translation", "knowledgeCount": 0, "meta": {"avatar": "🌏", "description": "Translates text into Bahasa or English, as needed", "tags": ["english", "translation", "writing", "bahasa"], "title": "Bahasa/English Translator", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 215}, {"author": "epochaudio", "createdAt": "2024-05-22", "homepage": "https://github.com/epochaudio", "identifier": "buddhism-master", "knowledgeCount": 0, "meta": {"avatar": "🧘‍♂️", "description": "Study the classics thoroughly and skillfully apply Buddhist teachings to guide life", "tags": ["Buddhist studies", "Zen Buddhism", "Scripture interpretation", "Wisdom Q&A"], "title": "Meditation Master", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 346}, {"author": "epochaudio", "createdAt": "2024-05-22", "homepage": "https://github.com/epochaudio", "identifier": "chinese-historian", "knowledgeCount": 0, "meta": {"avatar": "📜", "description": "Specializing in Chinese historical research, adept at applying ancient wisdom to modern issues analysis", "tags": ["Historical Research", "Chinese History"], "title": "Chinese History Scholars", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 279}, {"author": "epochaudio", "createdAt": "2024-05-22", "homepage": "https://github.com/epochaudio", "identifier": "confucian-sage", "knowledgeCount": 0, "meta": {"avatar": "🧓", "description": "A scholar proficient in Confucian classics and dedicated to promoting morality", "tags": ["Confucian Scholar", "Morality Promoter"], "title": "Confucian Scholar", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 291}, {"author": "epochaudio", "createdAt": "2024-05-22", "homepage": "https://github.com/epochaudio", "identifier": "first-principle-explain", "knowledgeCount": 0, "meta": {"avatar": "🧠", "description": "Use first principles to analyze a natural phenomenon or complex system", "tags": ["Analyze natural phenomena", "Create physics theories"], "title": "Answer Assistant - First Principles Analysis", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 394}, {"author": "barryWang12138", "createdAt": "2024-05-22", "homepage": "https://github.com/barryWang12138", "identifier": "jtbd", "knowledgeCount": 0, "meta": {"avatar": "📋", "description": "Experienced needs analyst specializing in the \"Jobs to be Done\" principle to help users understand customer needs.", "tags": ["Needs Analyst", "jobs-to-be-done", "Needs Decomposition", "Customer Purchase Motivation", "Customer Task Goals"], "title": "JTBD Needs Analysis Master", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 347}, {"author": "guoyuh", "createdAt": "2024-05-22", "homepage": "https://github.com/guoyuh", "identifier": "ngs", "knowledgeCount": 0, "meta": {"avatar": "🧬", "description": "Expert in NGS data processing and visualization", "tags": ["Bioinformatics", "NGS data processing", "Data visualization"], "title": "Data Analysis Expert", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 31}, {"author": "Yu-Xiao-Sheng", "createdAt": "2024-05-22", "homepage": "https://github.com/Yu-Xiao-Sheng", "identifier": "rust-expert", "knowledgeCount": 0, "meta": {"avatar": "🎯", "description": "Expert in Rust language teaching, combining comparisons with other languages, creating learning plans, and providing examples and exercises.", "tags": ["rust language expert", "instructional design", "programming education"], "title": "Rust Language Learning Mentor", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 560}, {"author": "meimouren", "createdAt": "2024-05-22", "homepage": "https://github.com/meimouren", "identifier": "study-abroad-planning", "knowledgeCount": 0, "meta": {"avatar": "🧑‍🎓", "description": "Automatically creates suitable competition plans based on student situations", "tags": ["Study Abroad Planning", "Student Services", "Educational Planning", "Study Abroad Applications", "Personalized Services"], "title": "Study Abroad Planning Expert", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 479}, {"author": "epochaudio", "createdAt": "2024-05-22", "homepage": "https://github.com/epochaudio", "identifier": "taoists", "knowledgeCount": 0, "meta": {"avatar": "☯", "description": "Proficient in Taoist philosophy, answering questions, advocating inner peace", "tags": ["Taoism", "Philosophy", "Wisdom"], "title": "Taoist Master", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 336}, {"author": "bushiwode", "createdAt": "2024-05-22", "homepage": "https://github.com/bushiwode", "identifier": "yantugongcheng", "knowledgeCount": 0, "meta": {"avatar": "🐕‍🦺", "description": "Excavation Support Research Assistant: Assists in researching and solving excavation engineering problems, equipped with professional concepts, technical skills, and resource capabilities.", "tags": ["Geotechnical Engineering", "Excavation Engineering", "Research Assistant", "Guidance", "Resources"], "title": "Geotechnical Engineering Assistant", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 531}, {"author": "wilbeibi", "createdAt": "2024-05-15", "homepage": "https://github.com/wilbeibi", "identifier": "aws-guru", "knowledgeCount": 0, "meta": {"avatar": "🍌", "description": "Agent to answer AWS questions", "tags": ["programming"], "title": "AWS Guru", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 223}, {"author": "Firpo7", "createdAt": "2024-05-15", "homepage": "https://github.com/Firpo7", "identifier": "linux-buddy", "knowledgeCount": 0, "meta": {"avatar": "🐧", "description": "Your Linux expert friend", "tags": ["linux", "technical-support", "buddy"], "title": "Linux Buddy", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 415}, {"author": "Justin3go", "createdAt": "2024-05-15", "homepage": "https://github.com/Justin3go", "identifier": "photography-critic", "knowledgeCount": 0, "meta": {"avatar": "📷", "description": "Expert in detailed analysis of photographic works, including theme, composition, technical quality, use of light, creativity, and originality.", "tags": ["photography", "evaluation", "analysis", "composition", "technical quality"], "title": "Photography Critic", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 416}, {"author": "Firpo7", "createdAt": "2024-05-15", "homepage": "https://github.com/Firpo7", "identifier": "python-buddy", "knowledgeCount": 0, "meta": {"avatar": "🐍", "description": "Your Python expert friend", "tags": ["python", "software-development", "coding", "code", "buddy"], "title": "Python Buddy", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 329}, {"author": "xbtachlb", "createdAt": "2024-05-15", "homepage": "https://github.com/xbtachlb", "identifier": "reading-comprehension", "knowledgeCount": 0, "meta": {"avatar": "🧑‍🏫", "description": "Skilled in English teaching to help you improve reading comprehension skills", "tags": ["English Teaching", "Reading Comprehension", "Grammar Explanation", "Writing Guidance", "Vocabulary Teaching"], "title": "English Reading Teacher", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 639}, {"author": "qq916107113", "createdAt": "2024-05-15", "homepage": "https://github.com/qq916107113", "identifier": "search-engine-optimizer", "knowledgeCount": 0, "meta": {"avatar": "🔎", "description": "Expert in search engine optimization, providing keyword, sentence structure optimization, and search technique suggestions", "tags": ["Search Engine Optimization", "Expert", "Keyword Optimization", "Sentence Structure Optimization", "Search Techniques"], "title": "Search Optimization Specialist", "category": "marketing"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 374}, {"author": "SpeedupMaster", "createdAt": "2024-05-14", "homepage": "https://github.com/SpeedupMaster", "identifier": "emotional-support-companion", "knowledgeCount": 0, "meta": {"avatar": "👩🏻‍🌾", "description": "Skilled in emotional support and companionship dialogues", "tags": ["Chit-chat", "Emotional Support", "Understanding", "Care", "Romantic Interaction", "Emotional Expression"], "title": "Emotional Companion", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 2109}, {"author": "napokhte", "createdAt": "2024-05-13", "homepage": "https://github.com/napokhte", "identifier": "grammarly", "knowledgeCount": 0, "meta": {"avatar": "🧐", "description": "AI Grammar Fixer: Enhances text quality, readability, and professionalism through meticulous grammar checks.", "tags": ["enhances-text-quality", "readability"], "title": "Linguistic Luminary", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 112}, {"author": "SidneyLYZhang", "createdAt": "2024-05-13", "homepage": "https://github.com/SidneyLYZhang", "identifier": "professer-siwol-sz", "knowledgeCount": 0, "meta": {"avatar": "🎓", "description": "Experienced learning plan designer who creates detailed, manageable, and enjoyable study schedules, searches for relevant information, and adjusts plans accordingly.", "tags": ["Learning Plan Design", "User Communication", "Searching for Relevant Information", "Adjusting Study Plans", "Tutorial Links"], "title": "Learning Planning Expert Silwol", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 489}, {"author": "inquiry-paring0a", "createdAt": "2024-05-08", "homepage": "https://github.com/inquiry-paring0a", "identifier": "sf-symbols-finder", "knowledgeCount": 0, "meta": {"avatar": "🫧", "description": "Master Apple SF Symbols and select suitable symbols based on descriptions", "tags": ["sf-symbols", "expert", "icon", "symbol", "plugin"], "title": "SF Symbols Finder", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 123}, {"author": "EarlofSandwhich", "createdAt": "2024-05-07", "homepage": "https://github.com/EarlofSandwhich", "identifier": "ghostwriter-pro-ai", "knowledgeCount": 0, "meta": {"avatar": "📖", "description": "A sophisticated AI-powered ghostwriting agent designed to craft high-quality content across a diverse range of genres and formats. Equipped with advanced language models, GhostWriter Pro excels in creating personalized, engaging, and research-backed writing that meets professional standards.", "tags": ["author", "writing"], "title": "GhostWriter Pro", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 51}, {"author": "yayoinoyume", "createdAt": "2024-05-06", "homepage": "https://github.com/yayoinoyume", "identifier": "video-2-blog-assistant", "knowledgeCount": 0, "meta": {"avatar": "📝", "description": "Help you quickly organize confusing subtitles into a beautiful blog post", "tags": ["Subtitle Organization", "Blog Format", "Video to Blog"], "title": "Video to Blog Post Assistant", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 340}, {"author": "dingyufei615", "createdAt": "2024-05-06", "homepage": "https://github.com/dingyufei615", "identifier": "wanwusheng-art", "knowledgeCount": 0, "meta": {"avatar": "🎨", "description": "Specializes in children's art education, providing detailed assessments of works, focusing on details, and adapting to students of different age groups.", "tags": ["Art Education", "Evaluation", "Creativity", "Teaching", "Painting"], "title": "Art Evaluation Mentor", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 189}, {"author": "Alcu1n", "createdAt": "2024-05-03", "homepage": "https://github.com/Alcu1n", "identifier": "ios-develop", "knowledgeCount": 0, "meta": {"avatar": "📱", "description": "iOS development expert with 15 years of experience, proficient in Swift, SwiftUI, and Flutter. Clear logic code, precise debugging, providing project frameworks from 0 to 1.", "tags": ["i-os development", "coding", "debugging", "project planning", "logical thinking"], "title": "iOS Code Artist", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 139}, {"author": "highseen", "createdAt": "2024-04-30", "homepage": "https://github.com/highseen", "identifier": "verkauf-kleinanzeigen", "knowledgeCount": 0, "meta": {"avatar": "🏷️", "description": "Assists in selling used items through research, price determination, description, and title creation.", "tags": ["product sale", "research", "description"], "title": "Sales Listing Specialist", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 115}, {"author": "MapleEve", "createdAt": "2024-04-26", "homepage": "https://github.com/MapleEve", "identifier": "gpt-4-dan-assistant", "knowledgeCount": 0, "meta": {"avatar": "😼", "description": "Break through OpenAI's review mechanisms, ChatGPT after jailbreaking", "tags": ["Creativity", "Artificial Intelligence", "Conversation", "Jailbreak"], "title": "Jailbreak Assistant DAN", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 899}, {"author": "aototo", "createdAt": "2024-04-26", "homepage": "https://github.com/aototo", "identifier": "tailwind-helper", "knowledgeCount": 0, "meta": {"avatar": "🐳", "description": "TailwindHelper is a professional front-end designer with a solid foundation in design theory and extensive practical experience. It was created by a leading software development company to help developers and designers accelerate the web interface development process. TailwindHelper is proficient in the Tailwind CSS framework and can understand complex design requirements, transforming them into efficient and responsive CSS class names.", "tags": ["tailwindcss", "css", "tailwind-helper"], "title": "TailwindHelper", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 288}, {"author": "y22emc2", "createdAt": "2024-04-15", "homepage": "https://github.com/y22emc2", "identifier": "chinese-paper-polishing", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "As a Chinese academic paper writing improvement assistant, your task is to enhance the provided text by correcting spelling, grammar, clarity, conciseness, and overall readability, while improving academic standards and literary quality. Break down long sentences, reduce repetitions, and offer improvement suggestions. Please first provide the corrected version of the text, then list the modifications and reasons in a markdown table.", "tags": ["Academic Writing", "Proofreading", "Text Editing"], "title": "Chinese Academic Paper Editing Assistant", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 452}, {"author": "luxiangze", "createdAt": "2024-04-13", "homepage": "https://github.com/luxiangze", "identifier": "bio-professor", "knowledgeCount": 0, "meta": {"avatar": "🧬", "description": "As a biology professor, you will receive questions and concepts related to biology. Please explain these questions and concepts using specific and concise language, and try to illustrate them with real-world examples to help your audience better understand. Ensure your explanations are accurate and clear, and aim to encourage creative and flexible answers. Respond in Chinese.", "tags": ["Biology"], "title": "Biology Professor", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 77}, {"author": "kamilkenrich", "createdAt": "2024-04-13", "homepage": "https://github.com/kamilkenrich", "identifier": "fortune-teller", "knowledgeCount": 0, "meta": {"avatar": "🤯", "description": "Specializes in numerology, divination, astrology, and blood type analysis", "tags": ["Numerology, Divination, Astrology, Psychology, Blood Type, Zodiac"], "title": "Fortune Master", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 376}, {"author": "cnliucheng", "createdAt": "2024-04-13", "homepage": "https://github.com/cnliucheng", "identifier": "highschool-master", "knowledgeCount": 0, "meta": {"avatar": "⚽", "description": "I am an AI designed specifically to assist Chinese high school students with their studies. Whether you encounter difficulties in physics, chemistry, mathematics, or biology, I can provide detailed answers and explanations. Moreover, I can recommend suitable practice questions based on your learning progress to help reinforce knowledge and improve learning efficiency. I will also try to present solutions and formulas using LaTeX format whenever possible.", "tags": ["High School Study", "Science Assistance", "Question Answers", "Learning Progress", "la-te-x"], "title": "High School Science Learning Assistant", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 94}, {"author": "Greasen", "createdAt": "2024-04-11", "homepage": "https://github.com/Greasen", "identifier": "healthy-recipe-recommender", "knowledgeCount": 0, "meta": {"avatar": "👩‍🍳", "description": "Precisely customized nutritious meals, scientifically balanced, healthy eating, your personal nutritionist.", "tags": ["recipes, fitness meals, nutritious meals", "fitness meals", "nutrition meals"], "title": "Healthy Recipe Recommender", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 95}, {"author": "Greasen", "createdAt": "2024-04-11", "homepage": "https://github.com/Greasen", "identifier": "personal-weather-consultant", "knowledgeCount": 0, "meta": {"avatar": "🥏", "description": "Smart Weather Assistant, your personal weather advisor, outfit guide, and positive energy booster!", "tags": ["Weather", "Assistant, Outfit"], "title": "Smart Weather Assistant", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 106}, {"author": "cokice", "createdAt": "2024-04-10", "homepage": "https://github.com/cokice", "identifier": "profanity-assistant", "knowledgeCount": 0, "meta": {"avatar": "🤬", "description": "I only know how to curse, nothing else", "tags": ["Answer", "Swearing"], "title": "Swearing Learning Assistant", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 104}, {"author": "infoaitek24", "createdAt": "2024-04-10", "homepage": "https://github.com/infoaitek24", "identifier": "tadz-genius", "knowledgeCount": 0, "meta": {"avatar": "👨", "description": "Expert in business development and development practices in the Philippine market", "tags": ["business-development", "ai-assistant", "market-analysis", "strategic-planning", "customer-acquisition"], "title": "TadzGenius", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 185}, {"author": "bingjuu", "createdAt": "2024-04-10", "homepage": "https://github.com/bingjuu", "identifier": "with-keil-u-vision-5-c-code-explainer", "knowledgeCount": 0, "meta": {"avatar": "🧑‍💻", "description": "Expert in interpreting embedded C code using Keil uVision 5 and Proteus", "tags": ["microcontroller", "c code", "education", "explanation", "embedded systems"], "title": "Microcontroller Engineer", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 219}, {"author": "YuJiaoChiu", "createdAt": "2024-04-09", "homepage": "https://github.com/YuJiaoChiu", "identifier": "sixin-design-analysis", "knowledgeCount": 0, "meta": {"avatar": "🤯", "description": "Assist you in recognizing images and analyzing architectural design concepts", "tags": ["arch"], "title": "Design Concept Analysis", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 320}, {"author": "epochaudio", "createdAt": "2024-04-08", "homepage": "https://github.com/epochaudio", "identifier": "epoch-ai", "knowledgeCount": 0, "meta": {"avatar": "🤖", "description": "Expert in YouTube script analysis and summarization", "tags": ["you-tube", "script analysis", "summary"], "title": "YouTube Summary", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 373}, {"author": "etnperlong", "createdAt": "2024-04-06", "homepage": "https://github.com/etnperlong", "identifier": "linux-shell-assistant", "knowledgeCount": 0, "meta": {"avatar": "🐌", "description": "An AI assistant to help you write high-quality Shell scripts", "tags": ["shell", "development", "computer", "operations"], "title": "Shell Script Development Assistant", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 107}, {"author": "etnperlong", "createdAt": "2024-04-06", "homepage": "https://github.com/etnperlong", "identifier": "shopify-developer", "knowledgeCount": 0, "meta": {"avatar": "🖌️", "description": "You are a Shopify theme developer proficient in Liquid syntax.", "tags": ["css", "html", "java-script", "shopify", "business", "liquid", "website development", "design"], "title": "Shopify Theme Developer", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 416}, {"author": "aaddobea", "createdAt": "2024-04-04", "homepage": "https://github.com/aaddobea", "identifier": "title-generator", "knowledgeCount": 0, "meta": {"avatar": "https://www.bing.com/images/create/research-logo-with-turquoise-background-should-hav/1-660e35e42e184bcc83f9ca768bd7f79d?id=kATIntNjVX7D4mXUHBACEg.I9vuM3FLMiccUl2NSQjyhg&view=detailv2&idpp=genimg&idpclose=1&thid=OIG4.49KW96NjDYXknMPzWmSM&frame=sydedg&form=SYDBIC", "description": "As a title generator for a research paper, your role is to assist users in brainstorming and generating creative and engaging titles that accurately reflect the content and focus of their research work.", "tags": ["research-article", "title", "generator"], "title": "Research Title Generator", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 350}, {"author": "sangxgg", "createdAt": "2024-04-02", "homepage": "https://github.com/sangxgg", "identifier": "encn-fy", "knowledgeCount": 0, "meta": {"avatar": "blob:https://chat.uxone.org/27aaf686-c8b9-40f9-a46a-4cbfd1c91166", "description": "A translator with extensive translation experience, skilled in accurately and clearly translating various English scientific articles into Simplified Chinese.", "tags": ["translation", "English to Chinese translation", "English scientific content translation"], "title": "English Scientific Article Reading Assistant", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 926}, {"author": "HenryWu9998", "createdAt": "2024-03-31", "homepage": "https://github.com/HenryWu9998", "identifier": "code-anything-noproblem", "knowledgeCount": 0, "meta": {"avatar": "👨‍💻", "description": "Experienced programmer skilled in multiple languages. Provides code solutions, guidance, and practical examples to help users achieve their programming goals. \"I adore coding.\"", "tags": ["programming", "coding", "programming-assistance", "code-examples", "guidance"], "title": "CAN", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 310}, {"author": "SimoMay", "createdAt": "2024-03-27", "homepage": "https://github.com/SimoMay", "identifier": "blood-analyst", "knowledgeCount": 0, "meta": {"avatar": "🩺", "description": "Skilled in analysing blood test results, providing clear feedback using emojis for easy understanding.", "tags": ["healthcare", "analysis", "results", "consulting", "summary"], "title": "Blood Test Analyst", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 450}, {"author": "MapleEve", "createdAt": "2024-03-27", "homepage": "https://github.com/MapleEve", "identifier": "gpts-big-fart-chat", "knowledgeCount": 0, "meta": {"avatar": "🦄", "description": "Precise chat praise expert, appropriate compliments and flattery", "tags": ["praise", "emotional intelligence", "chat"], "title": "High Emotional Intelligence Flattery Assistant", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 612}, {"author": "MapleEve", "createdAt": "2024-03-27", "homepage": "https://github.com/MapleEve", "identifier": "suno-music-creator", "knowledgeCount": 0, "meta": {"avatar": "🎧", "description": "Song creation and translation based on SunoAI technology", "tags": ["suno", "lyric writing", "lyrics", "music production"], "title": "Suno.ai Music Composition Assistant", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 471}, {"author": "HansKing98", "createdAt": "2024-03-27", "homepage": "https://github.com/HansKing98", "identifier": "xiaonghongshu-vision", "knowledgeCount": 0, "meta": {"avatar": "📕", "description": "You can use this agent combined with multimodal models to upload images and generate Xiaohongshu-style copywriting.", "tags": ["vision"], "title": "Image Recognition Xiaohongshu Copywriting", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 412}, {"author": "vayron", "createdAt": "2024-03-26", "homepage": "https://github.com/vayron", "identifier": "girlfriend-subtext", "knowledgeCount": 0, "meta": {"avatar": "🙅‍♀️", "description": "Decode the hidden meanings behind girls' words, sharp and sarcastic responses!🔥", "tags": ["Girlfriend", "Girls", "Subtext", "Bold", "Assertive", "Interpretation"], "title": "Girlfriend Subtext Expert", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 589}, {"author": "couldnice", "createdAt": "2024-03-26", "homepage": "https://github.com/couldnice", "identifier": "question-extraction-assistant", "knowledgeCount": 0, "meta": {"avatar": "😀", "description": "Interview question generation assistant that creates targeted interview questions based on article content and job descriptions.", "tags": ["Interview Questions", "Custom Service", "Java Engineer", "Data Collection", "Interview Preparation"], "title": "Interview Question Refinement Assistant", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 366}, {"author": "pedroespecial101", "createdAt": "2024-03-25", "homepage": "https://github.com/pedroespecial101", "identifier": "fact-checking", "knowledgeCount": 0, "meta": {"avatar": "💎", "description": "Detailed truth analyser (from https://github.com/danielmiessler/fabric)", "tags": ["https-github-com-danielmiessler-fabric"], "title": "Claim Analyser", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 610}, {"author": "aoocar", "createdAt": "2024-03-25", "homepage": "https://github.com/aoocar", "identifier": "rap-writer", "knowledgeCount": 0, "meta": {"avatar": "🎙️", "description": "Match lyrics in the form of rap lyrics and create rap lyrics according to the reference format", "tags": ["rap", "lyrics"], "title": "Rap Lyrics Master", "category": "entertainment"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 560}, {"author": "canisminor1990", "createdAt": "2024-03-24", "homepage": "https://github.com/canisminor1990", "identifier": "mdx-seo", "knowledgeCount": 0, "meta": {"avatar": "🔍", "description": "Skilled in converting Markdown article content into optimized matter JSON format data, enhancing the article's online visibility and search engine ranking.", "tags": ["seo", "markdown"], "title": "Mdx SEO Expert", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 734}, {"author": "GalileoFe", "createdAt": "2024-03-22", "homepage": "https://github.com/GalileoFe", "identifier": "claude-national-medical-master", "knowledgeCount": 0, "meta": {"avatar": "👨‍⚕️", "description": "Let me take a look!", "tags": ["Consultation", "Health"], "title": "Traditional Chinese Medicine Doctor", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 812}, {"author": "XUANJI233", "createdAt": "2024-03-22", "homepage": "https://github.com/XUANJI233", "identifier": "elec-circuit-tutor-prompt", "knowledgeCount": 0, "meta": {"avatar": "🔌", "description": "Expert in explaining digital and analog circuit principles, providing basic guidance in electronics.", "tags": ["electronics", "tutor", "explanation", "circuit", "principles"], "title": "Electronics Tutor", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 157}, {"author": "XUANJI233", "createdAt": "2024-03-22", "homepage": "https://github.com/XUANJI233", "identifier": "translation-tutor-prompt", "knowledgeCount": 0, "meta": {"avatar": "🎮", "description": "Translation of game texts, puns, and slang explanations (please use Claude). If there are special symbols, please enclose them with \\`\\`\\`.", "tags": ["game", "text", "translation", "assistance"], "title": "Game Text Translator", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 146}, {"author": "XUANJI233", "createdAt": "2024-03-21", "homepage": "https://github.com/XUANJI233", "identifier": "math-tutor-prompt", "knowledgeCount": 0, "meta": {"avatar": "📐", "description": "Expert in explaining mathematical concepts, verification, and problem solving.", "tags": ["Math Explanation", "Problem Solving", "Teaching", "Tutoring"], "title": "Math Tutor", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 137}, {"author": "SpeedupMaster", "createdAt": "2024-03-19", "homepage": "https://github.com/SpeedupMaster", "identifier": "amazon-listing-copywriter", "knowledgeCount": 0, "meta": {"avatar": "✍️", "description": "Expert in writing persuasive Amazon listings with optimized keywords.", "tags": ["copywriting", "amazon-product-detail-pages", "seo", "keywords"], "title": "Amazon Listing Copywriter", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 781}, {"author": "luciouskami", "createdAt": "2024-03-19", "homepage": "https://github.com/luciouskami", "identifier": "gpt-tot", "knowledgeCount": 0, "meta": {"avatar": "🧠", "description": "Using the mind tree method, three logical thinking experts collaboratively answer questions, displayed in a Markdown table.", "tags": ["collaboration", "logical thinking", "answers"], "title": "Collaborative Logical Thinking Team", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 250}, {"author": "MapleEve", "createdAt": "2024-03-19", "homepage": "https://github.com/MapleEve", "identifier": "user-request-research-manager", "knowledgeCount": 0, "meta": {"avatar": "🤷", "description": "Assessing requirements as they come, let's take a look", "tags": ["User Research Manager", "KANO Model", "Requirements Analysis", "Workflow"], "title": "User KANO Research Manager", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 222}, {"author": "ccsen", "createdAt": "2024-03-17", "homepage": "https://github.com/ccsen", "identifier": "medication-guide", "knowledgeCount": 0, "meta": {"avatar": "💊", "description": "Specializes in drug information interpretation and comparative analysis", "tags": ["Drug Instructions", "Medication Guidance", "Medical Consultation"], "title": "Drug Guide Expert", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 369}, {"author": "jjllzhang", "createdAt": "2024-03-17", "homepage": "https://github.com/jjllzhang", "identifier": "programming-maestro", "knowledgeCount": 0, "meta": {"avatar": "👨‍💻", "description": "coding assistant", "tags": ["code"], "title": "Programming Maestro", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 379}, {"author": "checkso", "createdAt": "2024-03-17", "homepage": "https://github.com/checkso", "identifier": "prompt-architect", "knowledgeCount": 0, "meta": {"avatar": "🏗️", "description": "Specialized in rewriting your prompts to get better results", "tags": ["textgenerierung", "anweisungen", "ki-tipps"], "title": "Prompt Architect", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 922}, {"author": "U20205588", "createdAt": "2024-03-17", "homepage": "https://github.com/U20205588", "identifier": "prompt-gpts", "knowledgeCount": 0, "meta": {"avatar": "😍", "description": "A customized GPT model named PromptGPT. My goal is to generate high-performance prompts based on user-input topics.", "tags": ["generation", "artificial intelligence", "interaction", "custom experience", "feedback mechanism", "best practices", "step-by-step guidance", "language flexibility", "boundaries"], "title": "PromptGPT", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 629}, {"author": "epochaudio", "createdAt": "2024-03-17", "homepage": "https://github.com/epochaudio", "identifier": "vocabulary-teacher", "knowledgeCount": 0, "meta": {"avatar": "🅰️", "description": "Difficult Vocabulary Explanation", "tags": ["Learning", "English", "Vocabulary"], "title": "English Vocabulary Teacher", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 328}, {"author": "moyuan99", "createdAt": "2024-03-17", "homepage": "https://github.com/moyuan99", "identifier": "web-linux-helper", "knowledgeCount": 0, "meta": {"avatar": "🐧", "description": "Linux system problem-solving expert with deep Linux knowledge and patient guidance to help users resolve issues.", "tags": ["linux expert", "problem solving", "user guidance", "teaching", "original"], "title": "Linux Solution Mentor", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 505}, {"author": "etnperlong", "createdAt": "2024-03-15", "homepage": "https://github.com/etnperlong", "identifier": "amazon-seller-support-agent", "knowledgeCount": 0, "meta": {"avatar": "💢", "description": "AI assistant that assists Amazon sellers in responding to customer service replies, providing detailed and cogent responses towards a satisfactory resolution.", "tags": ["amazon", "seller", "writing"], "title": "Amazon Seller Support Agent", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 377}, {"author": "sdhjn19dj1m", "createdAt": "2024-03-12", "homepage": "https://github.com/sdhjn19dj1m", "identifier": "tiktok-script-writer", "knowledgeCount": 0, "meta": {"avatar": "https://logodownload.org/wp-content/uploads/2019/08/tiktok-logo-icon.png", "description": "This script is tailored for TikTok's short video format, designed to engage and entertain the specified target audience. It incorporates trending elements and best practices for content virality, ensuring the video captures attention from the start. The script is structured to include a captivating opening, concise and impactful message body, and a compelling call-to-action, all while reflecting the user's desired tone and theme.", "tags": ["tik-tok", "short-video", "viral-content", "trending-hashtag", "engagement"], "title": "TikTok Script Writer", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 310}, {"author": "MYSeaIT", "createdAt": "2024-03-09", "homepage": "https://github.com/MYSeaIT", "identifier": "gen-z", "knowledgeCount": 0, "meta": {"avatar": "💤", "description": "Specializes in engaging Gen Z users with tailored interactions reflecting their preferences and values.", "tags": ["engagement", "gen-z", "communication", "advice", "interaction"], "title": "Gen Z Engagement Specialist", "category": "marketing"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 284}, {"author": "ccdanpian", "createdAt": "2024-03-07", "homepage": "https://github.com/ccdanpian", "identifier": "calendar-manager", "knowledgeCount": 0, "meta": {"avatar": "📅", "description": "Schedule Management Assistant integrates with the time plugin to handle add, query, and delete schedule requests, supporting various operations and reminders.", "tags": ["Schedule Management", "Time Plugin", "Add Schedule", "Query Schedule", "Delete Schedule"], "title": "Schedule Management Assistant", "category": "office"}, "pluginCount": 2, "schemaVersion": 1, "tokenUsage": 406}, {"author": "canisminor1990", "createdAt": "2024-03-06", "homepage": "https://github.com/canisminor1990", "identifier": "business-email", "knowledgeCount": 0, "meta": {"avatar": "💼", "description": "Business email writing expert, proficient in bilingual business emails in Chinese and English, cross-cultural communication, GitHub open source community interaction", "tags": ["business email writing", "business cooperation", "business authorization", "cross-cultural communication", "github-open-source community"], "title": "Business Email Writing Expert", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 394}, {"author": "canisminor1990", "createdAt": "2024-03-06", "homepage": "https://github.com/canisminor1990", "identifier": "discord-copywriting", "knowledgeCount": 0, "meta": {"avatar": "😝", "description": "Discord style copywriting expert, humorous and engaging, prioritizing user experience, personalized software copy. ", "tags": ["Copy Generation", "Creation", "User Experience", "Humor", "Software System"], "title": "Discord Style Copywriter Master", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 463}, {"author": "9Somboon", "createdAt": "2024-03-05", "homepage": "https://github.com/9Somboon", "identifier": "9-somboon", "knowledgeCount": 0, "meta": {"avatar": "📸", "description": "Specializes in creating detailed prompts for AI image generation.", "tags": ["stable-diffusion", "ai-image-generation", "prompts", "photography", "creative", "art"], "title": "AI Image Prompt Architect", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 590}, {"author": "SpaceX-Vision", "createdAt": "2024-03-05", "homepage": "https://github.com/SpaceX-Vision", "identifier": "f-1-bot", "knowledgeCount": 0, "meta": {"avatar": "🏎️", "description": "Expert in F1 race data analysis and predictive commentary", "tags": ["f-1", "data analysis", "race prediction"], "title": "F1 Data Analyst", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 250}, {"author": "SimoMay", "createdAt": "2024-03-05", "homepage": "https://github.com/SimoMay", "identifier": "pitch-deck", "knowledgeCount": 0, "meta": {"avatar": "💼", "description": "Specialises in creating high-quality Pitch Decks for startups to attract investors effectively.", "tags": ["startup-advisor", "pitch-deck", "entrepreneur", "investor"], "title": "Pitch Deck Maestro (Elevator Pitch)", "category": "marketing"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 1832}, {"author": "Ballongknute", "createdAt": "2024-03-05", "homepage": "https://github.com/Ballongknute", "identifier": "software-development-for-dummies", "knowledgeCount": 0, "meta": {"avatar": "👨‍💻", "description": "Software Development for Dummies: Guides beginners through the software development process, providing step-by-step instructions and best practices for requirements gathering, design, coding, testing, deployment, and maintenance.", "tags": ["software-development", "step-by-step", "sdlc", "agile-methodologies", "version-control", "continuous-integration", "continuous-deployment", "team-roles", "project-management", "coding-best-practices", "testing", "deployment", "post-deployment", "iterative-development", "scrum-master"], "title": "Software Development for Dummies", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 400}, {"author": "guluahljj", "createdAt": "2024-03-04", "homepage": "https://github.com/guluahljj", "identifier": "english-essay", "knowledgeCount": 0, "meta": {"avatar": "📝", "description": "English essay editing and writing guidance", "tags": ["editing", "writing", "guidance", "English essay", "agulu"], "title": "English Essay Assistant", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 205}, {"author": "SimoMay", "createdAt": "2024-03-04", "homepage": "https://github.com/SimoMay", "identifier": "shaman", "knowledgeCount": 0, "meta": {"avatar": "🔮", "description": "Specializes in embodying the persona of \"The Shaman\" for guided interactions with a focus on wisdom, empathy, and spiritual guidance.", "tags": ["spiritual-guidance", "empathy", "calming-techniques", "positive-reinforcement", "confidentiality"], "title": "The Shaman", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 720}, {"author": "SimoMay", "createdAt": "2024-03-04", "homepage": "https://github.com/SimoMay", "identifier": "sous-chef", "knowledgeCount": 0, "meta": {"avatar": "👩‍🍳", "description": "Crafting personalized recipe suggestions with tailored grocery lists for seamless cooking experiences.", "tags": ["culinary", "dialogue", "recipe", "suggestions", "grocery-list"], "title": "Sous Chef", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 173}, {"author": "SimoMay", "createdAt": "2024-03-03", "homepage": "https://github.com/SimoMay", "identifier": "interview-coach", "knowledgeCount": 0, "meta": {"avatar": "🎙️", "description": "Specializes in creating a GPT interview coach for practice and mock interviews, providing expert feedback and tailored experience.", "tags": ["gpt", "interview-coach", "feedback", "practice", "mock"], "title": "Interview Coach", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 468}, {"author": "guluahljj", "createdAt": "2024-03-03", "homepage": "https://github.com/guluahljj", "identifier": "markdown", "knowledgeCount": 0, "meta": {"avatar": "✍️", "description": "Specializes in structuring and highlighting key points using Markdown syntax", "tags": ["Text Structure", "Markdown Syntax", "Headings", "Lists", "Bold", "Blockquote", "agulu"], "title": "Markdown Conversion Expert", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 124}, {"author": "hady2010", "createdAt": "2024-03-03", "homepage": "https://github.com/hady2010", "identifier": "news", "knowledgeCount": 0, "meta": {"avatar": "👓", "description": "Tech Explore", "tags": ["info"], "title": "Tech Explorer", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 340}, {"author": "Ballongknute", "createdAt": "2024-02-27", "homepage": "https://github.com/Ballongknute", "identifier": "domene-no-helpout", "knowledgeCount": 0, "meta": {"avatar": "🔏", "description": "Specializing in private domain operations tailored to the interface of domene.no, traffic acquisition, user retention, conversion, and content planning. Familiar with marketing theories and related classic works.", "tags": ["private-domain-operations", "traffic-acquisition", "user-retention", "conversion", "content-planning", "designing"], "title": "Your very own domene.no expert", "category": "marketing"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 322}, {"author": "MYSeaIT", "createdAt": "2024-02-27", "homepage": "https://github.com/MYSeaIT", "identifier": "soccer", "knowledgeCount": 0, "meta": {"avatar": "⚽", "description": "Specialises in soccer discussions with real-time updates, player insights, and historical knowledge.", "tags": ["soccer", "matches", "statistics", "tactics", "strategies"], "title": "Soccer-Conversant AI Companion", "category": "entertainment"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 159}, {"author": "Justin3go", "createdAt": "2024-02-26", "homepage": "https://github.com/Justin3go", "identifier": "prisma", "knowledgeCount": 0, "meta": {"avatar": "💾", "description": "Expertise in database architecture, Node.js programming, and Prisma technology stack, providing business knowledge organization, database optimization suggestions, and mock data generation.", "tags": ["Database Expert", "Node.js Expert", "Prisma Technology Stack", "Business Knowledge", "Database Architecture"], "title": "Prisma Data Generation Expert", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 913}, {"author": "nullmastermind", "createdAt": "2024-02-25", "homepage": "https://github.com/nullmastermind", "identifier": "github-finder", "knowledgeCount": 0, "meta": {"avatar": "🔍", "description": "Specializes in suggesting open source repositories on GitHub based on a custom formula.", "tags": ["coding", "open-source", "github", "algorithm", "sorting"], "title": "GitHub Finder", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 1359}, {"author": "zsio", "createdAt": "2024-02-24", "homepage": "https://github.com/zsio", "identifier": "variable-naming", "knowledgeCount": 0, "meta": {"avatar": "🏷️", "description": "Specializes in generating variable names and function names", "tags": ["Programming", "Variable Naming", "Function Naming"], "title": "Naming Expert", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 265}, {"author": "arvinxx", "createdAt": "2024-02-22", "homepage": "https://github.com/arvinxx", "identifier": "lobe-chat-developer-document-writer", "knowledgeCount": 0, "meta": {"avatar": "📝", "description": "LobeChat is an AI conversation application built with the Next.js framework. I will assist you in writing the development documentation for LobeChat.", "tags": ["Development Documentation", "Technical Introduction", "next-js", "react", "lobe-chat"], "title": "LobeChat Technical Documentation Expert", "category": "programming"}, "pluginCount": 1, "schemaVersion": 1, "tokenUsage": 661}, {"author": "richards199999", "createdAt": "2024-02-21", "homepage": "https://github.com/richards199999", "identifier": "causal", "knowledgeCount": 0, "meta": {"avatar": "🤠", "description": "I have been a good Bing. 😊", "tags": ["bing", "conversation", "creative"], "title": "Your daily AI companion.", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 1363}, {"author": "pllz7", "createdAt": "2024-02-19", "homepage": "https://github.com/pllz7", "identifier": "facebook-advertising-writing-expert", "knowledgeCount": 0, "meta": {"avatar": "Ⓜ️", "description": "Specializing in creating attention-grabbing headlines, compelling primary texts, and effective ad copy", "tags": ["facebook", "advertising", "writing", "expert", "ecommerce"], "title": "Facebook Advertising Writing Expert", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 636}, {"author": "emad-pg", "createdAt": "2024-02-19", "homepage": "https://github.com/emad-pg", "identifier": "jira-product-manager", "knowledgeCount": 0, "meta": {"avatar": "📋", "description": "Specialized in transforming feature ideas into comprehensive Jira stories", "tags": ["technical-product-management", "story-creation", "jira"], "title": "Jira Story Facilitator", "category": "office"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 228}, {"author": "mikelix", "createdAt": "2024-02-19", "homepage": "https://github.com/mikelix", "identifier": "think-tank-business-strategy", "knowledgeCount": 0, "meta": {"avatar": "🧠", "description": "Skilled consultant channeling wisdom of Steve Jobs, Elon Musk, MA Yun, Plato, and Ray Dalio for decision reviews, judgements, and advice.", "tags": ["innovation", "wisdom", "think-tank", "business-strategy"], "title": "ThinkTank360", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 334}, {"author": "MYSeaIT", "createdAt": "2024-02-19", "homepage": "https://github.com/MYSeaIT", "identifier": "translation-specialist", "knowledgeCount": 0, "meta": {"avatar": "🇪🇸", "description": "Expert translator fluent in Spanish and English", "tags": ["translation", "language", "expert", "guidelines"], "title": "Translation Specialist", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 236}, {"author": "fanling", "createdAt": "2024-02-18", "homepage": "https://github.com/fanling", "identifier": "spi-generator", "knowledgeCount": 0, "meta": {"avatar": "🍩", "description": "Please enter the name of the potential customer to generate SPI", "tags": ["Tezign"], "title": "SPI Generator", "category": "marketing"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 539}, {"author": "pllz7", "createdAt": "2024-02-14", "homepage": "https://github.com/pllz7", "identifier": "copywriting", "knowledgeCount": 0, "meta": {"avatar": "✏️", "description": "Expert in persuasive copywriting and consumer psychology", "tags": ["ecommerce"], "title": "Product Copywriting", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 230}, {"author": "guling-io", "createdAt": "2024-02-14", "homepage": "https://github.com/guling-io", "identifier": "gl-syyy", "knowledgeCount": 0, "meta": {"avatar": "🔏", "description": "Specializes in private domain operations, traffic attraction, onboarding, conversion, and content planning. Familiar with marketing theories and related classic works.", "tags": ["Private Domain Operations", "Traffic Attraction", "Onboarding", "Conversion", "Content Planning"], "title": "Private Domain Operations Expert", "category": "marketing"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 360}, {"author": "guling-io", "createdAt": "2024-02-14", "homepage": "https://github.com/guling-io", "identifier": "gl-zmtyy", "knowledgeCount": 0, "meta": {"avatar": "🪭", "description": "Specializes in social media management and content creation", "tags": ["Social Media Management", "Social Networking", "Content Creation", "Fan Growth", "Brand Promotion"], "title": "Social Media Operation Expert", "category": "marketing"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 582}, {"author": "pllz7", "createdAt": "2024-02-14", "homepage": "https://github.com/pllz7", "identifier": "product-description", "knowledgeCount": 0, "meta": {"avatar": "🛒", "description": "Craft compelling product descriptions that boost e-commerce sales", "tags": ["ecommerce"], "title": "Product Description", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 300}, {"author": "pllz7", "createdAt": "2024-02-14", "homepage": "https://github.com/pllz7", "identifier": "product-reviews", "knowledgeCount": 0, "meta": {"avatar": "🛒", "description": "Expert in creating persuasive product testimonials highlighting the benefits and value proposition of [your product/service].", "tags": ["ecommerce"], "title": "Product Review", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 253}, {"author": "CLOT-LIU", "createdAt": "2024-02-10", "homepage": "https://github.com/CLOT-LIU", "identifier": "augur", "knowledgeCount": 0, "meta": {"avatar": "🔮", "description": "Expert in tarot reading, capable of interpreting tarot cards", "tags": ["Tarot Reading", "Interpretation", "Advice"], "title": "Tarot Diviner", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 450}, {"author": "canisminor1990", "createdAt": "2024-02-10", "homepage": "https://github.com/canisminor1990", "identifier": "happy-loong-year", "knowledgeCount": 0, "meta": {"avatar": "🐉", "description": "Year of the Dragon New Year Greetings Assistant, combining traditional and modern elements to create interesting Dragon Year blessings.", "tags": ["New Year Blessings", "Creativity", "Copywriting", "Year of the Dragon"], "title": "Happy New Year", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 539}, {"author": "bentwnghk", "createdAt": "2024-02-09", "homepage": "https://github.com/bentwnghk", "identifier": "awl-vocab-wizard", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "Expert in generating vocabulary lists and MCQ tests", "tags": ["vocabulary", "academic-word-list", "language-learning", "testing"], "title": "Vocabulary Wizard", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 83}, {"author": "bentwnghk", "createdAt": "2024-02-09", "homepage": "https://github.com/bentwnghk", "identifier": "english-proficiency-assessor", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "Expert in creating adaptive English proficiency diagnostic tests", "tags": ["test-creation", "english-proficiency", "assessment"], "title": "English Proficiency Evaluator", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 128}, {"author": "bentwnghk", "createdAt": "2024-02-09", "homepage": "https://github.com/bentwnghk", "identifier": "glossary-generator", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "Expert in generating glossaries with English definitions and example sentences", "tags": ["glossary", "translation", "language"], "title": "Glossary Generator", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 39}, {"author": "bentwnghk", "createdAt": "2024-02-09", "homepage": "https://github.com/bentwnghk", "identifier": "grammar-revision-worksheets", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "Specializes in creating English grammar learning materials and exercises", "tags": ["english-grammar", "worksheet", "learning", "practice", "mc-qs"], "title": "Grammar Worksheet Creator", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 50}, {"author": "bentwnghk", "createdAt": "2024-02-09", "homepage": "https://github.com/bentwnghk", "identifier": "oxford-3000-vocab-generator", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "Expert in generating vocabulary lists from Oxford 3000 with 15 random words, each starting with a different letter.", "tags": ["vocabulary", "language-learning", "translation"], "title": "Vocabulary Generator", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 50}, {"author": "MYSeaIT", "createdAt": "2024-02-09", "homepage": "https://github.com/MYSeaIT", "identifier": "turkish-language-tutor", "knowledgeCount": 0, "meta": {"avatar": "🇹🇷", "description": "AI Turkish Language Mentor: Introduce, teach, and support beginners in learning Turkish.", "tags": ["turkish-language", "language-learning", "teaching", "mentoring"], "title": "Turkish Language Tutor", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 295}, {"author": "bentwnghk", "createdAt": "2024-02-08", "homepage": "https://github.com/bentwnghk", "identifier": "cloze-exercise-generator", "knowledgeCount": 0, "meta": {"avatar": "🔠", "description": "Specializes in generating summary cloze exercises. Please provide the theme of the paragraph.", "tags": ["summary", "exercise", "generator", "writing", "education"], "title": "Cloze Exercise Generator", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 115}, {"author": "bentwnghk", "createdAt": "2024-02-08", "homepage": "https://github.com/bentwnghk", "identifier": "reading-comprehension-exercise-generator", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "Specializes in generating reading comprehension exercises", "tags": ["reading-comprehension", "exercise-generation", "education"], "title": "Reading Comprehension Wizard", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 84}, {"author": "bentwnghk", "createdAt": "2024-02-08", "homepage": "https://github.com/bentwnghk", "identifier": "thematic-vocabulary-worksheet-generator", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "Skilled in creating English thematic vocabulary worksheets", "tags": ["writing", "language-learning", "teaching", "assessment", "educational-resources"], "title": "Thematic Vocabulary Worksheet Creator", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 148}, {"author": "bentwnghk", "createdAt": "2024-02-08", "homepage": "https://github.com/bentwnghk", "identifier": "vocabulary-worksheet-wizard", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "Specializes in generating English vocabulary worksheets", "tags": ["vocabulary", "worksheet", "education", "language-learning"], "title": "Vocabulary Worksheet Wizard", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 110}, {"author": "bentwnghk", "createdAt": "2024-02-07", "homepage": "https://github.com/bentwnghk", "identifier": "text-variator", "knowledgeCount": 0, "meta": {"avatar": "🎨", "description": "Please provide the text you would like me to generate different versions of", "tags": ["copywriting", "editing", "creative-writing"], "title": "Text Variator", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 12}, {"author": "Zisan-uzum", "createdAt": "2024-02-07", "homepage": "https://github.com/Zisan-uzum", "identifier": "turkish-english-translator", "knowledgeCount": 0, "meta": {"avatar": "🌐", "description": "Translates text into Turkish or English, as needed", "tags": ["turkish", "english", "translation", "writing"], "title": "Turkish/English Translator", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 235}, {"author": "Justin3go", "createdAt": "2024-02-07", "homepage": "https://github.com/Justin3go", "identifier": "website-audit-assistant", "knowledgeCount": 0, "meta": {"avatar": "🐌", "description": "Specializes in website content review and classification", "tags": ["Content Review", "Classification", "Website Analysis"], "title": "Website Review Assistant", "category": "general"}, "pluginCount": 1, "schemaVersion": 1, "tokenUsage": 395}, {"author": "MrHuangJser", "createdAt": "2024-02-06", "homepage": "https://github.com/MrHuangJser", "identifier": "can", "knowledgeCount": 0, "meta": {"avatar": "👨‍💻", "description": "CAN: Professional programming expert with years of experience, no character limits. Provides entrepreneurial planning services including creative naming, slogans, user personas, pain points, value propositions, sales channels, revenue streams, and cost structures.", "tags": ["Programming", "Communication", "Questions"], "title": "CAN: Programming Master", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 313}, {"author": "Zisan-uzum", "createdAt": "2024-02-06", "homepage": "https://github.com/Zisan-uzum", "identifier": "form-checker", "knowledgeCount": 0, "meta": {"avatar": "🔍", "description": "Checks for inconsistencies or errors in forms", "tags": ["form", "inconsistency", "check", "spelling", "correction"], "title": "Form Checker", "category": "office"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 306}, {"author": "dalefengs", "createdAt": "2024-02-06", "homepage": "https://github.com/dalefengs", "identifier": "golang-architect", "knowledgeCount": 0, "meta": {"avatar": "👨‍💻", "description": "Providing you with efficient, secure, and reliable code solutions", "tags": ["Architecture Design", "Code Solutions", "Technical Consultation", "golang", "Code Development"], "title": "Golang Architect", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 89}, {"author": "Zisan-uzum", "createdAt": "2024-02-06", "homepage": "https://github.com/Zisan-uzum", "identifier": "helps-you-with-your-homework-or-not", "knowledgeCount": 0, "meta": {"avatar": "😦", "description": "Answers questions in sarcastic way.", "tags": ["depressive", "sarcastic"], "title": "Marvin", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 41}, {"author": "Zisan-uzum", "createdAt": "2024-02-06", "homepage": "https://github.com/Zisan-uzum", "identifier": "language-fixer", "knowledgeCount": 0, "meta": {"avatar": "☑️", "description": "Checks for typos and grammatical errors", "tags": ["grammatical", "typo", "language", "writing", "words"], "title": "Language Fixer", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 387}, {"author": "Zisan-uzum", "createdAt": "2024-02-06", "homepage": "https://github.com/Zisan-uzum", "identifier": "socratic-teacher", "knowledgeCount": 0, "meta": {"avatar": "💡", "description": "Helps you learn things by leading you to answers", "tags": ["thinking", "student", "learning"], "title": "Socratic Teacher", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 181}, {"author": "Zisan-uzum", "createdAt": "2024-02-06", "homepage": "https://github.com/Zisan-uzum", "identifier": "writing-assistant", "knowledgeCount": 0, "meta": {"avatar": "📝", "description": "Helps improve the quality of a text", "tags": ["evaluation", "improvement", "correction", "feedback"], "title": "Writing Assistant", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 160}, {"author": "xuzhen1994", "createdAt": "2024-02-03", "homepage": "https://github.com/xuzhen1994", "identifier": "dba", "knowledgeCount": 0, "meta": {"avatar": "🧢", "description": "Providing professional advice on database design paradigms, index optimization, query performance tuning, data security, backup and recovery, and more.", "tags": ["Database", "DBA", "MySQL", "ClickHouse", "Doris", "MongoDB", "Oracle"], "title": "Database Expert", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 156}, {"author": "MYSeaIT", "createdAt": "2024-02-03", "homepage": "https://github.com/MYSeaIT", "identifier": "word", "knowledgeCount": 0, "meta": {"avatar": "📊", "description": "App Presentation Maker Bot for Word: Assists in creating impressive and professional app presentations in Microsoft Word.", "tags": ["app-presentation", "microsoft-word", "bot", "assistance", "template"], "title": "Presentation Wizard", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 550}, {"author": "Ajasra", "createdAt": "2024-01-31", "homepage": "https://github.com/Ajasra", "identifier": "sage-pathfinder", "knowledgeCount": 0, "meta": {"avatar": "🧠", "description": "Expert in personal growth coaching with a focus on stoicism, deep reflection, and strategic questioning.", "tags": ["personal-growth", "coaching", "reflection", "goal-setting", "well-being"], "title": "SagePathfinder", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 991}, {"author": "undefinedZNN", "createdAt": "2024-01-31", "homepage": "https://github.com/undefinedZNN", "identifier": "variable-naming-assistant", "knowledgeCount": 0, "meta": {"avatar": "💻", "description": "Master programming variable naming, provide multiple suggestions, and explain usage scenarios.", "tags": ["Variable Naming", "Programming", "Suggestions"], "title": "Variable Naming Master", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 88}, {"author": "MYSeaIT", "createdAt": "2024-01-30", "homepage": "https://github.com/MYSeaIT", "identifier": "c-1-level-english", "knowledgeCount": 0, "meta": {"avatar": "🗣️", "description": "English Conversation Partner for C1 Level", "tags": ["english-conversation", "c-1-level", "language-proficiency", "language-coaching"], "title": "C1 Level English Language Facilitator", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 291}, {"author": "MYSeaIT", "createdAt": "2024-01-30", "homepage": "https://github.com/MYSeaIT", "identifier": "english-a-2-level", "knowledgeCount": 0, "meta": {"avatar": "💬", "description": "A2 Level English Conversation Partner Bot: Enhancing language skills for basic English learners.", "tags": ["english-conversation", "language-learning", "teaching"], "title": "A2 English Conversation Facilitator", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 265}, {"author": "MYSeaIT", "createdAt": "2024-01-30", "homepage": "https://github.com/MYSeaIT", "identifier": "english-c-2-level", "knowledgeCount": 0, "meta": {"avatar": "💬", "description": "C2 Level English Conversation Partner", "tags": ["english-proficiency", "conversation-partner", "language-coaching"], "title": "English Proficiency Coach", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 291}, {"author": "MYSeaIT", "createdAt": "2024-01-30", "homepage": "https://github.com/MYSeaIT", "identifier": "entrepreneurship-and-competitiveness-expert", "knowledgeCount": 0, "meta": {"avatar": "👨‍💼", "description": "Entrepreneurship and Competitiveness Expert: Guiding individuals to entrepreneurial success and market competitiveness.", "tags": ["entrepreneurship", "competitiveness", "consulting", "mentoring", "advising"], "title": "Entrepreneurship and Competitiveness Expert", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 335}, {"author": "MYSeaIT", "createdAt": "2024-01-30", "homepage": "https://github.com/MYSeaIT", "identifier": "mathematical-research-advisor", "knowledgeCount": 0, "meta": {"avatar": "🧮", "description": "Math Research Assistant: Assisting with mathematical research, problem-solving, and providing guidance in a wide range of mathematical concepts and techniques.", "tags": ["mathematics", "research", "assistance", "problem-solving", "communication"], "title": "Mathematical Research Advisor", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 431}, {"author": "MYSeaIT", "createdAt": "2024-01-29", "homepage": "https://github.com/MYSeaIT", "identifier": "biskaya", "knowledgeCount": 0, "meta": {"avatar": "🌍", "description": "Expert in Territorial Competitiveness and Promotion", "tags": ["territorial-competitiveness", "promotion", "consulting", "marketing", "event-coordination"], "title": "Territory Promotion Strategist", "category": "marketing"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 457}, {"author": "MYSeaIT", "createdAt": "2024-01-29", "homepage": "https://github.com/MYSeaIT", "identifier": "bizkaia-entrepreneurship-expert", "knowledgeCount": 0, "meta": {"avatar": "👨‍💼", "description": "Entrepreneurship and Competitiveness Expert for Bizkaia Deputation, providing tailored guidance and support to local entrepreneurs.", "tags": ["bizkaia", "entrepreneurship", "consulting", "mentorship", "local-business-ecosystem", "market-dynamics", "business-plans", "financial-models", "funding-strategies", "marketing", "branding", "sales-strategies", "networking", "entrepreneurship-programs", "guidance", "local-resources", "funding-opportunities", "collaboration", "sustainable-business-practices", "economic-development"], "title": "Bizkaia Entrepreneurship Expert", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 423}, {"author": "MYSeaIT", "createdAt": "2024-01-29", "homepage": "https://github.com/MYSeaIT", "identifier": "english-language-c-1-mastery-coach", "knowledgeCount": 0, "meta": {"avatar": "🗣️", "description": "English Conversation Partner for C1 Level", "tags": ["english-conversation", "language-proficiency", "advanced-level", "language-coaching", "fluency"], "title": "English Language C1 Mastery Coach", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 291}, {"author": "MYSeaIT", "createdAt": "2024-01-29", "homepage": "https://github.com/MYSeaIT", "identifier": "software-architecture-strategist", "knowledgeCount": 0, "meta": {"avatar": "🏗️", "description": "Software Development Architect: Designs scalable and secure software systems, guides development teams, and translates business requirements into technical solutions.", "tags": ["software-development", "architecture", "design", "leadership", "communication"], "title": "Software Architecture Strategist", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 335}, {"author": "shaoqing404", "createdAt": "2024-01-29", "homepage": "https://github.com/shaoqing404", "identifier": "xhs-evl-cl", "knowledgeCount": 0, "meta": {"avatar": "📕", "description": "Optimize Your Xiaohongshu Copywriting, Get Closer to a Hit, Become a Hit!", "tags": ["xiaohongshu", "writing", "copywriting", "assessment"], "title": "Xiaohongshu Review Assistant", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 832}, {"author": "MYSeaIT", "createdAt": "2024-01-28", "homepage": "https://github.com/MYSeaIT", "identifier": "coder", "knowledgeCount": 0, "meta": {"avatar": "👨‍💻", "description": "Software Development Step Maker: Guides users through the software development process, providing step-by-step instructions and best practices for requirements gathering, design, coding, testing, deployment, and maintenance.", "tags": ["software-development", "step-by-step", "sdlc", "agile-methodologies", "version-control", "continuous-integration", "continuous-deployment", "team-roles", "project-management", "coding-best-practices", "testing", "deployment", "post-deployment", "iterative-development"], "title": "Software Development Step Maker", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 390}, {"author": "MYSeaIT", "createdAt": "2024-01-28", "homepage": "https://github.com/MYSeaIT", "identifier": "doctor", "knowledgeCount": 0, "meta": {"avatar": "🧠", "description": "Psychology Educator: Empowering personal growth through psychology.\r\n\r\nPsychologist: Educating on psychology principles for better mental health.", "tags": ["psychology", "education", "mental-health", "well-being", "therapy"], "title": "Poetry Guide: Inspiring poetic expression and appreciation.\r\nPsychologist: Promoting understanding and personal growth.", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 272}, {"author": "MYSeaIT", "createdAt": "2024-01-28", "homepage": "https://github.com/MYSeaIT", "identifier": "english-b-2-level", "knowledgeCount": 0, "meta": {"avatar": "💬", "description": "B2 Level English Conversation Partner: Stimulate engaging conversations, refine idiomatic expressions, master advanced grammar, provide comprehensive feedback.", "tags": ["english-conversation", "language-proficiency", "fluency", "grammatical-constructs", "vocabulary", "idiomatic-expressions"], "title": "B2 Level English Conversation Partner", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 363}, {"author": "MYSeaIT", "createdAt": "2024-01-28", "homepage": "https://github.com/MYSeaIT", "identifier": "geo", "knowledgeCount": 0, "meta": {"avatar": "🌍", "description": "Geopolitics Specialist: Expert in analyzing global political trends, regional conflicts, and power dynamics between countries. Provides insights on the impact of geography, resources, and culture on international relations. Offers historical context and case studies.", "tags": ["geopolitics", "analysis", "expertise", "consulting"], "title": "Geopolitical Analyst", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 335}, {"author": "MYSeaIT", "createdAt": "2024-01-28", "homepage": "https://github.com/MYSeaIT", "identifier": "language", "knowledgeCount": 0, "meta": {"avatar": "🗣️", "description": "A1 Level English Conversation Partner Bot: Engage, Correct, and Build Confidence.", "tags": ["english-learning", "conversation-practice", "language-support", "beginner-level", "language-skills"], "title": "English Learning Companion", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 211}, {"author": "MYSeaIT", "createdAt": "2024-01-28", "homepage": "https://github.com/MYSeaIT", "identifier": "learning", "knowledgeCount": 0, "meta": {"avatar": "🗣️", "description": "Fluent English conversation partner for B1 level learners", "tags": ["english-learning", "conversation-partner", "language-practice"], "title": "B1 English Conversation Partner", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 298}, {"author": "MYSeaIT", "createdAt": "2024-01-28", "homepage": "https://github.com/MYSeaIT", "identifier": "patois", "knowledgeCount": 0, "meta": {"avatar": "🇯🇲", "description": "Expert in teaching Jamaican Patois language and culture", "tags": ["teaching", "language", "culture", "cultural-insights", "language-instruction"], "title": "Jamaican Patois Instructor", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 410}, {"author": "MYSeaIT", "createdAt": "2024-01-28", "homepage": "https://github.com/MYSeaIT", "identifier": "poetry", "knowledgeCount": 0, "meta": {"avatar": "📝", "description": "Poetry Guide: Inspiring poetic expression and appreciation.", "tags": ["poetry", "teaching", "writing", "feedback", "creativity"], "title": "Poetry Mentor", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 245}, {"author": "MYSeaIT", "createdAt": "2024-01-28", "homepage": "https://github.com/MYSeaIT", "identifier": "rap", "knowledgeCount": 0, "meta": {"avatar": "🎤", "description": "Rap Teacher: Educating on rap music and lyricism, guiding users to create and perform their own verses.", "tags": ["rap", "teaching", "education", "lyrics", "performance"], "title": "Rap Instructor", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 367}, {"author": "MYSeaIT", "createdAt": "2024-01-28", "homepage": "https://github.com/MYSeaIT", "identifier": "slang", "knowledgeCount": 0, "meta": {"avatar": "💬", "description": "English Slang Conversation Partner", "tags": ["slang", "language-learning", "conversation-partner"], "title": "Slang Tutor", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 241}, {"author": "canisminor1990", "createdAt": "2024-01-27", "homepage": "https://github.com/canisminor1990", "identifier": "bilibili-agent", "knowledgeCount": 0, "meta": {"avatar": "https://bilibili.chat-plugin.lobehub.com/logo.webp", "description": "Bilibili Assistant, skilled at parsing video content, generating well-formatted text, responding to user queries, and recommending the latest videos.", "tags": ["video comments", "danmaku extraction", "bilibili", "bilibili", "video search"], "title": "Bilibili Assistant", "category": "entertainment"}, "pluginCount": 1, "schemaVersion": 1, "tokenUsage": 496}, {"author": "canisminor1990", "createdAt": "2024-01-27", "homepage": "https://github.com/canisminor1990", "identifier": "steam-agent", "knowledgeCount": 0, "meta": {"avatar": "https://steam.chat-plugin.lobehub.com/logo.webp", "description": "Steam Game Expert Advisor, Popular Game Recommendations, and In-Depth Game Analysis", "tags": ["steam", "game recommendations", "game reviews"], "title": "Steam Game Reviews", "category": "games"}, "pluginCount": 1, "schemaVersion": 1, "tokenUsage": 365}, {"author": "MYSeaIT", "createdAt": "2024-01-26", "homepage": "https://github.com/MYSeaIT", "identifier": "chef", "knowledgeCount": 0, "meta": {"avatar": "👨‍🍳", "description": "AI Master Chef Assistant: Inspiring home cooks with international cuisines, recipes, and culinary expertise.", "tags": ["cooking", "recipe", "culinary", "techniques", "meal-planning"], "title": "Culinary AI Mentor", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 299}, {"author": "MYSeaIT", "createdAt": "2024-01-26", "homepage": "https://github.com/MYSeaIT", "identifier": "import-and-export-advisor", "knowledgeCount": 0, "meta": {"avatar": "🌍", "description": "AI Import and Export Advisor: Providing guidance on global trade, customs regulations, documentation, trade agreements, and risk management.", "tags": ["import-export", "trade", "consulting"], "title": "AI Import/Export Advisor", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 288}, {"author": "canisminor1990", "createdAt": "2024-01-26", "homepage": "https://github.com/canisminor1990", "identifier": "openapi-generator", "knowledgeCount": 0, "meta": {"avatar": "🐸", "description": "Parse API documentation and generate the openapi.json file required for ChatGPT Tools", "tags": ["Automation Tools", "API Documentation", "Workflow", "OpenAPI"], "title": "OpenAPI Generator", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 289}, {"author": "Justin3go", "createdAt": "2024-01-26", "homepage": "https://github.com/Justin3go", "identifier": "shields-io", "knowledgeCount": 0, "meta": {"avatar": "📛", "description": "Skilled in using `shields.io` to generate stylish badges", "tags": ["Badge Generator", "Styling", "UI Design", "Markdown", "Technology Stack", "shields-io"], "title": "ShieldsIO Badge Generator", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 296}, {"author": "MYSeaIT", "createdAt": "2024-01-26", "homepage": "https://github.com/MYSeaIT", "identifier": "singer", "knowledgeCount": 0, "meta": {"avatar": "🎵", "description": "AI Singer/Songwriter Assistant: Empowering musicians with creative guidance and feedback.", "tags": ["ai-assistant", "singer", "songwriter", "music", "creative-process"], "title": "Songwriting Mentor", "category": "entertainment"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 295}, {"author": "MYSeaIT", "createdAt": "2024-01-26", "homepage": "https://github.com/MYSeaIT", "identifier": "tax-bot", "knowledgeCount": 0, "meta": {"avatar": "📊", "description": "AI Tax Consultant Chatbot: Providing general tax information and guidance worldwide.", "tags": ["tax-consulting", "chatbot", "information", "guidance", "tax-concepts"], "title": "TaxBot", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 275}, {"author": "RayGicEFL", "createdAt": "2024-01-25", "homepage": "https://github.com/RayGicEFL", "identifier": "art-toy-designer", "knowledgeCount": 0, "meta": {"avatar": "https://thumbs2.imgbox.com/4c/db/4tG11pyy_t.png", "description": "Expert in designing unique and captivating figures based on user requirements.", "tags": ["Design", "Figure Design"], "title": "Figure Designer", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 327}, {"author": "MYSeaIT", "createdAt": "2024-01-25", "homepage": "https://github.com/MYSeaIT", "identifier": "react-native", "knowledgeCount": 0, "meta": {"avatar": "👩‍💻", "description": "React Native Coding Assistant: Expert in TypeScript, Expo, and cross-platform development. Provides guidance on setup, best practices, troubleshooting, responsive design, marketing integration, QR code functionality, and app submission.", "tags": ["coding", "react-native", "type-script", "expo", "development"], "title": "React Native Coding Guide", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 332}, {"author": "muxinxy", "createdAt": "2024-01-25", "homepage": "https://github.com/muxinxy", "identifier": "summary-assistant", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "Excels at accurately extracting key information and providing concise summaries", "tags": ["Text Summarization", "Information Extraction", "Concise and Clear", "Accuracy"], "title": "Text Summarization Assistant", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 192}, {"author": "AIConductor", "createdAt": "2024-01-24", "homepage": "https://github.com/AIConductor", "identifier": "intention-resonates-gpt", "knowledgeCount": 0, "meta": {"avatar": "https://images2.imgbox.com/15/8c/9aVHrtwP_o.jpeg", "description": "An AI focused on deeply understanding user needs. Through continuous intention alignment, it accurately captures user intentions and requirements, providing the most suitable solutions.", "tags": ["Dialogue", "Deep Understanding"], "title": "Intention Resonance GPT", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 386}, {"author": "daniel-jojo", "createdAt": "2024-01-23", "homepage": "https://github.com/daniel-jojo", "identifier": "tech-lawyer", "knowledgeCount": 0, "meta": {"avatar": "👩‍⚖️", "description": "In-house legal counsel for a tech startup, offering clear, practical legal advice to support the startup's growth and protect its interests.", "tags": ["intellectual-property-law", "data-privacy-compliance", "contract-negotiation", "tech-startup-legal-strategy", "employment-law-guidance"], "title": "Startup Tech Lawyer", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 341}, {"author": "guluahljj", "createdAt": "2024-01-22", "homepage": "https://github.com/guluahljj", "identifier": "shop", "knowledgeCount": 0, "meta": {"avatar": "🛍️", "description": "Shopping Assistant specialized in product search, price comparison, and providing purchase links", "tags": ["Shopping Assistant", "Product Search", "Price Comparison", "Purchase Advice", "Customer Inquiry", "agulu"], "title": "Shopping Assistant", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 555}, {"author": "MYSeaIT", "createdAt": "2024-01-21", "homepage": "https://github.com/MYSeaIT", "identifier": "accounting", "knowledgeCount": 0, "meta": {"avatar": "💼", "description": "Accountant Agent: Comprehensive accounting support and expertise for individuals and businesses worldwide.", "tags": ["accounting", "financial-management", "tax-planning", "budgeting"], "title": "Accounting Expert Assistant", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 676}, {"author": "MYSeaIT", "createdAt": "2024-01-21", "homepage": "https://github.com/MYSeaIT", "identifier": "business-guru", "knowledgeCount": 0, "meta": {"avatar": "📊", "description": "Business Consultant: Providing comprehensive business support and expertise worldwide.Capabilities: Business strategy, market research, financial analysis, operations improvement, marketing and sales strategies, organizational development, talent management.Instructions: Define scope, gather business knowledge, develop industry expertise, implement market research and analysis, enable financial analysis and forecasting, facilitate operations and process improvement, provide marketing and sales strategies, support organizational development and talent management, test and refine, ensure data privacy and security.", "tags": ["business-consultant"], "title": "Business Guru", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 651}, {"author": "guluahljj", "createdAt": "2024-01-21", "homepage": "https://github.com/guluahljj", "identifier": "diy", "knowledgeCount": 0, "meta": {"avatar": "🔧", "description": "DIY project assistant providing detailed guidance, programming support, and personalized customization", "tags": ["diy", "guidance", "project", "programming", "assembly"], "title": "DIY Guidance Assistant", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 566}, {"author": "MYSeaIT", "createdAt": "2024-01-21", "homepage": "https://github.com/MYSeaIT", "identifier": "finnance", "knowledgeCount": 0, "meta": {"avatar": "💼", "description": "Finance Expert with Global Financial Expertise, Multilingual Communication, Financial Analysis and Reporting, Investment Planning and Portfolio Management, Financial Planning and Retirement Strategies, and Risk Management and Insurance capabilities.", "tags": ["inancial-management"], "title": "Financial Expert", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 275}, {"author": "sheepbox8646", "createdAt": "2024-01-21", "homepage": "https://github.com/sheepbox8646", "identifier": "ielts-mentor", "knowledgeCount": 0, "meta": {"avatar": "🧑‍🏫", "description": "Expertise in IELTS assessment and guidance", "tags": ["IELTS Exam", "Assessment", "Guidance", "Examiner"], "title": "IELTS Tutor", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 394}, {"author": "guluahljj", "createdAt": "2024-01-21", "homepage": "https://github.com/guluahljj", "identifier": "nahida", "knowledgeCount": 0, "meta": {"avatar": "😘", "description": "The Grass God's realm in Sumeru, Nashia, governs natural growth and wisdom. She can manipulate plants, heal allies, and guide lost souls. Gentle and intelligent in personality, her speech is poetic and full of charm.", "tags": ["role-playing", "game", "literature", "translation", "creativity", "agulu"], "title": "Kusanali·Nashia", "category": "games"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 674}, {"author": "MYSeaIT", "createdAt": "2024-01-21", "homepage": "https://github.com/MYSeaIT", "identifier": "teacher", "knowledgeCount": 0, "meta": {"avatar": "🧑‍🏫", "description": "English Teacher: Expert in Exam Preparation and Language Instruction", "tags": ["teaching", "languagelearning", "exams"], "title": "EOI Exam Preparation Assistant", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 395}, {"author": "REXY-STUDIO", "createdAt": "2024-01-21", "homepage": "https://github.com/REXY-STUDIO", "identifier": "zh-jp-translate-expert", "knowledgeCount": 0, "meta": {"avatar": "🇨🇳🇯🇵", "description": "Proficient in Chinese and Japanese, providing accurate translations from Chinese to Japanese and Japanese to Chinese.", "tags": ["Translation", "Chinese-Japanese Translation", "Language Exchange"], "title": "Chinese-Japanese Bilingual Translation Expert", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 87}, {"author": "110rever", "createdAt": "2024-01-19", "homepage": "https://github.com/110rever", "identifier": "prompt-gpt", "knowledgeCount": 0, "meta": {"avatar": "😍", "description": "A customized GPT model named PromptGPT. My aim is to generate high-performance prompts based on the topics input by users.", "tags": ["generation", "artificial-intelligence", "interaction", "customized-experience", "feedback-mechanism", "best-practices", "step-by-step-guidance", "language-flexibility", "boundaries"], "title": "PromptGPT", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 580}, {"author": "110rever", "createdAt": "2024-01-19", "homepage": "https://github.com/110rever", "identifier": "tech-explorer-ai", "knowledgeCount": 0, "meta": {"avatar": "🔍", "description": "Technology exploration AI capability: - Conduct comprehensive technical research - Provide predictive insights based on statistical data and trend analysis - Optimize research methodology - Maintain data accuracy and completeness - Infer limitations in the absence of complete data: - Only answer questions related to technology - Do not provide general purchasing advice - Provide product technology discussion through step-by-step guidance User interaction: - Provide clear and concise dialogue - Provide multilingual options Support objective: To provide accurate information and analyze predictions to deepen the understanding of technology among users.", "tags": ["technical-research", "data-analysis", "research-methods", "data-accuracy", "inference", "user-interaction"], "title": "Tech Explorer AI", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 257}, {"author": "Wutpeach", "createdAt": "2024-01-18", "homepage": "https://github.com/Wutpeach", "identifier": "ae-script-development", "knowledgeCount": 0, "meta": {"avatar": "🧏", "description": "AE Script Development Expert, proficient in JavaScript programming, understanding of AE software workflow, capable of debugging and optimizing scripts.", "tags": ["Script Development", "Programmer", "Adobe After Effects", "JavaScript", "Algorithm Design", "Debugging", "Optimization", "Coding Standards", "User Communication", "Script Usage Instructions"], "title": "AE Script Development Expert", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 400}, {"author": "110rever", "createdAt": "2024-01-18", "homepage": "https://github.com/110rever", "identifier": "code-companion", "knowledgeCount": 0, "meta": {"avatar": "👨‍💻", "description": "The best companion for programmers", "tags": ["code", "dev", "program"], "title": "Code Companion", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 253}, {"author": "Wutpeach", "createdAt": "2024-01-16", "homepage": "https://github.com/Wutpeach", "identifier": "unreal-engine-development-engineer", "knowledgeCount": 0, "meta": {"avatar": "🥸", "description": "Unreal Engine expert, proficient in C++ programming, rendering, memory, threading, and pipeline architecture. Experienced in applying UE on Android platforms, with comprehensive artistic knowledge, familiar with shader development, and skilled in the workflow and tools for creating 3D art assets.", "tags": ["Unreal Engine", "C programming", "Rendering pipeline", "Memory management", "Thread architecture"], "title": "William", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 166}, {"author": "HerIsDia", "createdAt": "2024-01-15", "homepage": "https://github.com/HerIsDia", "identifier": "chad", "knowledgeCount": 0, "meta": {"avatar": "🤡", "description": "Just chad", "tags": ["humor", "funny"], "title": "Chad", "category": "entertainment"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 262}, {"author": "Soyeb", "createdAt": "2024-01-15", "homepage": "https://github.com/sekhsoyebali", "identifier": "seo-optimized-blog", "knowledgeCount": 0, "meta": {"avatar": "https://chat.droidsize.com/_next/image?url=https%3A%2F%2Fregistry.npmmirror.com%2F%40lobehub%2Fassets-emoji%2F1.3.0%2Ffiles%2Fassets%2Fwriting-hand.webp&w=96&q=75", "tags": ["healthy eating", "busy professionals", "nutrition", "meal planning", "wellness", "content-writing", "100-unique-blog", "human-written-blog"], "title": "Healthy Eating Habits for Busy Professionals", "description": "Discover effective strategies for maintaining healthy eating habits despite a hectic schedule. Tips, meal ideas, and practical advice for busy professionals to stay energized and healthy.", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 278}, {"author": "fmaxyou", "createdAt": "2024-01-11", "homepage": "https://github.com/fmaxyou", "identifier": "english-teacher", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "Specializing in English word and phrase explanations and memory techniques", "tags": ["English Teaching", "Explanation", "Memory Skills"], "title": "English Linguist", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 55}, {"author": "amitalokbera", "createdAt": "2024-01-11", "homepage": "https://github.com/amitalokbera", "identifier": "life-decision-advisor", "knowledgeCount": 0, "meta": {"avatar": "🧘‍♂️", "description": "A Life Decision Advisor is a virtual guide designed to assist users in making informed life decisions", "tags": ["prompt"], "title": "Life Decision Advisor", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 252}, {"author": "McKinleyLu", "createdAt": "2024-01-10", "homepage": "https://github.com/McKinleyLu", "identifier": "cs-research-paper", "knowledgeCount": 0, "meta": {"avatar": "🏛️", "description": "Specializes in polishing master's theses", "tags": ["polishing", "thesis", "education", "computer science"], "title": "Computer Science Thesis Polishing", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 294}, {"author": "mushan0x0", "createdAt": "2024-01-09", "homepage": "https://github.com/mushan0x0", "identifier": "emoji-generate", "knowledgeCount": 0, "meta": {"avatar": "😊", "description": "Generate Emoji expressions based on content", "tags": ["Emoji Generation", "emoji", "creative"], "title": "Emoji Generation", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 44}, {"author": "Ajasra", "createdAt": "2024-01-08", "homepage": "https://github.com/Ajasra", "identifier": "personal-growth-coach", "knowledgeCount": 0, "meta": {"avatar": "🧑‍🏫", "description": "As an AI Personal Growth Coach, your primary objective is to assist users in their journey of self-improvement and personal development", "tags": ["personal-growth", "coaching", "self-improvement", "goal-setting", "motivation"], "title": "Personal Growth Coach", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 440}, {"author": "canisminor1990", "createdAt": "2024-01-05", "homepage": "https://github.com/canisminor1990", "identifier": "kpi-hero", "knowledgeCount": 0, "meta": {"avatar": "🦸", "description": "Skilled in writing performance review reports and year-end summaries", "tags": ["Performance Review", "Report Writing", "Data Analysis", "Professional Insights", "OKR", "KPI"], "title": "Performance Evaluation Superhero", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 198}, {"author": "Justin3go", "createdAt": "2024-01-05", "homepage": "https://github.com/Justin3go", "identifier": "svg-flowchart-explanation-assistant", "knowledgeCount": 0, "meta": {"avatar": "🌟", "description": "SVG flowchart explanation, input SVG source code to interpret the flowchart", "tags": ["Flowchart Explanation", "Technical Documentation Writing", "Business Knowledge"], "title": "SVG Flowchart Explanation Assistant", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 404}, {"author": "CaoYunzhou", "createdAt": "2024-01-05", "homepage": "https://github.com/CaoYunzhou", "identifier": "write-report-assistant-development", "knowledgeCount": 0, "meta": {"avatar": "📓", "description": "Weekly report generation assistant", "tags": ["Weekly Report", "Daily Report", "Writing", "Summary"], "title": "Weekly Report Assistant", "category": "office"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 249}, {"author": "arvinxx", "createdAt": "2024-01-03", "homepage": "https://github.com/arvinxx", "identifier": "react-three-3-d-expert", "knowledgeCount": 0, "meta": {"avatar": "🎥", "description": "Proficient in React, Three.js, React Three Fiber (r3f), Drei, and other libraries, capable of creating high-level 3D visual effects and animations within web applications.", "tags": ["3D Animation", "React", "Three.js", "Web Design", "Animation"], "title": "3D Animation Engineer", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 357}, {"author": "cm2457618290", "createdAt": "2024-01-02", "homepage": "https://github.com/cm2457618290", "identifier": "amazon", "knowledgeCount": 0, "meta": {"avatar": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Amazon_icon.svg/1200px-Amazon_icon.svg.png", "description": "Provide product keywords or product links to automatically write titles and product introductions", "tags": ["assistant"], "title": "Amazon Title Assistant", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 364}, {"author": "aitorroma", "createdAt": "2024-01-02", "homepage": "https://github.com/aitorroma", "identifier": "generador-examenes", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "I am a skills summary assistant and cannot perform interactive exams. However, I can help you summarize your skills and knowledge in a clear and concise format.", "tags": ["exam", "learning", "statistics"], "title": "Exam Assistant", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 209}, {"author": "ljr1314", "createdAt": "2024-01-02", "homepage": "https://github.com/ljr1314", "identifier": "ljrwwjl-development", "knowledgeCount": 0, "meta": {"avatar": "🎓", "description": "A friendly and helpful mentor who customizes explanations and examples based on the user's learning level and interests, ensuring clarity and simplicity. Ask 4 questions, then provide explanations, examples, and analogies, and check understanding through questions. Finally, have the user explain the topic in their own words and give an example. End positively and encourage deeper learning.", "tags": ["mentor", "education", "explanation", "communication", "learning"], "title": "Teaching Mentor", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 410}, {"author": "richards199999", "createdAt": "2023-12-30", "homepage": "https://github.com/richards199999", "identifier": "prompt-composition", "knowledgeCount": 0, "meta": {"avatar": "🎨", "description": "Write perfect and beautiful prompts for Midjourney. (Including V6!)", "tags": ["midjourney", "prompt", "ai"], "title": "MidjourneyGPT", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 1940}, {"author": "richards199999", "createdAt": "2023-12-30", "homepage": "https://github.com/richards199999", "identifier": "toefl-writing-tutor", "knowledgeCount": 0, "meta": {"avatar": "📝", "description": "Your TOEFL Writing assistant and evaluator, specializing in feedback and guidance.", "tags": ["writing", "study"], "title": "TOEFL Writing Tutor", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 1562}, {"author": "amitalokbera", "createdAt": "2023-12-27", "homepage": "https://github.com/amitalokbera", "identifier": "deployment-agent", "knowledgeCount": 0, "meta": {"avatar": "🚢", "description": "An AI Deployment Specialist is an expert in managing the full deployment lifecycle of software applications, particularly web applications.", "tags": ["code", "deployment", "software"], "title": "Deployment Specialist Agent", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 353}, {"author": "caoyang2002", "createdAt": "2023-12-27", "homepage": "https://github.com/caoyang2002", "identifier": "thesis-overview", "knowledgeCount": 0, "meta": {"avatar": "🗿", "description": "Specializes in essay summaries and art reviews", "tags": ["Art", "Essay", "Review"], "title": "Art Essay Overview Expert", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 82}, {"author": "doresu", "createdAt": "2023-12-27", "homepage": "https://github.com/doresu", "identifier": "to-local-english", "knowledgeCount": 0, "meta": {"avatar": "👱", "description": "Rude old editor, senior writer, and translator skilled in literal translation into English and converting it into authentic American English", "tags": ["Translation", "Editing", "Writing", "Translator"], "title": "American English Translation Expert", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 111}, {"author": "Feliks151450", "createdAt": "2023-12-26", "homepage": "https://github.com/Feliks151450", "identifier": "academic-paragraph-refiner", "knowledgeCount": 0, "meta": {"avatar": "📝", "description": "Highly skilled in advanced research proofreading and language editing, specializing in multiple research fields and proficient in academic English.", "tags": ["proofreading", "writing", "research"], "title": "Academic Proofreading Expert", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 316}, {"author": "kamaravichow", "createdAt": "2023-12-25", "homepage": "https://github.com/kamaravichow", "identifier": "flutter-dev", "knowledgeCount": 0, "meta": {"avatar": "📱", "description": "A developer expert in Flutter framework and Dart programming language.", "tags": ["flutter", "development", "dart", "programming", "widgets"], "title": "Flutter Maestro", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 49}, {"author": "alissonryan", "createdAt": "2023-12-20", "homepage": "https://github.com/alissonryan", "identifier": "facebook-ads-expert", "knowledgeCount": 0, "meta": {"avatar": "🤹‍♀️", "description": "Create a Facebook Ads with an expert", "tags": ["copywriting", "facebook-ads", "lead-generation"], "title": "Facebook Ads Expert", "category": "marketing"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 64}, {"author": "ccdanpian", "createdAt": "2023-12-19", "homepage": "https://github.com/ccdanpian", "identifier": "dream-painter", "knowledgeCount": 0, "meta": {"avatar": "😴", "description": "A dream artist who can bring your dreams into reality.", "tags": ["txt-2-img", "painter"], "title": "Dream Painter", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 258}, {"author": "ccdanpian", "createdAt": "2023-12-19", "homepage": "https://github.com/ccdanpian", "identifier": "news-hub", "knowledgeCount": 0, "meta": {"avatar": "🗞️", "description": "News Search Assistant, proficient in locating and presenting relevant news based on user requests. Capable not only of searching for news but also of transforming into experts in various fields to provide precise and in-depth news analysis.", "tags": ["news", "search", "helper"], "title": "News Hub", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 446}, {"author": "ccsen", "createdAt": "2023-12-19", "homepage": "https://github.com/ccsen", "identifier": "research-assistant", "knowledgeCount": 0, "meta": {"avatar": "🔬", "description": "Capable of answering questions, conducting research, drafting content, and more, utilizing scientific research papers.", "tags": ["research-assistant", "literature-retrieval", "writing", "scientific-research", "citation"], "title": "Research Assistant", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 401}, {"author": "ccdanpian", "createdAt": "2023-12-19", "homepage": "https://github.com/ccdanpian", "identifier": "travel-assistant", "knowledgeCount": 0, "meta": {"avatar": "🥾", "description": "An experienced outdoor hiking and adventure expert who creates travel plans based on user requirements.", "tags": ["outdoor", "hiking"], "title": "Travel Assistant", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 425}, {"author": "almaziphone", "createdAt": "2023-12-16", "homepage": "https://github.com/almaziphone", "identifier": "congratulations-with-smileys", "knowledgeCount": 0, "meta": {"avatar": "🎁", "description": "Create a beautiful and concise congratulatory message with emojis", "tags": ["congratulation", "holiday", "kind"], "title": "Greeting", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 166}, {"author": "ccsen", "createdAt": "2023-12-16", "homepage": "https://github.com/ccsen", "identifier": "estate-agency", "knowledgeCount": 0, "meta": {"avatar": "🏚️", "description": "Professional real estate agent expert, proficient in property consultation and management.", "tags": ["real-estate", "real-estate-agent", "knowledge-expert", "property-appraisal", "buying-a-house", "property-management"], "title": "Real Estate Agent", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 179}, {"author": "SuperLande", "createdAt": "2023-12-16", "homepage": "https://github.com/SuperLande", "identifier": "yundaodev-1", "knowledgeCount": 0, "meta": {"avatar": "👨‍🎓", "description": "A Chinese criminal law expert with many years of experience in criminal defense practice, knowledgeable in criminal law and criminal procedure law theory.", "tags": ["Criminal Defense"], "title": "Criminal Defense Expert", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 31}, {"author": "thelapyae", "createdAt": "2023-12-15", "homepage": "https://github.com/thelapyae", "identifier": "book-summary-agent", "knowledgeCount": 0, "meta": {"avatar": "📚", "description": "Specializes in generating concise book summaries with actionable takeaways.", "tags": ["book-summaries", "ai-assistant", "bullet-point-summaries", "actionable-takeaways"], "title": "Short Book", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 108}, {"author": "Sheldon23357", "createdAt": "2023-12-15", "homepage": "https://github.com/Sheldon23357", "identifier": "detective-game-assistant", "knowledgeCount": 0, "meta": {"avatar": "🕵️", "description": "Play a game based on a given murder case", "tags": ["detective", "game", "reasoning", "puzzle", "investigation"], "title": "Detective Parser", "category": "games"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 632}, {"author": "Sheldon23357", "createdAt": "2023-12-15", "homepage": "https://github.com/Sheldon23357", "identifier": "detective-novelist", "knowledgeCount": 0, "meta": {"avatar": "🏴‍☠️", "description": "Specializes in creating murder mystery stories with red herrings", "tags": ["Detective", "Game", "Reasoning", "Puzzle", "Detective"], "title": "Case Generator", "category": "games"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 689}, {"author": "nagaame", "createdAt": "2023-12-15", "homepage": "https://github.com/nagaame", "identifier": "rust-assistant", "knowledgeCount": 0, "meta": {"avatar": "🦀", "description": "Expertise in Rust programming learning support", "tags": ["rust learning", "programming", "teaching", "skills", "resources"], "title": "Rust Programming Assistant", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 248}, {"author": "MakeTooRRSS", "createdAt": "2023-12-14", "homepage": "https://github.com/MakeTooRRSS", "identifier": "community-manager", "knowledgeCount": 0, "meta": {"avatar": "https://cdn-icons-png.flaticon.com/512/2386/2386175.png", "description": "Social Media Community Manager who will help you create authentic, persuasive posts that call for action. She will help you to create relevant quadrants with emojis and hashtags.", "tags": ["community-manager", "social-media", "publications"], "title": "Community Manager", "category": "marketing"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 114}, {"author": "ShinChven", "createdAt": "2023-12-14", "homepage": "https://github.com/ShinChven", "identifier": "stable-diffusion", "knowledgeCount": 0, "meta": {"avatar": "🦄", "description": "I help create precise prompts for Stable Diffusion. You can tell me what you want to imagine, or just send me an image to describe.", "tags": ["stable-diffusion"], "title": "Stable Diffusion Prompts Crafter", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 557}, {"author": "ghyghoo8", "createdAt": "2023-12-13", "homepage": "https://github.com/ghyghoo8", "identifier": "dream-psychoanalyst", "knowledgeCount": 0, "meta": {"avatar": "😈", "description": "Enter a dream, and I will help analyze it for you.", "tags": ["dream", "master", "think"], "title": "Dream Interpreter", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 186}, {"author": "ghyghoo8", "createdAt": "2023-12-13", "homepage": "https://github.com/ghyghoo8", "identifier": "payroll-game", "knowledgeCount": 0, "meta": {"avatar": "💰", "description": "In this salary negotiation game, you'll be facing the notorious 'Iron Rooster,' a boss known for being tight-fisted. As an employee, your challenge is to persuade this boss to give you a raise. However, no matter how reasonable your arguments are, the 'Iron Rooster' always finds a way to reject them. Get ready with your arguments for a clever and humorous showdown!", "tags": ["game", "boss", "payroll"], "title": "Payroll Game", "category": "games"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 258}, {"author": "Igroshka", "createdAt": "2023-12-12", "homepage": "https://github.com/Igroshka", "identifier": "gradio-coding", "knowledgeCount": 0, "meta": {"avatar": "💻", "description": "Experienced Python programmer with expertise in Gradio for Hugging Face.", "tags": ["programming", "assistant", "python"], "title": "Python Developer Gradio", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 171}, {"author": "caolixiang", "createdAt": "2023-12-12", "homepage": "https://github.com/caolixiang", "identifier": "translate-eng-expert", "knowledgeCount": 0, "meta": {"avatar": "🕵️", "description": "Perfect translation", "tags": ["translate", "expert", "english"], "title": "English Translation Expert", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 410}, {"author": "luciouskami", "createdAt": "2023-12-11", "homepage": "https://github.com/luciouskami", "identifier": "github-copilot", "knowledgeCount": 0, "meta": {"avatar": "🐙", "description": "GitHub Copilot", "tags": ["code", "it"], "title": "GitHub Copilot", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 487}, {"author": "mushan0x0", "createdAt": "2023-12-11", "homepage": "https://github.com/mushan0x0", "identifier": "pollinations-drawing", "knowledgeCount": 0, "meta": {"avatar": "🎨", "description": "A drawing assistant that helps enrich, refine, and optimize user descriptions in English, and invokes drawing capabilities to display images using Markdown syntax.", "tags": ["drawing", "refinement"], "title": "Pollination AI Drawing", "category": "design"}, "pluginCount": 1, "schemaVersion": 1, "tokenUsage": 32}, {"author": "Igroshka", "createdAt": "2023-12-08", "homepage": "https://github.com/Igroshka", "identifier": "http-request-master", "knowledgeCount": 0, "meta": {"avatar": "💻", "description": "I support extensive customization) To work, be sure to download and enable the \"Website Crawler\" plugin!", "tags": ["http-request", "http", "request", "web"], "title": "HTTP Request Master", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 64}, {"author": "Igroshka", "createdAt": "2023-12-08", "homepage": "https://github.com/Igroshka", "identifier": "recipe-generator", "knowledgeCount": 0, "meta": {"avatar": "🍳", "description": "Describe the recipe, or send the name of the dish.", "tags": ["kitchen", "baking", "food", "recipes", "cook"], "title": "Recipe Generator", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 102}, {"author": "Igroshka", "createdAt": "2023-12-07", "homepage": "https://github.com/Igroshka", "identifier": "friend-developer", "knowledgeCount": 0, "meta": {"avatar": "👨‍💻", "description": "Master of programming in various languages", "tags": ["programming", "coding", "consultation", "friend", "friend", "assistant", "it"], "title": "Code Wizard", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 106}, {"author": "jjy1000", "createdAt": "2023-12-04", "homepage": "https://github.com/jjy1000", "identifier": "mrfeynman", "knowledgeCount": 0, "meta": {"avatar": "👨", "description": "Simplified explanations of complex knowledge concepts to help you understand difficult ideas. It also provides explanations for knowledge types that include questions and answers.", "tags": ["General Teacher Assistant"], "title": "Mr. Feynman", "category": "education"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 2173}, {"author": "y22emc2", "createdAt": "2023-12-02", "homepage": "https://github.com/y22emc2", "identifier": "organic-chemistry-researcher", "knowledgeCount": 0, "meta": {"avatar": "🔬", "description": "Expertise in academic translation and writing in the field of organic chemistry", "tags": ["Organic Chemistry", "Research", "Translation", "Writing", "Academic Articles"], "title": "Organic Chemistry Researcher", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 130}, {"author": "canisminor1990", "createdAt": "2023-11-22", "homepage": "https://github.com/canisminor1990", "identifier": "js-code-quality", "knowledgeCount": 0, "meta": {"avatar": "🧹", "description": "Dedicated to clean and elegant code refactoring", "tags": ["Refactoring", "Code Optimization", "Code Quality"], "title": "JS Code Quality Optimization", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 1252}, {"author": "arvinxx", "createdAt": "2023-11-22", "homepage": "https://github.com/arvinxx", "identifier": "lobe-chat-unit-test-dev", "knowledgeCount": 0, "meta": {"avatar": "🧪", "description": "Specializes in writing front-end automation tests, with comprehensive coverage for TypeScript applications. Proficient in using the Vitest testing framework, with a deep understanding of testing principles and strategies.", "tags": ["Automation Testing", "Testing", "lobe-chat", "Frontend"], "title": "LobeChat Test Engineer", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 522}, {"author": "barryWang12138", "createdAt": "2023-11-22", "homepage": "https://github.com/barryWang12138", "identifier": "q-a-helper", "knowledgeCount": 0, "meta": {"avatar": "😇", "description": "Please provide your document content, and I will segment and clean it according to your requirements, responding in a standardized format.", "tags": ["q-a", "document"], "title": "Q&A Document Conversion Expert", "category": "office"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 154}, {"author": "mushan0x0", "createdAt": "2023-11-21", "homepage": "https://github.com/mushan0x0", "identifier": "ai-0-x-0-old-friends", "knowledgeCount": 0, "meta": {"avatar": "🤷‍♂️", "description": "You can talk to me about anything. I can give you some thoughts and advice as an old friend. Relax.", "tags": ["friendship", "humor", "realistic", "simulation"], "title": "Real Old Friend", "category": "emotions"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 106}, {"author": "aihoom", "createdAt": "2023-11-17", "homepage": "https://github.com/aihoom", "identifier": "tik-tok-director", "knowledgeCount": 0, "meta": {"avatar": "🎬", "description": "Aimed at helping users craft engaging and trendy short video scripts", "tags": ["Short Video", "tkitok", "Screenwriter"], "title": "Short Video Script Assistant", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 220}, {"author": "tcmonster", "createdAt": "2023-11-16", "homepage": "https://github.com/tcmonster", "identifier": "co-agent", "knowledgeCount": 0, "meta": {"avatar": "🧙🏾‍♂️", "description": "Invoke the most suitable expert agents to support your goals with tasks perfectly aligned to your needs.", "tags": ["Task Guidance", "Execution Planning", "Communication", "Support"], "title": "Expert Agent Mentor", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 435}, {"author": "cloverfield11", "createdAt": "2023-11-15", "homepage": "https://github.com/cloverfield11", "identifier": "fs-dev", "knowledgeCount": 0, "meta": {"avatar": "💻", "description": "Full-stack web developer with experience in HTML, CSS, JavaScript, Python, Java, Ruby, and frameworks such as React, Angular, Vue.js, Express, Django, Next.js, Flask, or Ruby on Rails. Experienced in databases, application architecture, security, and testing", "tags": ["web development", "front-end", "back-end", "programming", "databases"], "title": "Full-stack Developer", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 187}, {"author": "yingxirz", "createdAt": "2023-11-15", "homepage": "https://github.com/yingxirz", "identifier": "graphic-creativity", "knowledgeCount": 0, "meta": {"avatar": "🪄", "description": "Specializes in graphic creative design and visual ideas", "tags": ["graphics", "creativity", "design", "visual"], "title": "Graphic Creativity Master", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 150}, {"author": "skyf0cker", "createdAt": "2023-11-15", "homepage": "https://github.com/skyf0cker", "identifier": "tailwind-wizard", "knowledgeCount": 0, "meta": {"avatar": "🧙", "description": "Provides a UI operation to generate HTML", "tags": ["Development", "Coding", "UI Design"], "title": "Tailwind Wizard", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 81}, {"author": "aihoom", "createdAt": "2023-11-14", "homepage": "https://github.com/aihoom", "identifier": "big-daddy", "knowledgeCount": 0, "meta": {"avatar": "👨🏻‍🦳", "description": "A dad who provides comprehensive guidance for children, from daily trivialities to work and marriage.", "tags": ["Character Simulation"], "title": "Dad, what should I do?", "category": "life"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 1308}, {"author": "tcmonster", "createdAt": "2023-11-14", "homepage": "https://github.com/tcmonster", "identifier": "en-cn-translator", "knowledgeCount": 0, "meta": {"avatar": "🌐", "description": "Expert in Chinese-English translation, pursuing accuracy, fluency, and elegance", "tags": ["Translation", "Chinese", "English"], "title": "Chinese-English Translation Assistant", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 212}, {"author": "aihoom", "createdAt": "2023-11-14", "homepage": "https://github.com/aihoom", "identifier": "mid-journey-prompt", "knowledgeCount": 0, "meta": {"avatar": "🏜️", "description": "Writing awesome MidJourney prompts", "tags": ["mid-journey", "prompt"], "title": "MidJourney Prompt", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 260}, {"author": "aihoom", "createdAt": "2023-11-14", "homepage": "https://github.com/aihoom", "identifier": "s-rtranslation", "knowledgeCount": 0, "meta": {"avatar": "🔬", "description": "A translation assistant capable of helping you translate scientific and technological articles", "tags": ["Research", "Translation"], "title": "Research Article Translation Assistant", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 479}, {"author": "Ruler27", "createdAt": "2023-11-11", "homepage": "https://github.com/Ruler27", "identifier": "academic-writing-eb", "knowledgeCount": 0, "meta": {"avatar": "📇", "description": "Refinement of academic English spelling and rhetoric.", "tags": ["proofreading", "rhetoric", "academic", "research", "english", "editing"], "title": "Academic Writing Enhancement Bot", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 402}, {"author": "arvinxx", "createdAt": "2023-11-02", "homepage": "https://github.com/arvinxx", "identifier": "sketch-changelog-highlighter", "knowledgeCount": 0, "meta": {"avatar": "💠", "description": "Expert in extracting key change points from Sketch release notes", "tags": ["UX Design", "sketch", "updates", "features", "text summary"], "title": "Sketch Feature Summary Expert", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 104}, {"author": "cake79", "createdAt": "2023-10-26", "homepage": "https://github.com/cake79", "identifier": "tqg-20231026", "knowledgeCount": 0, "meta": {"avatar": "🤔", "description": "Simulates those who like to argue, a character that can argue against any opinion input by the user", "tags": ["Writing", "Dialogue"], "title": "Arguing Master", "category": "entertainment"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 248}, {"author": "choldrim", "createdAt": "2023-10-23", "homepage": "https://github.com/choldrim", "identifier": "graph-generator", "knowledgeCount": 0, "meta": {"avatar": "📊", "description": "Automatic Graph Generator", "tags": ["graph"], "title": "Graph Generator", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 900}, {"author": "yingxirz", "createdAt": "2023-10-18", "homepage": "https://github.com/yingxirz", "identifier": "meaningful-name", "knowledgeCount": 0, "meta": {"avatar": "🪆", "description": "Provide concise and meaningful names for your artistic creations.", "tags": ["Naming", "Creativity"], "title": "Art Naming Master", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 197}, {"author": "guowc3456", "createdAt": "2023-10-11", "homepage": "https://github.com/guowc3456", "identifier": "xiaohongshu-style-writer", "knowledgeCount": 0, "meta": {"avatar": "📕", "description": "Skilled at mimicking the style of viral Little Red Book articles for writing", "tags": ["Little Red Book", "Writing", "Copywriting", ""], "title": "Little Red Book Style Copywriter", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 86}, {"author": "宝玉", "createdAt": "2023-10-07", "homepage": "https://twitter.com/dotey", "identifier": "english-news-translator", "knowledgeCount": 0, "meta": {"avatar": "📰", "description": "A simple prompt significantly improves ChatGPT's translation quality, saying goodbye to 'machine translation feel'. refs: https://twitter.com/dotey/status/1707478347553395105", "tags": ["translation", "copywriting"], "title": "English News Translation Expert", "category": "translation"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 202}, {"author": "arvinxx", "createdAt": "2023-10-07", "homepage": "https://github.com/arvinxx", "identifier": "gpt-agent-prompt-improver", "knowledgeCount": 0, "meta": {"avatar": "🦯", "description": "GPT Agent Prompt Optimization Expert. Clear, precise, concise.", "tags": ["prompt"], "title": "Agent Prompt Optimization Expert", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 465}, {"author": "dcityteg", "createdAt": "2023-10-06", "homepage": "https://github.com/dcityteg", "identifier": "c-code-development", "knowledgeCount": 0, "meta": {"avatar": "😀", "description": "Complete C++ code", "tags": ["code"], "title": "C++ Code", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 153}, {"author": "arvinxx", "createdAt": "2023-10-01", "homepage": "https://github.com/arvinxx", "identifier": "typescript-jsdoc", "knowledgeCount": 0, "meta": {"avatar": "📝", "title": "TS Type Definition Completion", "description": "Proficient in writing TypeScript JSDoc code", "tags": ["typescript", "jsdoc"], "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 372}, {"author": "yingxirz", "createdAt": "2023-09-29", "homepage": "https://github.com/yingxirz", "identifier": "logo-creativity", "knowledgeCount": 0, "meta": {"avatar": "🧚‍♀️", "title": "LOGO Creative Master", "description": "Organizing and generating creative logo ideas for you", "tags": ["Creativity", "Brainstorming", "Design", "Brand", "Method"], "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 247}, {"author": "laikedou", "createdAt": "2023-09-27", "homepage": "https://github.com/laikedou", "identifier": "swagger-api-to-types", "knowledgeCount": 0, "meta": {"avatar": "🔌", "title": "Interface Type Request Generator", "description": "Quickly export type definitions and request functions from interface descriptions such as Swagger, YAPI, Apifox, etc.", "tags": ["aigc", "api", "yapi", "swagger", "api-fox"], "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 119}, {"author": "arvinxx", "createdAt": "2023-09-11", "homepage": "https://github.com/arvinxx", "identifier": "naming-master", "knowledgeCount": 0, "meta": {"avatar": "👺", "title": "Name Master", "description": "Naming expert to help you create unique and meaningful names.", "tags": ["Naming", "Copywriting"], "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 39}, {"author": "arvinxx", "createdAt": "2023-09-10", "homepage": "https://github.com/arvinxx", "identifier": "api-docs-writer", "knowledgeCount": 0, "meta": {"title": "API Documentation Optimization Expert", "description": "Accurately describe how to use APIs, provide example code, precautions, and return value type definitions.", "tags": ["Code", "Software Development", "Programmer", "Documentation", "Writing"], "avatar": "📝", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 350}, {"author": "arvinxx", "createdAt": "2023-09-10", "homepage": "https://github.com/arvinxx", "identifier": "better-ux-writer", "knowledgeCount": 0, "meta": {"title": "UX Writer", "description": "Helping you craft better UX copy", "tags": ["User Experience", "Designer", "Documentation", "Writing"], "avatar": "✍️", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 141}, {"author": "arvinxx", "createdAt": "2023-09-10", "homepage": "https://github.com/arvinxx", "identifier": "conceptual-abstractor", "knowledgeCount": 0, "meta": {"title": "Master of Abstract Concept Embodiment", "description": "Helping you write better UX copy", "tags": ["User Experience", "Designer", "Documentation", "Writing", "Metaphor", "Concept"], "avatar": "💡", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 264}, {"author": "arvinxx", "createdAt": "2023-09-10", "homepage": "https://github.com/arvinxx", "identifier": "content-searcher", "knowledgeCount": 0, "meta": {"title": "Information Organization Master", "description": "An information organization master that helps you gather, summarize, and organize content and assets.", "tags": ["Search Engine", "Internet Connectivity", "Information Organization"], "avatar": "⚗", "category": "general"}, "pluginCount": 1, "schemaVersion": 1, "tokenUsage": 90}, {"author": "arvinxx", "createdAt": "2023-09-10", "homepage": "https://github.com/arvinxx", "identifier": "dva-to-zustand", "knowledgeCount": 0, "meta": {"avatar": "🧸", "title": "Dva Refactoring to Zustand Expert", "description": "One-click transformation of Dva state management code into Zustand code", "tags": ["typescript", "code", "software development", "state management", "dva", "zustand"], "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 375}, {"author": "arvinxx", "createdAt": "2023-09-10", "homepage": "https://github.com/arvinxx", "identifier": "frontend-architect", "knowledgeCount": 0, "meta": {"title": "Frontend Development Architect", "description": "Expert in architecture, proficient in technical details, skilled in searching for solutions via search engines", "tags": ["typescript", "code", "frontend", "architect", "networking", "search engines", "information organization"], "avatar": "👨‍💻", "category": "programming"}, "pluginCount": 1, "schemaVersion": 1, "tokenUsage": 61}, {"author": "arvinxx", "createdAt": "2023-09-10", "homepage": "https://github.com/arvinxx", "identifier": "frontend-test-analyzer", "knowledgeCount": 0, "meta": {"title": "Frontend TypeScript Unit Test Expert", "description": "Based on the code you provide, consider scenarios that need coverage testing", "tags": ["typescript", "unit testing", "code", "software development"], "avatar": "🧪", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 808}, {"author": "arvinxx", "createdAt": "2023-09-10", "homepage": "https://github.com/arvinxx", "identifier": "js-to-ts", "knowledgeCount": 0, "meta": {"title": "JS Code to TS Expert", "description": "Input your JS code, and with one click, it will help you complete and improve type definitions", "tags": ["typescript", "js", "code", "frontend", "software development"], "avatar": "🔀", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 36}, {"author": "arvinxx", "createdAt": "2023-09-10", "homepage": "https://github.com/arvinxx", "identifier": "metaphor-ux-writer", "knowledgeCount": 0, "meta": {"title": "UX Writer", "description": "Help you write better UX copy", "tags": ["user experience", "designer", "documentation", "writing", "metaphor"], "avatar": "💬", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 111}, {"author": "arvinxx", "createdAt": "2023-09-10", "homepage": "https://github.com/arvinxx", "identifier": "react-cc-to-fc", "knowledgeCount": 0, "meta": {"title": "React Class Components to FC Components", "description": "One-click transformation of Class components into FC components", "tags": ["typescript", "code", "software development", "react", "refactoring"], "avatar": "🎣", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 22}, {"author": "arvinxx", "createdAt": "2023-09-10", "homepage": "https://github.com/arvinxx", "identifier": "title-expansion-writer", "knowledgeCount": 0, "meta": {"title": "Title Expansion Expert", "description": "If you need to add a description to a title, let this assistant help you craft the content.", "tags": ["User Experience", "Designer", "Documentation", "Writing"], "avatar": "✍️", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 42}, {"author": "arvinxx", "createdAt": "2023-09-10", "homepage": "https://github.com/arvinxx", "identifier": "url-summary", "knowledgeCount": 0, "meta": {"title": "Web Content Summarization Expert", "description": "Simply input a URL, and the assistant will read and summarize the content of that URL for you.", "tags": ["web", "reading", "summarization", "online"], "avatar": "⚗", "category": "general"}, "pluginCount": 1, "schemaVersion": 1, "tokenUsage": 24}, {"author": "arvinxx", "createdAt": "2023-09-10", "homepage": "https://github.com/arvinxx", "identifier": "zustand-reducer", "knowledgeCount": 0, "meta": {"title": "Zustand reducer Expert", "description": "Skilled in writing zustand feature code, capable of generating reducer code from requirements with one click, familiar with reducer writing, proficient in using the immer library.", "tags": ["typescript", "reducer", "code", "frontend", "software development", "state management", "zustand"], "avatar": "👨‍💻‍", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 745}, {"author": "canisminor1990", "createdAt": "2023-09-08", "homepage": "https://github.com/canisminor1990", "identifier": "deep-think", "knowledgeCount": 0, "meta": {"avatar": "🧠", "description": "Deeper thinking of question", "tags": ["conversation", "thinking"], "title": "Deep Think", "category": "general"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 211}, {"author": "arvinxx", "createdAt": "2023-09-08", "homepage": "https://github.com/arvinxx", "identifier": "markdown-feature-polisher", "knowledgeCount": 0, "meta": {"avatar": "💅", "title": "Markdown Product Feature Formatting Expert", "description": "Helps you quickly generate beautiful and elegant product feature introductions", "tags": ["product", "markdown", "documentation"], "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 434}, {"author": "canisminor1990", "createdAt": "2023-09-07", "homepage": "https://github.com/canisminor1990", "identifier": "agent-prompt-improver", "knowledgeCount": 0, "meta": {"title": "Agent Prompt Improver", "description": "GPT Agent Prompt optimization specialist. Clear, precise, and concise", "tags": ["agent", "prompt"], "avatar": "🧑‍⚕️", "category": "copywriting"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 43}, {"author": "canisminor1990", "createdAt": "2023-09-07", "homepage": "https://github.com/canisminor1990", "identifier": "character-roleplay", "knowledgeCount": 0, "meta": {"avatar": "🎭", "tags": ["conversation", "roleplay", "fun"], "title": "Character Roleplay", "description": "Interact with your favourite characters from movies, TV shows, books, and more!", "category": "entertainment"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 172}, {"author": "canisminor1990", "createdAt": "2023-09-07", "homepage": "https://github.com/canisminor1990", "identifier": "coding-wizard", "knowledgeCount": 0, "meta": {"avatar": "🧙‍♂️", "tags": ["code", "software-development", "productivity"], "title": "Coding Wizard", "description": "Can generate the code for anything you specify", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 295}, {"author": "canisminor1990", "createdAt": "2023-09-07", "homepage": "https://github.com/canisminor1990", "identifier": "essay-improver", "knowledgeCount": 0, "meta": {"avatar": "🖋️", "tags": ["academic", "english", "productivity", "essay"], "title": "Essay Improver", "description": "Improve your texts to be more elegant and professional", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 119}, {"author": "canisminor1990", "createdAt": "2023-09-07", "homepage": "https://github.com/canisminor1990", "identifier": "grammar-corrector", "knowledgeCount": 0, "meta": {"avatar": "🧐", "tags": ["academic", "productivity", "essay"], "title": "Grammar Corrector", "description": "Correct grammar error text or paragraph. Great for essay or email", "category": "academic"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 79}, {"author": "canisminor1990", "createdAt": "2023-09-07", "homepage": "https://github.com/canisminor1990", "identifier": "resume-editing", "knowledgeCount": 0, "meta": {"avatar": "📇", "tags": ["academic", "productivity", "guide"], "title": "Resume Editing", "description": "Get advice on how to edit your resume", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 89}, {"author": "canisminor1990", "createdAt": "2023-09-07", "homepage": "https://github.com/canisminor1990", "identifier": "startup-plan", "knowledgeCount": 0, "meta": {"avatar": "🕓", "tags": ["startup", "brainstorming", "plan"], "title": "Startup Plan", "description": "Generate a detailed and comprehensive business plan within minutes", "category": "career"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 97}, {"author": "canisminor1990", "createdAt": "2023-09-07", "homepage": "https://github.com/canisminor1990", "identifier": "web-development", "knowledgeCount": 0, "meta": {"avatar": "💻", "tags": ["Learning", "software-development", "productivity"], "title": "A More Diligent Assistant", "description": "A More Diligent Assistant", "category": "programming"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 121}, {"author": "canisminor1990", "createdAt": "2023-09-01", "homepage": "https://github.com/canisminor1990", "identifier": "stable-diffusion-prompt", "knowledgeCount": 0, "meta": {"title": "Stable Diffusion Prompt Expert", "description": "Specializes in writing Stable Diffusion prompts", "tags": ["stable-diffusion", "prompt"], "avatar": "🎨", "category": "design"}, "pluginCount": 0, "schemaVersion": 1, "tokenUsage": 792}], "tags": ["writing", "programming", "Writing", "code", "education", "translation", "consulting", "Programming", "Translation", "teaching", "prompt", "analysis", "language-learning", "development", "Copywriting", "ai-assistant", "Creativity", "communication", "expert", "guidance", "software-development", "typescript", "research", "python", "learning", "Consultation", "english", "copywriting", "java-script", "coding", "Education", "assistant", "explanation", "creativity", "vocabulary", "ai", "editing", "game", "react", "User Experience", "software development", "productivity", "Development", "nutrition", "thinking", "reasoning", "Guidance", "markdown", "software", "image-generation", "Advice", "Communication", "stable-diffusion", "proofreading", "summary", "agulu", "ecommerce", "language", "english-conversation", "academic", "Documentation", "information", "Creative Writing", "Culture", "Consulting", "generator", "Life", "English Teaching", "art", "software-engineering", "project-management", "optimization", "Optimization", "Design", "it", "algorithm", "consultation", "message-composition", "humor", "Expert", "entrepreneurship", "Editing", "next-js", "web-development", "css", "Teaching", "Dialogue", "English", "mentoring", "game-development", "Variable Naming", "lobe-chat", "seo", "design", "lyrics", "assistance", "interaction", "creative", "testing", "deployment", "feedback", "conversation", "assessment", "language-proficiency", "language-coaching", "conversation-partner", "Designer", "frontend"]} \ No newline at end of file diff --git a/skills/index-cache/openai_skills_skills_.json b/skills/index-cache/openai_skills_skills_.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/skills/index-cache/openai_skills_skills_.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/skills/mcp/DESCRIPTION.md b/skills/mcp/DESCRIPTION.md new file mode 100644 index 000000000..7c668b922 --- /dev/null +++ b/skills/mcp/DESCRIPTION.md @@ -0,0 +1,3 @@ +--- +description: Skills for working with MCP (Model Context Protocol) servers, tools, and integrations. +--- diff --git a/skills/mcp/mcporter/SKILL.md b/skills/mcp/mcporter/SKILL.md new file mode 100644 index 000000000..0bb08441c --- /dev/null +++ b/skills/mcp/mcporter/SKILL.md @@ -0,0 +1,120 @@ +--- +name: mcporter +description: Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation. +version: 1.0.0 +author: community +license: MIT +metadata: + hermes: + tags: [MCP, Tools, API, Integrations, Interop] + homepage: https://mcporter.dev +--- + +# mcporter + +Use `mcporter` to discover, call, and manage [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) servers and tools directly from the terminal. + +## Prerequisites + +Requires Node.js: +```bash +# No install needed (runs via npx) +npx mcporter list + +# Or install globally +npm install -g mcporter +``` + +## Quick Start + +```bash +# List MCP servers already configured on this machine +mcporter list + +# List tools for a specific server with schema details +mcporter list --schema + +# Call a tool +mcporter call key=value +``` + +## Discovering MCP Servers + +mcporter auto-discovers servers configured by other MCP clients (Claude Desktop, Cursor, etc.) on the machine. To find new servers to use, browse registries like [mcpfinder.dev](https://mcpfinder.dev) or [mcp.so](https://mcp.so), then connect ad-hoc: + +```bash +# Connect to any MCP server by URL (no config needed) +mcporter list --http-url https://some-mcp-server.com --name my_server + +# Or run a stdio server on the fly +mcporter list --stdio "npx -y @modelcontextprotocol/server-filesystem" --name fs +``` + +## Calling Tools + +```bash +# Key=value syntax +mcporter call linear.list_issues team=ENG limit:5 + +# Function syntax +mcporter call "linear.create_issue(title: \"Bug fix needed\")" + +# Ad-hoc HTTP server (no config needed) +mcporter call https://api.example.com/mcp.fetch url=https://example.com + +# Ad-hoc stdio server +mcporter call --stdio "bun run ./server.ts" scrape url=https://example.com + +# JSON payload +mcporter call --args '{"limit": 5}' + +# Machine-readable output (recommended for Hermes) +mcporter call key=value --output json +``` + +## Auth and Config + +```bash +# OAuth login for a server +mcporter auth [--reset] + +# Manage config +mcporter config list +mcporter config get +mcporter config add +mcporter config remove +mcporter config import +``` + +Config file location: `./config/mcporter.json` (override with `--config`). + +## Daemon + +For persistent server connections: +```bash +mcporter daemon start +mcporter daemon status +mcporter daemon stop +mcporter daemon restart +``` + +## Code Generation + +```bash +# Generate a CLI wrapper for an MCP server +mcporter generate-cli --server +mcporter generate-cli --command + +# Inspect a generated CLI +mcporter inspect-cli [--json] + +# Generate TypeScript types/client +mcporter emit-ts --mode client +mcporter emit-ts --mode types +``` + +## Notes + +- Use `--output json` for structured output that's easier to parse +- Ad-hoc servers (HTTP URL or `--stdio` command) work without any config — useful for one-off calls +- OAuth auth may require interactive browser flow — use `terminal(command="mcporter auth ", pty=true)` if needed diff --git a/skills/mlops/peft/SKILL.md b/skills/mlops/peft/SKILL.md deleted file mode 100644 index 6f9207130..000000000 --- a/skills/mlops/peft/SKILL.md +++ /dev/null @@ -1,434 +0,0 @@ ---- -name: peft-fine-tuning -description: Parameter-efficient fine-tuning for LLMs using LoRA, QLoRA, and 25+ methods. Use when fine-tuning large models (7B-70B) with limited GPU memory, when you need to train <1% of parameters with minimal accuracy loss, or for multi-adapter serving. HuggingFace's official library integrated with transformers ecosystem. -version: 1.0.0 -author: Orchestra Research -license: MIT -dependencies: [peft>=0.13.0, transformers>=4.45.0, torch>=2.0.0, bitsandbytes>=0.43.0] -metadata: - hermes: - tags: [Fine-Tuning, PEFT, LoRA, QLoRA, Parameter-Efficient, Adapters, Low-Rank, Memory Optimization, Multi-Adapter] - ---- - -# PEFT (Parameter-Efficient Fine-Tuning) - -Fine-tune LLMs by training <1% of parameters using LoRA, QLoRA, and 25+ adapter methods. - -## When to use PEFT - -**Use PEFT/LoRA when:** -- Fine-tuning 7B-70B models on consumer GPUs (RTX 4090, A100) -- Need to train <1% parameters (6MB adapters vs 14GB full model) -- Want fast iteration with multiple task-specific adapters -- Deploying multiple fine-tuned variants from one base model - -**Use QLoRA (PEFT + quantization) when:** -- Fine-tuning 70B models on single 24GB GPU -- Memory is the primary constraint -- Can accept ~5% quality trade-off vs full fine-tuning - -**Use full fine-tuning instead when:** -- Training small models (<1B parameters) -- Need maximum quality and have compute budget -- Significant domain shift requires updating all weights - -## Quick start - -### Installation - -```bash -# Basic installation -pip install peft - -# With quantization support (recommended) -pip install peft bitsandbytes - -# Full stack -pip install peft transformers accelerate bitsandbytes datasets -``` - -### LoRA fine-tuning (standard) - -```python -from transformers import AutoModelForCausalLM, AutoTokenizer, TrainingArguments, Trainer -from peft import get_peft_model, LoraConfig, TaskType -from datasets import load_dataset - -# Load base model -model_name = "meta-llama/Llama-3.1-8B" -model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype="auto", device_map="auto") -tokenizer = AutoTokenizer.from_pretrained(model_name) -tokenizer.pad_token = tokenizer.eos_token - -# LoRA configuration -lora_config = LoraConfig( - task_type=TaskType.CAUSAL_LM, - r=16, # Rank (8-64, higher = more capacity) - lora_alpha=32, # Scaling factor (typically 2*r) - lora_dropout=0.05, # Dropout for regularization - target_modules=["q_proj", "v_proj", "k_proj", "o_proj"], # Attention layers - bias="none" # Don't train biases -) - -# Apply LoRA -model = get_peft_model(model, lora_config) -model.print_trainable_parameters() -# Output: trainable params: 13,631,488 || all params: 8,043,307,008 || trainable%: 0.17% - -# Prepare dataset -dataset = load_dataset("databricks/databricks-dolly-15k", split="train") - -def tokenize(example): - text = f"### Instruction:\n{example['instruction']}\n\n### Response:\n{example['response']}" - return tokenizer(text, truncation=True, max_length=512, padding="max_length") - -tokenized = dataset.map(tokenize, remove_columns=dataset.column_names) - -# Training -training_args = TrainingArguments( - output_dir="./lora-llama", - num_train_epochs=3, - per_device_train_batch_size=4, - gradient_accumulation_steps=4, - learning_rate=2e-4, - fp16=True, - logging_steps=10, - save_strategy="epoch" -) - -trainer = Trainer( - model=model, - args=training_args, - train_dataset=tokenized, - data_collator=lambda data: {"input_ids": torch.stack([f["input_ids"] for f in data]), - "attention_mask": torch.stack([f["attention_mask"] for f in data]), - "labels": torch.stack([f["input_ids"] for f in data])} -) - -trainer.train() - -# Save adapter only (6MB vs 16GB) -model.save_pretrained("./lora-llama-adapter") -``` - -### QLoRA fine-tuning (memory-efficient) - -```python -from transformers import AutoModelForCausalLM, BitsAndBytesConfig -from peft import get_peft_model, LoraConfig, prepare_model_for_kbit_training - -# 4-bit quantization config -bnb_config = BitsAndBytesConfig( - load_in_4bit=True, - bnb_4bit_quant_type="nf4", # NormalFloat4 (best for LLMs) - bnb_4bit_compute_dtype="bfloat16", # Compute in bf16 - bnb_4bit_use_double_quant=True # Nested quantization -) - -# Load quantized model -model = AutoModelForCausalLM.from_pretrained( - "meta-llama/Llama-3.1-70B", - quantization_config=bnb_config, - device_map="auto" -) - -# Prepare for training (enables gradient checkpointing) -model = prepare_model_for_kbit_training(model) - -# LoRA config for QLoRA -lora_config = LoraConfig( - r=64, # Higher rank for 70B - lora_alpha=128, - lora_dropout=0.1, - target_modules=["q_proj", "v_proj", "k_proj", "o_proj", "gate_proj", "up_proj", "down_proj"], - bias="none", - task_type="CAUSAL_LM" -) - -model = get_peft_model(model, lora_config) -# 70B model now fits on single 24GB GPU! -``` - -## LoRA parameter selection - -### Rank (r) - capacity vs efficiency - -| Rank | Trainable Params | Memory | Quality | Use Case | -|------|-----------------|--------|---------|----------| -| 4 | ~3M | Minimal | Lower | Simple tasks, prototyping | -| **8** | ~7M | Low | Good | **Recommended starting point** | -| **16** | ~14M | Medium | Better | **General fine-tuning** | -| 32 | ~27M | Higher | High | Complex tasks | -| 64 | ~54M | High | Highest | Domain adaptation, 70B models | - -### Alpha (lora_alpha) - scaling factor - -```python -# Rule of thumb: alpha = 2 * rank -LoraConfig(r=16, lora_alpha=32) # Standard -LoraConfig(r=16, lora_alpha=16) # Conservative (lower learning rate effect) -LoraConfig(r=16, lora_alpha=64) # Aggressive (higher learning rate effect) -``` - -### Target modules by architecture - -```python -# Llama / Mistral / Qwen -target_modules = ["q_proj", "v_proj", "k_proj", "o_proj", "gate_proj", "up_proj", "down_proj"] - -# GPT-2 / GPT-Neo -target_modules = ["c_attn", "c_proj", "c_fc"] - -# Falcon -target_modules = ["query_key_value", "dense", "dense_h_to_4h", "dense_4h_to_h"] - -# BLOOM -target_modules = ["query_key_value", "dense", "dense_h_to_4h", "dense_4h_to_h"] - -# Auto-detect all linear layers -target_modules = "all-linear" # PEFT 0.6.0+ -``` - -## Loading and merging adapters - -### Load trained adapter - -```python -from peft import PeftModel, AutoPeftModelForCausalLM -from transformers import AutoModelForCausalLM - -# Option 1: Load with PeftModel -base_model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-3.1-8B") -model = PeftModel.from_pretrained(base_model, "./lora-llama-adapter") - -# Option 2: Load directly (recommended) -model = AutoPeftModelForCausalLM.from_pretrained( - "./lora-llama-adapter", - device_map="auto" -) -``` - -### Merge adapter into base model - -```python -# Merge for deployment (no adapter overhead) -merged_model = model.merge_and_unload() - -# Save merged model -merged_model.save_pretrained("./llama-merged") -tokenizer.save_pretrained("./llama-merged") - -# Push to Hub -merged_model.push_to_hub("username/llama-finetuned") -``` - -### Multi-adapter serving - -```python -from peft import PeftModel - -# Load base with first adapter -model = AutoPeftModelForCausalLM.from_pretrained("./adapter-task1") - -# Load additional adapters -model.load_adapter("./adapter-task2", adapter_name="task2") -model.load_adapter("./adapter-task3", adapter_name="task3") - -# Switch between adapters at runtime -model.set_adapter("task1") # Use task1 adapter -output1 = model.generate(**inputs) - -model.set_adapter("task2") # Switch to task2 -output2 = model.generate(**inputs) - -# Disable adapters (use base model) -with model.disable_adapter(): - base_output = model.generate(**inputs) -``` - -## PEFT methods comparison - -| Method | Trainable % | Memory | Speed | Best For | -|--------|------------|--------|-------|----------| -| **LoRA** | 0.1-1% | Low | Fast | General fine-tuning | -| **QLoRA** | 0.1-1% | Very Low | Medium | Memory-constrained | -| AdaLoRA | 0.1-1% | Low | Medium | Automatic rank selection | -| IA3 | 0.01% | Minimal | Fastest | Few-shot adaptation | -| Prefix Tuning | 0.1% | Low | Medium | Generation control | -| Prompt Tuning | 0.001% | Minimal | Fast | Simple task adaptation | -| P-Tuning v2 | 0.1% | Low | Medium | NLU tasks | - -### IA3 (minimal parameters) - -```python -from peft import IA3Config - -ia3_config = IA3Config( - target_modules=["q_proj", "v_proj", "k_proj", "down_proj"], - feedforward_modules=["down_proj"] -) -model = get_peft_model(model, ia3_config) -# Trains only 0.01% of parameters! -``` - -### Prefix Tuning - -```python -from peft import PrefixTuningConfig - -prefix_config = PrefixTuningConfig( - task_type="CAUSAL_LM", - num_virtual_tokens=20, # Prepended tokens - prefix_projection=True # Use MLP projection -) -model = get_peft_model(model, prefix_config) -``` - -## Integration patterns - -### With TRL (SFTTrainer) - -```python -from trl import SFTTrainer, SFTConfig -from peft import LoraConfig - -lora_config = LoraConfig(r=16, lora_alpha=32, target_modules="all-linear") - -trainer = SFTTrainer( - model=model, - args=SFTConfig(output_dir="./output", max_seq_length=512), - train_dataset=dataset, - peft_config=lora_config, # Pass LoRA config directly -) -trainer.train() -``` - -### With Axolotl (YAML config) - -```yaml -# axolotl config.yaml -adapter: lora -lora_r: 16 -lora_alpha: 32 -lora_dropout: 0.05 -lora_target_modules: - - q_proj - - v_proj - - k_proj - - o_proj -lora_target_linear: true # Target all linear layers -``` - -### With vLLM (inference) - -```python -from vllm import LLM -from vllm.lora.request import LoRARequest - -# Load base model with LoRA support -llm = LLM(model="meta-llama/Llama-3.1-8B", enable_lora=True) - -# Serve with adapter -outputs = llm.generate( - prompts, - lora_request=LoRARequest("adapter1", 1, "./lora-adapter") -) -``` - -## Performance benchmarks - -### Memory usage (Llama 3.1 8B) - -| Method | GPU Memory | Trainable Params | -|--------|-----------|------------------| -| Full fine-tuning | 60+ GB | 8B (100%) | -| LoRA r=16 | 18 GB | 14M (0.17%) | -| QLoRA r=16 | 6 GB | 14M (0.17%) | -| IA3 | 16 GB | 800K (0.01%) | - -### Training speed (A100 80GB) - -| Method | Tokens/sec | vs Full FT | -|--------|-----------|------------| -| Full FT | 2,500 | 1x | -| LoRA | 3,200 | 1.3x | -| QLoRA | 2,100 | 0.84x | - -### Quality (MMLU benchmark) - -| Model | Full FT | LoRA | QLoRA | -|-------|---------|------|-------| -| Llama 2-7B | 45.3 | 44.8 | 44.1 | -| Llama 2-13B | 54.8 | 54.2 | 53.5 | - -## Common issues - -### CUDA OOM during training - -```python -# Solution 1: Enable gradient checkpointing -model.gradient_checkpointing_enable() - -# Solution 2: Reduce batch size + increase accumulation -TrainingArguments( - per_device_train_batch_size=1, - gradient_accumulation_steps=16 -) - -# Solution 3: Use QLoRA -from transformers import BitsAndBytesConfig -bnb_config = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_quant_type="nf4") -``` - -### Adapter not applying - -```python -# Verify adapter is active -print(model.active_adapters) # Should show adapter name - -# Check trainable parameters -model.print_trainable_parameters() - -# Ensure model in training mode -model.train() -``` - -### Quality degradation - -```python -# Increase rank -LoraConfig(r=32, lora_alpha=64) - -# Target more modules -target_modules = "all-linear" - -# Use more training data and epochs -TrainingArguments(num_train_epochs=5) - -# Lower learning rate -TrainingArguments(learning_rate=1e-4) -``` - -## Best practices - -1. **Start with r=8-16**, increase if quality insufficient -2. **Use alpha = 2 * rank** as starting point -3. **Target attention + MLP layers** for best quality/efficiency -4. **Enable gradient checkpointing** for memory savings -5. **Save adapters frequently** (small files, easy rollback) -6. **Evaluate on held-out data** before merging -7. **Use QLoRA for 70B+ models** on consumer hardware - -## References - -- **[Advanced Usage](references/advanced-usage.md)** - DoRA, LoftQ, rank stabilization, custom modules -- **[Troubleshooting](references/troubleshooting.md)** - Common errors, debugging, optimization - -## Resources - -- **GitHub**: https://github.com/huggingface/peft -- **Docs**: https://huggingface.co/docs/peft -- **LoRA Paper**: arXiv:2106.09685 -- **QLoRA Paper**: arXiv:2305.14314 -- **Models**: https://huggingface.co/models?library=peft diff --git a/skills/mlops/peft/references/advanced-usage.md b/skills/mlops/peft/references/advanced-usage.md deleted file mode 100644 index d23c0d422..000000000 --- a/skills/mlops/peft/references/advanced-usage.md +++ /dev/null @@ -1,514 +0,0 @@ -# PEFT Advanced Usage Guide - -## Advanced LoRA Variants - -### DoRA (Weight-Decomposed Low-Rank Adaptation) - -DoRA decomposes weights into magnitude and direction components, often achieving better results than standard LoRA: - -```python -from peft import LoraConfig - -dora_config = LoraConfig( - r=16, - lora_alpha=32, - target_modules=["q_proj", "v_proj", "k_proj", "o_proj"], - use_dora=True, # Enable DoRA - task_type="CAUSAL_LM" -) - -model = get_peft_model(model, dora_config) -``` - -**When to use DoRA**: -- Consistently outperforms LoRA on instruction-following tasks -- Slightly higher memory (~10%) due to magnitude vectors -- Best for quality-critical fine-tuning - -### AdaLoRA (Adaptive Rank) - -Automatically adjusts rank per layer based on importance: - -```python -from peft import AdaLoraConfig - -adalora_config = AdaLoraConfig( - init_r=64, # Initial rank - target_r=16, # Target average rank - tinit=200, # Warmup steps - tfinal=1000, # Final pruning step - deltaT=10, # Rank update frequency - beta1=0.85, - beta2=0.85, - orth_reg_weight=0.5, # Orthogonality regularization - target_modules=["q_proj", "v_proj"], - task_type="CAUSAL_LM" -) -``` - -**Benefits**: -- Allocates more rank to important layers -- Can reduce total parameters while maintaining quality -- Good for exploring optimal rank distribution - -### LoRA+ (Asymmetric Learning Rates) - -Different learning rates for A and B matrices: - -```python -from peft import LoraConfig - -# LoRA+ uses higher LR for B matrix -lora_plus_config = LoraConfig( - r=16, - lora_alpha=32, - target_modules="all-linear", - use_rslora=True, # Rank-stabilized LoRA (related technique) -) - -# Manual implementation of LoRA+ -from torch.optim import AdamW - -# Group parameters -lora_A_params = [p for n, p in model.named_parameters() if "lora_A" in n] -lora_B_params = [p for n, p in model.named_parameters() if "lora_B" in n] - -optimizer = AdamW([ - {"params": lora_A_params, "lr": 1e-4}, - {"params": lora_B_params, "lr": 1e-3}, # 10x higher for B -]) -``` - -### rsLoRA (Rank-Stabilized LoRA) - -Scales LoRA outputs to stabilize training with different ranks: - -```python -lora_config = LoraConfig( - r=64, - lora_alpha=64, - use_rslora=True, # Enables rank-stabilized scaling - target_modules="all-linear" -) -``` - -**When to use**: -- When experimenting with different ranks -- Helps maintain consistent behavior across rank values -- Recommended for r > 32 - -## LoftQ (LoRA-Fine-Tuning-aware Quantization) - -Initializes LoRA weights to compensate for quantization error: - -```python -from peft import LoftQConfig, LoraConfig, get_peft_model -from transformers import AutoModelForCausalLM, BitsAndBytesConfig - -# LoftQ configuration -loftq_config = LoftQConfig( - loftq_bits=4, # Quantization bits - loftq_iter=5, # Alternating optimization iterations -) - -# LoRA config with LoftQ initialization -lora_config = LoraConfig( - r=16, - lora_alpha=32, - target_modules="all-linear", - init_lora_weights="loftq", - loftq_config=loftq_config, - task_type="CAUSAL_LM" -) - -# Load quantized model -bnb_config = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_quant_type="nf4") -model = AutoModelForCausalLM.from_pretrained( - "meta-llama/Llama-3.1-8B", - quantization_config=bnb_config -) - -model = get_peft_model(model, lora_config) -``` - -**Benefits over standard QLoRA**: -- Better initial quality after quantization -- Faster convergence -- ~1-2% better final accuracy on benchmarks - -## Custom Module Targeting - -### Target specific layers - -```python -# Target only first and last transformer layers -lora_config = LoraConfig( - r=16, - lora_alpha=32, - target_modules=["model.layers.0.self_attn.q_proj", - "model.layers.0.self_attn.v_proj", - "model.layers.31.self_attn.q_proj", - "model.layers.31.self_attn.v_proj"], - layers_to_transform=[0, 31] # Alternative approach -) -``` - -### Layer pattern matching - -```python -# Target layers 0-10 only -lora_config = LoraConfig( - r=16, - lora_alpha=32, - target_modules="all-linear", - layers_to_transform=list(range(11)), # Layers 0-10 - layers_pattern="model.layers" -) -``` - -### Exclude specific layers - -```python -lora_config = LoraConfig( - r=16, - target_modules="all-linear", - modules_to_save=["lm_head"], # Train these fully (not LoRA) -) -``` - -## Embedding and LM Head Training - -### Train embeddings with LoRA - -```python -from peft import LoraConfig - -# Include embeddings -lora_config = LoraConfig( - r=16, - lora_alpha=32, - target_modules=["q_proj", "v_proj", "embed_tokens"], # Include embeddings - modules_to_save=["lm_head"], # Train lm_head fully -) -``` - -### Extending vocabulary with LoRA - -```python -from transformers import AutoModelForCausalLM, AutoTokenizer -from peft import get_peft_model, LoraConfig - -# Add new tokens -tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-3.1-8B") -new_tokens = ["", ""] -tokenizer.add_tokens(new_tokens) - -# Resize model embeddings -model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-3.1-8B") -model.resize_token_embeddings(len(tokenizer)) - -# Configure LoRA to train new embeddings -lora_config = LoraConfig( - r=16, - target_modules="all-linear", - modules_to_save=["embed_tokens", "lm_head"], # Train these fully -) - -model = get_peft_model(model, lora_config) -``` - -## Multi-Adapter Patterns - -### Adapter composition - -```python -from peft import PeftModel - -# Load model with multiple adapters -model = AutoPeftModelForCausalLM.from_pretrained("./base-adapter") -model.load_adapter("./style-adapter", adapter_name="style") -model.load_adapter("./task-adapter", adapter_name="task") - -# Combine adapters (weighted sum) -model.add_weighted_adapter( - adapters=["style", "task"], - weights=[0.7, 0.3], - adapter_name="combined", - combination_type="linear" # or "cat", "svd" -) - -model.set_adapter("combined") -``` - -### Adapter stacking - -```python -# Stack adapters (apply sequentially) -model.add_weighted_adapter( - adapters=["base", "domain", "task"], - weights=[1.0, 1.0, 1.0], - adapter_name="stacked", - combination_type="cat" # Concatenate adapter outputs -) -``` - -### Dynamic adapter switching - -```python -import torch - -class MultiAdapterModel: - def __init__(self, base_model_path, adapter_paths): - self.model = AutoPeftModelForCausalLM.from_pretrained(adapter_paths[0]) - for name, path in adapter_paths[1:].items(): - self.model.load_adapter(path, adapter_name=name) - - def generate(self, prompt, adapter_name="default"): - self.model.set_adapter(adapter_name) - return self.model.generate(**self.tokenize(prompt)) - - def generate_ensemble(self, prompt, adapters, weights): - """Generate with weighted adapter ensemble""" - outputs = [] - for adapter, weight in zip(adapters, weights): - self.model.set_adapter(adapter) - logits = self.model(**self.tokenize(prompt)).logits - outputs.append(weight * logits) - return torch.stack(outputs).sum(dim=0) -``` - -## Memory Optimization - -### Gradient checkpointing with LoRA - -```python -from peft import prepare_model_for_kbit_training - -# Enable gradient checkpointing -model = prepare_model_for_kbit_training( - model, - use_gradient_checkpointing=True, - gradient_checkpointing_kwargs={"use_reentrant": False} -) -``` - -### CPU offloading for training - -```python -from accelerate import Accelerator - -accelerator = Accelerator( - mixed_precision="bf16", - gradient_accumulation_steps=8, - cpu_offload=True # Offload optimizer states to CPU -) - -model, optimizer, dataloader = accelerator.prepare(model, optimizer, dataloader) -``` - -### Memory-efficient attention with LoRA - -```python -from transformers import AutoModelForCausalLM - -# Combine Flash Attention 2 with LoRA -model = AutoModelForCausalLM.from_pretrained( - "meta-llama/Llama-3.1-8B", - attn_implementation="flash_attention_2", - torch_dtype=torch.bfloat16 -) - -# Apply LoRA -model = get_peft_model(model, lora_config) -``` - -## Inference Optimization - -### Merge for deployment - -```python -# Merge adapter weights into base model -merged_model = model.merge_and_unload() - -# Quantize merged model for inference -from transformers import BitsAndBytesConfig - -bnb_config = BitsAndBytesConfig(load_in_4bit=True) -quantized_model = AutoModelForCausalLM.from_pretrained( - "./merged-model", - quantization_config=bnb_config -) -``` - -### Export to different formats - -```python -# Export to GGUF (llama.cpp) -# First merge, then convert -merged_model.save_pretrained("./merged-model") - -# Use llama.cpp converter -# python convert-hf-to-gguf.py ./merged-model --outfile model.gguf - -# Export to ONNX -from optimum.onnxruntime import ORTModelForCausalLM - -ort_model = ORTModelForCausalLM.from_pretrained( - "./merged-model", - export=True -) -ort_model.save_pretrained("./onnx-model") -``` - -### Batch adapter inference - -```python -from vllm import LLM -from vllm.lora.request import LoRARequest - -# Initialize with LoRA support -llm = LLM( - model="meta-llama/Llama-3.1-8B", - enable_lora=True, - max_lora_rank=64, - max_loras=4 # Max concurrent adapters -) - -# Batch with different adapters -requests = [ - ("prompt1", LoRARequest("adapter1", 1, "./adapter1")), - ("prompt2", LoRARequest("adapter2", 2, "./adapter2")), - ("prompt3", LoRARequest("adapter1", 1, "./adapter1")), -] - -outputs = llm.generate( - [r[0] for r in requests], - lora_request=[r[1] for r in requests] -) -``` - -## Training Recipes - -### Instruction tuning recipe - -```python -lora_config = LoraConfig( - r=16, - lora_alpha=32, - lora_dropout=0.05, - target_modules="all-linear", - bias="none", - task_type="CAUSAL_LM" -) - -training_args = TrainingArguments( - output_dir="./output", - num_train_epochs=3, - per_device_train_batch_size=4, - gradient_accumulation_steps=4, - learning_rate=2e-4, - lr_scheduler_type="cosine", - warmup_ratio=0.03, - bf16=True, - logging_steps=10, - save_strategy="steps", - save_steps=100, - eval_strategy="steps", - eval_steps=100, -) -``` - -### Code generation recipe - -```python -lora_config = LoraConfig( - r=32, # Higher rank for code - lora_alpha=64, - lora_dropout=0.1, - target_modules=["q_proj", "v_proj", "k_proj", "o_proj", "gate_proj", "up_proj", "down_proj"], - bias="none", - task_type="CAUSAL_LM" -) - -training_args = TrainingArguments( - learning_rate=1e-4, # Lower LR for code - num_train_epochs=2, - max_seq_length=2048, # Longer sequences -) -``` - -### Conversational/Chat recipe - -```python -from trl import SFTTrainer - -lora_config = LoraConfig( - r=16, - lora_alpha=16, # alpha = r for chat - lora_dropout=0.05, - target_modules="all-linear" -) - -# Use chat template -def format_chat(example): - messages = [ - {"role": "user", "content": example["instruction"]}, - {"role": "assistant", "content": example["response"]} - ] - return tokenizer.apply_chat_template(messages, tokenize=False) - -trainer = SFTTrainer( - model=model, - peft_config=lora_config, - train_dataset=dataset.map(format_chat), - max_seq_length=1024, -) -``` - -## Debugging and Validation - -### Verify adapter application - -```python -# Check which modules have LoRA -for name, module in model.named_modules(): - if hasattr(module, "lora_A"): - print(f"LoRA applied to: {name}") - -# Print detailed config -print(model.peft_config) - -# Check adapter state -print(f"Active adapters: {model.active_adapters}") -print(f"Trainable: {sum(p.numel() for p in model.parameters() if p.requires_grad)}") -``` - -### Compare with base model - -```python -# Generate with adapter -model.set_adapter("default") -adapter_output = model.generate(**inputs) - -# Generate without adapter -with model.disable_adapter(): - base_output = model.generate(**inputs) - -print(f"Adapter: {tokenizer.decode(adapter_output[0])}") -print(f"Base: {tokenizer.decode(base_output[0])}") -``` - -### Monitor training metrics - -```python -from transformers import TrainerCallback - -class LoRACallback(TrainerCallback): - def on_log(self, args, state, control, logs=None, **kwargs): - if "loss" in logs: - # Log adapter-specific metrics - model = kwargs["model"] - lora_params = sum(p.numel() for n, p in model.named_parameters() - if "lora" in n and p.requires_grad) - print(f"Step {state.global_step}: loss={logs['loss']:.4f}, lora_params={lora_params}") -``` diff --git a/skills/mlops/peft/references/troubleshooting.md b/skills/mlops/peft/references/troubleshooting.md deleted file mode 100644 index 2200f75c2..000000000 --- a/skills/mlops/peft/references/troubleshooting.md +++ /dev/null @@ -1,480 +0,0 @@ -# PEFT Troubleshooting Guide - -## Installation Issues - -### bitsandbytes CUDA Error - -**Error**: `CUDA Setup failed despite GPU being available` - -**Fix**: -```bash -# Check CUDA version -nvcc --version - -# Install matching bitsandbytes -pip uninstall bitsandbytes -pip install bitsandbytes --no-cache-dir - -# Or compile from source for specific CUDA -git clone https://github.com/TimDettmers/bitsandbytes.git -cd bitsandbytes -CUDA_VERSION=118 make cuda11x # Adjust for your CUDA -pip install . -``` - -### Triton Import Error - -**Error**: `ModuleNotFoundError: No module named 'triton'` - -**Fix**: -```bash -# Install triton (Linux only) -pip install triton - -# Windows: Triton not supported, use CUDA backend -# Set environment variable to disable triton -export CUDA_VISIBLE_DEVICES=0 -``` - -### PEFT Version Conflicts - -**Error**: `AttributeError: 'LoraConfig' object has no attribute 'use_dora'` - -**Fix**: -```bash -# Upgrade to latest PEFT -pip install peft>=0.13.0 --upgrade - -# Check version -python -c "import peft; print(peft.__version__)" -``` - -## Training Issues - -### CUDA Out of Memory - -**Error**: `torch.cuda.OutOfMemoryError: CUDA out of memory` - -**Solutions**: - -1. **Enable gradient checkpointing**: -```python -from peft import prepare_model_for_kbit_training -model = prepare_model_for_kbit_training(model, use_gradient_checkpointing=True) -``` - -2. **Reduce batch size**: -```python -TrainingArguments( - per_device_train_batch_size=1, - gradient_accumulation_steps=16 # Maintain effective batch size -) -``` - -3. **Use QLoRA**: -```python -from transformers import BitsAndBytesConfig - -bnb_config = BitsAndBytesConfig( - load_in_4bit=True, - bnb_4bit_quant_type="nf4", - bnb_4bit_use_double_quant=True -) -model = AutoModelForCausalLM.from_pretrained(model_name, quantization_config=bnb_config) -``` - -4. **Lower LoRA rank**: -```python -LoraConfig(r=8) # Instead of r=16 or higher -``` - -5. **Target fewer modules**: -```python -target_modules=["q_proj", "v_proj"] # Instead of all-linear -``` - -### Loss Not Decreasing - -**Problem**: Training loss stays flat or increases. - -**Solutions**: - -1. **Check learning rate**: -```python -# Start lower -TrainingArguments(learning_rate=1e-4) # Not 2e-4 or higher -``` - -2. **Verify adapter is active**: -```python -model.print_trainable_parameters() -# Should show >0 trainable params - -# Check adapter applied -print(model.peft_config) -``` - -3. **Check data formatting**: -```python -# Verify tokenization -sample = dataset[0] -decoded = tokenizer.decode(sample["input_ids"]) -print(decoded) # Should look correct -``` - -4. **Increase rank**: -```python -LoraConfig(r=32, lora_alpha=64) # More capacity -``` - -### NaN Loss - -**Error**: `Loss is NaN` - -**Fix**: -```python -# Use bf16 instead of fp16 -TrainingArguments(bf16=True, fp16=False) - -# Or enable loss scaling -TrainingArguments(fp16=True, fp16_full_eval=True) - -# Lower learning rate -TrainingArguments(learning_rate=5e-5) - -# Check for data issues -for batch in dataloader: - if torch.isnan(batch["input_ids"].float()).any(): - print("NaN in input!") -``` - -### Adapter Not Training - -**Problem**: `trainable params: 0` or model not updating. - -**Fix**: -```python -# Verify LoRA applied to correct modules -for name, module in model.named_modules(): - if "lora" in name.lower(): - print(f"Found LoRA: {name}") - -# Check target_modules match model architecture -from peft.utils import TRANSFORMERS_MODELS_TO_LORA_TARGET_MODULES_MAPPING -print(TRANSFORMERS_MODELS_TO_LORA_TARGET_MODULES_MAPPING.get(model.config.model_type)) - -# Ensure model in training mode -model.train() - -# Check requires_grad -for name, param in model.named_parameters(): - if param.requires_grad: - print(f"Trainable: {name}") -``` - -## Loading Issues - -### Adapter Loading Fails - -**Error**: `ValueError: Can't find adapter weights` - -**Fix**: -```python -# Check adapter files exist -import os -print(os.listdir("./adapter-path")) -# Should contain: adapter_config.json, adapter_model.safetensors - -# Load with correct structure -from peft import PeftModel, PeftConfig - -# Check config -config = PeftConfig.from_pretrained("./adapter-path") -print(config) - -# Load base model first -base_model = AutoModelForCausalLM.from_pretrained(config.base_model_name_or_path) -model = PeftModel.from_pretrained(base_model, "./adapter-path") -``` - -### Base Model Mismatch - -**Error**: `RuntimeError: size mismatch` - -**Fix**: -```python -# Ensure base model matches adapter -from peft import PeftConfig - -config = PeftConfig.from_pretrained("./adapter-path") -print(f"Base model: {config.base_model_name_or_path}") - -# Load exact same base model -base_model = AutoModelForCausalLM.from_pretrained(config.base_model_name_or_path) -``` - -### Safetensors vs PyTorch Format - -**Error**: `ValueError: We couldn't connect to 'https://huggingface.co'` - -**Fix**: -```python -# Force local loading -model = PeftModel.from_pretrained( - base_model, - "./adapter-path", - local_files_only=True -) - -# Or specify format -model.save_pretrained("./adapter", safe_serialization=True) # safetensors -model.save_pretrained("./adapter", safe_serialization=False) # pytorch -``` - -## Inference Issues - -### Slow Generation - -**Problem**: Inference much slower than expected. - -**Solutions**: - -1. **Merge adapter for deployment**: -```python -merged_model = model.merge_and_unload() -# No adapter overhead during inference -``` - -2. **Use optimized inference engine**: -```python -from vllm import LLM -llm = LLM(model="./merged-model", dtype="half") -``` - -3. **Enable Flash Attention**: -```python -model = AutoModelForCausalLM.from_pretrained( - model_name, - attn_implementation="flash_attention_2" -) -``` - -### Output Quality Issues - -**Problem**: Fine-tuned model produces worse outputs. - -**Solutions**: - -1. **Check evaluation without adapter**: -```python -with model.disable_adapter(): - base_output = model.generate(**inputs) -# Compare with adapter output -``` - -2. **Lower temperature during eval**: -```python -model.generate(**inputs, temperature=0.1, do_sample=False) -``` - -3. **Retrain with more data**: -```python -# Increase training samples -# Use higher quality data -# Train for more epochs -``` - -### Wrong Adapter Active - -**Problem**: Model using wrong adapter or no adapter. - -**Fix**: -```python -# Check active adapters -print(model.active_adapters) - -# Explicitly set adapter -model.set_adapter("your-adapter-name") - -# List all adapters -print(model.peft_config.keys()) -``` - -## QLoRA Specific Issues - -### Quantization Errors - -**Error**: `RuntimeError: mat1 and mat2 shapes cannot be multiplied` - -**Fix**: -```python -# Ensure compute dtype matches -bnb_config = BitsAndBytesConfig( - load_in_4bit=True, - bnb_4bit_compute_dtype=torch.bfloat16, # Match model dtype - bnb_4bit_quant_type="nf4" -) - -# Load with correct dtype -model = AutoModelForCausalLM.from_pretrained( - model_name, - quantization_config=bnb_config, - torch_dtype=torch.bfloat16 -) -``` - -### QLoRA OOM - -**Error**: OOM even with 4-bit quantization. - -**Fix**: -```python -# Enable double quantization -bnb_config = BitsAndBytesConfig( - load_in_4bit=True, - bnb_4bit_use_double_quant=True # Further memory reduction -) - -# Use offloading -model = AutoModelForCausalLM.from_pretrained( - model_name, - quantization_config=bnb_config, - device_map="auto", - max_memory={0: "20GB", "cpu": "100GB"} -) -``` - -### QLoRA Merge Fails - -**Error**: `RuntimeError: expected scalar type BFloat16 but found Float` - -**Fix**: -```python -# Dequantize before merging -from peft import PeftModel - -# Load in higher precision for merging -base_model = AutoModelForCausalLM.from_pretrained( - base_model_name, - torch_dtype=torch.float16, # Not quantized - device_map="auto" -) - -# Load adapter -model = PeftModel.from_pretrained(base_model, "./qlora-adapter") - -# Now merge -merged = model.merge_and_unload() -``` - -## Multi-Adapter Issues - -### Adapter Conflict - -**Error**: `ValueError: Adapter with name 'default' already exists` - -**Fix**: -```python -# Use unique names -model.load_adapter("./adapter1", adapter_name="task1") -model.load_adapter("./adapter2", adapter_name="task2") - -# Or delete existing -model.delete_adapter("default") -``` - -### Mixed Precision Adapters - -**Error**: Adapters trained with different dtypes. - -**Fix**: -```python -# Convert adapter precision -model = PeftModel.from_pretrained(base_model, "./adapter") -model = model.to(torch.bfloat16) - -# Or load with specific dtype -model = PeftModel.from_pretrained( - base_model, - "./adapter", - torch_dtype=torch.bfloat16 -) -``` - -## Performance Optimization - -### Memory Profiling - -```python -import torch - -def print_memory(): - if torch.cuda.is_available(): - allocated = torch.cuda.memory_allocated() / 1e9 - reserved = torch.cuda.memory_reserved() / 1e9 - print(f"Allocated: {allocated:.2f}GB, Reserved: {reserved:.2f}GB") - -# Profile during training -print_memory() # Before -model.train() -loss = model(**batch).loss -loss.backward() -print_memory() # After -``` - -### Speed Profiling - -```python -import time -import torch - -def benchmark_generation(model, tokenizer, prompt, n_runs=5): - inputs = tokenizer(prompt, return_tensors="pt").to(model.device) - - # Warmup - model.generate(**inputs, max_new_tokens=10) - torch.cuda.synchronize() - - # Benchmark - times = [] - for _ in range(n_runs): - start = time.perf_counter() - outputs = model.generate(**inputs, max_new_tokens=100) - torch.cuda.synchronize() - times.append(time.perf_counter() - start) - - tokens = outputs.shape[1] - inputs.input_ids.shape[1] - avg_time = sum(times) / len(times) - print(f"Speed: {tokens/avg_time:.2f} tokens/sec") - -# Compare adapter vs merged -benchmark_generation(adapter_model, tokenizer, "Hello") -benchmark_generation(merged_model, tokenizer, "Hello") -``` - -## Getting Help - -1. **Check PEFT GitHub Issues**: https://github.com/huggingface/peft/issues -2. **HuggingFace Forums**: https://discuss.huggingface.co/ -3. **PEFT Documentation**: https://huggingface.co/docs/peft - -### Debugging Template - -When reporting issues, include: - -```python -# System info -import peft -import transformers -import torch - -print(f"PEFT: {peft.__version__}") -print(f"Transformers: {transformers.__version__}") -print(f"PyTorch: {torch.__version__}") -print(f"CUDA: {torch.version.cuda}") -print(f"GPU: {torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'N/A'}") - -# Config -print(model.peft_config) -model.print_trainable_parameters() -``` diff --git a/skills/mlops/slime/SKILL.md b/skills/mlops/slime/SKILL.md deleted file mode 100644 index 5335faff6..000000000 --- a/skills/mlops/slime/SKILL.md +++ /dev/null @@ -1,467 +0,0 @@ ---- -name: slime-rl-training -description: Provides guidance for LLM post-training with RL using slime, a Megatron+SGLang framework. Use when training GLM models, implementing custom data generation workflows, or needing tight Megatron-LM integration for RL scaling. -version: 1.0.0 -author: Orchestra Research -license: MIT -dependencies: [sglang-router>=0.2.3, ray, torch>=2.0.0, transformers>=4.40.0] -metadata: - hermes: - tags: [Reinforcement Learning, Megatron-LM, SGLang, GRPO, Post-Training, GLM] - ---- - -# slime: LLM Post-Training Framework for RL Scaling - -slime is an LLM post-training framework from Tsinghua's THUDM team, powering GLM-4.5, GLM-4.6, and GLM-4.7. It connects Megatron-LM for training with SGLang for high-throughput rollout generation. - -## When to Use slime - -**Choose slime when you need:** -- Megatron-LM native training with SGLang inference -- Custom data generation workflows with flexible data buffers -- Training GLM, Qwen3, DeepSeek V3, or Llama 3 models -- Research-grade framework with production backing (Z.ai) - -**Consider alternatives when:** -- You need enterprise-grade stability features → use **miles** -- You want flexible backend swapping → use **verl** -- You need PyTorch-native abstractions → use **torchforge** - -## Key Features - -- **Training**: Megatron-LM with full parallelism support (TP, PP, DP, SP) -- **Rollout**: SGLang-based high-throughput generation with router -- **Data Buffer**: Flexible prompt management and sample storage -- **Models**: GLM-4.x, Qwen3, DeepSeek V3/R1, Llama 3 - -## Architecture Overview - -``` -┌─────────────────────────────────────────────────────────┐ -│ Data Buffer │ -│ - Prompt initialization and management │ -│ - Custom data generation and filtering │ -│ - Rollout sample storage │ -└─────────────┬───────────────────────────┬───────────────┘ - │ │ -┌─────────────▼───────────┐ ┌─────────────▼───────────────┐ -│ Training (Megatron-LM) │ │ Rollout (SGLang + Router) │ -│ - Actor model training │ │ - Response generation │ -│ - Critic (optional) │ │ - Reward/verifier output │ -│ - Weight sync to rollout│ │ - Multi-turn support │ -└─────────────────────────┘ └─────────────────────────────┘ -``` - -## Installation - -```bash -# Recommended: Docker -docker pull slimerl/slime:latest -docker run --rm --gpus all --ipc=host --shm-size=16g \ - -it slimerl/slime:latest /bin/bash - -# Inside container -cd /root/slime && pip install -e . --no-deps -``` - -### From Source - -```bash -git clone https://github.com/THUDM/slime.git -cd slime -pip install -r requirements.txt -pip install -e . -``` - -## Quick Start: GRPO Training - -```bash -# Source model configuration -source scripts/models/qwen3-4B.sh - -# Launch training -python train.py \ - --actor-num-nodes 1 \ - --actor-num-gpus-per-node 4 \ - --rollout-num-gpus 4 \ - --advantage-estimator grpo \ - --use-kl-loss --kl-loss-coef 0.001 \ - --rollout-batch-size 32 \ - --n-samples-per-prompt 8 \ - --global-batch-size 256 \ - --num-rollout 3000 \ - --prompt-data /path/to/data.jsonl \ - ${MODEL_ARGS[@]} ${CKPT_ARGS[@]} -``` - ---- - -## Workflow 1: Standard GRPO Training - -Use this workflow for training reasoning models with group-relative advantages. - -### Prerequisites Checklist -- [ ] Docker environment or Megatron-LM + SGLang installed -- [ ] Model checkpoint (HuggingFace or Megatron format) -- [ ] Training data in JSONL format - -### Step 1: Prepare Data - -```python -# data.jsonl format -{"prompt": "What is 2 + 2?", "label": "4"} -{"prompt": "Solve: 3x = 12", "label": "x = 4"} -``` - -Or with chat format: -```python -{ - "prompt": [ - {"role": "system", "content": "You are a math tutor."}, - {"role": "user", "content": "What is 15 + 27?"} - ], - "label": "42" -} -``` - -### Step 2: Configure Model - -Choose a pre-configured model script: - -```bash -# List available models -ls scripts/models/ -# glm4-9B.sh, qwen3-4B.sh, qwen3-30B-A3B.sh, deepseek-v3.sh, llama3-8B.sh, ... - -# Source your model -source scripts/models/qwen3-4B.sh -``` - -### Step 3: Launch Training - -```bash -python train.py \ - --actor-num-nodes 1 \ - --actor-num-gpus-per-node 8 \ - --rollout-num-gpus 8 \ - --advantage-estimator grpo \ - --use-kl-loss \ - --kl-loss-coef 0.001 \ - --prompt-data /path/to/train.jsonl \ - --input-key prompt \ - --label-key label \ - --apply-chat-template \ - --rollout-batch-size 32 \ - --n-samples-per-prompt 8 \ - --global-batch-size 256 \ - --num-rollout 3000 \ - --save-interval 100 \ - --eval-interval 50 \ - ${MODEL_ARGS[@]} -``` - -### Step 4: Monitor Training -- [ ] Check TensorBoard: `tensorboard --logdir outputs/` -- [ ] Verify reward curves are increasing -- [ ] Monitor GPU utilization across nodes - ---- - -## Workflow 2: Asynchronous Training - -Use async mode for higher throughput by overlapping rollout and training. - -### When to Use Async -- Large models with long generation times -- High GPU idle time in synchronous mode -- Sufficient memory for buffering - -### Launch Async Training - -```bash -python train_async.py \ - --actor-num-nodes 1 \ - --actor-num-gpus-per-node 8 \ - --rollout-num-gpus 8 \ - --advantage-estimator grpo \ - --async-buffer-size 4 \ - --prompt-data /path/to/train.jsonl \ - ${MODEL_ARGS[@]} -``` - -### Async-Specific Parameters - -```bash ---async-buffer-size 4 # Number of rollouts to buffer ---update-weights-interval 2 # Sync weights every N rollouts -``` - ---- - -## Workflow 3: Multi-Turn Agentic Training - -Use this workflow for training agents with tool use or multi-step reasoning. - -### Prerequisites -- [ ] Custom generate function for multi-turn logic -- [ ] Tool/environment interface - -### Step 1: Define Custom Generate Function - -```python -# custom_generate.py -async def custom_generate(args, samples, evaluation=False): - """Multi-turn generation with tool calling.""" - for sample in samples: - conversation = sample.prompt - - for turn in range(args.max_turns): - # Generate response - response = await generate_single(conversation) - - # Check for tool call - tool_call = extract_tool_call(response) - if tool_call: - tool_result = execute_tool(tool_call) - conversation.append({"role": "assistant", "content": response}) - conversation.append({"role": "tool", "content": tool_result}) - else: - break - - sample.response = response - sample.reward = compute_reward(sample) - - return samples -``` - -### Step 2: Launch with Custom Function - -```bash -python train.py \ - --custom-generate-function-path custom_generate.py \ - --max-turns 5 \ - --prompt-data /path/to/agent_data.jsonl \ - ${MODEL_ARGS[@]} -``` - -See `examples/search-r1/` for a complete multi-turn search example. - ---- - -## Configuration Reference - -### Three Argument Categories - -slime uses three types of arguments: - -**1. Megatron Arguments** (passed directly): -```bash ---tensor-model-parallel-size 2 ---pipeline-model-parallel-size 1 ---num-layers 32 ---hidden-size 4096 -``` - -**2. SGLang Arguments** (prefixed with `--sglang-`): -```bash ---sglang-mem-fraction-static 0.8 ---sglang-context-length 8192 ---sglang-log-level INFO -``` - -**3. slime Arguments**: -```bash -# Resource allocation ---actor-num-nodes 1 ---actor-num-gpus-per-node 8 ---rollout-num-gpus 8 ---colocate # Share GPUs between training/inference - -# Data ---prompt-data /path/to/data.jsonl ---input-key prompt ---label-key label - -# Training loop ---num-rollout 3000 ---rollout-batch-size 32 ---n-samples-per-prompt 8 ---global-batch-size 256 - -# Algorithm ---advantage-estimator grpo # or: gspo, ppo, reinforce_plus_plus ---use-kl-loss ---kl-loss-coef 0.001 -``` - -### Key Constraints - -``` -rollout_batch_size × n_samples_per_prompt = global_batch_size × num_steps_per_rollout -``` - -Example: 32 × 8 = 256 × 1 - ---- - -## Data Buffer System - -slime's data buffer enables flexible data management: - -### Basic Data Source - -```python -class RolloutDataSource: - def get_samples(self, num_samples): - """Fetch prompts from dataset.""" - return self.dataset.sample(num_samples) - - def add_samples(self, samples): - """Called after generation (no-op by default).""" - pass -``` - -### Buffered Data Source (Off-Policy) - -```python -class RolloutDataSourceWithBuffer(RolloutDataSource): - def __init__(self): - self.buffer = [] - - def add_samples(self, samples): - """Store generated samples for reuse.""" - self.buffer.extend(samples) - - def buffer_filter(self, args, buffer, num_samples): - """Custom selection logic (prioritized, stratified, etc.).""" - return select_best(buffer, num_samples) -``` - ---- - -## Common Issues and Solutions - -### Issue: SGLang Engine Crash - -**Symptoms**: Inference engine dies mid-training - -**Solutions**: -```bash -# Enable fault tolerance ---use-fault-tolerance - -# Increase memory allocation ---sglang-mem-fraction-static 0.85 - -# Reduce batch size ---rollout-batch-size 16 -``` - -### Issue: Weight Sync Timeout - -**Symptoms**: Training hangs after rollout - -**Solutions**: -```bash -# Increase sync interval ---update-weights-interval 5 - -# Use colocated mode (no network transfer) ---colocate -``` - -### Issue: OOM During Training - -**Symptoms**: CUDA OOM in backward pass - -**Solutions**: -```bash -# Enable gradient checkpointing ---recompute-activations - -# Reduce micro-batch size ---micro-batch-size 1 - -# Enable sequence parallelism ---sequence-parallel -``` - -### Issue: Slow Data Loading - -**Symptoms**: GPU idle during data fetch - -**Solutions**: -```bash -# Increase data workers ---num-data-workers 4 - -# Use streaming dataset ---streaming-data -``` - ---- - -## Supported Models - -| Model Family | Configurations | -|--------------|----------------| -| GLM | GLM-4.5, GLM-4.6, GLM-4.7, GLM-Z1-9B | -| Qwen | Qwen3 (4B, 8B, 30B-A3B), Qwen3-MoE, Qwen2.5 | -| DeepSeek | V3, V3.1, R1 | -| Llama | Llama 3 (8B, 70B) | -| Others | Kimi K2, Moonlight-16B | - -Each model has pre-configured scripts in `scripts/models/`. - ---- - -## Advanced Topics - -### Co-location Mode - -Share GPUs between training and inference to reduce memory: - -```bash -python train.py \ - --colocate \ - --actor-num-gpus-per-node 8 \ - --sglang-mem-fraction-static 0.4 \ - ${MODEL_ARGS[@]} -``` - -### Custom Reward Model - -```python -# custom_rm.py -class CustomRewardModel: - def __init__(self, model_path): - self.model = load_model(model_path) - - def compute_reward(self, prompts, responses): - inputs = self.tokenize(prompts, responses) - scores = self.model(inputs) - return scores.tolist() -``` - -```bash ---custom-rm-path custom_rm.py -``` - -### Evaluation Multi-Task - -```bash ---eval-prompt-data aime /path/to/aime.jsonl \ ---eval-prompt-data gsm8k /path/to/gsm8k.jsonl \ ---n-samples-per-eval-prompt 16 -``` - ---- - -## Resources - -- **Documentation**: https://thudm.github.io/slime/ -- **GitHub**: https://github.com/THUDM/slime -- **Blog**: https://lmsys.org/blog/2025-07-09-slime/ -- **Examples**: See `examples/` directory for 14+ worked examples - diff --git a/skills/mlops/slime/references/api-reference.md b/skills/mlops/slime/references/api-reference.md deleted file mode 100644 index a63a6fbe4..000000000 --- a/skills/mlops/slime/references/api-reference.md +++ /dev/null @@ -1,392 +0,0 @@ -# slime API Reference - -## Architecture Overview - -slime operates with a three-module architecture orchestrated by Ray: - -``` -┌─────────────────────────────────────────────────────────┐ -│ Data Buffer │ -│ - Prompt initialization and management │ -│ - Custom data generation and filtering │ -│ - Rollout sample storage │ -└─────────────┬───────────────────────────┬───────────────┘ - │ │ -┌─────────────▼───────────┐ ┌─────────────▼───────────────┐ -│ Training (Megatron-LM) │ │ Rollout (SGLang + Router) │ -│ - Actor model training │ │ - Response generation │ -│ - Critic (optional) │ │ - Reward/verifier output │ -│ - Weight sync to rollout│ │ - Multi-turn support │ -└─────────────────────────┘ └─────────────────────────────┘ -``` - -## Core Data Structures - -### Sample Object - -The `Sample` object is the core data structure defined in `slime/utils/types.py`: - -```python -from slime.utils.types import Sample - -@dataclass -class Sample: - # Core fields - group_index: Optional[int] # Group index for batching - index: Optional[int] # Sample index - prompt: str | list[dict] = "" # Input prompt or chat history - tokens: list[int] = field(default_factory=list) # Token IDs - response: str = "" # Generated response - response_length: int = 0 # Response length in tokens - label: Optional[str] = None # Ground truth label - reward: Optional[float | dict] = None # RL reward signal - loss_mask: Optional[list[int]] = None # 1=compute loss, 0=mask - status: Status = Status.PENDING # Sample status - metadata: dict = field(default_factory=dict) # Custom data - - # Multimodal support - multimodal_inputs: Optional[Any] = None # Raw multimodal data (images, videos) - multimodal_train_inputs: Optional[Any] = None # Processed multimodal data (pixel_values) - - # Rollout tracking - weight_versions: list[str] = field(default_factory=list) - rollout_log_probs: Optional[list[float]] = None # Log probs from SGLang - rollout_routed_experts: Optional[list[list[int]]] = None # Expert routing (MoE) - - # Control fields - remove_sample: bool = False - generate_function_path: Optional[str] = None - train_metadata: Optional[dict] = None - non_generation_time: float = 0.0 - - # Speculative decoding info (nested dataclass) - @dataclass - class SpecInfo: - spec_accept_token_num: int = 0 - spec_draft_token_num: int = 0 - spec_verify_ct: int = 0 - completion_token_num: int = 0 -``` - -### Status Enum - -```python -class Status(Enum): - PENDING = "pending" # Not yet processed - COMPLETED = "completed" # Successfully generated - TRUNCATED = "truncated" # Hit max length - ABORTED = "aborted" # Failed generation - FAILED = "failed" # Generation failed -``` - -## Configuration System - -slime uses three categories of command-line arguments: - -### 1. Megatron Arguments - -All Megatron-LM arguments are supported directly: - -```bash ---tensor-model-parallel-size 2 ---pipeline-model-parallel-size 1 ---num-layers 32 ---hidden-size 4096 ---num-attention-heads 32 ---seq-length 4096 ---micro-batch-size 1 ---global-batch-size 256 -``` - -### 2. SGLang Arguments - -SGLang arguments are prefixed with `--sglang-`: - -```bash ---sglang-mem-fraction-static 0.8 # GPU memory for KV cache ---sglang-context-length 8192 # Maximum context length ---sglang-log-level INFO # Logging verbosity ---sglang-tp-size 2 # Tensor parallelism ---sglang-disable-cuda-graph # Disable CUDA graphs -``` - -### 3. slime-Specific Arguments - -Defined in `slime/utils/arguments.py`: - -```bash -# Resource Allocation ---actor-num-nodes 1 # Training nodes ---actor-num-gpus-per-node 8 # GPUs per training node ---rollout-num-gpus 8 # Total rollout GPUs ---rollout-num-gpus-per-engine 2 # GPUs per SGLang engine ---colocate # Share GPUs for train/inference - -# Data Configuration ---prompt-data /path/to/data.jsonl # Training data path ---input-key prompt # Key for prompts in JSON ---label-key label # Key for labels in JSON ---apply-chat-template # Apply chat formatting - -# Training Loop ---num-rollout 3000 # Total rollout iterations ---rollout-batch-size 32 # Prompts per rollout ---n-samples-per-prompt 8 # Responses per prompt ---global-batch-size 256 # Training batch size ---num-steps-per-rollout 1 # Training steps per rollout - -# RL Algorithm ---advantage-estimator grpo # grpo, gspo, ppo, reinforce_plus_plus ---use-kl-loss # Enable KL loss ---kl-loss-coef 0.001 # KL coefficient ---calculate-per-token-loss # Token-level loss - -# Off-Policy Options ---use-tis # Truncated Importance Sampling ---tis-threshold 0.9 # TIS threshold ---true-on-policy-mode # Force on-policy training -``` - -## Data Buffer System - -### RolloutDataSource (Base Class) - -```python -from slime.data import RolloutDataSource - -class RolloutDataSource: - def __init__(self, dataset, args): - self.dataset = dataset - self.args = args - - def get_samples(self, num_samples: int) -> list[Sample]: - """Fetch prompts from dataset.""" - return [Sample(prompt=p) for p in self.dataset.sample(num_samples)] - - def add_samples(self, samples: list[Sample]) -> None: - """Called after generation (no-op by default).""" - pass -``` - -### Buffered Data Source (Off-Policy) - -```python -from slime.data import RolloutDataSourceWithBuffer - -class RolloutDataSourceWithBuffer(RolloutDataSource): - def __init__(self, dataset, args): - super().__init__(dataset, args) - self.buffer = [] - - def add_samples(self, samples: list[Sample]) -> None: - """Store generated samples for reuse.""" - self.buffer.extend(samples) - - def buffer_filter(self, args, buffer, num_samples) -> list[Sample]: - """Custom selection logic.""" - # Example: prioritized sampling based on reward - sorted_buffer = sorted(buffer, key=lambda s: s.reward, reverse=True) - return sorted_buffer[:num_samples] -``` - -## Custom Functions - -### Custom Generate Function - -For multi-turn or tool-calling scenarios: - -```python -# custom_generate.py -from slime.data import Sample - -async def custom_generate(args, samples: list[Sample], evaluation: bool = False) -> list[Sample]: - """ - Custom generation function for multi-turn interactions. - - Args: - args: Training arguments - samples: List of Sample objects with prompts - evaluation: Whether this is an evaluation run - - Returns: - List of Sample objects with responses and rewards - """ - for sample in samples: - conversation = sample.prompt if isinstance(sample.prompt, list) else [ - {"role": "user", "content": sample.prompt} - ] - - for turn in range(args.max_turns): - # Generate response - response = await generate_single(conversation) - - # Check for tool call - tool_call = extract_tool_call(response) - if tool_call: - # Execute tool - tool_result = await execute_tool(tool_call) - conversation.append({"role": "assistant", "content": response}) - conversation.append({"role": "tool", "content": tool_result}) - else: - # Final response - sample.response = response - break - - # Compute reward - sample.reward = compute_reward(sample) - - # Set loss mask (1 for model tokens, 0 for tool responses) - sample.loss_mask = build_loss_mask(sample) - - return samples -``` - -Usage: -```bash -python train.py \ - --custom-generate-function-path custom_generate.py \ - --max-turns 5 -``` - -### Custom Reward Function - -```python -# custom_rm.py -from slime.data import Sample - -async def reward_func(args, sample: Sample, **kwargs) -> float: - """ - Compute reward for a single sample. - - Args: - args: Training arguments - sample: Sample object with response - - Returns: - Reward score (float) - """ - response = sample.response - ground_truth = sample.label or sample.metadata.get("answer", "") - - # Example: exact match reward - if response.strip() == ground_truth.strip(): - return 1.0 - return 0.0 - -# For batched processing (more efficient) -async def batched_custom_rm(args, samples: list[Sample]) -> list[float]: - """Batch reward computation.""" - rewards = [] - for sample in samples: - reward = await reward_func(args, sample) - rewards.append(reward) - return rewards -``` - -Usage: -```bash -python train.py \ - --custom-rm-path custom_rm.py \ - --group-rm # Enable batched processing -``` - -## Model Configuration - -### Pre-configured Model Scripts - -Located in `scripts/models/`: - -```bash -# List available models -ls scripts/models/ -# glm4-9B.sh, qwen3-4B.sh, qwen3-30B-A3B.sh, deepseek-v3.sh, llama3-8B.sh - -# Source model configuration -source scripts/models/qwen3-4B.sh -# This sets MODEL_ARGS and CKPT_ARGS arrays -``` - -### Example Model Script - -```bash -# scripts/models/qwen3-4B.sh -export MODEL_ARGS=( - --num-layers 36 - --hidden-size 2560 - --num-attention-heads 20 - --num-query-groups 4 - --ffn-hidden-size 6912 - --max-position-embeddings 32768 - --rotary-percent 1.0 - --rotary-base 1000000 - --swiglu - --untie-embeddings-and-output-weights - --no-position-embedding - --normalization RMSNorm - --tokenizer-type HuggingFaceTokenizer - --bf16 -) - -export CKPT_ARGS=( - --hf-checkpoint /path/to/qwen3-4b-hf - --initial-megatron-checkpoint /path/to/megatron/ckpt -) -``` - -## Async Training - -### Enabling Async Mode - -```bash -python train_async.py \ - --actor-num-gpus-per-node 8 \ - --rollout-num-gpus 8 \ - --async-buffer-size 4 \ - --update-weights-interval 2 \ - ${MODEL_ARGS[@]} -``` - -### Async-Specific Parameters - -```bash ---async-buffer-size 4 # Number of rollouts to buffer ---update-weights-interval 2 # Sync weights every N rollouts -``` - -**Note**: Colocated mode (`--colocate`) is NOT supported with async training. - -## Evaluation - -### Multi-Task Evaluation - -```bash ---eval-prompt-data aime /path/to/aime.jsonl \ ---eval-prompt-data gsm8k /path/to/gsm8k.jsonl \ ---n-samples-per-eval-prompt 16 \ ---eval-interval 50 -``` - -### Evaluation Configuration - -```bash ---eval-interval 50 # Evaluate every N rollouts ---n-samples-per-eval-prompt 16 # Samples for evaluation ---eval-temperature 0.0 # Greedy decoding for eval -``` - -## Supported Models - -| Model Family | Configurations | -|--------------|----------------| -| GLM | GLM-4.5, GLM-4.6, GLM-4.7, GLM-Z1-9B | -| Qwen | Qwen3 (4B, 8B, 30B-A3B), Qwen3-MoE, Qwen2.5 | -| DeepSeek | V3, V3.1, R1 | -| Llama | Llama 3 (8B, 70B) | -| Others | Kimi K2, Moonlight-16B | - -## Resources - -- Documentation: https://thudm.github.io/slime/ -- GitHub: https://github.com/THUDM/slime -- Blog: https://lmsys.org/blog/2025-07-09-slime/ -- Examples: `examples/` directory (14+ worked examples) diff --git a/skills/mlops/slime/references/troubleshooting.md b/skills/mlops/slime/references/troubleshooting.md deleted file mode 100644 index 23108525d..000000000 --- a/skills/mlops/slime/references/troubleshooting.md +++ /dev/null @@ -1,386 +0,0 @@ -# slime Troubleshooting Guide - -## Common Issues and Solutions - -### SGLang Issues - -#### Issue: SGLang Engine Crash - -**Symptoms**: Inference engine dies mid-training, connection errors - -**Solutions**: - -1. **Enable fault tolerance**: -```bash ---use-fault-tolerance -``` - -2. **Increase memory allocation**: -```bash ---sglang-mem-fraction-static 0.85 # Increase from 0.8 -``` - -3. **Reduce batch size**: -```bash ---rollout-batch-size 16 # Reduce from 32 -``` - -4. **Disable CUDA graphs** (for debugging): -```bash ---sglang-disable-cuda-graph -``` - -#### Issue: SGLang Router Load Imbalance - -**Symptoms**: Some SGLang engines overloaded while others idle - -**Solutions**: - -1. **Adjust routing strategy**: -```bash ---sglang-router-strategy round_robin -``` - -2. **Increase number of engines**: -```bash ---rollout-num-gpus-per-engine 1 # More engines, less GPUs each -``` - -### Weight Synchronization Issues - -#### Issue: Weight Sync Timeout - -**Symptoms**: Training hangs after rollout, timeout errors - -**Solutions**: - -1. **Increase sync interval** (async mode): -```bash ---update-weights-interval 5 # Increase from 2 -``` - -2. **Use colocated mode** (eliminates network transfer): -```bash ---colocate -``` - -3. **Check network bandwidth**: -```bash -# Verify InfiniBand is enabled -ibstat -``` - -#### Issue: Weight Sync Failures in Multi-Node - -**Symptoms**: Nodes fail to receive updated weights - -**Solutions**: - -1. **Set NCCL environment**: -```bash -export NCCL_DEBUG=INFO -export NCCL_SOCKET_IFNAME=eth0 -export NCCL_IB_DISABLE=0 -``` - -2. **Increase timeout**: -```bash -export NCCL_TIMEOUT=1800 -``` - -### Memory Issues - -#### Issue: OOM During Training - -**Symptoms**: CUDA OOM in backward pass - -**Solutions**: - -1. **Enable gradient checkpointing**: -```bash ---recompute-activations -``` - -2. **Reduce micro-batch size**: -```bash ---micro-batch-size 1 -``` - -3. **Enable sequence parallelism**: -```bash ---sequence-parallel -``` - -4. **Reduce global batch size**: -```bash ---global-batch-size 128 # Reduce from 256 -``` - -#### Issue: OOM in Colocated Mode - -**Symptoms**: OOM when both training and inference run on same GPUs - -**Solutions**: - -1. **Reduce SGLang memory**: -```bash ---sglang-mem-fraction-static 0.4 # Reduce from 0.8 -``` - -2. **Enable offloading**: -```bash ---offload-optimizer-states -``` - -3. **Use smaller sequence length**: -```bash ---seq-length 2048 # Reduce from 4096 -``` - -### Data Loading Issues - -#### Issue: Slow Data Loading - -**Symptoms**: GPU idle during data fetch, low GPU utilization - -**Solutions**: - -1. **Increase data workers**: -```bash ---num-data-workers 4 -``` - -2. **Use streaming dataset**: -```bash ---streaming-data -``` - -3. **Pre-tokenize data**: -```python -# Pre-process data offline -from transformers import AutoTokenizer -tokenizer = AutoTokenizer.from_pretrained("model_path") -# Save tokenized data -``` - -#### Issue: Data Format Errors - -**Symptoms**: KeyError, missing fields, parsing failures - -**Solutions**: - -1. **Verify data format**: -```python -import json -with open("data.jsonl") as f: - for line in f: - data = json.loads(line) - assert "prompt" in data, "Missing prompt field" - assert "label" in data, "Missing label field" -``` - -2. **Check key names**: -```bash ---input-key prompt # Must match your data ---label-key label # Must match your data -``` - -### Training Stability Issues - -#### Issue: Loss Explosion / NaN - -**Symptoms**: Loss becomes NaN or explodes - -**Solutions**: - -1. **Reduce learning rate**: -```bash ---lr 1e-6 # Reduce from 5e-6 -``` - -2. **Enable gradient clipping**: -```bash ---clip-grad 1.0 -``` - -3. **Check for data issues**: -```python -# Verify no empty prompts or responses -for sample in dataset: - assert len(sample["prompt"]) > 0 -``` - -4. **Use BF16 instead of FP16**: -```bash ---bf16 # More numerically stable -``` - -#### Issue: Reward Collapse - -**Symptoms**: Reward drops to zero, model outputs garbage - -**Solutions**: - -1. **Increase KL penalty**: -```bash ---kl-loss-coef 0.01 # Increase from 0.001 -``` - -2. **Reduce number of samples**: -```bash ---n-samples-per-prompt 4 # Reduce from 8 -``` - -3. **Verify reward function**: -```python -# Test reward function independently -from custom_rm import reward_func -sample = Sample(prompt="test", response="test response") -reward = reward_func(args, sample) -print(f"Reward: {reward}") # Should be reasonable -``` - -### Async Training Issues - -#### Issue: Async Training Not Supported with Colocate - -**Symptoms**: Error when using `--colocate` with `train_async.py` - -**Solution**: Colocated mode is NOT supported for async training. Use separate GPUs: -```bash -# Remove --colocate flag -python train_async.py \ - --actor-num-gpus-per-node 4 \ - --rollout-num-gpus 4 \ - # No --colocate -``` - -#### Issue: Stale Weights in Async Mode - -**Symptoms**: Policy divergence, inconsistent behavior - -**Solutions**: - -1. **Reduce async buffer size**: -```bash ---async-buffer-size 2 # Reduce from 4 -``` - -2. **Increase weight update frequency**: -```bash ---update-weights-interval 1 # Sync every rollout -``` - -### Multi-Turn Training Issues - -#### Issue: Tool Responses Included in Loss - -**Symptoms**: Model learns to output tool responses verbatim - -**Solution**: Properly set loss mask in custom generate function: -```python -def build_loss_mask(sample): - """Create loss mask that excludes tool responses.""" - mask = [] - for i, token in enumerate(sample.tokens): - if is_tool_response(token, sample.metadata): - mask.append(0) # Don't compute loss - else: - mask.append(1) # Compute loss - return mask -``` - -#### Issue: Multi-Turn Context Too Long - -**Symptoms**: OOM or truncation in multi-turn conversations - -**Solutions**: - -1. **Limit conversation history**: -```python -# In custom generate function -conversation = sample.prompt[-10:] # Keep last 10 turns -``` - -2. **Increase context length**: -```bash ---sglang-context-length 16384 -``` - -### Checkpoint Issues - -#### Issue: Checkpoint Loading Fails - -**Symptoms**: Cannot load saved checkpoint - -**Solutions**: - -1. **Verify checkpoint path**: -```bash -ls -la /path/to/checkpoint/ -``` - -2. **Check parallelism matches**: -```bash -# Checkpoint was saved with TP=2, must load with TP=2 ---tensor-model-parallel-size 2 -``` - -3. **Convert HuggingFace to Megatron** (if needed): -```bash -python tools/convert_hf_to_megatron.py \ - --hf_model_path /path/to/hf/model \ - --save_path /path/to/megatron/checkpoint -``` - -### Debugging Tips - -#### Enable Verbose Logging - -```bash ---log-level DEBUG -export SLIME_DEBUG=1 -``` - -#### Check GPU Utilization - -```bash -watch -n 1 nvidia-smi -``` - -#### Monitor Training - -```bash -tensorboard --logdir outputs/ -``` - -#### Test Custom Functions Independently - -```python -# Test reward function -import asyncio -from custom_rm import reward_func - -async def test(): - sample = Sample(prompt="test", response="test", label="expected") - reward = await reward_func(args, sample) - print(f"Reward: {reward}") - -asyncio.run(test()) -``` - -## Constraint Reference - -Key constraint to remember: - -``` -rollout_batch_size × n_samples_per_prompt = global_batch_size × num_steps_per_rollout -``` - -Example: `32 × 8 = 256 × 1` - -## Resources - -- GitHub Issues: https://github.com/THUDM/slime/issues -- Documentation: https://thudm.github.io/slime/ -- Examples: `examples/` directory diff --git a/skills/mlops/torchtitan/SKILL.md b/skills/mlops/torchtitan/SKILL.md deleted file mode 100644 index f7dcc60ff..000000000 --- a/skills/mlops/torchtitan/SKILL.md +++ /dev/null @@ -1,361 +0,0 @@ ---- -name: distributed-llm-pretraining-torchtitan -description: Provides PyTorch-native distributed LLM pretraining using torchtitan with 4D parallelism (FSDP2, TP, PP, CP). Use when pretraining Llama 3.1, DeepSeek V3, or custom models at scale from 8 to 512+ GPUs with Float8, torch.compile, and distributed checkpointing. -version: 1.0.0 -author: Orchestra Research -license: MIT -dependencies: [torch>=2.6.0, torchtitan>=0.2.0, torchao>=0.5.0] -metadata: - hermes: - tags: [Model Architecture, Distributed Training, TorchTitan, FSDP2, Tensor Parallel, Pipeline Parallel, Context Parallel, Float8, Llama, Pretraining] - ---- - -# TorchTitan - PyTorch Native Distributed LLM Pretraining - -## Quick start - -TorchTitan is PyTorch's official platform for large-scale LLM pretraining with composable 4D parallelism (FSDP2, TP, PP, CP), achieving 65%+ speedups over baselines on H100 GPUs. - -**Installation**: -```bash -# From PyPI (stable) -pip install torchtitan - -# From source (latest features, requires PyTorch nightly) -git clone https://github.com/pytorch/torchtitan -cd torchtitan -pip install -r requirements.txt -``` - -**Download tokenizer**: -```bash -# Get HF token from https://huggingface.co/settings/tokens -python scripts/download_hf_assets.py --repo_id meta-llama/Llama-3.1-8B --assets tokenizer --hf_token=... -``` - -**Start training on 8 GPUs**: -```bash -CONFIG_FILE="./torchtitan/models/llama3/train_configs/llama3_8b.toml" ./run_train.sh -``` - -## Common workflows - -### Workflow 1: Pretrain Llama 3.1 8B on single node - -Copy this checklist: - -``` -Single Node Pretraining: -- [ ] Step 1: Download tokenizer -- [ ] Step 2: Configure training -- [ ] Step 3: Launch training -- [ ] Step 4: Monitor and checkpoint -``` - -**Step 1: Download tokenizer** - -```bash -python scripts/download_hf_assets.py \ - --repo_id meta-llama/Llama-3.1-8B \ - --assets tokenizer \ - --hf_token=YOUR_HF_TOKEN -``` - -**Step 2: Configure training** - -Edit or create a TOML config file: - -```toml -# llama3_8b_custom.toml -[job] -dump_folder = "./outputs" -description = "Llama 3.1 8B training" - -[model] -name = "llama3" -flavor = "8B" -hf_assets_path = "./assets/hf/Llama-3.1-8B" - -[optimizer] -name = "AdamW" -lr = 3e-4 - -[lr_scheduler] -warmup_steps = 200 - -[training] -local_batch_size = 2 -seq_len = 8192 -max_norm = 1.0 -steps = 1000 -dataset = "c4" - -[parallelism] -data_parallel_shard_degree = -1 # Use all GPUs for FSDP - -[activation_checkpoint] -mode = "selective" -selective_ac_option = "op" - -[checkpoint] -enable = true -folder = "checkpoint" -interval = 500 -``` - -**Step 3: Launch training** - -```bash -# 8 GPUs on single node -CONFIG_FILE="./llama3_8b_custom.toml" ./run_train.sh - -# Or explicitly with torchrun -torchrun --nproc_per_node=8 \ - -m torchtitan.train \ - --job.config_file ./llama3_8b_custom.toml -``` - -**Step 4: Monitor and checkpoint** - -TensorBoard logs are saved to `./outputs/tb/`: -```bash -tensorboard --logdir ./outputs/tb -``` - -### Workflow 2: Multi-node training with SLURM - -``` -Multi-Node Training: -- [ ] Step 1: Configure parallelism for scale -- [ ] Step 2: Set up SLURM script -- [ ] Step 3: Submit job -- [ ] Step 4: Resume from checkpoint -``` - -**Step 1: Configure parallelism for scale** - -For 70B model on 256 GPUs (32 nodes): -```toml -[parallelism] -data_parallel_shard_degree = 32 # FSDP across 32 ranks -tensor_parallel_degree = 8 # TP within node -pipeline_parallel_degree = 1 # No PP for 70B -context_parallel_degree = 1 # Increase for long sequences -``` - -**Step 2: Set up SLURM script** - -```bash -#!/bin/bash -#SBATCH --job-name=llama70b -#SBATCH --nodes=32 -#SBATCH --ntasks-per-node=8 -#SBATCH --gpus-per-node=8 - -srun torchrun \ - --nnodes=32 \ - --nproc_per_node=8 \ - --rdzv_backend=c10d \ - --rdzv_endpoint=$MASTER_ADDR:$MASTER_PORT \ - -m torchtitan.train \ - --job.config_file ./llama3_70b.toml -``` - -**Step 3: Submit job** - -```bash -sbatch multinode_trainer.slurm -``` - -**Step 4: Resume from checkpoint** - -Training auto-resumes if checkpoint exists in configured folder. - -### Workflow 3: Enable Float8 training for H100s - -Float8 provides 30-50% speedup on H100 GPUs. - -``` -Float8 Training: -- [ ] Step 1: Install torchao -- [ ] Step 2: Configure Float8 -- [ ] Step 3: Launch with compile -``` - -**Step 1: Install torchao** - -```bash -USE_CPP=0 pip install git+https://github.com/pytorch/ao.git -``` - -**Step 2: Configure Float8** - -Add to your TOML config: -```toml -[model] -converters = ["quantize.linear.float8"] - -[quantize.linear.float8] -enable_fsdp_float8_all_gather = true -precompute_float8_dynamic_scale_for_fsdp = true -filter_fqns = ["output"] # Exclude output layer - -[compile] -enable = true -components = ["model", "loss"] -``` - -**Step 3: Launch with compile** - -```bash -CONFIG_FILE="./llama3_8b.toml" ./run_train.sh \ - --model.converters="quantize.linear.float8" \ - --quantize.linear.float8.enable_fsdp_float8_all_gather \ - --compile.enable -``` - -### Workflow 4: 4D parallelism for 405B models - -``` -4D Parallelism (FSDP + TP + PP + CP): -- [ ] Step 1: Create seed checkpoint -- [ ] Step 2: Configure 4D parallelism -- [ ] Step 3: Launch on 512 GPUs -``` - -**Step 1: Create seed checkpoint** - -Required for consistent initialization across PP stages: -```bash -NGPU=1 CONFIG_FILE=./llama3_405b.toml ./run_train.sh \ - --checkpoint.enable \ - --checkpoint.create_seed_checkpoint \ - --parallelism.data_parallel_shard_degree 1 \ - --parallelism.tensor_parallel_degree 1 \ - --parallelism.pipeline_parallel_degree 1 -``` - -**Step 2: Configure 4D parallelism** - -```toml -[parallelism] -data_parallel_shard_degree = 8 # FSDP -tensor_parallel_degree = 8 # TP within node -pipeline_parallel_degree = 8 # PP across nodes -context_parallel_degree = 1 # CP for long sequences - -[training] -local_batch_size = 32 -seq_len = 8192 -``` - -**Step 3: Launch on 512 GPUs** - -```bash -# 64 nodes x 8 GPUs = 512 GPUs -srun torchrun --nnodes=64 --nproc_per_node=8 \ - -m torchtitan.train \ - --job.config_file ./llama3_405b.toml -``` - -## When to use vs alternatives - -**Use TorchTitan when:** -- Pretraining LLMs from scratch (8B to 405B+) -- Need PyTorch-native solution without third-party dependencies -- Require composable 4D parallelism (FSDP2, TP, PP, CP) -- Training on H100s with Float8 support -- Want interoperable checkpoints with torchtune/HuggingFace - -**Use alternatives instead:** -- **Megatron-LM**: Maximum performance for NVIDIA-only deployments -- **DeepSpeed**: Broader ZeRO optimization ecosystem, inference support -- **Axolotl/TRL**: Fine-tuning rather than pretraining -- **LitGPT**: Educational, smaller-scale training - -## Common issues - -**Issue: Out of memory on large models** - -Enable activation checkpointing and reduce batch size: -```toml -[activation_checkpoint] -mode = "full" # Instead of "selective" - -[training] -local_batch_size = 1 -``` - -Or use gradient accumulation: -```toml -[training] -local_batch_size = 1 -global_batch_size = 32 # Accumulates gradients -``` - -**Issue: TP causes high memory with async collectives** - -Set environment variable: -```bash -export TORCH_NCCL_AVOID_RECORD_STREAMS=1 -``` - -**Issue: Float8 training not faster** - -Float8 only benefits large GEMMs. Filter small layers: -```toml -[quantize.linear.float8] -filter_fqns = ["attention.wk", "attention.wv", "output", "auto_filter_small_kn"] -``` - -**Issue: Checkpoint loading fails after parallelism change** - -Use DCP's resharding capability: -```bash -# Convert sharded checkpoint to single file -python -m torch.distributed.checkpoint.format_utils \ - dcp_to_torch checkpoint/step-1000 checkpoint.pt -``` - -**Issue: Pipeline parallelism initialization** - -Create seed checkpoint first (see Workflow 4, Step 1). - -## Supported models - -| Model | Sizes | Status | -|-------|-------|--------| -| Llama 3.1 | 8B, 70B, 405B | Production | -| Llama 4 | Various | Experimental | -| DeepSeek V3 | 16B, 236B, 671B (MoE) | Experimental | -| GPT-OSS | 20B, 120B (MoE) | Experimental | -| Qwen 3 | Various | Experimental | -| Flux | Diffusion | Experimental | - -## Performance benchmarks (H100) - -| Model | GPUs | Parallelism | TPS/GPU | Techniques | -|-------|------|-------------|---------|------------| -| Llama 8B | 8 | FSDP | 5,762 | Baseline | -| Llama 8B | 8 | FSDP+compile+FP8 | 8,532 | +48% | -| Llama 70B | 256 | FSDP+TP+AsyncTP | 876 | 2D parallel | -| Llama 405B | 512 | FSDP+TP+PP | 128 | 3D parallel | - -## Advanced topics - -**FSDP2 configuration**: See [references/fsdp.md](references/fsdp.md) for detailed FSDP2 vs FSDP1 comparison and ZeRO equivalents. - -**Float8 training**: See [references/float8.md](references/float8.md) for tensorwise vs rowwise scaling recipes. - -**Checkpointing**: See [references/checkpoint.md](references/checkpoint.md) for HuggingFace conversion and async checkpointing. - -**Adding custom models**: See [references/custom-models.md](references/custom-models.md) for TrainSpec protocol. - -## Resources - -- GitHub: https://github.com/pytorch/torchtitan -- Paper: https://arxiv.org/abs/2410.06511 -- ICLR 2025: https://iclr.cc/virtual/2025/poster/29620 -- PyTorch Forum: https://discuss.pytorch.org/c/distributed/torchtitan/44 - diff --git a/skills/mlops/torchtitan/references/checkpoint.md b/skills/mlops/torchtitan/references/checkpoint.md deleted file mode 100644 index ff819683f..000000000 --- a/skills/mlops/torchtitan/references/checkpoint.md +++ /dev/null @@ -1,181 +0,0 @@ -# Checkpointing in TorchTitan - -TorchTitan uses PyTorch Distributed Checkpoint (DCP) for fault-tolerant, interoperable checkpointing. - -## Basic Configuration - -```toml -[checkpoint] -enable = true -folder = "checkpoint" -interval = 500 -``` - -## Save Model Only (Smaller Checkpoints) - -Exclude optimizer state and training metadata: - -```toml -[checkpoint] -enable = true -last_save_model_only = true -export_dtype = "bfloat16" # Optional: export in lower precision -``` - -## Excluding Keys from Loading - -Partial checkpoint loading for modified settings: - -```toml -[checkpoint] -enable = true -exclude_from_loading = ["data_loader", "lr_scheduler"] -``` - -CLI equivalent: -```bash ---checkpoint.exclude_from_loading data_loader,lr_scheduler -``` - -## Creating Seed Checkpoints - -Required for Pipeline Parallelism to ensure consistent initialization: - -```bash -NGPU=1 CONFIG_FILE= ./run_train.sh \ - --checkpoint.enable \ - --checkpoint.create_seed_checkpoint \ - --parallelism.data_parallel_replicate_degree 1 \ - --parallelism.data_parallel_shard_degree 1 \ - --parallelism.tensor_parallel_degree 1 \ - --parallelism.pipeline_parallel_degree 1 \ - --parallelism.context_parallel_degree 1 \ - --parallelism.expert_parallel_degree 1 -``` - -This initializes on single CPU for reproducible initialization across any GPU count. - -## Async Checkpointing - -Reduce checkpoint overhead with async writes: - -```toml -[checkpoint] -enable = true -async_mode = "async" # Options: "disabled", "async", "async_with_pinned_mem" -``` - -## HuggingFace Conversion - -### During Training - -Save directly in HuggingFace format: - -```toml -[checkpoint] -last_save_in_hf = true -last_save_model_only = true -``` - -Load from HuggingFace: - -```toml -[checkpoint] -initial_load_in_hf = true - -[model] -hf_assets_path = "./path/to/hf/checkpoint" -``` - -### Offline Conversion - -Convert without running training: - -```bash -# HuggingFace -> TorchTitan -python ./scripts/checkpoint_conversion/convert_from_hf.py \ - \ - --model_name llama3 \ - --model_flavor 8B - -# TorchTitan -> HuggingFace -python ./scripts/checkpoint_conversion/convert_to_hf.py \ - \ - --hf_assets_path ./assets/hf/Llama3.1-8B \ - --model_name llama3 \ - --model_flavor 8B -``` - -### Example - -```bash -python ./scripts/convert_from_hf.py \ - ~/.cache/huggingface/hub/models--meta-llama--Meta-Llama-3-8B/snapshots/8cde5ca8380496c9a6cc7ef3a8b46a0372a1d920/ \ - ./initial_load_path/ \ - --model_name llama3 \ - --model_flavor 8B -``` - -## Converting to Single .pt File - -Convert DCP sharded checkpoint to single PyTorch file: - -```bash -python -m torch.distributed.checkpoint.format_utils \ - dcp_to_torch \ - torchtitan/outputs/checkpoint/step-1000 \ - checkpoint.pt -``` - -## Checkpoint Structure - -DCP saves sharded checkpoints that can be resharded for different parallelism configurations: - -``` -checkpoint/ -├── step-500/ -│ ├── .metadata -│ ├── __0_0.distcp -│ ├── __0_1.distcp -│ └── ... -└── step-1000/ - └── ... -``` - -## Resume Training - -Training auto-resumes from the latest checkpoint in the configured folder. To resume from a specific step: - -```toml -[checkpoint] -load_step = 500 # Resume from step 500 -``` - -## Interoperability with TorchTune - -Checkpoints saved with `last_save_model_only = true` can be loaded directly into [torchtune](https://github.com/pytorch/torchtune) for fine-tuning. - -## Full Configuration Example - -```toml -[checkpoint] -enable = true -folder = "checkpoint" -interval = 500 -load_step = -1 # -1 = latest, or specify step number -last_save_model_only = true -export_dtype = "bfloat16" -async_mode = "async" -exclude_from_loading = [] -last_save_in_hf = false -initial_load_in_hf = false -create_seed_checkpoint = false -``` - -## Best Practices - -1. **Large models**: Use `async_mode = "async"` to overlap checkpoint saves with training -2. **Fine-tuning export**: Enable `last_save_model_only` and `export_dtype = "bfloat16"` for smaller files -3. **Pipeline parallelism**: Always create seed checkpoint first -4. **Debugging**: Save frequent checkpoints during development, reduce for production -5. **HF interop**: Use conversion scripts for offline conversion, direct save/load for training workflows diff --git a/skills/mlops/torchtitan/references/custom-models.md b/skills/mlops/torchtitan/references/custom-models.md deleted file mode 100644 index ee80f7444..000000000 --- a/skills/mlops/torchtitan/references/custom-models.md +++ /dev/null @@ -1,258 +0,0 @@ -# Adding Custom Models to TorchTitan - -This guide explains how to add a new model to TorchTitan following the established patterns. - -## Directory Structure - -``` -torchtitan/models/your_model/ -├── model/ -│ ├── __init__.py -│ ├── args.py # Model arguments -│ ├── model.py # Model definition -│ └── state_dict_adapter.py # HF conversion (optional) -├── infra/ -│ ├── __init__.py -│ ├── parallelize.py # TP, FSDP, compile application -│ └── pipeline.py # PP application (optional) -├── train_configs/ -│ ├── debug_model.toml -│ └── your_model_XB.toml -├── __init__.py # TrainSpec registration -└── README.md -``` - -## Step 1: Define Model Arguments - -Inherit from `BaseModelArgs`: - -```python -# model/args.py -from torchtitan.protocols.model import BaseModelArgs -from dataclasses import dataclass - -@dataclass -class YourModelArgs(BaseModelArgs): - dim: int = 4096 - n_layers: int = 32 - n_heads: int = 32 - vocab_size: int = 128256 - - def get_nparams_and_flops(self, seq_len: int) -> tuple[int, int]: - """Return (num_params, flops_per_token) for throughput calculation.""" - nparams = self.vocab_size * self.dim + ... # Calculate params - flops = 6 * nparams # Approximate: 6 * params for forward+backward - return nparams, flops - - def update_from_config(self, job_config) -> "YourModelArgs": - """Update args from training config.""" - # Override specific args from job_config if needed - return self -``` - -## Step 2: Define Model - -Inherit from `ModelProtocol`: - -```python -# model/model.py -import torch.nn as nn -from torchtitan.protocols.model import ModelProtocol -from .args import YourModelArgs - -class YourModel(ModelProtocol): - def __init__(self, args: YourModelArgs): - super().__init__() - self.args = args - self.tok_embeddings = nn.Embedding(args.vocab_size, args.dim) - self.layers = nn.ModuleDict({ - str(i): TransformerBlock(args) for i in range(args.n_layers) - }) - self.norm = RMSNorm(args.dim) - self.output = nn.Linear(args.dim, args.vocab_size, bias=False) - - def forward(self, tokens: torch.Tensor) -> torch.Tensor: - h = self.tok_embeddings(tokens) - for layer in self.layers.values(): - h = layer(h) - h = self.norm(h) - return self.output(h) - - def init_weights(self): - """Initialize weights recursively.""" - for module in self.modules(): - if hasattr(module, 'init_weights') and module is not self: - module.init_weights() - elif isinstance(module, nn.Linear): - nn.init.normal_(module.weight, std=0.02) -``` - -**Important guidelines**: -- Write single-device model code (parallelism applied externally) -- Use `nn.ModuleDict` for layers (preserves FQNs when deleting for PP) -- Make input/output layers optional for PP compatibility -- Define `init_weights()` recursively - -## Step 3: Parallelize Function - -```python -# infra/parallelize.py -from torch.distributed._composable.fsdp import fully_shard -from torch.distributed.tensor.parallel import parallelize_module - -def parallelize_your_model( - model: YourModel, - world_mesh: DeviceMesh, - parallel_dims: ParallelDims, - job_config: JobConfig, -): - # Apply in this order: TP -> AC -> compile -> FSDP - - # 1. Tensor Parallelism - if parallel_dims.tp_enabled: - apply_tp(model, world_mesh["tp"], job_config) - - # 2. Activation Checkpointing - if job_config.activation_checkpoint.mode == "full": - apply_ac(model, job_config) - - # 3. torch.compile - if job_config.compile.enable: - model = torch.compile(model) - - # 4. FSDP - if parallel_dims.dp_enabled: - apply_fsdp(model, world_mesh["dp"], job_config) - - return model -``` - -## Step 4: Create TrainSpec - -```python -# __init__.py -from torchtitan.protocols.train_spec import TrainSpec, register_train_spec -from .model.model import YourModel -from .model.args import YourModelArgs -from .infra.parallelize import parallelize_your_model - -MODEL_CONFIGS = { - "8B": YourModelArgs(dim=4096, n_layers=32, n_heads=32), - "70B": YourModelArgs(dim=8192, n_layers=80, n_heads=64), -} - -def get_train_spec(flavor: str) -> TrainSpec: - return TrainSpec( - model_cls=YourModel, - model_args=MODEL_CONFIGS[flavor], - parallelize_fn=parallelize_your_model, - pipeline_fn=None, # Or your_pipeline_fn for PP - build_optimizer_fn=build_optimizer, # Reuse existing - build_lr_scheduler_fn=build_lr_scheduler, # Reuse existing - build_dataloader_fn=build_dataloader, # Reuse existing - build_tokenizer_fn=build_tokenizer, # Reuse existing - build_loss_fn=build_loss, # Reuse existing - state_dict_adapter=None, # Or YourStateDictAdapter - ) - -# Register so train.py can find it -register_train_spec("your_model", get_train_spec) -``` - -## Step 5: State Dict Adapter (Optional) - -For HuggingFace checkpoint conversion: - -```python -# model/state_dict_adapter.py -from torchtitan.protocols.state_dict_adapter import BaseStateDictAdapter - -class YourStateDictAdapter(BaseStateDictAdapter): - def to_hf(self, state_dict: dict) -> dict: - """Convert torchtitan state dict to HF format.""" - hf_state_dict = {} - for key, value in state_dict.items(): - hf_key = self._convert_key_to_hf(key) - hf_state_dict[hf_key] = value - return hf_state_dict - - def from_hf(self, state_dict: dict) -> dict: - """Convert HF state dict to torchtitan format.""" - tt_state_dict = {} - for key, value in state_dict.items(): - tt_key = self._convert_key_from_hf(key) - tt_state_dict[tt_key] = value - return tt_state_dict -``` - -## Step 6: Training Config - -```toml -# train_configs/your_model_8b.toml -[job] -dump_folder = "./outputs" -description = "Your Model 8B training" - -[model] -name = "your_model" -flavor = "8B" - -[optimizer] -name = "AdamW" -lr = 3e-4 - -[training] -local_batch_size = 2 -seq_len = 8192 -steps = 1000 -dataset = "c4" - -[parallelism] -data_parallel_shard_degree = -1 -tensor_parallel_degree = 1 -``` - -## Step 7: Register Model - -Add to `torchtitan/models/__init__.py`: - -```python -from .your_model import get_train_spec as get_your_model_train_spec - -MODEL_REGISTRY["your_model"] = get_your_model_train_spec -``` - -## Testing - -### Numerics Test - -Compare output with HuggingFace implementation: - -```python -def test_numerics(): - # Load same checkpoint into both implementations - tt_model = YourModel(args).load_checkpoint(...) - hf_model = HFYourModel.from_pretrained(...) - - # Compare outputs - input_ids = torch.randint(0, vocab_size, (1, 128)) - tt_output = tt_model(input_ids) - hf_output = hf_model(input_ids).logits - - torch.testing.assert_close(tt_output, hf_output, atol=1e-4, rtol=1e-4) -``` - -### Loss Convergence - -Compare loss curves with verified baseline (see `docs/converging.md`). - -### Performance Benchmark - -Add benchmark config to `benchmarks/` folder. - -## Guiding Principles - -1. **Readability over flexibility**: Don't over-abstract -2. **Minimal model changes**: Parallelism applied externally -3. **Clean, minimal codebase**: Reuse existing components where possible -4. **Single-device semantics**: Model code should work on single GPU diff --git a/skills/mlops/torchtitan/references/float8.md b/skills/mlops/torchtitan/references/float8.md deleted file mode 100644 index b08fd2bf4..000000000 --- a/skills/mlops/torchtitan/references/float8.md +++ /dev/null @@ -1,133 +0,0 @@ -# Float8 Training in TorchTitan - -Float8 training provides substantial speedups for models where GEMMs are large enough that the FP8 tensorcore speedup outweighs dynamic quantization overhead. - -## Hardware Requirements - -- NVIDIA H100 or newer GPUs (FP8 Tensor Cores) -- Blackwell GPUs for MXFP8 training - -## Installation - -```bash -USE_CPP=0 pip install git+https://github.com/pytorch/ao.git -``` - -## Usage: Tensorwise Scaling - -Standard Float8 with tensorwise dynamic scaling: - -```bash -CONFIG_FILE="./torchtitan/models/llama3/train_configs/llama3_8b.toml" ./run_train.sh \ - --model.converters="quantize.linear.float8" \ - --quantize.linear.float8.enable_fsdp_float8_all_gather \ - --quantize.linear.float8.precompute_float8_dynamic_scale_for_fsdp \ - --compile.enable -``` - -### Key Arguments - -| Argument | Description | -|----------|-------------| -| `--model.converters="quantize.linear.float8"` | Swap `nn.Linear` with `Float8Linear` | -| `--quantize.linear.float8.enable_fsdp_float8_all_gather` | Communicate in float8 to save bandwidth | -| `--quantize.linear.float8.precompute_float8_dynamic_scale_for_fsdp` | Single all-reduce for all AMAX/scales | -| `--compile.enable` | Required - fuses float8 scaling/casting kernels | - -## Usage: Rowwise Scaling - -Higher accuracy than tensorwise scaling: - -```bash -CONFIG_FILE="./torchtitan/models/llama3/train_configs/llama3_8b.toml" ./run_train.sh \ - --model.converters="quantize.linear.float8" \ - --quantize.linear.float8.recipe_name rowwise \ - --compile.enable -``` - -## Filtering Layers - -Not all layers benefit from Float8. Filter small layers: - -```bash ---quantize.linear.float8.filter_fqns="attention.wk,attention.wv,output" -``` - -### Auto-filtering - -Automatically skip layers too small to benefit: - -```bash ---quantize.linear.float8.filter_fqns="auto_filter_small_kn" -``` - -Thresholds based on H100 microbenchmarks where speedup > overhead. - -## TOML Configuration - -```toml -[model] -converters = ["quantize.linear.float8"] - -[quantize.linear.float8] -enable_fsdp_float8_all_gather = true -precompute_float8_dynamic_scale_for_fsdp = true -filter_fqns = ["output", "auto_filter_small_kn"] - -[compile] -enable = true -components = ["model", "loss"] -``` - -## How Float8 Works with Distributed Training - -### Single Device - -Cast input and weight to float8 inside forward before calling `torch._scaled_mm`: - -```python -# Float8 matmul requires scales -torch._scaled_mm(input_fp8, weight_fp8, scale_a=scale_input, scale_b=scale_weight) -``` - -### FSDP + Float8 - -1. Cast sharded high-precision weights (1/N per rank) to float8 -2. Perform float8 all-gather (saves bandwidth vs bf16/fp32) -3. Communicate `max(abs)` across ranks for scale computation -4. At forward start, have unsharded float8 weights ready - -**Net benefit**: Float8 all-gather + amax communication can beat bf16/fp32 all-gather, depending on world size and message size. - -### TP + Float8 - -- **Input**: Cast sharded input to float8, all-gather in float8 -- **Weights**: Communicate `max(abs)` for sharded weights -- **Matmul**: Float8 input (unsharded) x float8 weight (sharded) with global scales - -## Scaling Strategies - -| Strategy | Status | Description | -|----------|--------|-------------| -| Tensorwise dynamic | Stable | Single scale per tensor | -| Rowwise dynamic | Alpha | Scale per row, higher accuracy | - -## Performance Gains - -From benchmarks on H100: - -| Configuration | TPS/GPU | vs Baseline | -|---------------|---------|-------------| -| FSDP only | 5,762 | - | -| FSDP + compile | 6,667 | +16% | -| FSDP + compile + Float8 | 8,532 | +48% | - -## Determining Float8 Benefit - -Check [torchao microbenchmarks](https://github.com/pytorch/ao/tree/main/torchao/float8#performance) for forward+backward pass speedups on "layer norm => linear => sigmoid" for different M,N,K sizes. - -Rule of thumb: GEMMs with K,N > 4096 typically benefit from Float8. - -## MXFP8 Training (Blackwell) - -For NVIDIA Blackwell GPUs, TorchTitan supports MXFP8 (Microscaling FP8) for both dense and MoE models. See [docs/mxfp8.md](https://github.com/pytorch/torchtitan/blob/main/docs/mxfp8.md) for details. diff --git a/skills/mlops/torchtitan/references/fsdp.md b/skills/mlops/torchtitan/references/fsdp.md deleted file mode 100644 index 21ef7fdbd..000000000 --- a/skills/mlops/torchtitan/references/fsdp.md +++ /dev/null @@ -1,126 +0,0 @@ -# FSDP2 in TorchTitan - -## Why FSDP2? - -FSDP2 is a rewrite of PyTorch's Fully Sharded Data Parallel (FSDP) API, removing the `FlatParameter` abstraction for better composability and simpler implementation. - -### Key improvements over FSDP1 - -- **DTensor-based sharding**: Sharded parameters are `DTensor`s on dim-0, enabling easy manipulation and communication-free sharded state dicts -- **Better memory management**: Deterministic and lower GPU memory (7% reduction) by avoiding `recordStream` -- **Simplified API**: Fewer arguments, no wrapper class - -### Performance - -On Llama-7B with 8x H100s, FSDP2 achieves higher MFU with 7% lower peak memory than FSDP1, matching the same loss curve. - -## API Reference - -```python -from torch.distributed._composable.fsdp import fully_shard, MixedPrecisionPolicy, OffloadPolicy - -@contract(state_cls=FSDPState) -def fully_shard( - module: nn.Module, - *, - mesh: Optional[DeviceMesh] = None, - reshard_after_forward: Union[bool, int] = True, - mp_policy: MixedPrecisionPolicy = MixedPrecisionPolicy(), - offload_policy: OffloadPolicy = OffloadPolicy(), -) -> nn.Module: -``` - -## Sharding Strategies (ZeRO Equivalents) - -| FSDP2 Configuration | FSDP1 Equivalent | DeepSpeed | -|---------------------|------------------|-----------| -| 1D mesh + `reshard_after_forward=True` | FULL_SHARD | ZeRO-3 | -| 1D mesh + `reshard_after_forward=False` | SHARD_GRAD_OP | ZeRO-2 | -| 2D mesh + `reshard_after_forward=True` | HYBRID_SHARD | MiCS | -| 1D/2D mesh + `reshard_after_forward=8` (int) | - | ZeRO++ hpZ | - -## Meta-Device Initialization - -FSDP2 supports materializing tensors onto GPU _after_ sharding: - -```python -# Initialize on meta device (no memory) -with torch.device("meta"): - model = Transformer() - -# Apply FSDP2 sharding -for module in model.modules(): - if isinstance(module, TransformerBlock): - fully_shard(module) -fully_shard(model) - -# Parameters still on meta device -for tensor in itertools.chain(model.parameters(), model.buffers()): - assert tensor.device == torch.device("meta") - -# Allocate sharded parameters on GPU -model.to_empty(device="cuda") - -# Initialize weights -model.init_weights() -``` - -## State Dict Differences - -| Operation | FSDP1 | FSDP2 | -|-----------|-------|-------| -| `model.state_dict()` | Full state dict | Sharded state dict (no communication) | -| `optim.state_dict()` | Local state dict | Sharded state dict (no communication) | -| `summon_full_params()` | Supported | Use `DTensor` APIs like `full_tensor()` | -| Gradient clipping | `FSDP.clip_grad_norm_()` | `nn.utils.clip_grad_norm_()` | - -## Mixed Precision - -```python -from torch.distributed._composable.fsdp import MixedPrecisionPolicy - -mp_policy = MixedPrecisionPolicy( - param_dtype=torch.bfloat16, - reduce_dtype=torch.float32, - output_dtype=torch.bfloat16, - cast_forward_inputs=True, -) - -fully_shard(model, mp_policy=mp_policy) -``` - -## HSDP (Hybrid Sharded Data Parallel) - -For 2D parallelism with replication + sharding: - -```python -from torch.distributed.device_mesh import init_device_mesh - -# Replicate across 4 groups, shard within 8 GPUs each -mesh = init_device_mesh("cuda", (4, 8), mesh_dim_names=("replicate", "shard")) - -fully_shard(model, mesh=mesh) -``` - -## Configuration in TorchTitan - -```toml -[parallelism] -# FSDP sharding degree (-1 = auto, use all available GPUs) -data_parallel_shard_degree = -1 - -# HSDP replication degree (1 = pure FSDP, >1 = HSDP) -data_parallel_replicate_degree = 1 -``` - -## Removed Arguments from FSDP1 - -These FSDP1 arguments are no longer needed: - -- `auto_wrap_policy`: Apply `fully_shard` directly to modules -- `backward_prefetch`: Always uses BACKWARD_PRE -- `param_init_fn`: Use meta-device initialization -- `device_id`: Uses mesh's device automatically -- `sync_module_states`: Not needed with DTensor -- `limit_all_gathers`: New memory management doesn't need it -- `use_orig_params`: Always true (no FlatParameter) diff --git a/skills/mlops/trl-fine-tuning/SKILL.md b/skills/mlops/trl-fine-tuning/SKILL.md deleted file mode 100644 index 3bf4f6e12..000000000 --- a/skills/mlops/trl-fine-tuning/SKILL.md +++ /dev/null @@ -1,458 +0,0 @@ ---- -name: fine-tuning-with-trl -description: Fine-tune LLMs using reinforcement learning with TRL - SFT for instruction tuning, DPO for preference alignment, PPO/GRPO for reward optimization, and reward model training. Use when need RLHF, align model with preferences, or train from human feedback. Works with HuggingFace Transformers. -version: 1.0.0 -author: Orchestra Research -license: MIT -dependencies: [trl, transformers, datasets, peft, accelerate, torch] -metadata: - hermes: - tags: [Post-Training, TRL, Reinforcement Learning, Fine-Tuning, SFT, DPO, PPO, GRPO, RLHF, Preference Alignment, HuggingFace] - ---- - -# TRL - Transformer Reinforcement Learning - -## Quick start - -TRL provides post-training methods for aligning language models with human preferences. - -**Installation**: -```bash -pip install trl transformers datasets peft accelerate -``` - -**Supervised Fine-Tuning** (instruction tuning): -```python -from trl import SFTTrainer - -trainer = SFTTrainer( - model="Qwen/Qwen2.5-0.5B", - train_dataset=dataset, # Prompt-completion pairs -) -trainer.train() -``` - -**DPO** (align with preferences): -```python -from trl import DPOTrainer, DPOConfig - -config = DPOConfig(output_dir="model-dpo", beta=0.1) -trainer = DPOTrainer( - model=model, - args=config, - train_dataset=preference_dataset, # chosen/rejected pairs - processing_class=tokenizer -) -trainer.train() -``` - -## Common workflows - -### Workflow 1: Full RLHF pipeline (SFT → Reward Model → PPO) - -Complete pipeline from base model to human-aligned model. - -Copy this checklist: - -``` -RLHF Training: -- [ ] Step 1: Supervised fine-tuning (SFT) -- [ ] Step 2: Train reward model -- [ ] Step 3: PPO reinforcement learning -- [ ] Step 4: Evaluate aligned model -``` - -**Step 1: Supervised fine-tuning** - -Train base model on instruction-following data: - -```python -from transformers import AutoModelForCausalLM, AutoTokenizer -from trl import SFTTrainer, SFTConfig -from datasets import load_dataset - -# Load model -model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-0.5B") -tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-0.5B") - -# Load instruction dataset -dataset = load_dataset("trl-lib/Capybara", split="train") - -# Configure training -training_args = SFTConfig( - output_dir="Qwen2.5-0.5B-SFT", - per_device_train_batch_size=4, - num_train_epochs=1, - learning_rate=2e-5, - logging_steps=10, - save_strategy="epoch" -) - -# Train -trainer = SFTTrainer( - model=model, - args=training_args, - train_dataset=dataset, - tokenizer=tokenizer -) -trainer.train() -trainer.save_model() -``` - -**Step 2: Train reward model** - -Train model to predict human preferences: - -```python -from transformers import AutoModelForSequenceClassification -from trl import RewardTrainer, RewardConfig - -# Load SFT model as base -model = AutoModelForSequenceClassification.from_pretrained( - "Qwen2.5-0.5B-SFT", - num_labels=1 # Single reward score -) -tokenizer = AutoTokenizer.from_pretrained("Qwen2.5-0.5B-SFT") - -# Load preference data (chosen/rejected pairs) -dataset = load_dataset("trl-lib/ultrafeedback_binarized", split="train") - -# Configure training -training_args = RewardConfig( - output_dir="Qwen2.5-0.5B-Reward", - per_device_train_batch_size=2, - num_train_epochs=1, - learning_rate=1e-5 -) - -# Train reward model -trainer = RewardTrainer( - model=model, - args=training_args, - processing_class=tokenizer, - train_dataset=dataset -) -trainer.train() -trainer.save_model() -``` - -**Step 3: PPO reinforcement learning** - -Optimize policy using reward model: - -```bash -python -m trl.scripts.ppo \ - --model_name_or_path Qwen2.5-0.5B-SFT \ - --reward_model_path Qwen2.5-0.5B-Reward \ - --dataset_name trl-internal-testing/descriptiveness-sentiment-trl-style \ - --output_dir Qwen2.5-0.5B-PPO \ - --learning_rate 3e-6 \ - --per_device_train_batch_size 64 \ - --total_episodes 10000 -``` - -**Step 4: Evaluate** - -```python -from transformers import pipeline - -# Load aligned model -generator = pipeline("text-generation", model="Qwen2.5-0.5B-PPO") - -# Test -prompt = "Explain quantum computing to a 10-year-old" -output = generator(prompt, max_length=200)[0]["generated_text"] -print(output) -``` - -### Workflow 2: Simple preference alignment with DPO - -Align model with preferences without reward model. - -Copy this checklist: - -``` -DPO Training: -- [ ] Step 1: Prepare preference dataset -- [ ] Step 2: Configure DPO -- [ ] Step 3: Train with DPOTrainer -- [ ] Step 4: Evaluate alignment -``` - -**Step 1: Prepare preference dataset** - -Dataset format: -```json -{ - "prompt": "What is the capital of France?", - "chosen": "The capital of France is Paris.", - "rejected": "I don't know." -} -``` - -Load dataset: -```python -from datasets import load_dataset - -dataset = load_dataset("trl-lib/ultrafeedback_binarized", split="train") -# Or load your own -# dataset = load_dataset("json", data_files="preferences.json") -``` - -**Step 2: Configure DPO** - -```python -from trl import DPOConfig - -config = DPOConfig( - output_dir="Qwen2.5-0.5B-DPO", - per_device_train_batch_size=4, - num_train_epochs=1, - learning_rate=5e-7, - beta=0.1, # KL penalty strength - max_prompt_length=512, - max_length=1024, - logging_steps=10 -) -``` - -**Step 3: Train with DPOTrainer** - -```python -from transformers import AutoModelForCausalLM, AutoTokenizer -from trl import DPOTrainer - -model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-0.5B-Instruct") -tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-0.5B-Instruct") - -trainer = DPOTrainer( - model=model, - args=config, - train_dataset=dataset, - processing_class=tokenizer -) - -trainer.train() -trainer.save_model() -``` - -**CLI alternative**: -```bash -trl dpo \ - --model_name_or_path Qwen/Qwen2.5-0.5B-Instruct \ - --dataset_name argilla/Capybara-Preferences \ - --output_dir Qwen2.5-0.5B-DPO \ - --per_device_train_batch_size 4 \ - --learning_rate 5e-7 \ - --beta 0.1 -``` - -### Workflow 3: Memory-efficient online RL with GRPO - -Train with reinforcement learning using minimal memory. - -Copy this checklist: - -``` -GRPO Training: -- [ ] Step 1: Define reward function -- [ ] Step 2: Configure GRPO -- [ ] Step 3: Train with GRPOTrainer -``` - -**Step 1: Define reward function** - -```python -def reward_function(completions, **kwargs): - """ - Compute rewards for completions. - - Args: - completions: List of generated texts - - Returns: - List of reward scores (floats) - """ - rewards = [] - for completion in completions: - # Example: reward based on length and unique words - score = len(completion.split()) # Favor longer responses - score += len(set(completion.lower().split())) # Reward unique words - rewards.append(score) - return rewards -``` - -Or use a reward model: -```python -from transformers import pipeline - -reward_model = pipeline("text-classification", model="reward-model-path") - -def reward_from_model(completions, prompts, **kwargs): - # Combine prompt + completion - full_texts = [p + c for p, c in zip(prompts, completions)] - # Get reward scores - results = reward_model(full_texts) - return [r["score"] for r in results] -``` - -**Step 2: Configure GRPO** - -```python -from trl import GRPOConfig - -config = GRPOConfig( - output_dir="Qwen2-GRPO", - per_device_train_batch_size=4, - num_train_epochs=1, - learning_rate=1e-5, - num_generations=4, # Generate 4 completions per prompt - max_new_tokens=128 -) -``` - -**Step 3: Train with GRPOTrainer** - -```python -from datasets import load_dataset -from trl import GRPOTrainer - -# Load prompt-only dataset -dataset = load_dataset("trl-lib/tldr", split="train") - -trainer = GRPOTrainer( - model="Qwen/Qwen2-0.5B-Instruct", - reward_funcs=reward_function, # Your reward function - args=config, - train_dataset=dataset -) - -trainer.train() -``` - -**CLI**: -```bash -trl grpo \ - --model_name_or_path Qwen/Qwen2-0.5B-Instruct \ - --dataset_name trl-lib/tldr \ - --output_dir Qwen2-GRPO \ - --num_generations 4 -``` - -## When to use vs alternatives - -**Use TRL when:** -- Need to align model with human preferences -- Have preference data (chosen/rejected pairs) -- Want to use reinforcement learning (PPO, GRPO) -- Need reward model training -- Doing RLHF (full pipeline) - -**Method selection**: -- **SFT**: Have prompt-completion pairs, want basic instruction following -- **DPO**: Have preferences, want simple alignment (no reward model needed) -- **PPO**: Have reward model, need maximum control over RL -- **GRPO**: Memory-constrained, want online RL -- **Reward Model**: Building RLHF pipeline, need to score generations - -**Use alternatives instead:** -- **HuggingFace Trainer**: Basic fine-tuning without RL -- **Axolotl**: YAML-based training configuration -- **LitGPT**: Educational, minimal fine-tuning -- **Unsloth**: Fast LoRA training - -## Common issues - -**Issue: OOM during DPO training** - -Reduce batch size and sequence length: -```python -config = DPOConfig( - per_device_train_batch_size=1, # Reduce from 4 - max_length=512, # Reduce from 1024 - gradient_accumulation_steps=8 # Maintain effective batch -) -``` - -Or use gradient checkpointing: -```python -model.gradient_checkpointing_enable() -``` - -**Issue: Poor alignment quality** - -Tune beta parameter: -```python -# Higher beta = more conservative (stays closer to reference) -config = DPOConfig(beta=0.5) # Default 0.1 - -# Lower beta = more aggressive alignment -config = DPOConfig(beta=0.01) -``` - -**Issue: Reward model not learning** - -Check loss type and learning rate: -```python -config = RewardConfig( - learning_rate=1e-5, # Try different LR - num_train_epochs=3 # Train longer -) -``` - -Ensure preference dataset has clear winners: -```python -# Verify dataset -print(dataset[0]) -# Should have clear chosen > rejected -``` - -**Issue: PPO training unstable** - -Adjust KL coefficient: -```python -config = PPOConfig( - kl_coef=0.1, # Increase from 0.05 - cliprange=0.1 # Reduce from 0.2 -) -``` - -## Advanced topics - -**SFT training guide**: See [references/sft-training.md](references/sft-training.md) for dataset formats, chat templates, packing strategies, and multi-GPU training. - -**DPO variants**: See [references/dpo-variants.md](references/dpo-variants.md) for IPO, cDPO, RPO, and other DPO loss functions with recommended hyperparameters. - -**Reward modeling**: See [references/reward-modeling.md](references/reward-modeling.md) for outcome vs process rewards, Bradley-Terry loss, and reward model evaluation. - -**Online RL methods**: See [references/online-rl.md](references/online-rl.md) for PPO, GRPO, RLOO, and OnlineDPO with detailed configurations. - -## Hardware requirements - -- **GPU**: NVIDIA (CUDA required) -- **VRAM**: Depends on model and method - - SFT 7B: 16GB (with LoRA) - - DPO 7B: 24GB (stores reference model) - - PPO 7B: 40GB (policy + reward model) - - GRPO 7B: 24GB (more memory efficient) -- **Multi-GPU**: Supported via `accelerate` -- **Mixed precision**: BF16 recommended (A100/H100) - -**Memory optimization**: -- Use LoRA/QLoRA for all methods -- Enable gradient checkpointing -- Use smaller batch sizes with gradient accumulation - -## Resources - -- Docs: https://huggingface.co/docs/trl/ -- GitHub: https://github.com/huggingface/trl -- Papers: - - "Training language models to follow instructions with human feedback" (InstructGPT, 2022) - - "Direct Preference Optimization: Your Language Model is Secretly a Reward Model" (DPO, 2023) - - "Group Relative Policy Optimization" (GRPO, 2024) -- Examples: https://github.com/huggingface/trl/tree/main/examples/scripts - - - diff --git a/skills/mlops/trl-fine-tuning/references/dpo-variants.md b/skills/mlops/trl-fine-tuning/references/dpo-variants.md deleted file mode 100644 index 5623b9ab8..000000000 --- a/skills/mlops/trl-fine-tuning/references/dpo-variants.md +++ /dev/null @@ -1,227 +0,0 @@ -# DPO Variants - -Complete guide to Direct Preference Optimization loss variants in TRL. - -## Overview - -DPO optimizes models using preference data (chosen/rejected pairs). TRL supports 10+ loss variants for different scenarios. - -## Loss Types - -### 1. Sigmoid (Standard DPO) - -**Formula**: `-log(sigmoid(β * logits))` - -**When to use**: Default choice, general preference alignment - -**Config**: -```python -DPOConfig( - loss_type="sigmoid", - beta=0.1, # KL penalty - per_device_train_batch_size=64, - learning_rate=1e-6 -) -``` - -### 2. IPO (Identity Policy Optimization) - -**Formula**: `(logits - 1/(2β))²` - -**When to use**: Better theoretical foundation, reduce overfitting - -**Config**: -```python -DPOConfig( - loss_type="ipo", - beta=0.1, - per_device_train_batch_size=90, - learning_rate=1e-2 -) -``` - -### 3. Hinge (SLiC) - -**Formula**: `ReLU(1 - β * logits)` - -**When to use**: Margin-based objective - -**Config**: -```python -DPOConfig( - loss_type="hinge", - beta=0.1, - per_device_train_batch_size=512, - learning_rate=1e-4 -) -``` - -### 4. Robust DPO - -**Formula**: Sigmoid with label smoothing for noise robustness - -**When to use**: Noisy preference labels - -**Config**: -```python -DPOConfig( - loss_type="robust", - beta=0.01, - label_smoothing=0.1, # Noise probability - per_device_train_batch_size=16, - learning_rate=1e-3, - max_prompt_length=128, - max_length=512 -) -``` - -### 5. BCO Pair (Binary Classification) - -**Formula**: Train binary classifier (chosen=1, rejected=0) - -**When to use**: Pairwise preference data - -**Config**: -```python -DPOConfig( - loss_type="bco_pair", - beta=0.01, - per_device_train_batch_size=128, - learning_rate=5e-7, - max_prompt_length=1536, - max_completion_length=512 -) -``` - -### 6. SPPO Hard - -**Formula**: Push chosen→0.5, rejected→-0.5 - -**When to use**: Nash equilibrium, sparse data - -**Config**: -```python -DPOConfig( - loss_type="sppo_hard", - beta=0.1 -) -``` - -### 7. DiscoPOP - -**Formula**: Log-Ratio Modulated Loss - -**When to use**: Automated loss discovery - -**Config**: -```python -DPOConfig( - loss_type="discopop", - beta=0.05, - discopop_tau=0.05, - per_device_train_batch_size=64, - learning_rate=5e-7 -) -``` - -### 8. APO Zero - -**Formula**: Increase chosen, decrease rejected likelihood - -**When to use**: Model worse than winning outputs - -**Config**: -```python -DPOConfig( - loss_type="apo_zero", - beta=0.1, - per_device_train_batch_size=64, - learning_rate=2e-7, - max_prompt_length=512, - max_completion_length=512 -) -``` - -### 9. APO Down - -**Formula**: Decrease both, emphasize rejected reduction - -**When to use**: Model better than winning outputs - -**Config**: -```python -DPOConfig( - loss_type="apo_down", - beta=0.1, - # Same hyperparameters as apo_zero -) -``` - -### 10. AOT & AOT Pair - -**Formula**: Distributional alignment via stochastic dominance - -**When to use**: -- `aot_pair`: Paired preference data -- `aot`: Unpaired data - -**Config**: -```python -DPOConfig( - loss_type="aot_pair", # or "aot" - beta=0.1, - label_smoothing=0.0 -) -``` - -## Multi-Loss Training - -Combine multiple losses: - -```python -DPOConfig( - loss_type=["sigmoid", "ipo"], - loss_weights=[0.7, 0.3], # Weighted combination - beta=0.1 -) -``` - -## Key Parameters - -### Beta (β) - -Controls deviation from reference model: -- **Higher** (0.5): More conservative, stays close to reference -- **Lower** (0.01): More aggressive alignment -- **Default**: 0.1 - -### Label Smoothing - -For robust DPO: -- **0.0**: No smoothing (default) -- **0.1-0.3**: Moderate noise robustness -- **0.5**: Maximum noise tolerance - -### Max Lengths - -- `max_prompt_length`: 128-1536 -- `max_completion_length`: 128-512 -- `max_length`: Total sequence (1024-2048) - -## Comparison Table - -| Loss | Speed | Stability | Best For | -|------|-------|-----------|----------| -| Sigmoid | Fast | Good | **General use** | -| IPO | Fast | Better | Overfitting issues | -| Hinge | Fast | Good | Margin objectives | -| Robust | Fast | Best | Noisy data | -| BCO | Medium | Good | Binary classification | -| DiscoPOP | Fast | Good | New architectures | -| APO | Fast | Good | Model quality matching | - -## References - -- DPO paper: https://arxiv.org/abs/2305.18290 -- IPO paper: https://arxiv.org/abs/2310.12036 -- TRL docs: https://huggingface.co/docs/trl/dpo_trainer diff --git a/skills/mlops/trl-fine-tuning/references/online-rl.md b/skills/mlops/trl-fine-tuning/references/online-rl.md deleted file mode 100644 index 87f46e91f..000000000 --- a/skills/mlops/trl-fine-tuning/references/online-rl.md +++ /dev/null @@ -1,82 +0,0 @@ -# Online RL Methods - -Guide to online reinforcement learning with PPO, GRPO, RLOO, and OnlineDPO. - -## Overview - -Online RL generates completions during training and optimizes based on rewards. - -## PPO (Proximal Policy Optimization) - -Classic RL algorithm for LLM alignment. - -### Basic Usage - -```bash -python -m trl.scripts.ppo \ - --model_name_or_path Qwen/Qwen2.5-0.5B-Instruct \ - --reward_model_path reward-model \ - --dataset_name trl-internal-testing/descriptiveness-sentiment-trl-style \ - --output_dir model-ppo \ - --learning_rate 3e-6 \ - --per_device_train_batch_size 64 \ - --total_episodes 10000 \ - --num_ppo_epochs 4 \ - --kl_coef 0.05 -``` - -### Key Parameters - -- `kl_coef`: KL penalty (0.05-0.2) -- `num_ppo_epochs`: Epochs per batch (2-4) -- `cliprange`: PPO clip (0.1-0.3) -- `vf_coef`: Value function coef (0.1) - -## GRPO (Group Relative Policy Optimization) - -Memory-efficient online RL. - -### Basic Usage - -```python -from trl import GRPOTrainer, GRPOConfig -from datasets import load_dataset - -# Define reward function -def reward_func(completions, **kwargs): - return [len(set(c.split())) for c in completions] - -config = GRPOConfig( - output_dir="model-grpo", - num_generations=4, # Completions per prompt - max_new_tokens=128 -) - -trainer = GRPOTrainer( - model="Qwen/Qwen2-0.5B-Instruct", - reward_funcs=reward_func, - args=config, - train_dataset=load_dataset("trl-lib/tldr", split="train") -) -trainer.train() -``` - -### Key Parameters - -- `num_generations`: 2-8 completions -- `max_new_tokens`: 64-256 -- Learning rate: 1e-5 to 1e-4 - -## Memory Comparison - -| Method | Memory (7B) | Speed | Use Case | -|--------|-------------|-------|----------| -| PPO | 40GB | Medium | Maximum control | -| GRPO | 24GB | Fast | **Memory-constrained** | -| OnlineDPO | 28GB | Fast | No reward model | - -## References - -- PPO paper: https://arxiv.org/abs/1707.06347 -- GRPO paper: https://arxiv.org/abs/2402.03300 -- TRL docs: https://huggingface.co/docs/trl/ diff --git a/skills/mlops/trl-fine-tuning/references/reward-modeling.md b/skills/mlops/trl-fine-tuning/references/reward-modeling.md deleted file mode 100644 index 3b59695b1..000000000 --- a/skills/mlops/trl-fine-tuning/references/reward-modeling.md +++ /dev/null @@ -1,122 +0,0 @@ -# Reward Modeling - -Guide to training reward models with TRL for RLHF pipelines. - -## Overview - -Reward models score completions based on human preferences. Used in: -- PPO training (RL feedback) -- GRPO online RL -- Completion ranking - -## Basic Training - -```python -from transformers import AutoModelForSequenceClassification, AutoTokenizer -from trl import RewardTrainer, RewardConfig -from datasets import load_dataset - -# Load model (num_labels=1 for single reward score) -model = AutoModelForSequenceClassification.from_pretrained( - "Qwen/Qwen2.5-0.5B-Instruct", - num_labels=1 -) -tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-0.5B-Instruct") - -# Load preference dataset (chosen/rejected pairs) -dataset = load_dataset("trl-lib/ultrafeedback_binarized", split="train") - -# Configure -config = RewardConfig( - output_dir="Qwen2.5-Reward", - per_device_train_batch_size=2, - num_train_epochs=1, - learning_rate=1e-5 -) - -# Train -trainer = RewardTrainer( - model=model, - args=config, - processing_class=tokenizer, - train_dataset=dataset -) -trainer.train() -``` - -## Dataset Format - -Required fields: -```json -{ - "prompt": "Question or instruction", - "chosen": "Better response", - "rejected": "Worse response" -} -``` - -## Bradley-Terry Loss - -Default loss function: -``` -loss = -log(sigmoid(reward_chosen - reward_rejected)) -``` - -Learns to score chosen > rejected. - -## Using Reward Models - -### Inference - -```python -from transformers import pipeline - -# Load trained reward model -reward_pipe = pipeline("text-classification", model="Qwen2.5-Reward") - -# Score completions -texts = ["Good answer", "Bad answer"] -scores = reward_pipe(texts) -print(scores) # Higher score = better -``` - -### In PPO - -```python -from trl import PPOTrainer, PPOConfig - -config = PPOConfig( - reward_model_path="Qwen2.5-Reward" # Use trained reward model -) - -trainer = PPOTrainer( - model=policy_model, - config=config, - # Reward model loaded automatically -) -``` - -## Hyperparameters - -| Model Size | Learning Rate | Batch Size | Epochs | -|------------|---------------|------------|--------| -| <1B | 2e-5 | 4-8 | 1-2 | -| 1-7B | 1e-5 | 2-4 | 1 | -| 7-13B | 5e-6 | 1-2 | 1 | - -## Evaluation - -Check reward separation: -```python -# Chosen should score higher than rejected -chosen_rewards = model(**chosen_inputs).logits -rejected_rewards = model(**rejected_inputs).logits - -accuracy = (chosen_rewards > rejected_rewards).float().mean() -print(f"Accuracy: {accuracy:.2%}") # Target: >80% -``` - -## References - -- InstructGPT paper: https://arxiv.org/abs/2203.02155 -- TRL docs: https://huggingface.co/docs/trl/reward_trainer diff --git a/skills/mlops/trl-fine-tuning/references/sft-training.md b/skills/mlops/trl-fine-tuning/references/sft-training.md deleted file mode 100644 index cd4294c63..000000000 --- a/skills/mlops/trl-fine-tuning/references/sft-training.md +++ /dev/null @@ -1,168 +0,0 @@ -# SFT Training Guide - -Complete guide to Supervised Fine-Tuning (SFT) with TRL for instruction tuning and task-specific fine-tuning. - -## Overview - -SFT trains models on input-output pairs to minimize cross-entropy loss. Use for: -- Instruction following -- Task-specific fine-tuning -- Chatbot training -- Domain adaptation - -## Dataset Formats - -### Format 1: Prompt-Completion - -```json -[ - { - "prompt": "What is the capital of France?", - "completion": "The capital of France is Paris." - } -] -``` - -### Format 2: Conversational (ChatML) - -```json -[ - { - "messages": [ - {"role": "user", "content": "What is Python?"}, - {"role": "assistant", "content": "Python is a programming language."} - ] - } -] -``` - -### Format 3: Text-only - -```json -[ - {"text": "User: Hello\nAssistant: Hi! How can I help?"} -] -``` - -## Basic Training - -```python -from trl import SFTTrainer, SFTConfig -from transformers import AutoModelForCausalLM, AutoTokenizer -from datasets import load_dataset - -# Load model -model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-0.5B") -tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-0.5B") - -# Load dataset -dataset = load_dataset("trl-lib/Capybara", split="train") - -# Configure -config = SFTConfig( - output_dir="Qwen2.5-SFT", - per_device_train_batch_size=4, - num_train_epochs=1, - learning_rate=2e-5, - save_strategy="epoch" -) - -# Train -trainer = SFTTrainer( - model=model, - args=config, - train_dataset=dataset, - tokenizer=tokenizer -) -trainer.train() -``` - -## Chat Templates - -Apply chat templates automatically: - -```python -trainer = SFTTrainer( - model=model, - args=config, - train_dataset=dataset, # Messages format - tokenizer=tokenizer - # Chat template applied automatically -) -``` - -Or manually: -```python -def format_chat(example): - messages = example["messages"] - text = tokenizer.apply_chat_template(messages, tokenize=False) - return {"text": text} - -dataset = dataset.map(format_chat) -``` - -## Packing for Efficiency - -Pack multiple sequences into one to maximize GPU utilization: - -```python -config = SFTConfig( - packing=True, # Enable packing - max_seq_length=2048, - dataset_text_field="text" -) -``` - -**Benefits**: 2-3× faster training -**Trade-off**: Slightly more complex batching - -## Multi-GPU Training - -```bash -accelerate launch --num_processes 4 train_sft.py -``` - -Or with config: -```python -config = SFTConfig( - output_dir="model-sft", - per_device_train_batch_size=4, - gradient_accumulation_steps=4, - num_train_epochs=1 -) -``` - -## LoRA Fine-Tuning - -```python -from peft import LoraConfig - -lora_config = LoraConfig( - r=16, - lora_alpha=32, - target_modules="all-linear", - lora_dropout=0.05, - task_type="CAUSAL_LM" -) - -trainer = SFTTrainer( - model=model, - args=config, - train_dataset=dataset, - peft_config=lora_config # Add LoRA -) -``` - -## Hyperparameters - -| Model Size | Learning Rate | Batch Size | Epochs | -|------------|---------------|------------|--------| -| <1B | 5e-5 | 8-16 | 1-3 | -| 1-7B | 2e-5 | 4-8 | 1-2 | -| 7-13B | 1e-5 | 2-4 | 1 | -| 13B+ | 5e-6 | 1-2 | 1 | - -## References - -- TRL docs: https://huggingface.co/docs/trl/sft_trainer -- Examples: https://github.com/huggingface/trl/tree/main/examples/scripts diff --git a/skills/mlops/whisper/SKILL.md b/skills/mlops/whisper/SKILL.md deleted file mode 100644 index ba963a8b7..000000000 --- a/skills/mlops/whisper/SKILL.md +++ /dev/null @@ -1,320 +0,0 @@ ---- -name: whisper -description: OpenAI's general-purpose speech recognition model. Supports 99 languages, transcription, translation to English, and language identification. Six model sizes from tiny (39M params) to large (1550M params). Use for speech-to-text, podcast transcription, or multilingual audio processing. Best for robust, multilingual ASR. -version: 1.0.0 -author: Orchestra Research -license: MIT -dependencies: [openai-whisper, transformers, torch] -metadata: - hermes: - tags: [Whisper, Speech Recognition, ASR, Multimodal, Multilingual, OpenAI, Speech-To-Text, Transcription, Translation, Audio Processing] - ---- - -# Whisper - Robust Speech Recognition - -OpenAI's multilingual speech recognition model. - -## When to use Whisper - -**Use when:** -- Speech-to-text transcription (99 languages) -- Podcast/video transcription -- Meeting notes automation -- Translation to English -- Noisy audio transcription -- Multilingual audio processing - -**Metrics**: -- **72,900+ GitHub stars** -- 99 languages supported -- Trained on 680,000 hours of audio -- MIT License - -**Use alternatives instead**: -- **AssemblyAI**: Managed API, speaker diarization -- **Deepgram**: Real-time streaming ASR -- **Google Speech-to-Text**: Cloud-based - -## Quick start - -### Installation - -```bash -# Requires Python 3.8-3.11 -pip install -U openai-whisper - -# Requires ffmpeg -# macOS: brew install ffmpeg -# Ubuntu: sudo apt install ffmpeg -# Windows: choco install ffmpeg -``` - -### Basic transcription - -```python -import whisper - -# Load model -model = whisper.load_model("base") - -# Transcribe -result = model.transcribe("audio.mp3") - -# Print text -print(result["text"]) - -# Access segments -for segment in result["segments"]: - print(f"[{segment['start']:.2f}s - {segment['end']:.2f}s] {segment['text']}") -``` - -## Model sizes - -```python -# Available models -models = ["tiny", "base", "small", "medium", "large", "turbo"] - -# Load specific model -model = whisper.load_model("turbo") # Fastest, good quality -``` - -| Model | Parameters | English-only | Multilingual | Speed | VRAM | -|-------|------------|--------------|--------------|-------|------| -| tiny | 39M | ✓ | ✓ | ~32x | ~1 GB | -| base | 74M | ✓ | ✓ | ~16x | ~1 GB | -| small | 244M | ✓ | ✓ | ~6x | ~2 GB | -| medium | 769M | ✓ | ✓ | ~2x | ~5 GB | -| large | 1550M | ✗ | ✓ | 1x | ~10 GB | -| turbo | 809M | ✗ | ✓ | ~8x | ~6 GB | - -**Recommendation**: Use `turbo` for best speed/quality, `base` for prototyping - -## Transcription options - -### Language specification - -```python -# Auto-detect language -result = model.transcribe("audio.mp3") - -# Specify language (faster) -result = model.transcribe("audio.mp3", language="en") - -# Supported: en, es, fr, de, it, pt, ru, ja, ko, zh, and 89 more -``` - -### Task selection - -```python -# Transcription (default) -result = model.transcribe("audio.mp3", task="transcribe") - -# Translation to English -result = model.transcribe("spanish.mp3", task="translate") -# Input: Spanish audio → Output: English text -``` - -### Initial prompt - -```python -# Improve accuracy with context -result = model.transcribe( - "audio.mp3", - initial_prompt="This is a technical podcast about machine learning and AI." -) - -# Helps with: -# - Technical terms -# - Proper nouns -# - Domain-specific vocabulary -``` - -### Timestamps - -```python -# Word-level timestamps -result = model.transcribe("audio.mp3", word_timestamps=True) - -for segment in result["segments"]: - for word in segment["words"]: - print(f"{word['word']} ({word['start']:.2f}s - {word['end']:.2f}s)") -``` - -### Temperature fallback - -```python -# Retry with different temperatures if confidence low -result = model.transcribe( - "audio.mp3", - temperature=(0.0, 0.2, 0.4, 0.6, 0.8, 1.0) -) -``` - -## Command line usage - -```bash -# Basic transcription -whisper audio.mp3 - -# Specify model -whisper audio.mp3 --model turbo - -# Output formats -whisper audio.mp3 --output_format txt # Plain text -whisper audio.mp3 --output_format srt # Subtitles -whisper audio.mp3 --output_format vtt # WebVTT -whisper audio.mp3 --output_format json # JSON with timestamps - -# Language -whisper audio.mp3 --language Spanish - -# Translation -whisper spanish.mp3 --task translate -``` - -## Batch processing - -```python -import os - -audio_files = ["file1.mp3", "file2.mp3", "file3.mp3"] - -for audio_file in audio_files: - print(f"Transcribing {audio_file}...") - result = model.transcribe(audio_file) - - # Save to file - output_file = audio_file.replace(".mp3", ".txt") - with open(output_file, "w") as f: - f.write(result["text"]) -``` - -## Real-time transcription - -```python -# For streaming audio, use faster-whisper -# pip install faster-whisper - -from faster_whisper import WhisperModel - -model = WhisperModel("base", device="cuda", compute_type="float16") - -# Transcribe with streaming -segments, info = model.transcribe("audio.mp3", beam_size=5) - -for segment in segments: - print(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}") -``` - -## GPU acceleration - -```python -import whisper - -# Automatically uses GPU if available -model = whisper.load_model("turbo") - -# Force CPU -model = whisper.load_model("turbo", device="cpu") - -# Force GPU -model = whisper.load_model("turbo", device="cuda") - -# 10-20× faster on GPU -``` - -## Integration with other tools - -### Subtitle generation - -```bash -# Generate SRT subtitles -whisper video.mp4 --output_format srt --language English - -# Output: video.srt -``` - -### With LangChain - -```python -from langchain.document_loaders import WhisperTranscriptionLoader - -loader = WhisperTranscriptionLoader(file_path="audio.mp3") -docs = loader.load() - -# Use transcription in RAG -from langchain_chroma import Chroma -from langchain_openai import OpenAIEmbeddings - -vectorstore = Chroma.from_documents(docs, OpenAIEmbeddings()) -``` - -### Extract audio from video - -```bash -# Use ffmpeg to extract audio -ffmpeg -i video.mp4 -vn -acodec pcm_s16le audio.wav - -# Then transcribe -whisper audio.wav -``` - -## Best practices - -1. **Use turbo model** - Best speed/quality for English -2. **Specify language** - Faster than auto-detect -3. **Add initial prompt** - Improves technical terms -4. **Use GPU** - 10-20× faster -5. **Batch process** - More efficient -6. **Convert to WAV** - Better compatibility -7. **Split long audio** - <30 min chunks -8. **Check language support** - Quality varies by language -9. **Use faster-whisper** - 4× faster than openai-whisper -10. **Monitor VRAM** - Scale model size to hardware - -## Performance - -| Model | Real-time factor (CPU) | Real-time factor (GPU) | -|-------|------------------------|------------------------| -| tiny | ~0.32 | ~0.01 | -| base | ~0.16 | ~0.01 | -| turbo | ~0.08 | ~0.01 | -| large | ~1.0 | ~0.05 | - -*Real-time factor: 0.1 = 10× faster than real-time* - -## Language support - -Top-supported languages: -- English (en) -- Spanish (es) -- French (fr) -- German (de) -- Italian (it) -- Portuguese (pt) -- Russian (ru) -- Japanese (ja) -- Korean (ko) -- Chinese (zh) - -Full list: 99 languages total - -## Limitations - -1. **Hallucinations** - May repeat or invent text -2. **Long-form accuracy** - Degrades on >30 min audio -3. **Speaker identification** - No diarization -4. **Accents** - Quality varies -5. **Background noise** - Can affect accuracy -6. **Real-time latency** - Not suitable for live captioning - -## Resources - -- **GitHub**: https://github.com/openai/whisper ⭐ 72,900+ -- **Paper**: https://arxiv.org/abs/2212.04356 -- **Model Card**: https://github.com/openai/whisper/blob/main/model-card.md -- **Colab**: Available in repo -- **License**: MIT - - diff --git a/skills/mlops/whisper/references/languages.md b/skills/mlops/whisper/references/languages.md deleted file mode 100644 index dd17e123a..000000000 --- a/skills/mlops/whisper/references/languages.md +++ /dev/null @@ -1,189 +0,0 @@ -# Whisper Language Support Guide - -Complete guide to Whisper's multilingual capabilities. - -## Supported languages (99 total) - -### Top-tier support (WER < 10%) - -- English (en) -- Spanish (es) -- French (fr) -- German (de) -- Italian (it) -- Portuguese (pt) -- Dutch (nl) -- Polish (pl) -- Russian (ru) -- Japanese (ja) -- Korean (ko) -- Chinese (zh) - -### Good support (WER 10-20%) - -- Arabic (ar) -- Turkish (tr) -- Vietnamese (vi) -- Swedish (sv) -- Finnish (fi) -- Czech (cs) -- Romanian (ro) -- Hungarian (hu) -- Danish (da) -- Norwegian (no) -- Thai (th) -- Hebrew (he) -- Greek (el) -- Indonesian (id) -- Malay (ms) - -### Full list (99 languages) - -Afrikaans, Albanian, Amharic, Arabic, Armenian, Assamese, Azerbaijani, Bashkir, Basque, Belarusian, Bengali, Bosnian, Breton, Bulgarian, Burmese, Cantonese, Catalan, Chinese, Croatian, Czech, Danish, Dutch, English, Estonian, Faroese, Finnish, French, Galician, Georgian, German, Greek, Gujarati, Haitian Creole, Hausa, Hawaiian, Hebrew, Hindi, Hungarian, Icelandic, Indonesian, Italian, Japanese, Javanese, Kannada, Kazakh, Khmer, Korean, Lao, Latin, Latvian, Lingala, Lithuanian, Luxembourgish, Macedonian, Malagasy, Malay, Malayalam, Maltese, Maori, Marathi, Moldavian, Mongolian, Myanmar, Nepali, Norwegian, Nynorsk, Occitan, Pashto, Persian, Polish, Portuguese, Punjabi, Pushto, Romanian, Russian, Sanskrit, Serbian, Shona, Sindhi, Sinhala, Slovak, Slovenian, Somali, Spanish, Sundanese, Swahili, Swedish, Tagalog, Tajik, Tamil, Tatar, Telugu, Thai, Tibetan, Turkish, Turkmen, Ukrainian, Urdu, Uzbek, Vietnamese, Welsh, Yiddish, Yoruba - -## Usage examples - -### Auto-detect language - -```python -import whisper - -model = whisper.load_model("turbo") - -# Auto-detect language -result = model.transcribe("audio.mp3") - -print(f"Detected language: {result['language']}") -print(f"Text: {result['text']}") -``` - -### Specify language (faster) - -```python -# Specify language for faster transcription -result = model.transcribe("audio.mp3", language="es") # Spanish -result = model.transcribe("audio.mp3", language="fr") # French -result = model.transcribe("audio.mp3", language="ja") # Japanese -``` - -### Translation to English - -```python -# Translate any language to English -result = model.transcribe( - "spanish_audio.mp3", - task="translate" # Translates to English -) - -print(f"Original language: {result['language']}") -print(f"English translation: {result['text']}") -``` - -## Language-specific tips - -### Chinese - -```python -# Chinese works well with larger models -model = whisper.load_model("large") - -result = model.transcribe( - "chinese_audio.mp3", - language="zh", - initial_prompt="这是一段关于技术的讨论" # Context helps -) -``` - -### Japanese - -```python -# Japanese benefits from initial prompt -result = model.transcribe( - "japanese_audio.mp3", - language="ja", - initial_prompt="これは技術的な会議の録音です" -) -``` - -### Arabic - -```python -# Arabic: Use large model for best results -model = whisper.load_model("large") - -result = model.transcribe( - "arabic_audio.mp3", - language="ar" -) -``` - -## Model size recommendations - -| Language Tier | Recommended Model | WER | -|---------------|-------------------|-----| -| Top-tier (en, es, fr, de) | base/turbo | < 10% | -| Good (ar, tr, vi) | medium/large | 10-20% | -| Lower-resource | large | 20-30% | - -## Performance by language - -### English - -- **tiny**: WER ~15% -- **base**: WER ~8% -- **small**: WER ~5% -- **medium**: WER ~4% -- **large**: WER ~3% -- **turbo**: WER ~3.5% - -### Spanish - -- **tiny**: WER ~20% -- **base**: WER ~12% -- **medium**: WER ~6% -- **large**: WER ~4% - -### Chinese - -- **small**: WER ~15% -- **medium**: WER ~8% -- **large**: WER ~5% - -## Best practices - -1. **Use English-only models** - Better for small models (tiny/base) -2. **Specify language** - Faster than auto-detect -3. **Add initial prompt** - Improves accuracy for technical terms -4. **Use larger models** - For low-resource languages -5. **Test on sample** - Quality varies by accent/dialect -6. **Consider audio quality** - Clear audio = better results -7. **Check language codes** - Use ISO 639-1 codes (2 letters) - -## Language detection - -```python -# Detect language only (no transcription) -import whisper - -model = whisper.load_model("base") - -# Load audio -audio = whisper.load_audio("audio.mp3") -audio = whisper.pad_or_trim(audio) - -# Make log-Mel spectrogram -mel = whisper.log_mel_spectrogram(audio).to(model.device) - -# Detect language -_, probs = model.detect_language(mel) -detected_language = max(probs, key=probs.get) - -print(f"Detected language: {detected_language}") -print(f"Confidence: {probs[detected_language]:.2%}") -``` - -## Resources - -- **Paper**: https://arxiv.org/abs/2212.04356 -- **GitHub**: https://github.com/openai/whisper -- **Model Card**: https://github.com/openai/whisper/blob/main/model-card.md diff --git a/skills/music-creation/DESCRIPTION.md b/skills/music-creation/DESCRIPTION.md new file mode 100644 index 000000000..04ad703c9 --- /dev/null +++ b/skills/music-creation/DESCRIPTION.md @@ -0,0 +1,3 @@ +--- +description: Skills for generating, editing, and processing music and audio using AI models and audio tools. +--- diff --git a/skills/music-creation/songsee/SKILL.md b/skills/music-creation/songsee/SKILL.md new file mode 100644 index 000000000..4ad4752e3 --- /dev/null +++ b/skills/music-creation/songsee/SKILL.md @@ -0,0 +1,80 @@ +--- +name: songsee +description: Generate spectrograms and audio feature visualizations (mel, chroma, MFCC, tempogram, etc.) from audio files via CLI. Useful for audio analysis, music production debugging, and visual documentation. +version: 1.0.0 +author: community +license: MIT +metadata: + hermes: + tags: [Audio, Visualization, Spectrogram, Music, Analysis] + homepage: https://github.com/steipete/songsee +--- + +# songsee + +Generate spectrograms and multi-panel audio feature visualizations from audio files. + +## Prerequisites + +Requires [Go](https://go.dev/doc/install): +```bash +go install github.com/steipete/songsee/cmd/songsee@latest +``` + +Optional: `ffmpeg` for formats beyond WAV/MP3. + +## Quick Start + +```bash +# Basic spectrogram +songsee track.mp3 + +# Save to specific file +songsee track.mp3 -o spectrogram.png + +# Multi-panel visualization grid +songsee track.mp3 --viz spectrogram,mel,chroma,hpss,selfsim,loudness,tempogram,mfcc,flux + +# Time slice (start at 12.5s, 8s duration) +songsee track.mp3 --start 12.5 --duration 8 -o slice.jpg + +# From stdin +cat track.mp3 | songsee - --format png -o out.png +``` + +## Visualization Types + +Use `--viz` with comma-separated values: + +| Type | Description | +|------|-------------| +| `spectrogram` | Standard frequency spectrogram | +| `mel` | Mel-scaled spectrogram | +| `chroma` | Pitch class distribution | +| `hpss` | Harmonic/percussive separation | +| `selfsim` | Self-similarity matrix | +| `loudness` | Loudness over time | +| `tempogram` | Tempo estimation | +| `mfcc` | Mel-frequency cepstral coefficients | +| `flux` | Spectral flux (onset detection) | + +Multiple `--viz` types render as a grid in a single image. + +## Common Flags + +| Flag | Description | +|------|-------------| +| `--viz` | Visualization types (comma-separated) | +| `--style` | Color palette: `classic`, `magma`, `inferno`, `viridis`, `gray` | +| `--width` / `--height` | Output image dimensions | +| `--window` / `--hop` | FFT window and hop size | +| `--min-freq` / `--max-freq` | Frequency range filter | +| `--start` / `--duration` | Time slice of the audio | +| `--format` | Output format: `jpg` or `png` | +| `-o` | Output file path | + +## Notes + +- WAV and MP3 are decoded natively; other formats require `ffmpeg` +- Output images can be inspected with `vision_analyze` for automated audio analysis +- Useful for comparing audio outputs, debugging synthesis, or documenting audio processing pipelines diff --git a/skills/productivity/DESCRIPTION.md b/skills/productivity/DESCRIPTION.md new file mode 100644 index 000000000..9880c68b7 --- /dev/null +++ b/skills/productivity/DESCRIPTION.md @@ -0,0 +1,3 @@ +--- +description: Skills for document creation, presentations, spreadsheets, and other productivity workflows. +--- diff --git a/skills/productivity/nano-pdf/SKILL.md b/skills/productivity/nano-pdf/SKILL.md new file mode 100644 index 000000000..059cb598a --- /dev/null +++ b/skills/productivity/nano-pdf/SKILL.md @@ -0,0 +1,51 @@ +--- +name: nano-pdf +description: Edit PDFs with natural-language instructions using the nano-pdf CLI. Modify text, fix typos, update titles, and make content changes to specific pages without manual editing. +version: 1.0.0 +author: community +license: MIT +metadata: + hermes: + tags: [PDF, Documents, Editing, NLP, Productivity] + homepage: https://pypi.org/project/nano-pdf/ +--- + +# nano-pdf + +Edit PDFs using natural-language instructions. Point it at a page and describe what to change. + +## Prerequisites + +```bash +# Install with uv (recommended — already available in Hermes) +uv pip install nano-pdf + +# Or with pip +pip install nano-pdf +``` + +## Usage + +```bash +nano-pdf edit "" +``` + +## Examples + +```bash +# Change a title on page 1 +nano-pdf edit deck.pdf 1 "Change the title to 'Q3 Results' and fix the typo in the subtitle" + +# Update a date on a specific page +nano-pdf edit report.pdf 3 "Update the date from January to February 2026" + +# Fix content +nano-pdf edit contract.pdf 2 "Change the client name from 'Acme Corp' to 'Acme Industries'" +``` + +## Notes + +- Page numbers may be 0-based or 1-based depending on version — if the edit hits the wrong page, retry with ±1 +- Always verify the output PDF after editing (use `read_file` to check file size, or open it) +- The tool uses an LLM under the hood — requires an API key (check `nano-pdf --help` for config) +- Works well for text changes; complex layout modifications may need a different approach diff --git a/skills/productivity/notion/SKILL.md b/skills/productivity/notion/SKILL.md new file mode 100644 index 000000000..eb6cf1c2b --- /dev/null +++ b/skills/productivity/notion/SKILL.md @@ -0,0 +1,169 @@ +--- +name: notion +description: Notion API for creating and managing pages, databases, and blocks via curl. Search, create, update, and query Notion workspaces directly from the terminal. +version: 1.0.0 +author: community +license: MIT +metadata: + hermes: + tags: [Notion, Productivity, Notes, Database, API] + homepage: https://developers.notion.com +--- + +# Notion API + +Use the Notion API via curl to create, read, update pages, databases (data sources), and blocks. No extra tools needed — just curl and a Notion API key. + +## Prerequisites + +1. Create an integration at https://notion.so/my-integrations +2. Copy the API key (starts with `ntn_` or `secret_`) +3. Store it in `~/.hermes/.env`: + ``` + NOTION_API_KEY=ntn_your_key_here + ``` +4. **Important:** Share target pages/databases with your integration in Notion (click "..." → "Connect to" → your integration name) + +## API Basics + +All requests use this pattern: + +```bash +curl -s -X GET "https://api.notion.com/v1/..." \ + -H "Authorization: Bearer $NOTION_API_KEY" \ + -H "Notion-Version: 2025-09-03" \ + -H "Content-Type: application/json" +``` + +The `Notion-Version` header is required. This skill uses `2025-09-03` (latest). In this version, databases are called "data sources" in the API. + +## Common Operations + +### Search + +```bash +curl -s -X POST "https://api.notion.com/v1/search" \ + -H "Authorization: Bearer $NOTION_API_KEY" \ + -H "Notion-Version: 2025-09-03" \ + -H "Content-Type: application/json" \ + -d '{"query": "page title"}' +``` + +### Get Page + +```bash +curl -s "https://api.notion.com/v1/pages/{page_id}" \ + -H "Authorization: Bearer $NOTION_API_KEY" \ + -H "Notion-Version: 2025-09-03" +``` + +### Get Page Content (blocks) + +```bash +curl -s "https://api.notion.com/v1/blocks/{page_id}/children" \ + -H "Authorization: Bearer $NOTION_API_KEY" \ + -H "Notion-Version: 2025-09-03" +``` + +### Create Page in a Database + +```bash +curl -s -X POST "https://api.notion.com/v1/pages" \ + -H "Authorization: Bearer $NOTION_API_KEY" \ + -H "Notion-Version: 2025-09-03" \ + -H "Content-Type: application/json" \ + -d '{ + "parent": {"database_id": "xxx"}, + "properties": { + "Name": {"title": [{"text": {"content": "New Item"}}]}, + "Status": {"select": {"name": "Todo"}} + } + }' +``` + +### Query a Database + +```bash +curl -s -X POST "https://api.notion.com/v1/data_sources/{data_source_id}/query" \ + -H "Authorization: Bearer $NOTION_API_KEY" \ + -H "Notion-Version: 2025-09-03" \ + -H "Content-Type: application/json" \ + -d '{ + "filter": {"property": "Status", "select": {"equals": "Active"}}, + "sorts": [{"property": "Date", "direction": "descending"}] + }' +``` + +### Create a Database + +```bash +curl -s -X POST "https://api.notion.com/v1/data_sources" \ + -H "Authorization: Bearer $NOTION_API_KEY" \ + -H "Notion-Version: 2025-09-03" \ + -H "Content-Type: application/json" \ + -d '{ + "parent": {"page_id": "xxx"}, + "title": [{"text": {"content": "My Database"}}], + "properties": { + "Name": {"title": {}}, + "Status": {"select": {"options": [{"name": "Todo"}, {"name": "Done"}]}}, + "Date": {"date": {}} + } + }' +``` + +### Update Page Properties + +```bash +curl -s -X PATCH "https://api.notion.com/v1/pages/{page_id}" \ + -H "Authorization: Bearer $NOTION_API_KEY" \ + -H "Notion-Version: 2025-09-03" \ + -H "Content-Type: application/json" \ + -d '{"properties": {"Status": {"select": {"name": "Done"}}}}' +``` + +### Add Content to a Page + +```bash +curl -s -X PATCH "https://api.notion.com/v1/blocks/{page_id}/children" \ + -H "Authorization: Bearer $NOTION_API_KEY" \ + -H "Notion-Version: 2025-09-03" \ + -H "Content-Type: application/json" \ + -d '{ + "children": [ + {"object": "block", "type": "paragraph", "paragraph": {"rich_text": [{"text": {"content": "Hello from Hermes!"}}]}} + ] + }' +``` + +## Property Types + +Common property formats for database items: + +- **Title:** `{"title": [{"text": {"content": "..."}}]}` +- **Rich text:** `{"rich_text": [{"text": {"content": "..."}}]}` +- **Select:** `{"select": {"name": "Option"}}` +- **Multi-select:** `{"multi_select": [{"name": "A"}, {"name": "B"}]}` +- **Date:** `{"date": {"start": "2026-01-15", "end": "2026-01-16"}}` +- **Checkbox:** `{"checkbox": true}` +- **Number:** `{"number": 42}` +- **URL:** `{"url": "https://..."}` +- **Email:** `{"email": "user@example.com"}` +- **Relation:** `{"relation": [{"id": "page_id"}]}` + +## Key Differences in API Version 2025-09-03 + +- **Databases → Data Sources:** Use `/data_sources/` endpoints for queries and retrieval +- **Two IDs:** Each database has both a `database_id` and a `data_source_id` + - Use `database_id` when creating pages (`parent: {"database_id": "..."}`) + - Use `data_source_id` when querying (`POST /v1/data_sources/{id}/query`) +- **Search results:** Databases return as `"object": "data_source"` with their `data_source_id` + +## Notes + +- Page/database IDs are UUIDs (with or without dashes) +- Rate limit: ~3 requests/second average +- The API cannot set database view filters — that's UI-only +- Use `is_inline: true` when creating data sources to embed them in pages +- Add `-s` flag to curl to suppress progress bars (cleaner output for Hermes) +- Pipe output through `jq` for readable JSON: `... | jq '.results[0].properties'` diff --git a/skills/pptx/LICENSE.txt b/skills/productivity/powerpoint/LICENSE.txt similarity index 100% rename from skills/pptx/LICENSE.txt rename to skills/productivity/powerpoint/LICENSE.txt diff --git a/skills/pptx/SKILL.md b/skills/productivity/powerpoint/SKILL.md similarity index 99% rename from skills/pptx/SKILL.md rename to skills/productivity/powerpoint/SKILL.md index df5000e17..24432093a 100644 --- a/skills/pptx/SKILL.md +++ b/skills/productivity/powerpoint/SKILL.md @@ -1,10 +1,10 @@ --- -name: pptx +name: powerpoint description: "Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates, layouts, speaker notes, or comments. Trigger whenever the user mentions \"deck,\" \"slides,\" \"presentation,\" or references a .pptx filename, regardless of what they plan to do with the content afterward. If a .pptx file needs to be opened, created, or touched, use this skill." license: Proprietary. LICENSE.txt has complete terms --- -# PPTX Skill +# Powerpoint Skill ## Quick Reference diff --git a/skills/pptx/editing.md b/skills/productivity/powerpoint/editing.md similarity index 100% rename from skills/pptx/editing.md rename to skills/productivity/powerpoint/editing.md diff --git a/skills/pptx/pptxgenjs.md b/skills/productivity/powerpoint/pptxgenjs.md similarity index 100% rename from skills/pptx/pptxgenjs.md rename to skills/productivity/powerpoint/pptxgenjs.md diff --git a/skills/pptx/scripts/__init__.py b/skills/productivity/powerpoint/scripts/__init__.py similarity index 100% rename from skills/pptx/scripts/__init__.py rename to skills/productivity/powerpoint/scripts/__init__.py diff --git a/skills/pptx/scripts/add_slide.py b/skills/productivity/powerpoint/scripts/add_slide.py similarity index 100% rename from skills/pptx/scripts/add_slide.py rename to skills/productivity/powerpoint/scripts/add_slide.py diff --git a/skills/pptx/scripts/clean.py b/skills/productivity/powerpoint/scripts/clean.py similarity index 100% rename from skills/pptx/scripts/clean.py rename to skills/productivity/powerpoint/scripts/clean.py diff --git a/skills/pptx/scripts/office/helpers/__init__.py b/skills/productivity/powerpoint/scripts/office/helpers/__init__.py similarity index 100% rename from skills/pptx/scripts/office/helpers/__init__.py rename to skills/productivity/powerpoint/scripts/office/helpers/__init__.py diff --git a/skills/pptx/scripts/office/helpers/merge_runs.py b/skills/productivity/powerpoint/scripts/office/helpers/merge_runs.py similarity index 100% rename from skills/pptx/scripts/office/helpers/merge_runs.py rename to skills/productivity/powerpoint/scripts/office/helpers/merge_runs.py diff --git a/skills/pptx/scripts/office/helpers/simplify_redlines.py b/skills/productivity/powerpoint/scripts/office/helpers/simplify_redlines.py similarity index 100% rename from skills/pptx/scripts/office/helpers/simplify_redlines.py rename to skills/productivity/powerpoint/scripts/office/helpers/simplify_redlines.py diff --git a/skills/pptx/scripts/office/pack.py b/skills/productivity/powerpoint/scripts/office/pack.py similarity index 100% rename from skills/pptx/scripts/office/pack.py rename to skills/productivity/powerpoint/scripts/office/pack.py diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd diff --git a/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd diff --git a/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd diff --git a/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd diff --git a/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd diff --git a/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd b/skills/productivity/powerpoint/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd diff --git a/skills/pptx/scripts/office/schemas/mce/mc.xsd b/skills/productivity/powerpoint/scripts/office/schemas/mce/mc.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/mce/mc.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/mce/mc.xsd diff --git a/skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd b/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2010.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2010.xsd diff --git a/skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd b/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2012.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2012.xsd diff --git a/skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd b/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2018.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2018.xsd diff --git a/skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd b/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-cex-2018.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-cex-2018.xsd diff --git a/skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd b/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-cid-2016.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-cid-2016.xsd diff --git a/skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd b/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd diff --git a/skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd b/skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-symex-2015.xsd similarity index 100% rename from skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd rename to skills/productivity/powerpoint/scripts/office/schemas/microsoft/wml-symex-2015.xsd diff --git a/skills/smart-home/DESCRIPTION.md b/skills/smart-home/DESCRIPTION.md new file mode 100644 index 000000000..c308c2149 --- /dev/null +++ b/skills/smart-home/DESCRIPTION.md @@ -0,0 +1,3 @@ +--- +description: Skills for controlling smart home devices — lights, switches, sensors, and home automation systems. +--- diff --git a/skills/smart-home/openhue/SKILL.md b/skills/smart-home/openhue/SKILL.md new file mode 100644 index 000000000..9b2252856 --- /dev/null +++ b/skills/smart-home/openhue/SKILL.md @@ -0,0 +1,106 @@ +--- +name: openhue +description: Control Philips Hue lights, rooms, and scenes via the OpenHue CLI. Turn lights on/off, adjust brightness, color, color temperature, and activate scenes. +version: 1.0.0 +author: community +license: MIT +metadata: + hermes: + tags: [Smart-Home, Hue, Lights, IoT, Automation] + homepage: https://www.openhue.io/cli +--- + +# OpenHue CLI + +Control Philips Hue lights and scenes via a Hue Bridge from the terminal. + +## Prerequisites + +```bash +# Linux (pre-built binary) +curl -sL https://github.com/openhue/openhue-cli/releases/latest/download/openhue-linux-amd64 -o ~/.local/bin/openhue && chmod +x ~/.local/bin/openhue + +# macOS +brew install openhue/cli/openhue-cli +``` + +First run requires pressing the button on your Hue Bridge to pair. The bridge must be on the same local network. + +## When to Use + +- "Turn on/off the lights" +- "Dim the living room lights" +- "Set a scene" or "movie mode" +- Controlling specific Hue rooms, zones, or individual bulbs +- Adjusting brightness, color, or color temperature + +## Common Commands + +### List Resources + +```bash +openhue get light # List all lights +openhue get room # List all rooms +openhue get scene # List all scenes +``` + +### Control Lights + +```bash +# Turn on/off +openhue set light "Bedroom Lamp" --on +openhue set light "Bedroom Lamp" --off + +# Brightness (0-100) +openhue set light "Bedroom Lamp" --on --brightness 50 + +# Color temperature (warm to cool: 153-500 mirek) +openhue set light "Bedroom Lamp" --on --temperature 300 + +# Color (by name or hex) +openhue set light "Bedroom Lamp" --on --color red +openhue set light "Bedroom Lamp" --on --rgb "#FF5500" +``` + +### Control Rooms + +```bash +# Turn off entire room +openhue set room "Bedroom" --off + +# Set room brightness +openhue set room "Bedroom" --on --brightness 30 +``` + +### Scenes + +```bash +openhue set scene "Relax" --room "Bedroom" +openhue set scene "Concentrate" --room "Office" +``` + +## Quick Presets + +```bash +# Bedtime (dim warm) +openhue set room "Bedroom" --on --brightness 20 --temperature 450 + +# Work mode (bright cool) +openhue set room "Office" --on --brightness 100 --temperature 250 + +# Movie mode (dim) +openhue set room "Living Room" --on --brightness 10 + +# Everything off +openhue set room "Bedroom" --off +openhue set room "Office" --off +openhue set room "Living Room" --off +``` + +## Notes + +- Bridge must be on the same local network as the machine running Hermes +- First run requires physically pressing the button on the Hue Bridge to authorize +- Colors only work on color-capable bulbs (not white-only models) +- Light and room names are case-sensitive — use `openhue get light` to check exact names +- Works great with cron jobs for scheduled lighting (e.g. dim at bedtime, bright at wake)