[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CS0V6YQBKQHRS68VB3K2V0":3,"skill-same:01M6CS0V6YQBKQHRS68VB3K2V0":69},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":6,"ownerHtmlUrl":47,"ownerBlogUrl":48,"ownerDescription":6,"updatedAt":49,"install":50,"resources":62},"01M6CS0V6YQBKQHRS68VB3K2V0","poe-models",null,"Look up Poe model details — pricing, context window, modalities, tool\u002Fvision\u002Freasoning support — by querying Poe's \u002Fv1\u002Fmodels catalog API.","kfet\u002Ffir","kfet","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F14585?v=4","01M6CRZCB8P1V37WM3X0GB2DA6","Kalin Fetvadjiev","01M6CRZCFG1EW1WEN4RK84W1N5",1,"MIT","https:\u002F\u002Fgithub.com\u002Fkfet\u002Ffir\u002Fblob\u002Fmain\u002Fpkg\u002Fresources\u002Fbuiltin_skills\u002Fpoe-models\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"poe models","models","up","context window","window","v1","true","look","vision","support","catalog","context","model","tool","api","reasoning","pricing","2026-11-10 10:12:30",false,"---\nname: poe-models\ndescription: Look up Poe model details — pricing, context window, modalities, tool\u002Fvision\u002Freasoning support — by querying Poe's \u002Fv1\u002Fmodels catalog API.\nbuiltin: true\noverride: true\n---\n\n# Poe Models Skill\n\nQuery Poe's OpenAI-compatible model catalog at `https:\u002F\u002Fapi.poe.com\u002Fv1\u002Fmodels` to inspect pricing, context windows, supported features (tools, vision, reasoning effort), and endpoints for any bot.\n\nThe endpoint is public — no auth required — but the script will send a Bearer token if one is available (resolution order matches `poe-usage`: `POE_API_KEY` env → `~\u002F.config\u002Ffir\u002Fmodels.json` `.providers.Poe.apiKey` → `~\u002F.config\u002Ffir\u002Fauth.json` `.poe.access`\u002F`.poe.key`).\n\n## Usage\n\n```bash\n# Summary table of all bots\nbash \"$SKILL_DIR\u002Fscripts\u002Fmodels.sh\"\n\n# Filter by substring (case-insensitive) on id or display name\nbash \"$SKILL_DIR\u002Fscripts\u002Fmodels.sh\" --filter claude\nbash \"$SKILL_DIR\u002Fscripts\u002Fmodels.sh\" --filter gpt-5\n\n# Full normalized JSON details for one model\nbash \"$SKILL_DIR\u002Fscripts\u002Fmodels.sh\" --id claude-haiku-4.5\n\n# Machine-readable JSON for all (filtered) models\nbash \"$SKILL_DIR\u002Fscripts\u002Fmodels.sh\" --filter qwen --json | jq '.[].id'\n\n# Raw upstream response (everything Poe returns)\nbash \"$SKILL_DIR\u002Fscripts\u002Fmodels.sh\" --raw\n\n# Cap rows in table mode\nbash \"$SKILL_DIR\u002Fscripts\u002Fmodels.sh\" --limit 20\n```\n\n| Flag | Meaning |\n|---|---|\n| `--filter STR` | Substring match on `id` + `display_name` (case-insensitive) |\n| `--id ID` | Show full JSON for a single bot by exact id |\n| `--json` | Emit normalized JSON array for the filtered set |\n| `--raw` | Dump the upstream response as-is |\n| `--limit N` | Cap table rows |\n\n## Output fields\n\nTable columns: `ID`, `CTX` (context window, k-rounded), `PROMPT` and `COMPLETION` (USD per token — multiply by 1e6 for per-1M cost), `TOOLS`, `VISION`, `EFFORT` (advertises `reasoning_effort`).\n\nNormalized JSON (`--json`) per entry:\n\n- `id`, `display_name`, `owned_by`, `description`\n- `input_modalities` — e.g. `[\"text\", \"image\"]`\n- `supported_features` — e.g. `[\"tools\", \"streaming\"]`\n- `supported_endpoints` — e.g. `[\"\u002Fv1\u002Fchat\u002Fcompletions\", \"\u002Fv1\u002Fmessages\"]`\n- `context_length`, `max_output_tokens`\n- `pricing` — Poe's raw object (`prompt`, `completion`, `input_cache_read`, `input_cache_write` — USD per token, as strings)\n- `reasoning` — `{ required, supports_reasoning_effort }`\n- `tools`, `vision` — convenience booleans\n\n## Notes\n\n- Poe's metadata is incomplete for many third-party bots: `context_length` of `0` means Poe didn't fill it in. Use `--raw` and grep the description as a last resort.\n- For richer parsing (description-mined context windows, hardcoded overrides, endpoint routing rules), see `cmd\u002Fgenerate-models\u002Fmain.go` (`fetchPoeModels`).\n- For point balance and usage history rather than the model catalog, use the `poe-usage` skill.\n","# Poe Models Skill\n\nQuery Poe's OpenAI-compatible model catalog at `https:\u002F\u002Fapi.poe.com\u002Fv1\u002Fmodels` to inspect pricing, context windows, supported features (tools, vision, reasoning effort), and endpoints for any bot.\n\nThe endpoint is public — no auth required — but the script will send a Bearer token if one is available (resolution order matches `poe-usage`: `POE_API_KEY` env → `~\u002F.config\u002Ffir\u002Fmodels.json` `.providers.Poe.apiKey` → `~\u002F.config\u002Ffir\u002Fauth.json` `.poe.access`\u002F`.poe.key`).\n\n## Usage\n\n```bash\n# Summary table of all bots\nbash \"$SKILL_DIR\u002Fscripts\u002Fmodels.sh\"\n\n# Filter by substring (case-insensitive) on id or display name\nbash \"$SKILL_DIR\u002Fscripts\u002Fmodels.sh\" --filter claude\nbash \"$SKILL_DIR\u002Fscripts\u002Fmodels.sh\" --filter gpt-5\n\n# Full normalized JSON details for one model\nbash \"$SKILL_DIR\u002Fscripts\u002Fmodels.sh\" --id claude-haiku-4.5\n\n# Machine-readable JSON for all (filtered) models\nbash \"$SKILL_DIR\u002Fscripts\u002Fmodels.sh\" --filter qwen --json | jq '.[].id'\n\n# Raw upstream response (everything Poe returns)\nbash \"$SKILL_DIR\u002Fscripts\u002Fmodels.sh\" --raw\n\n# Cap rows in table mode\nbash \"$SKILL_DIR\u002Fscripts\u002Fmodels.sh\" --limit 20\n```\n\n| Flag | Meaning |\n|---|---|\n| `--filter STR` | Substring match on `id` + `display_name` (case-insensitive) |\n| `--id ID` | Show full JSON for a single bot by exact id |\n| `--json` | Emit normalized JSON array for the filtered set |\n| `--raw` | Dump the upstream response as-is |\n| `--limit N` | Cap table rows |\n\n## Output fields\n\nTable columns: `ID`, `CTX` (context window, k-rounded), `PROMPT` and `COMPLETION` (USD per token — multiply by 1e6 for per-1M cost), `TOOLS`, `VISION`, `EFFORT` (advertises `reasoning_effort`).\n\nNormalized JSON (`--json`) per entry:\n\n- `id`, `display_name`, `owned_by`, `description`\n- `input_modalities` — e.g. `[\"text\", \"image\"]`\n- `supported_features` — e.g. `[\"tools\", \"streaming\"]`\n- `supported_endpoints` — e.g. `[\"\u002Fv1\u002Fchat\u002Fcompletions\", \"\u002Fv1\u002Fmessages\"]`\n- `context_length`, `max_output_tokens`\n- `pricing` — Poe's raw object (`prompt`, `completion`, `input_cache_read`, `input_cache_write` — USD per token, as strings)\n- `reasoning` — `{ required, supports_reasoning_effort }`\n- `tools`, `vision` — convenience booleans\n\n## Notes\n\n- Poe's metadata is incomplete for many third-party bots: `context_length` of `0` means Poe didn't fill it in. Use `--raw` and grep the description as a last resort.\n- For richer parsing (description-mined context windows, hardcoded overrides, endpoint routing rules), see `cmd\u002Fgenerate-models\u002Fmain.go` (`fetchPoeModels`).\n- For point balance and usage history rather than the model catalog, use the `poe-usage` skill.\n",{"name":5,"builtin":41,"override":41,"description":7},true,"main","76b360b35f87ec18e1776cf6feafc7a025bdea64","pkg\u002Fresources\u002Fbuiltin_skills\u002Fpoe-models",0,"https:\u002F\u002Fgithub.com\u002Fkfet\u002Ffir","https:\u002F\u002Fgithub.com\u002Fkfet","https:\u002F\u002Fgithub.com\u002Fkalin-sa","2026-11-14 02:11:32",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":41},[52,55,58],{"tool":53,"command":54},"npx","npx skills add kfet\u002Ffir --skill poe-models",{"tool":56,"command":57},"bunx","bunx skills add kfet\u002Ffir --skill poe-models",{"tool":59,"command":60},"pnpm","pnpm dlx skills add kfet\u002Ffir --skill poe-models","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkfet\u002Ffir\u002Fblob\u002Fmain\u002Fpkg\u002Fresources\u002Fbuiltin_skills\u002Fpoe-models\u002FSKILL.md",[63],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"scripts\u002Fmodels.sh","SCRIPT","脚本",4303,"https:\u002F\u002Fgithub.com\u002Fkfet\u002Ffir\u002Fblob\u002Fmain\u002Fpkg\u002Fresources\u002Fbuiltin_skills\u002Fpoe-models\u002Fscripts\u002Fmodels.sh",[70,93,112,134,151,182],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":36},"01M6CS290490SZNX8V35TF3N6X","wt","Spawn a fresh fir agent in its own tmux session on its own git worktree. Use whenever the user wants the work — or the conversation about the work — to happen over there, not here. If the user points at this skill, or has directly loaded it in the context, that alone is the cue — spawn, don't inline.","https:\u002F\u002Fgithub.com\u002Fkfet\u002Ffir\u002Fblob\u002Fmain\u002Fpkg\u002Fresources\u002Fbuiltin_skills\u002Fwt\u002FSKILL.md",[],[72,77,78,79,80,81,30,82,83,84,85,86,87,88,89,90,25,91,92],"tmux","git","worktree","git worktree","work","user","spawn","session","use","conversation","cue","fresh","it","about","at","inline",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":36},"01M6CS26KAKJ7VYRQ3RJ31SJ6S","wrap-up","Wrap up work on a project branch — review, fix, and simplify in a loop until clean, then ff-merge to main.","https:\u002F\u002Fgithub.com\u002Fkfet\u002Ffir\u002Fblob\u002Fmain\u002Fpkg\u002Fresources\u002Fbuiltin_skills\u002Fwrap-up\u002FSKILL.md",[],[100,21,101,102,103,104,105,106,81,107,108,109,42,110,111,25],"wrap up","wrap","review","merge","simplify","loop","work on","branch","fix","clean","merge to main","project",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":36},"01M6CS23P85MSVBX11XMFB29PF","tmux-observer","Attach a tmux window to an already-running fir session — observe its transcript and drive its input via tmux send-keys. Use when you need to watch or steer another fir agent.","https:\u002F\u002Fgithub.com\u002Fkfet\u002Ffir\u002Fblob\u002Fmain\u002Fpkg\u002Fresources\u002Fbuiltin_skills\u002Ftmux-observer\u002FSKILL.md",[],[77,119,120,121,84,85,122,123,124,125,126,127,128,25,129,130,23,131,132,133],"tmux observer","observer","transcript","drive","observe","attach","watch","input","via","you","keys","steer","send","when","running",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":36},"01M6CS21ENQ3D7Z08TDKXHJRR6","tmux-driver","Drive interactive CLIs (python, gdb, etc.) via named tmux sessions with multi-window support. Falls back to fir's built-in PTY driver when tmux is unavailable.","https:\u002F\u002Fgithub.com\u002Fkfet\u002Ffir\u002Fblob\u002Fmain\u002Fpkg\u002Fresources\u002Fbuiltin_skills\u002Ftmux-driver\u002FSKILL.md",[],[77,141,142,143,28,144,145,146,122,147,148,127,149,150,25,23,132],"tmux driver","driver","python","sessions","interactive","PTY","back","gdb","multi","with",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":162,"publishedAt":36},"01M6CS1YWSAH2TQ7S4VK7VKJT6","telegram-bot-setup","Set up a new Telegram bot channel for a fir project — install the telegram MCP, create a per-project state dir, drop in the bot token, wire .fir\u002Fmcp.json with TELEGRAM_STATE_DIR, pair the user, and verify. Use when the user asks to add, configure, or onboard a Telegram bot for a fir worktree\u002Fproject.","https:\u002F\u002Fgithub.com\u002Fkfet\u002Ffir\u002Fblob\u002Fmain\u002Fpkg\u002Fresources\u002Fbuiltin_skills\u002Ftelegram-bot-setup\u002FSKILL.md",[157],{"categoryNo":158,"categoryName":159,"taxonomyType":160,"taxonomyTypeDesc":161},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[163,164,165,166,167,168,169,170,79,171,172,173,174,175,176,177,178,85,21,179,111,150,25,180,132,181],"bot","setup","telegram bot","telegram","telegram bot setup","MCP","create","state","SET","verify","onboard","configure","json","pair","install","channel","drop","for","new",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":186,"categories":187,"keywords":188,"publishedAt":36},"01M6CS1VSW4C1W1QED8NDHBHZ9","sync","Sync with an upstream source repo — detect changed files, apply equivalent downstream edits, update the baseline, and report any new features or non-trivial changes picked up.","https:\u002F\u002Fgithub.com\u002Fkfet\u002Ffir\u002Fblob\u002Fmain\u002Fpkg\u002Fresources\u002Fbuiltin_skills\u002Fsync\u002FSKILL.md",[],[184,189,190,191,192,21,193,194,195,150,25,196,197,198,199,181],"update","report","baseline","repo","files","upstream","detect","source","changes","features","apply"]