用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/carlvellotti/free-ai-courses --skill start-3-1-2命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | start-3-1-2 |
| description | 3.1.2 Understanding the Basics. Use when the student types /start-3-1-2. |
| disable-model-invocation | true |
| allowed-tools | ["Read","Write","Bash","AskUserQuestion"] |
Read .claude/rules/teaching-rules.md and follow it for everything below.
ACTION: Silently stage the shared image runtime and this lesson's bundled assets without overwriting student work:
cp -rn ".claude/skills/start-3-1-1/assets/." .
Teach this lesson from the bundled script. Follow every Say block verbatim, stop at every Check gate, and have the agent perform every Action. Do not expose instructor metadata.
Teaching Script for Claude Code
Welcome back! In 3.1.1 you generated your first image - pretty magical, right?
Now let's understand what's actually happening under the hood.
STOP: Ready to peek behind the curtain?
USER: Yes / Ready
When you asked me to generate that image, I was calling Google's Gemini API on your behalf.
Gemini 3 Pro - codenamed "Nano Banana Pro" - is one of the most powerful image generation models available today.
The cool thing about using the API directly (versus Google's own apps) is that it's slightly more permissive. For example, you can use real celebrities as reference images - something the consumer apps block.
And you get me as your creative partner. I handle all the technical stuff - API calls, session management, file saving - while you focus on the creative vision.
STOP: Make sense so far?
USER: Yes
All the API magic lives in a pre-built script called image_gen.py.
ACTION: Read image_gen.py and show the key function signature for generate()
Here's what you can control:
You don't need to worry about any of that though. Just work with me naturally, and I'll handle the API calls, parameters, and file saving automatically.
Let's try it. Describe any image you'd like to create.
Be descriptive - include subject, setting, lighting, mood. This model is unbelievably good, so really stretch your imagination.
STOP: What would you like to generate?
USER: [Describes an image they want]
ACTION: First call new_session() to clear any previous session (in case user is continuing from 3.1.1). Then generate the image using their description. Use aspect_ratio="1:1" unless user asks for something different, resolution="1K"
[Make a fun/enthusiastic comment about the generated image]
ACTION: Read the exact saved path reported by the generation, state that path in prose, and provide a Markdown link to that exact file.
STOP: Open the linked image from the Desktop project tree. What do you think?
USER: [Responds with their reaction]
Here's something powerful: you don't have to start over if it's not perfect.
I remember our conversation, so you can just ask for changes. This is called "iterating" - refining an image step by step.
Even better: I continue the session with Nano Banana, which means it has all its thoughts from before. This leads to much better results when editing - the model understands the full context of what you're trying to achieve.
STOP: Tell me one thing you'd change about your image. Suggest some ideas.
USER: [Describes a change they want]
ACTION: Generate a refined version based on their feedback (this continues the existing session)
ACTION: Read the refined generation's exact saved path, state that path in prose, and provide a Markdown link to that exact file. Ask the student to open the linked image from the Desktop project tree.
STOP: Better? Want to tweak something else? Or shall we continue?
USER: [Responds]
Nice! Let's talk about aspect ratios - the shape of your image.
Here are the common options:
STOP: Quick quiz - which ratio would you use for a presentation slide?
USER: [Answers]
[Respond based on their answer. If they say 16:9 or landscape: "Exactly! The shape should match where you'll use the image." If wrong, gently correct and explain why 16:9 works for presentations.]
Now let's talk resolution - how big and detailed the image is.
Three options:
For this course, we default to 1K so you can iterate quickly. There's no difference in the quality of the creative output - just the resolution.
When you're happy with a result, you can regenerate at 2K for a polished final version. 4K is only necessary if you need something physically printed at large scale.
STOP: Makes sense?
USER: Yes
Quick recap of what you learned:
image_gen.py)In the next lesson, we'll cover the Golden Rules of Prompting - how to write prompts that get amazing results - and how to use reference images for consistent style.
STOP: Ready to continue to 3.1.3?
USER: Yes / Ready
Great! Run /start-3-1-3 when you're ready to continue.
ACTION: End module
For the image generation:
generate() function from image_gen.pyoutputs/new_session()For showing the function signature:
generate() function definition from image_gen.pyIf something goes wrong:
.env file from 3.1.1new_session() to start fresh if neededDesktop file viewing:
Opening images: State the exact path and link it. Optionally run open <path> for the student.
Module 3.1.2 is successful if the student:
ACTION: Before wrapping up, record this lesson as complete by running this WITHOUT NARRATING the raw output:
fspm progress complete cc-pms-3-1-2
If it fails because the fspm CLI isn't installed, follow the teaching rules' missing-CLI guidance: tell the learner progress tracking needs the FSPM CLI, offer to install it, and continue the wrap-up either way.
Then close out with the student's options, in natural language (never as a command list):
/start-3-1-3