cli-creator-skill 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,10 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+ *.egg-info/
4
+ .venv/
5
+ dist/
6
+ build/
7
+ .env
8
+ .DS_Store
9
+ .idea/
10
+ .vscode/
@@ -0,0 +1,7 @@
1
+ # Changelog
2
+
3
+ ## 0.1.0
4
+
5
+ - Initial release of the `cli-creator` skill.
6
+ - Add installable PyPI package with `cli-creator-skill install`.
7
+ - Add creation playbook, pitfalls reference, and review rubric.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 yjw
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,5 @@
1
+ # Notice
2
+
3
+ `cli-creator` is a reusable skill authored from practical CLI development experience.
4
+
5
+ External design references are credited in `README.md`. No code from those projects is vendored in this repository.
@@ -0,0 +1,129 @@
1
+ Metadata-Version: 2.4
2
+ Name: cli-creator-skill
3
+ Version: 0.1.0
4
+ Summary: Installable cli-creator agent skill for designing and auditing Python CLI tools.
5
+ Project-URL: Homepage, https://github.com/AdvancingTitans/cli-creator-skill
6
+ Project-URL: Repository, https://github.com/AdvancingTitans/cli-creator-skill
7
+ Project-URL: Issues, https://github.com/AdvancingTitans/cli-creator-skill/issues
8
+ Author: yjw
9
+ License-Expression: MIT
10
+ License-File: LICENSE
11
+ License-File: NOTICE.md
12
+ Keywords: agent-skill,cli,codex,llm,questionary,rich,typer
13
+ Classifier: Development Status :: 3 - Alpha
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.9
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Topic :: Software Development
22
+ Classifier: Topic :: Utilities
23
+ Requires-Python: >=3.9
24
+ Description-Content-Type: text/markdown
25
+
26
+ # cli-creator
27
+
28
+ `cli-creator` is a reusable agent skill for designing, building, and auditing high-quality Python CLI tools.
29
+
30
+ It is especially useful for Typer + Rich + questionary projects with interactive flows, data fetching, caching, LLM provider setup, structured output, local profile memory, and multi-channel delivery.
31
+
32
+ ## Install As A Codex Skill
33
+
34
+ Clone this repository and copy the skill directory into your Codex skills folder:
35
+
36
+ ```bash
37
+ git clone https://github.com/AdvancingTitans/cli-creator-skill.git
38
+ mkdir -p ~/.codex/skills
39
+ cp -R cli-creator-skill/skills/cli-creator ~/.codex/skills/cli-creator
40
+ ```
41
+
42
+ Then ask your agent to use `cli-creator` when creating or reviewing CLI tools.
43
+
44
+ ## Install From PyPI
45
+
46
+ ```bash
47
+ pip install cli-creator-skill
48
+ cli-creator-skill install
49
+ ```
50
+
51
+ By default this installs the skill to `~/.codex/skills/cli-creator`.
52
+
53
+ Install to a custom directory:
54
+
55
+ ```bash
56
+ cli-creator-skill install --target ~/.agents/skills
57
+ ```
58
+
59
+ ## PyPI Trusted Publisher
60
+
61
+ This repository is ready for tag-driven PyPI publishing through GitHub Actions.
62
+
63
+ Configure a pending publisher on PyPI with these exact values:
64
+
65
+ ```text
66
+ PyPI project name: cli-creator-skill
67
+ Owner: AdvancingTitans
68
+ Repository name: cli-creator-skill
69
+ Workflow name: publish.yml
70
+ Environment name: pypi
71
+ ```
72
+
73
+ After the pending publisher is configured, publishing is:
74
+
75
+ ```bash
76
+ git tag v0.1.0
77
+ git push origin v0.1.0
78
+ ```
79
+
80
+ ## What This Skill Helps With
81
+
82
+ - Design a new Python CLI from scratch.
83
+ - Review an existing CLI for UX, packaging, errors, model setup, caching, and maintainability.
84
+ - Structure Typer + Rich + questionary applications.
85
+ - Build natural multi-turn CLI flows without making users feel like they are filling out a form.
86
+ - Add robust model provider configuration for OpenAI, Anthropic, Ark/OpenAI-compatible endpoints, and local models.
87
+ - Add cache, profile memory, diagnostics, and first-run setup flows.
88
+
89
+ ## Repository Structure
90
+
91
+ ```text
92
+ cli-creator-skill/
93
+ skills/cli-creator/
94
+ SKILL.md
95
+ references/
96
+ creation-playbook.md
97
+ pitfalls-and-solutions.md
98
+ review-rubric.md
99
+ src/cli_creator_skill/
100
+ installer.py
101
+ __main__.py
102
+ pyproject.toml
103
+ README.md
104
+ LICENSE
105
+ ```
106
+
107
+ ## Usage
108
+
109
+ Use this skill when you ask:
110
+
111
+ - "帮我从零设计一个 Python CLI"
112
+ - "帮我审查这个 Typer CLI"
113
+ - "这个 CLI 的交互很别扭,帮我重构"
114
+ - "帮我设计模型配置、缓存、doctor、profile memory"
115
+ - "帮我发布一个可 pip install 的 CLI"
116
+
117
+ ## Sources And Design Influences
118
+
119
+ This skill distills practical lessons from building interactive Python CLIs and from studying mature CLI projects and documentation patterns, including:
120
+
121
+ - [larksuite/cli](https://github.com/larksuite/cli)
122
+ - [soongenwong/claudecode](https://github.com/soongenwong/claudecode)
123
+ - [Astral uv](https://github.com/astral-sh/uv)
124
+ - [Astral ruff](https://github.com/astral-sh/ruff)
125
+ - Typer, Rich, questionary, Pydantic, litellm, and instructor project practices
126
+
127
+ ## License
128
+
129
+ MIT
@@ -0,0 +1,104 @@
1
+ # cli-creator
2
+
3
+ `cli-creator` is a reusable agent skill for designing, building, and auditing high-quality Python CLI tools.
4
+
5
+ It is especially useful for Typer + Rich + questionary projects with interactive flows, data fetching, caching, LLM provider setup, structured output, local profile memory, and multi-channel delivery.
6
+
7
+ ## Install As A Codex Skill
8
+
9
+ Clone this repository and copy the skill directory into your Codex skills folder:
10
+
11
+ ```bash
12
+ git clone https://github.com/AdvancingTitans/cli-creator-skill.git
13
+ mkdir -p ~/.codex/skills
14
+ cp -R cli-creator-skill/skills/cli-creator ~/.codex/skills/cli-creator
15
+ ```
16
+
17
+ Then ask your agent to use `cli-creator` when creating or reviewing CLI tools.
18
+
19
+ ## Install From PyPI
20
+
21
+ ```bash
22
+ pip install cli-creator-skill
23
+ cli-creator-skill install
24
+ ```
25
+
26
+ By default this installs the skill to `~/.codex/skills/cli-creator`.
27
+
28
+ Install to a custom directory:
29
+
30
+ ```bash
31
+ cli-creator-skill install --target ~/.agents/skills
32
+ ```
33
+
34
+ ## PyPI Trusted Publisher
35
+
36
+ This repository is ready for tag-driven PyPI publishing through GitHub Actions.
37
+
38
+ Configure a pending publisher on PyPI with these exact values:
39
+
40
+ ```text
41
+ PyPI project name: cli-creator-skill
42
+ Owner: AdvancingTitans
43
+ Repository name: cli-creator-skill
44
+ Workflow name: publish.yml
45
+ Environment name: pypi
46
+ ```
47
+
48
+ After the pending publisher is configured, publishing is:
49
+
50
+ ```bash
51
+ git tag v0.1.0
52
+ git push origin v0.1.0
53
+ ```
54
+
55
+ ## What This Skill Helps With
56
+
57
+ - Design a new Python CLI from scratch.
58
+ - Review an existing CLI for UX, packaging, errors, model setup, caching, and maintainability.
59
+ - Structure Typer + Rich + questionary applications.
60
+ - Build natural multi-turn CLI flows without making users feel like they are filling out a form.
61
+ - Add robust model provider configuration for OpenAI, Anthropic, Ark/OpenAI-compatible endpoints, and local models.
62
+ - Add cache, profile memory, diagnostics, and first-run setup flows.
63
+
64
+ ## Repository Structure
65
+
66
+ ```text
67
+ cli-creator-skill/
68
+ skills/cli-creator/
69
+ SKILL.md
70
+ references/
71
+ creation-playbook.md
72
+ pitfalls-and-solutions.md
73
+ review-rubric.md
74
+ src/cli_creator_skill/
75
+ installer.py
76
+ __main__.py
77
+ pyproject.toml
78
+ README.md
79
+ LICENSE
80
+ ```
81
+
82
+ ## Usage
83
+
84
+ Use this skill when you ask:
85
+
86
+ - "帮我从零设计一个 Python CLI"
87
+ - "帮我审查这个 Typer CLI"
88
+ - "这个 CLI 的交互很别扭,帮我重构"
89
+ - "帮我设计模型配置、缓存、doctor、profile memory"
90
+ - "帮我发布一个可 pip install 的 CLI"
91
+
92
+ ## Sources And Design Influences
93
+
94
+ This skill distills practical lessons from building interactive Python CLIs and from studying mature CLI projects and documentation patterns, including:
95
+
96
+ - [larksuite/cli](https://github.com/larksuite/cli)
97
+ - [soongenwong/claudecode](https://github.com/soongenwong/claudecode)
98
+ - [Astral uv](https://github.com/astral-sh/uv)
99
+ - [Astral ruff](https://github.com/astral-sh/ruff)
100
+ - Typer, Rich, questionary, Pydantic, litellm, and instructor project practices
101
+
102
+ ## License
103
+
104
+ MIT
@@ -0,0 +1,52 @@
1
+ [project]
2
+ name = "cli-creator-skill"
3
+ version = "0.1.0"
4
+ description = "Installable cli-creator agent skill for designing and auditing Python CLI tools."
5
+ readme = "README.md"
6
+ requires-python = ">=3.9"
7
+ license = "MIT"
8
+ authors = [
9
+ { name = "yjw" }
10
+ ]
11
+ keywords = ["cli", "typer", "rich", "questionary", "agent-skill", "codex", "llm"]
12
+ classifiers = [
13
+ "Development Status :: 3 - Alpha",
14
+ "Intended Audience :: Developers",
15
+ "License :: OSI Approved :: MIT License",
16
+ "Programming Language :: Python :: 3",
17
+ "Programming Language :: Python :: 3.9",
18
+ "Programming Language :: Python :: 3.10",
19
+ "Programming Language :: Python :: 3.11",
20
+ "Programming Language :: Python :: 3.12",
21
+ "Topic :: Software Development",
22
+ "Topic :: Utilities",
23
+ ]
24
+ dependencies = []
25
+
26
+ [project.urls]
27
+ Homepage = "https://github.com/AdvancingTitans/cli-creator-skill"
28
+ Repository = "https://github.com/AdvancingTitans/cli-creator-skill"
29
+ Issues = "https://github.com/AdvancingTitans/cli-creator-skill/issues"
30
+
31
+ [project.scripts]
32
+ cli-creator-skill = "cli_creator_skill.installer:main"
33
+
34
+ [build-system]
35
+ requires = ["hatchling"]
36
+ build-backend = "hatchling.build"
37
+
38
+ [tool.hatch.build.targets.wheel]
39
+ packages = ["src/cli_creator_skill"]
40
+
41
+ [tool.hatch.build.targets.wheel.force-include]
42
+ "skills/cli-creator" = "cli_creator_skill/skills/cli-creator"
43
+
44
+ [tool.hatch.build.targets.sdist]
45
+ include = [
46
+ "src/cli_creator_skill",
47
+ "skills/cli-creator",
48
+ "README.md",
49
+ "CHANGELOG.md",
50
+ "LICENSE",
51
+ "NOTICE.md",
52
+ ]
@@ -0,0 +1,288 @@
1
+ ---
2
+ name: cli-creator
3
+ description: Use when designing, scaffolding, refactoring, or auditing a Python CLI tool, especially Typer + Rich + questionary CLIs with interactive flows, data fetching, caching, LLM integration, structured output, local memory, and multi-channel delivery.
4
+ ---
5
+
6
+ # CLI Creator
7
+
8
+ Use this skill to create a high-quality CLI from zero, or to review an existing CLI and produce actionable fixes. Prefer it for interactive, data-driven, LLM-assisted, multi-turn command line products.
9
+
10
+ ## Trigger Conditions
11
+
12
+ Use this skill when the user asks to:
13
+
14
+ - Create a Python CLI, command line app, interactive assistant, research assistant, data tool, or automation CLI.
15
+ - Improve a CLI's UX, command surface, onboarding, config flow, model setup, caching, or release process.
16
+ - Audit an existing CLI for maintainability, reliability, packaging, PyPI installability, or user experience.
17
+ - Add Typer, Rich, questionary, litellm, instructor, Pydantic, SQLite, config, profile memory, or provider setup to a CLI.
18
+ - Diagnose symptoms such as "command not found", "model returns empty", "refresh shows same results", "users do not know how to configure", "interactive flow feels rigid", or "report quality is shallow".
19
+
20
+ ## Core Philosophy
21
+
22
+ Build the CLI as a product, not as a thin script.
23
+
24
+ 1. Start from the user's job, not the command list. The first screen must help users decide what to do next.
25
+ 2. Separate command routing, conversation flow, data access, LLM reasoning, persistence, and delivery channels.
26
+ 3. Make every external dependency visible and diagnosable: model provider, base URL, model name, auth state, cache age, and output path.
27
+ 4. Prefer progressive interaction. Ask one natural question at a time, summarize what you learned, and allow correction.
28
+ 5. Ground data-driven recommendations in evidence. Show source, time window, freshness, and confidence.
29
+ 6. Treat local memory as a user-controlled feature. Provide inspect, update, export, and clear commands.
30
+ 7. Optimize for recovery. Every error should explain what happened, why it likely happened, and what command fixes it.
31
+
32
+ Balance UX and functionality by making the default path friendly and the expert path scriptable. Interactive commands should guide; non-interactive flags should reproduce the same workflow for automation.
33
+
34
+ ## First Response Pattern
35
+
36
+ When starting a CLI creation task:
37
+
38
+ 1. Restate the target user, core workflow, and delivery format in one short paragraph.
39
+ 2. Identify whether this is a new CLI, a refactor, or an audit.
40
+ 3. Inspect the repository before proposing architecture when code already exists.
41
+ 4. Create or update files directly unless the user explicitly asks for a plan only.
42
+ 5. Verify the installed command, the help output, and at least one end-to-end smoke path.
43
+
44
+ When starting a CLI review task:
45
+
46
+ 1. Run a quick structure scan: `rg --files`, `pyproject.toml`, entry points, package layout, tests, README.
47
+ 2. Run the CLI help and one representative command when safe.
48
+ 3. Report findings by severity first, with file and line references.
49
+ 4. Suggest fixes that preserve the existing architecture unless the structure itself is the problem.
50
+
51
+ ## Creation Workflow
52
+
53
+ Follow this workflow for a new CLI.
54
+
55
+ ### 1. Define The Product Surface
56
+
57
+ Clarify:
58
+
59
+ - Primary job: what valuable outcome should the user get in one session?
60
+ - First-run path: what does a brand-new user see before any config exists?
61
+ - Expert path: what command can be scripted in CI, cron, or automations?
62
+ - State model: what is ephemeral, cached, remembered, or user-owned?
63
+ - External integrations: models, APIs, browser tools, Feishu/Lark, GitHub, file outputs.
64
+
65
+ Design no more than 5 top-level commands for v1. Prefer:
66
+
67
+ - `run` for the main interactive flow.
68
+ - `setup` for guided first-run configuration.
69
+ - `config` for inspect/update/reset.
70
+ - `doctor` for diagnostics and auto-fixes.
71
+ - `history` or `profile` only when persistent memory is a core feature.
72
+
73
+ ### 2. Choose The Stack
74
+
75
+ Use this default stack unless the repo has a strong existing convention:
76
+
77
+ - Typer for command routing, type hints, and shell completion.
78
+ - Rich for panels, tables, markdown rendering, progress, and friendly errors.
79
+ - questionary for interactive prompts, with non-TTY fallbacks.
80
+ - Pydantic v2 for domain models and validation.
81
+ - pydantic-settings plus `.env` for config.
82
+ - SQLite for cache, history, and user profile memory.
83
+ - httpx for HTTP clients with timeouts, retries, and clear user-agent.
84
+ - litellm for multi-provider model calls.
85
+ - instructor for structured LLM output when compatible; provide a JSON-schema fallback.
86
+
87
+ ### 3. Design Modules Before Files
88
+
89
+ Keep these boundaries:
90
+
91
+ - `cli`: parse commands and flags only.
92
+ - `app` or `flows`: orchestrate user journeys.
93
+ - `models`: define Pydantic request, result, profile, and report schemas.
94
+ - `settings`: load env/config and validate provider setup.
95
+ - `store`: own SQLite schema, cache, history, and profile memory.
96
+ - `services`: fetch data from external sources.
97
+ - `llm`: call models and normalize structured output.
98
+ - `renderers`: terminal, markdown, JSON, or file rendering.
99
+ - `integrations`: Feishu/Lark, DingTalk, WeChat, GitHub, email, etc.
100
+
101
+ Do not let prompt strings, HTTP calls, database SQL, and Rich tables live in the same module.
102
+
103
+ ### 4. Build The Interaction Loop
104
+
105
+ For conversational CLIs, model the flow as stages:
106
+
107
+ 1. Explore intent with one open question.
108
+ 2. Build a lightweight user profile through natural conversation.
109
+ 3. Run data-driven opportunity scanning.
110
+ 4. Rank and refine options with the user.
111
+ 5. Generate a durable output artifact.
112
+ 6. Offer one useful next action.
113
+
114
+ Use state objects, not scattered booleans. Track:
115
+
116
+ - Current stage.
117
+ - User goal and constraints.
118
+ - Known profile fields and confidence.
119
+ - Evidence queries already used.
120
+ - Candidate items already shown.
121
+ - User rejections and "do not ask again" preferences.
122
+
123
+ ### 5. Make Data And LLMs Observable
124
+
125
+ For every model-backed or web-backed recommendation, preserve:
126
+
127
+ - Query text.
128
+ - Time window.
129
+ - Source name and URL.
130
+ - Fetch timestamp.
131
+ - Cache key and cache age.
132
+ - Model provider, base URL, model name, and response mode.
133
+ - Structured validation errors.
134
+
135
+ Show concise evidence to the user, and save full evidence beside generated artifacts.
136
+
137
+ ### 6. Ship The CLI As An Installable Product
138
+
139
+ Ensure:
140
+
141
+ - `pyproject.toml` defines a `console_scripts` entry point.
142
+ - The command name users type is the command that gets installed.
143
+ - `--help` works before config exists.
144
+ - `setup` guides users through provider, base URL, model name, API key, and verification.
145
+ - `doctor` detects stale entry points, Python version mismatch, missing optional tools, auth state, and config mistakes.
146
+ - README includes install, first run, config, examples, troubleshooting, and extension points.
147
+
148
+ ## Review Workflow
149
+
150
+ Audit an existing CLI with this order:
151
+
152
+ 1. Inspect package metadata, command entry points, Python version, dependencies, and README.
153
+ 2. Run `--help`, `setup --help`, `config --help`, and the main command help.
154
+ 3. Trace the main flow from CLI command to app orchestration, services, LLM, persistence, rendering, and output.
155
+ 4. Check first-run behavior with no config.
156
+ 5. Check invalid config behavior, especially model provider/base URL/model name/API key combinations.
157
+ 6. Check cache refresh semantics and whether "refresh" can repeat stale results.
158
+ 7. Check non-TTY behavior and scriptability.
159
+ 8. Check tests for entry point, config, cache, LLM fallback, and smoke flows.
160
+ 9. Score with `references/review-rubric.md`.
161
+ 10. Return findings first, then a prioritized repair plan.
162
+
163
+ ## Pitfalls To Watch
164
+
165
+ Before implementing or reviewing, read `references/pitfalls-and-solutions.md` when the task involves:
166
+
167
+ - Interactive flows.
168
+ - LLM provider setup.
169
+ - Data caching or refresh.
170
+ - Profile memory.
171
+ - Packaging and PyPI entry points.
172
+ - Feishu/Lark or other delivery channels.
173
+
174
+ High-frequency pitfalls include:
175
+
176
+ - Asking form-like questions instead of having a natural conversation.
177
+ - Hiding required model settings behind a single API key prompt.
178
+ - Treating OpenAI-compatible endpoints as interchangeable without checking path, model name, and response schema.
179
+ - Returning empty lists when the real problem is model/config failure.
180
+ - Letting refresh reuse identical cache keys.
181
+ - Saving user profile memory without inspect and clear commands.
182
+ - Publishing a package whose installed command differs from README examples.
183
+
184
+ ## Project Structure Template
185
+
186
+ Use or adapt this structure:
187
+
188
+ ```text
189
+ my-cli/
190
+ pyproject.toml
191
+ README.md
192
+ .env.example
193
+ src/my_cli/
194
+ __init__.py
195
+ __main__.py
196
+ cli.py
197
+ app.py
198
+ console.py
199
+ errors.py
200
+ models.py
201
+ settings.py
202
+ store.py
203
+ prompts.py
204
+ renderers/
205
+ __init__.py
206
+ terminal.py
207
+ markdown.py
208
+ json.py
209
+ services/
210
+ __init__.py
211
+ evidence.py
212
+ search.py
213
+ llm/
214
+ __init__.py
215
+ client.py
216
+ schemas.py
217
+ integrations/
218
+ __init__.py
219
+ base.py
220
+ lark.py
221
+ dingtalk.py
222
+ wechat.py
223
+ tests/
224
+ test_cli_help.py
225
+ test_config.py
226
+ test_store.py
227
+ test_flow_smoke.py
228
+ ```
229
+
230
+ Read `references/creation-playbook.md` for a fuller scaffold and implementation sequence.
231
+
232
+ ## Interactive Design Rules
233
+
234
+ Use these rules for conversational or assistant-like CLIs:
235
+
236
+ - Ask one question at a time.
237
+ - Make each question sound like a helpful collaborator, not an application form.
238
+ - Stop asking when enough signal exists; use defaults and say they can be changed later.
239
+ - Never repeat a question whose semantic field was already answered.
240
+ - Summarize the profile before using it for recommendations.
241
+ - Accept natural language commands such as "换一个方向", "再细一点", "这个太难", "保守一点", "直接生成".
242
+ - Treat refresh as a new search intent with exclusions from previously shown candidates.
243
+ - Always let the user inspect and clear remembered profile data.
244
+
245
+ For profile-building flows, internally collect background, goal, resources, constraints, risk preference, and output preference, but phrase questions naturally:
246
+
247
+ - "先聊聊你的背景吧,你之前主要在哪些方向做过研究、写作或项目?"
248
+ - "这次你更想得到什么结果?发论文、写长文、系统学习、职业准备,还是单纯好奇?"
249
+ - "你有没有别人不太容易有的视角、经历或资源?"
250
+ - "有没有什么方向你明确不想碰,或者现在比较顾虑?"
251
+
252
+ ## LLM Integration Rules
253
+
254
+ When adding model support:
255
+
256
+ 1. Require provider, base URL, model name, and API key as separate visible fields when using OpenAI-compatible third-party providers.
257
+ 2. Provide presets for common providers, but let users override every field.
258
+ 3. Verify configuration with a small structured-output call.
259
+ 4. Detect and explain common failures: wrong endpoint path, unsupported JSON schema, invalid model name, expired key, proxy issue, timeout, and content filter.
260
+ 5. Fall back from instructor tool/function mode to JSON mode or plain JSON parsing when provider compatibility is partial.
261
+ 6. Cache only successful data fetches and validated LLM outputs. Do not cache empty results from failed calls as if they were valid.
262
+
263
+ ## Output Standards
264
+
265
+ For a new CLI task, deliver:
266
+
267
+ - Project structure.
268
+ - Core Pydantic models.
269
+ - Main commands and help text.
270
+ - First-run setup flow.
271
+ - End-to-end smoke command.
272
+ - README updates.
273
+ - Known limitations and next steps.
274
+
275
+ For a review task, deliver:
276
+
277
+ - Findings ordered by severity.
278
+ - File and line references.
279
+ - Reproduction steps.
280
+ - Recommended fixes.
281
+ - Test gaps.
282
+ - A short implementation plan if changes are requested.
283
+
284
+ ## References
285
+
286
+ - Read `references/pitfalls-and-solutions.md` for common failure modes and repairs.
287
+ - Read `references/creation-playbook.md` for the full build sequence.
288
+ - Read `references/review-rubric.md` for scoring and audit format.