Borrowing it
Nothing to install: this file belongs to OpenSQZ/GTPlanner. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/OpenSQZ/GTPlanner/main/.claude/commands/gtplanner-init.mdgit clone --depth 1 https://github.com/OpenSQZ/GTPlannerWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/opensqz/gtplanner/gtplanner-init)<a href="https://agentmods.dev/commands/opensqz/gtplanner/gtplanner-init"><img src="https://agentmods.dev/badge/commands/opensqz/gtplanner/gtplanner-init/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/opensqz/gtplanner/gtplanner-init"><img src="https://agentmods.dev/badge/commands/opensqz/gtplanner/gtplanner-init.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00008 | $0.00818 |
| Opus 5.5 | $0.00003 | $0.00327 |
| Sonnet 5.5 | $0.00002 | $0.00164 |
| Haiku 4.5 | $0.00001 | $0.00082 |
Grade A, and why
gtplanner-init scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 146 lines — stays where its author put it; the contents beside it link to each section on GitHub.
初始化 GTPlanner
执行环境检查和配置验证。
检查步骤
1. 验证 Python 版本
cd "${CLAUDE_PLUGIN_ROOT}"
uv run python --version
要求 Python >= 3.11
2. 检查依赖安装状态
cd "${CLAUDE_PLUGIN_ROOT}"
uv sync --dry-run 2>&1 | head -20
如果有未安装的依赖,执行:
cd "${CLAUDE_PLUGIN_ROOT}"
uv sync
3. 验证必需环境变量
cd "${CLAUDE_PLUGIN_ROOT}"
uv run python -c "
import os
from dotenv import load_dotenv
load_dotenv()
required = ['LLM_API_KEY', 'LLM_BASE_URL', 'LLM_MODEL']
optional = ['JINA_API_KEY', 'VECTOR_SERVICE_BASE_URL', 'VECTOR_SERVICE_INDEX_NAME']
print('=== 必需配置 ===')
for var in required:
value = os.getenv(var)
status = '✅' if value and not value.startswith('your_') else '❌'
print(f'{status} {var}: {\"已配置\" if status == \"✅\" else \"未配置或使用占位符\"}')
print()
print('=== 可选配置 ===')
for var in optional:
value = os.getenv(var)
status = '✅' if value and not value.startswith('your_') else '⚪'
print(f'{status} {var}: {\"已配置\" if status == \"✅\" else \"未配置\"}')
"
4. 验证 GTPlanner 模块
cd "${CLAUDE_PLUGIN_ROOT}"
uv run python -c "
from agent.function_calling.agent_tools import get_agent_function_definitions
tools = get_agent_function_definitions()
print('✅ GTPlanner 模块加载成功')
print()
print('可用工具:')
for tool in tools:
name = tool['function']['name']
desc = tool['function']['description'].split('\n')[0][:60]
print(f' - {name}: {desc}...')
"
5. 测试基本功能
cd "${CLAUDE_PLUGIN_ROOT}"
uv run python -c "
import asyncio
from agent.function_calling.agent_tools import execute_agent_tool
async def test():
shared = {}
result = await execute_agent_tool(
'short_planning',
{'user_requirements': '测试需求', 'planning_stage': 'initial'},
shared
)
if result['success']:
print('✅ short_planning 工具测试通过')
else:
print(f'❌ 测试失败: {result[\"error\"]}')
return result['success']
success = asyncio.run(test())
exit(0 if success else 1)
"
初始化成功标志
当看到以下输出时,表示环境已正确配置:
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 146 lines · 8 tokens per session scan A c96ea75f49a4
gtplanner-init is a command published in the GitHub repository OpenSQZ/GTPlanner (314 stars, last pushed 11d ago), licensed MIT. It adds 8 tokens to every session and 818 once invoked, about $0.0000 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
gtplanner-init compared with commands from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| gtplanner-initOpenSQZ/GTPlanner | Command | 314 | 11d ago | MIT | A | 8 | Claude Code |
| statuswtzywkloo/wtcraft | Command | 2 | 1mo ago | Apache-2.0 | A | 0 | Claude Code |
| docsdocfork/docfork | Command | 483 | 4mo ago | MIT | A | 10 | Claude Code |
| awesome-chatgpttaishi-i/awesome-ChatGPT-repositories | Command | 3.4k | yesterday | CC0-1.0 | A | 0 | Claude Code |
| modernize-transformfuxicodex/Fuxi | Command | 3.2k | 17d ago | none | A | 17 | Claude Code |
| requirement-reviewxiaozhi86/qamaster | Command | 6 | 2mo ago | MIT | A | 53 | Claude Code |
| rclone_config_dumpchaunsin/agent-skills | Command | 2 | today | Apache-2.0 | A | 7 | Claude Code |