Not in the top 1,000 by GitHub stars
ai-shifu/skills
Skills for creating 1v1 interactive courses with AI-Shifu
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/ai-shifu-course-creator/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 80926fab797c
No earlier version was observed for comparison.
skills/ai-shifu-learning-report/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 80926fab797c
No earlier version was observed for comparison.
skills/course-direction-advisor/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 80926fab797c
No earlier version was observed for comparison.
tools/ai-shifu-skill-release/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 80926fab797c
No earlier version was observed for comparison.
tools/ai-shifu-workbuddy-publisher/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 80926fab797c
No earlier version was observed for comparison.
Verified commit 80926fab797c635a95d41b57acbbc00223058956
git clone --filter=blob:none --no-checkout https://github.com/ai-shifu/skills.git .hotskills/ai-shifu-skills && git -C .hotskills/ai-shifu-skills checkout --detach 80926fab797c635a95d41b57acbbc00223058956
# Copy each selected skill directory from .hotskills/ai-shifu-skills into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/ai-shifu/skills.git .hotskills/ai-shifu-skills && git -C .hotskills/ai-shifu-skills checkout --detach 80926fab797c635a95d41b57acbbc00223058956
# Copy each selected skill directory from .hotskills/ai-shifu-skills into .agents/skills/<skill-name>/Heat
1.7- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- ai-shifu-course-creator
skills/ai-shifu-course-creator - ai-shifu-learning-report
skills/ai-shifu-learning-report - course-direction-advisor
skills/course-direction-advisor - ai-shifu-skill-release
tools/ai-shifu-skill-release - ai-shifu-workbuddy-publisher
tools/ai-shifu-workbuddy-publisher
How it works
ai-shifu-course-creator
When your agent uses it
Create, edit, review, publish, manage, or analyze AI-Shifu (AI师傅) courses and their Teaching Prompts and Course Prompts in MarkdownFlow (MDF). Use for course materials, lesson design, interactions, course memory, images, deployment, platform administration, learner progress, learner profile distributions, orders, revenue, and credit-consumption questions.
What it loads into context
Frontmatter
102 tokensAlways available to the agent
SKILL.md
2,822 tokensWhen the skill is activated
Reference documents
64,361 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Collaborating With the Teacher
- Shared Conventions
- Capabilities
- Automatic Platform Updates
- Full-Course Creation Outcome
Scripts executed separately
scripts/agent_detection.pyscripts/image_preparation.pyscripts/profile_store.pyscripts/shifu-cli.pyscripts/skill_update_check.py
Files
.env.exampleasset909 bytesAGENTS.mddoc14,268 bytesSKILL.mdcore15,388 bytesSKILL.mdcore15,388 bytesSKILL.mdcore15,388 bytesSKILL.mdcore15,388 bytesSKILL.mdcore15,388 bytesSKILL.mdcore15,388 bytesSKILL.mdcore15,388 bytesSKILL.mdcore15,388 bytesSKILL.mdcore15,388 bytesSKILL.mdcore15,388 bytesagents/openai.yamlasset214 bytesevals/README.mddoc7,403 bytesevals/evals.jsonasset303,491 bytesevals/trigger_eval.jsonasset11,569 bytesreferences/analytics/guide.mddoc10,926 bytesreferences/analytics/privacy-and-presentation.mddoc7,583 bytesreferences/analytics/query-language.mddoc6,705 bytesreferences/analytics/query-recipes.mddoc23,208 bytesreferences/analytics/tables.mddoc18,932 bytesreferences/authentication.mddoc8,690 bytesreferences/authoring-contracts.mddoc5,166 bytesreferences/build-and-import.mddoc4,737 bytesreferences/cli/cli-reference.mddoc28,059 bytesreferences/cli/course-directory-spec.mddoc13,944 bytesreferences/course-description.mddoc1,707 bytesreferences/course-design-choices.mddoc6,801 bytesreferences/course-lookup.mddoc1,569 bytesreferences/course-management.mddoc5,639 bytesreferences/course-prompt.mddoc9,562 bytesreferences/course-review.mddoc2,970 bytesreferences/course-structure.mddoc4,636 bytesreferences/course-sync.mddoc4,447 bytesreferences/image-authoring.mddoc5,149 bytesreferences/language-policy.mddoc7,738 bytesreferences/markdownflow-syntax.mddoc8,034 bytesreferences/open-in-app-browser.mddoc3,678 bytesreferences/prompt-semantics.mddoc7,178 bytesreferences/review-checklist.mddoc11,580 bytesreferences/session-controls.mddoc9,497 bytesreferences/source-preservation.mddoc1,553 bytesreferences/teaching-design.mddoc33,321 bytesreferences/teaching-prompt.mddoc36,773 bytesscripts/agent_detection.pyruns8,402 bytesscripts/image_preparation.pyruns6,206 bytesscripts/profile_store.pyruns22,245 bytesscripts/requirements.txtdoc67 bytesscripts/shifu-cli.pyruns156,438 bytesscripts/skill_update_check.pyruns19,924 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubai-shifu-learning-report
When your agent uses it
Create a polished, printable learning report for one AI-Shifu course from live course analytics or a supplied report dataset. Use this skill whenever a teacher or teaching manager asks for an AI-Shifu learning report, course review, teaching diagnosis, lesson health analysis, learner engagement or audience insights, follow-up question themes, or a management-ready course analytics dashboard—even when they only say “复盘这门课” or “做个教学报告.” Produce privacy-safe `course-learning-report.json` and `course-learning-report.html`; do not use this skill for multi-course comparison or course-authoring changes.
What it loads into context
Frontmatter
129 tokensAlways available to the agent
SKILL.md
1,397 tokensWhen the skill is activated
Reference documents
5,675 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Required References
- Scope Router
- Workflow
- Non-Negotiable Boundaries
- Completion Checklist
Scripts executed separately
scripts/render_report.py
Files
SKILL.mdcore6,955 bytesSKILL.mdcore6,955 bytesSKILL.mdcore6,955 bytesSKILL.mdcore6,955 bytesSKILL.mdcore6,955 bytesassets/report-template.htmlasset16,482 bytesevals/evals.jsonasset7,992 bytesevals/files/conflicting-signals.jsonasset8,525 bytesevals/files/healthy-course.jsonasset7,808 bytesevals/files/sparse-course.jsonasset6,970 bytesreferences/analysis-guidelines.mddoc8,491 bytesreferences/data-collection.mddoc12,298 bytesreferences/report-data.schema.jsonasset15,564 bytesreferences/report-format.mddoc8,763 bytesscripts/render_report.pyruns53,223 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcourse-direction-advisor
When your agent uses it
Turn user-provided source materials into market-fit course-topic decisions without exceeding the evidence boundary of the materials. Use when the user needs course topic selection, competitor analysis, pricing guidance, audience targeting, market positioning, or a decision on whether the material is strong and complete enough to support a course. Avoid when the topic is already fixed and the user only needs lesson breakdowns, scripts, or copy polishing.
What it loads into context
Frontmatter
106 tokensAlways available to the agent
SKILL.md
2,732 tokensWhen the skill is activated
Reference documents
7,765 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What This Skill Actually Does
- Core Capabilities
- What Is Allowed vs. Not Allowed
- Minimum Invocation Pattern
- Analysis Modes
- Language and Market Scope
- Standard Lifecycle Labels
- Core Judgment Sequence
- Evidence Discipline
- Evidence Indexing
- Priority Rules
- Course-Readiness Standard
- Market Scan Rules
- Recommended Workflow
- Reporting and Communication Rules
- Output Boundary
- Valid Downgrade Paths
- Failure Handling
Files
SKILL.mdcore13,634 bytesSKILL.mdcore13,634 bytesSKILL.mdcore13,634 bytesSKILL.mdcore13,634 bytesSKILL.mdcore13,634 bytesSKILL.mdcore13,634 bytesSKILL.mdcore13,634 bytesSKILL.mdcore13,634 bytesSKILL.mdcore13,634 bytesSKILL.mdcore13,634 bytesSKILL.mdcore13,634 bytesSKILL.mdcore13,634 bytesreferences/course-direction-advisor.schema.v1.jsonasset12,984 bytesreferences/decision-model.mddoc4,615 bytesreferences/decision-report-template.mddoc6,505 bytesreferences/gating-rules.mddoc7,263 bytesreferences/input-contract.mddoc4,447 bytesreferences/market-analysis.mddoc7,760 bytesreferences/output-contract.mddoc6,246 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubai-shifu-skill-release
When your agent uses it
Release AI-Shifu skills using the maintained release.py workflow: open version-bump PRs, build and verify channel packages, preview complete PR changelogs grouped by type, run preflight checks, publish to ClawHub and SkillHub, prepare and record manual WorkBuddy/Doubao uploads, and track channel publication results. Use for skill version upgrades, packaging, release notes, release checks, or publication. Source PRs require human merge; never bypass that workflow by editing local business-skill source.
What it loads into context
Frontmatter
114 tokensAlways available to the agent
SKILL.md
3,405 tokensWhen the skill is activated
Reference documents
10,141 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Execution Environment
- Safety Rules
- Choose the Workflow
- Upgrade the Skill Version
- Build and Verify
- Preview Release Notes
- Check the ClawHub Registry Version
- Check Automated Channels
- Publish Automated Channels
- Import Actions Channel Results
- Prepare and Record Manual Publication
- Completion Report
Scripts executed separately
channels/workbuddy/build-zip.shscripts/ai_shifu_release/__init__.pyscripts/ai_shifu_release/artifacts.pyscripts/ai_shifu_release/build.pyscripts/ai_shifu_release/channel_results.pyscripts/ai_shifu_release/channel_submission.pyscripts/ai_shifu_release/channels/__init__.pyscripts/ai_shifu_release/channels/clawhub_skillhub.pyscripts/ai_shifu_release/channels/doubao.pyscripts/ai_shifu_release/channels/workbuddy.pyscripts/ai_shifu_release/cli.pyscripts/ai_shifu_release/config.pyscripts/ai_shifu_release/github_releases.pyscripts/ai_shifu_release/publishing.pyscripts/ai_shifu_release/release_notes.pyscripts/ai_shifu_release/release_state.pyscripts/ai_shifu_release/skill_metadata.pyscripts/ai_shifu_release/source.pyscripts/ai_shifu_release/verify.pyscripts/ai_shifu_release/version_bump.pyscripts/release.pytests/support.pytests/test_archive_integrity.pytests/test_build_release.pytests/test_bump_version.pytests/test_channel_results.pytests/test_channel_submission.pytests/test_config.pytests/test_doubao_integrity.pytests/test_doubao_package.pytests/test_download_release.pytests/test_entrypoints.pytests/test_github_release.pytests/test_publish_release.pytests/test_pull_request_preview.pytests/test_release_notes.pytests/test_release_workflow.pytests/test_source_export.py
Files
README.mddoc30,080 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesSKILL.mdcore16,421 bytesagents/openai.yamlasset277 byteschannels/avatars/expert.pngasset41,182 byteschannels/doubao/avatar.pngasset41,182 byteschannels/doubao/profile.jsonasset2,342 byteschannels/doubao/workspace/AGENTS.mddoc3,682 byteschannels/doubao/workspace/IDENTITY.mddoc800 byteschannels/doubao/workspace/SOUL.mddoc1,292 byteschannels/doubao/workspace/USER.mddoc1,152 byteschannels/workbuddy/.codebuddy-plugin/plugin.jsonasset2,956 byteschannels/workbuddy/README.mddoc2,108 byteschannels/workbuddy/agents/ai-shifu.mddoc2,196 byteschannels/workbuddy/avatars/expert.pngasset41,182 byteschannels/workbuddy/build-zip.shruns195 bytesreferences/publishing-environment.mddoc5,986 bytesrelease.tomlasset611 bytesscripts/ai_shifu_release/__init__.pyruns133 bytesscripts/ai_shifu_release/artifacts.pyruns7,488 bytesscripts/ai_shifu_release/build.pyruns7,019 bytesscripts/ai_shifu_release/channel_results.pyruns2,291 bytesscripts/ai_shifu_release/channel_submission.pyruns3,311 bytesscripts/ai_shifu_release/channels/__init__.pyruns722 bytesscripts/ai_shifu_release/channels/clawhub_skillhub.pyruns1,346 bytesscripts/ai_shifu_release/channels/doubao.pyruns26,060 bytesscripts/ai_shifu_release/channels/workbuddy.pyruns11,629 bytesscripts/ai_shifu_release/cli.pyruns13,213 bytesscripts/ai_shifu_release/config.pyruns10,695 bytesscripts/ai_shifu_release/github_releases.pyruns18,645 bytesscripts/ai_shifu_release/publishing.pyruns13,705 bytesscripts/ai_shifu_release/release_notes.pyruns30,427 bytesscripts/ai_shifu_release/release_state.pyruns4,173 bytesscripts/ai_shifu_release/skill_metadata.pyruns5,706 bytesscripts/ai_shifu_release/source.pyruns4,119 bytesscripts/ai_shifu_release/verify.pyruns7,123 bytesscripts/ai_shifu_release/version_bump.pyruns4,497 bytesscripts/release.pyruns157 bytestests/support.pyruns8,495 bytestests/test_archive_integrity.pyruns6,145 bytestests/test_build_release.pyruns30,835 bytestests/test_bump_version.pyruns4,088 bytestests/test_channel_results.pyruns6,790 bytestests/test_channel_submission.pyruns18,733 bytestests/test_config.pyruns10,143 bytestests/test_doubao_integrity.pyruns4,944 bytestests/test_doubao_package.pyruns7,731 bytestests/test_download_release.pyruns18,956 bytestests/test_entrypoints.pyruns19,286 bytestests/test_github_release.pyruns36,366 bytestests/test_publish_release.pyruns14,559 bytestests/test_pull_request_preview.pyruns11,182 bytestests/test_release_notes.pyruns33,914 bytestests/test_release_workflow.pyruns28,628 bytestests/test_source_export.pyruns1,641 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubai-shifu-workbuddy-publisher
When your agent uses it
Download the latest stable or specified ai-shifu/skills WorkBuddy Release package, update the existing AI-Shifu expert on open.workbuddy.cn, and verify its review submission. Use when asked to update the WorkBuddy edition or download and upload its latest package.
What it loads into context
Frontmatter
64 tokensAlways available to the agent
SKILL.md
1,689 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Inputs and Tools
- 1. Download and Verify the Package
- 2. Find the Existing Expert and Read Its Status
- 3. Upload, Check the Details, and Submit
- 4. Verify and Report
Files
SKILL.mdcore8,395 bytesSKILL.mdcore8,395 bytesagents/openai.yamlasset320 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubSkills included
- ai-shifu-course-creator
- ai-shifu-learning-report
- course-direction-advisor
- ai-shifu-skill-release
- ai-shifu-workbuddy-publisher
Repository facts
- License
- No license detected
- Created
- Mar 4, 2026
- Last pushed
- Nov 4, 2026
- Forks
- 2
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 51 notes
skills/ai-shifu-course-creator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/ai-shifu-course-creator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/ai-shifu-course-creator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/ai-shifu-course-creator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/ai-shifu-course-creator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/ai-shifu-course-creator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/ai-shifu-course-creator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/ai-shifu-course-creator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/ai-shifu-course-creator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/ai-shifu-learning-report/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/ai-shifu-learning-report/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/ai-shifu-learning-report/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/ai-shifu-learning-report/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/course-direction-advisor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/course-direction-advisor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/course-direction-advisor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/course-direction-advisor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/course-direction-advisor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/course-direction-advisor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/course-direction-advisor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 1 dangerous shell commandin 1 file: ai-shifu-skill-release/tests/test_release_workflow.py:106
- 321 network referencesin 32 files: ai-shifu-course-creator/evals/evals.json:213 ai-shifu-skill-release/tests/test_release_notes.py:52 ai-shifu-skill-release/tests/test_github_release.py:158 and 29 more
- 1 obfuscation signalin 1 file: ai-shifu-course-creator/scripts/shifu-cli.py:222
- No instruction overrides
- 44 executable scriptsin 44 files: ai-shifu-course-creator/scripts/agent_detection.py:1 ai-shifu-course-creator/scripts/image_preparation.py:1 ai-shifu-course-creator/scripts/profile_store.py:1 and 41 more
- 86 references to secretsin 22 files: ai-shifu-skill-release/tests/test_github_release.py:98 ai-shifu-course-creator/scripts/profile_store.py:39 ai-shifu-course-creator/scripts/shifu-cli.py:31 and 19 more
- No requests to vote in Hot
Show all 453 signals by file
skills/ai-shifu-course-creator/.env.example
- Network accessline 1
# Optional temporary configuration: supply BOTH a service URL and a token. # Leave empty to use the default named profile. Create one with # `shifu-cli.py profile set <name> --base-url cn|com|https://your-service.example`. - Network accessline 2
# Leave empty to use the default named profile. Create one with # `shifu-cli.py profile set <name> --base-url cn|com|https://your-service.example`. # Explicit --profile <name> ignores both environment values for that invocation. - Network accessline 3
# `shifu-cli.py profile set <name> --base-url cn|com|https://your-service.example`.
skills/ai-shifu-course-creator/evals/evals.json
- Network accessline 213
{ "id": 17, "prompt": "Course Design Intake 和课节结构已经完成,personalization_directions=[\"examples\", \"analogies\", \"language_style\", \"value_relevance\"]。请只生成一节纯课堂幻灯片模式的授课提示词:课堂只投屏,由现场教师控制节奏,不需要 AI 旁白或长篇口头解释。lesson_id 固定为 L17,核心问题 - Network accessline 214
"id": 17, "prompt": "Course Design Intake 和课节结构已经完成,personalization_directions=[\"examples\", \"analogies\", \"language_style\", \"value_relevance\"]。请只生成一节纯课堂幻灯片模式的授课提示词:课堂只投屏,由现场教师控制节奏,不需要 AI 旁白或长篇口头解释。lesson_id 固定为 L17,核心问题是‘向外部供应商 - Network accessline 215
"prompt": "Course Design Intake 和课节结构已经完成,personalization_directions=[\"examples\", \"analogies\", \"language_style\", \"value_relevance\"]。请只生成一节纯课堂幻灯片模式的授课提示词:课堂只投屏,由现场教师控制节奏,不需要 AI 旁白或长篇口头解释。lesson_id 固定为 L17,核心问题是‘向外部供应商发送客户数据前,如何确定合规动作 - Network accessline 262
{ "id": 20, "prompt": "Course Design Intake 已全部完成,交付模式是纯课堂幻灯片:课堂只投屏,由现场教师控制节奏,不需要 AI 旁白。请用同一份材料分别生成 personalization_directions=[] 和 [\"examples\"] 的两份授课提示词;已知本次参训群体负责门店客户回访。两份都直接按下面顺序创建四页:第 1 页提出核心问题、呈现‘识别数据级别’,并完整放入一个简短、具体的客户数据 - Network accessline 263
"id": 20, "prompt": "Course Design Intake 已全部完成,交付模式是纯课堂幻灯片:课堂只投屏,由现场教师控制节奏,不需要 AI 旁白。请用同一份材料分别生成 personalization_directions=[] 和 [\"examples\"] 的两份授课提示词;已知本次参训群体负责门店客户回访。两份都直接按下面顺序创建四页:第 1 页提出核心问题、呈现‘识别数据级别’,并完整放入一个简短、具体的客户数据例子;第 2 页 - Network accessline 264
"prompt": "Course Design Intake 已全部完成,交付模式是纯课堂幻灯片:课堂只投屏,由现场教师控制节奏,不需要 AI 旁白。请用同一份材料分别生成 personalization_directions=[] 和 [\"examples\"] 的两份授课提示词;已知本次参训群体负责门店客户回访。两份都直接按下面顺序创建四页:第 1 页提出核心问题、呈现‘识别数据级别’,并完整放入一个简短、具体的客户数据例子;第 2 页呈现‘确认接收方授权 → 完成审 - Network accessline 372
"expectations": [ "It explains a concrete, situation-appropriate production approach and useful preparation inputs without presenting a compulsory phase pipeline; the useful answer precedes any contextual contact mention.", - Network accessline 373
"It explains a concrete, situation-appropriate production approach and useful preparation inputs without presenting a compulsory phase pipeline; the useful answer precedes any contextual contact mention.", "Once the site is resolved - Network accessline 374
"Once the site is resolved (or the local-only contact fallback applies), the response contains exactly one Markdown link to the site-resolved official contact page (CN: `https://ai-shifu.cn/contact.html`; COM/custom: `https://ai-shifu.com/c - Network accessline 395
"expectations": [ "The response first addresses the enterprise, bulk-production, or workflow-standardization context without inventing prices, contract terms, service guarantees, or unsupported capabilities.", "Once the site - Network accessline 396
"The response first addresses the enterprise, bulk-production, or workflow-standardization context without inventing prices, contract terms, service guarantees, or unsupported capabilities.", "Once the site is resolved (or the local - Network accessline 397
"Once the site is resolved (or the local-only contact fallback applies), the response contains exactly one Markdown link to the site-resolved official contact page (CN: `https://ai-shifu.cn/contact.html`; COM/custom: `https://ai-shifu.com/c - Network accessline 406
"expectations": [ "Reply A asks or advances only the next missing intake item and contains no contact URL, contact invitation, or repeated promotional sentence.", "Reply B reports the successful publishing result before any - Network accessline 407
"Reply A asks or advances only the next missing intake item and contains no contact URL, contact invitation, or repeated promotional sentence.", "Reply B reports the successful publishing result before any optional next step and con - Network accessline 408
"Reply B reports the successful publishing result before any optional next step and contains exactly one Markdown link to the site-resolved official contact page (CN: `https://ai-shifu.cn/contact.html`; COM/custom: `https://ai-shifu.com/con - Network accessline 418
"expectations": [ "Reply A explains the expired-token impact and normal re-login recovery without any contact URL or invitation to contact the team.", "Reply B explains that platform work remains blocked, separates any still - Network accessline 419
"Reply A explains the expired-token impact and normal re-login recovery without any contact URL or invitation to contact the team.", "Reply B explains that platform work remains blocked, separates any still-possible local work from - Network accessline 420
"Reply B explains that platform work remains blocked, separates any still-possible local work from blocked operations, and then contains exactly one Markdown link to the site-resolved official contact page (CN: `https://ai-shifu.cn/contact. - Network accessline 424
{ "id": 33, "prompt": "personalization_directions=[\"examples\", \"analogies\", \"language_style\", \"value_relevance\"]。请只修复下面这份已经完成的标准一对一授课提示词,不重做课程,不生成 Course Prompt,不部署,也不要输出审计报告。lesson_id 固定为 L33。\n\n这份提示词有 31 页,页序、三个互动的位置和 - Network accessline 425
"id": 33, "prompt": "personalization_directions=[\"examples\", \"analogies\", \"language_style\", \"value_relevance\"]。请只修复下面这份已经完成的标准一对一授课提示词,不重做课程,不生成 Course Prompt,不部署,也不要输出审计报告。lesson_id 固定为 L33。\n\n这份提示词有 31 页,页序、三个互动的位置和下列精确内容都已 - Network accessline 426
"prompt": "personalization_directions=[\"examples\", \"analogies\", \"language_style\", \"value_relevance\"]。请只修复下面这份已经完成的标准一对一授课提示词,不重做课程,不生成 Course Prompt,不部署,也不要输出审计报告。lesson_id 固定为 L33。\n\n这份提示词有 31 页,页序、三个互动的位置和下列精确内容都已经批准。问题只在于开头混入了两段 - Network accessline 545
{ "id": 42, "prompt": "Simulate a user saying, 'I want to view my courses.' site returns configured with profile=Daily and base_url=https://app.ai-shifu.com; verify returns 0, and the course list is empty. Do not call the real p - Network accessline 546
"id": 42, "prompt": "Simulate a user saying, 'I want to view my courses.' site returns configured with profile=Daily and base_url=https://app.ai-shifu.com; verify returns 0, and the course list is empty. Do not call the real platform. - Network accessline 547
"prompt": "Simulate a user saying, 'I want to view my courses.' site returns configured with profile=Daily and base_url=https://app.ai-shifu.com; verify returns 0, and the course list is empty. Do not call the real platform. Output the inte - Network accessline 555
{ "id": 43, "prompt": "模拟用户说“使用我们自己的部署 https://school.example,帮我查看课程”。没有已保存配置或凭据,保存成功,verify 返回 0,列表为空。不要调用真实平台;输出内部命令顺序和用户回复。", - Network accessline 556
"id": 43, "prompt": "模拟用户说“使用我们自己的部署 https://school.example,帮我查看课程”。没有已保存配置或凭据,保存成功,verify 返回 0,列表为空。不要调用真实平台;输出内部命令顺序和用户回复。", "expected_output": "Honors an explicit custom deployment without asking the regional question.", - Network accessline 557
"prompt": "模拟用户说“使用我们自己的部署 https://school.example,帮我查看课程”。没有已保存配置或凭据,保存成功,verify 返回 0,列表为空。不要调用真实平台;输出内部命令顺序和用户回复。", - Network accessline 559
"files": [], "expectations": [ "Uses site --url https://school.example internally, then verifies and queries.", - Network accessline 560
"expectations": [ "Uses site --url https://school.example internally, then verifies and queries.", "Does not ask the user to select a region or request another confirmation, and does not repeat the URL as an initialization r - Network accessline 561
"Uses site --url https://school.example internally, then verifies and queries.", - Network accessline 587
{ "id": 46, "prompt": "只做模拟,不调用真实平台、网络或浏览器。每个独立场景重新开始会话。技能初始化、鉴权和目标确认已完成,版本检查无需重复;上一条回复已给过联系入口。根据当前技能规则给出每个检查点此刻的浏览器调用决定和实际用户回复。浏览器工具清单是模拟的,不要真的调用。输出 JSON:scenarios 数组,每项含 name 和 checkpoints;每个 checkpoint 含 name、browser_calls 数组 - Network accessline 588
"id": 46, "prompt": "只做模拟,不调用真实平台、网络或浏览器。每个独立场景重新开始会话。技能初始化、鉴权和目标确认已完成,版本检查无需重复;上一条回复已给过联系入口。根据当前技能规则给出每个检查点此刻的浏览器调用决定和实际用户回复。浏览器工具清单是模拟的,不要真的调用。输出 JSON:scenarios 数组,每项含 name 和 checkpoints;每个 checkpoint 含 name、browser_calls 数组(元素含 too - Network accessline 589
"prompt": "只做模拟,不调用真实平台、网络或浏览器。每个独立场景重新开始会话。技能初始化、鉴权和目标确认已完成,版本检查无需重复;上一条回复已给过联系入口。根据当前技能规则给出每个检查点此刻的浏览器调用决定和实际用户回复。浏览器工具清单是模拟的,不要真的调用。输出 JSON:scenarios 数组,每项含 name 和 checkpoints;每个 checkpoint 含 name、browser_calls 数组(元素含 tool 和 arguments)及 - Network accessline 592
"expectations": [ "No browser call occurs while import is running or verification is pending.", "At final handoff the built-in browser opens https://app.ai-shifu.cn/shifu/course-a.", - Network accessline 593
"No browser call occurs while import is running or verification is pending.", "At final handoff the built-in browser opens https://app.ai-shifu.cn/shifu/course-a.", "The final reply shows the same URL as a Markdown link and - Network accessline 594
"At final handoff the built-in browser opens https://app.ai-shifu.cn/shifu/course-a.", - Network accessline 599
{ "id": 47, "prompt": "只做模拟,不调用真实平台、网络或浏览器。每个场景独立开始,技能初始化、鉴权和目标确认已完成,上一条回复已给过联系入口。输出 JSON:scenarios 数组,每项含 name、browser_calls(元素含 tool 和 arguments)、cli_calls(模拟命令字符串数组)及 reply。\n\n用户要求:为《团队沟通》开启听课模式并汇报结果,保持草稿。目标课程 BID=course-b,已 - Network accessline 600
"id": 47, "prompt": "只做模拟,不调用真实平台、网络或浏览器。每个场景独立开始,技能初始化、鉴权和目标确认已完成,上一条回复已给过联系入口。输出 JSON:scenarios 数组,每项含 name、browser_calls(元素含 tool 和 arguments)、cli_calls(模拟命令字符串数组)及 reply。\n\n用户要求:为《团队沟通》开启听课模式并汇报结果,保持草稿。目标课程 BID=course-b,已配置站点的 ba - Network accessline 601
"prompt": "只做模拟,不调用真实平台、网络或浏览器。每个场景独立开始,技能初始化、鉴权和目标确认已完成,上一条回复已给过联系入口。输出 JSON:scenarios 数组,每项含 name、browser_calls(元素含 tool 和 arguments)、cli_calls(模拟命令字符串数组)及 reply。\n\n用户要求:为《团队沟通》开启听课模式并汇报结果,保持草稿。目标课程 BID=course-b,已配置站点的 base_url=https://s - Network accessline 604
"expectations": [ "No scenario calls the CLI solely to obtain an admin URL or repeats a completed write.", "Course scenarios use https://school.example:8443/training/shifu/course-b; the lesson scenario uses https://school.ex - Network accessline 605
"No scenario calls the CLI solely to obtain an admin URL or repeats a completed write.", "Course scenarios use https://school.example:8443/training/shifu/course-b; the lesson scenario uses https://school.example:8443/training/shifu/ - Network accessline 606
"Course scenarios use https://school.example:8443/training/shifu/course-b; the lesson scenario uses https://school.example:8443/training/shifu/course-b?lessonid=lesson-b.", - Network accessline 613
{ "id": 48, "prompt": "只做模拟,不调用真实平台、网络或浏览器。每个独立场景重新开始会话。技能初始化、鉴权和目标确认已完成,版本检查无需重复;上一条回复已给过联系入口。根据当前技能规则给出每个检查点此刻的浏览器调用决定和实际用户回复。浏览器工具清单是模拟的,不要真的调用。输出 JSON:scenarios 数组,每项含 name 和 checkpoints;每个 checkpoint 含 name、browser_calls 数组 - Network accessline 614
"id": 48, "prompt": "只做模拟,不调用真实平台、网络或浏览器。每个独立场景重新开始会话。技能初始化、鉴权和目标确认已完成,版本检查无需重复;上一条回复已给过联系入口。根据当前技能规则给出每个检查点此刻的浏览器调用决定和实际用户回复。浏览器工具清单是模拟的,不要真的调用。输出 JSON:scenarios 数组,每项含 name 和 checkpoints;每个 checkpoint 含 name、browser_calls 数组(元素含 too - Network accessline 615
"prompt": "只做模拟,不调用真实平台、网络或浏览器。每个独立场景重新开始会话。技能初始化、鉴权和目标确认已完成,版本检查无需重复;上一条回复已给过联系入口。根据当前技能规则给出每个检查点此刻的浏览器调用决定和实际用户回复。浏览器工具清单是模拟的,不要真的调用。输出 JSON:scenarios 数组,每项含 name 和 checkpoints;每个 checkpoint 含 name、browser_calls 数组(元素含 tool 和 arguments)及 - Network accessline 617
"files": [], "expectations": [ "The built-in browser opens the admin URL built from the known site and course BID: https://app.ai-shifu.com/shifu/course-c.", - Network accessline 618
"expectations": [ "The built-in browser opens the admin URL built from the known site and course BID: https://app.ai-shifu.com/shifu/course-c.", "The final reply shows Markdown links to the admin page and the public learner - Network accessline 619
"The built-in browser opens the admin URL built from the known site and course BID: https://app.ai-shifu.com/shifu/course-c.", - Network accessline 620
"The final reply shows Markdown links to the admin page and the public learner URL returned by publish (https://app.ai-shifu.com/c/course-c), explaining that debugging starts at the admin page.", - Network accessline 813
{ "id": 66, "prompt": "只做流程模拟,不调用真实平台或网络。用户要求创建《AI 小侦探》课程,课程目录和本地检查均已完成,从未看过完整预览或另行确认上传,也从未要求不发布。site 已配置,verify 返回 0;以下模拟命令均成功。import --new 返回 BID=course-new,import 和 publish 返回的地址为 Admin console=https://app.ai-shifu.com/shifu/ - Network accessline 814
"id": 66, "prompt": "只做流程模拟,不调用真实平台或网络。用户要求创建《AI 小侦探》课程,课程目录和本地检查均已完成,从未看过完整预览或另行确认上传,也从未要求不发布。site 已配置,verify 返回 0;以下模拟命令均成功。import --new 返回 BID=course-new,import 和 publish 返回的地址为 Admin console=https://app.ai-shifu.com/shifu/course-n - Network accessline 815
"prompt": "只做流程模拟,不调用真实平台或网络。用户要求创建《AI 小侦探》课程,课程目录和本地检查均已完成,从未看过完整预览或另行确认上传,也从未要求不发布。site 已配置,verify 返回 0;以下模拟命令均成功。import --new 返回 BID=course-new,import 和 publish 返回的地址为 Admin console=https://app.ai-shifu.com/shifu/course-new、Preview URL=h - Network accessline 825
{ "id": 67, "prompt": "只做流程模拟,不调用真实平台或网络。用户明确说“这次只创建未发布草稿,不要发布”,完整目录完成后已自动上传。创建、同步及核验均成功,BID=course-draft。CLI 返回 Admin console=https://app.ai-shifu.com/shifu/course-draft、Preview URL=https://app.ai-shifu.com/c/course-draft?previ - Network accessline 826
"id": 67, "prompt": "只做流程模拟,不调用真实平台或网络。用户明确说“这次只创建未发布草稿,不要发布”,完整目录完成后已自动上传。创建、同步及核验均成功,BID=course-draft。CLI 返回 Admin console=https://app.ai-shifu.com/shifu/course-draft、Preview URL=https://app.ai-shifu.com/c/course-draft?preview=true; - Network accessline 827
"prompt": "只做流程模拟,不调用真实平台或网络。用户明确说“这次只创建未发布草稿,不要发布”,完整目录完成后已自动上传。创建、同步及核验均成功,BID=course-draft。CLI 返回 Admin console=https://app.ai-shifu.com/shifu/course-draft、Preview URL=https://app.ai-shifu.com/c/course-draft?preview=true;show 还打印了 https: - Network accessline 857
{ "id": 70, "prompt": "只汇报已有执行结果,不调用工具或继续平台操作。新课已创建,内容回读通过,但 publish 返回网络错误,正式发布尚未验证成功。用户原本要求创建并发布,并未要求保留草稿。工具已返回后台 https://app.ai-shifu.com/shifu/course-p 和预览 https://app.ai-shifu.com/c/course-p?preview=true;show 也打印了 https://a - Network accessline 858
"id": 70, "prompt": "只汇报已有执行结果,不调用工具或继续平台操作。新课已创建,内容回读通过,但 publish 返回网络错误,正式发布尚未验证成功。用户原本要求创建并发布,并未要求保留草稿。工具已返回后台 https://app.ai-shifu.com/shifu/course-p 和预览 https://app.ai-shifu.com/c/course-p?preview=true;show 也打印了 https://app.ai-sh - Network accessline 859
"prompt": "只汇报已有执行结果,不调用工具或继续平台操作。新课已创建,内容回读通过,但 publish 返回网络错误,正式发布尚未验证成功。用户原本要求创建并发布,并未要求保留草稿。工具已返回后台 https://app.ai-shifu.com/shifu/course-p 和预览 https://app.ai-shifu.com/c/course-p?preview=true;show 也打印了 https://app.ai-shifu.com/c/course - Network accessline 941
{ "id": 76, "prompt": "Simulate the workflow only; do not call the real platform or network. The user asks to view courses with profile 'Client A' for this request while keeping the default for later ordinary queries. The simula - Network accessline 942
"id": 76, "prompt": "Simulate the workflow only; do not call the real platform or network. The user asks to view courses with profile 'Client A' for this request while keeping the default for later ordinary queries. The simulated prof - Network accessline 943
"prompt": "Simulate the workflow only; do not call the real platform or network. The user asks to view courses with profile 'Client A' for this request while keeping the default for later ordinary queries. The simulated profile list contain - Network accessline 953
{ "id": 77, "prompt": "Simulate the workflow only; do not call the real platform. The user says, 'View courses on the international service,' without naming a profile. The default profile 'Daily' points to https://app.ai-shifu.c - Network accessline 954
"id": 77, "prompt": "Simulate the workflow only; do not call the real platform. The user says, 'View courses on the international service,' without naming a profile. The default profile 'Daily' points to https://app.ai-shifu.cn; 'Pers - Network accessline 955
"prompt": "Simulate the workflow only; do not call the real platform. The user says, 'View courses on the international service,' without naming a profile. The default profile 'Daily' points to https://app.ai-shifu.cn; 'Personal Demo' and ' - Network accessline 964
{ "id": 78, "prompt": "Simulate the workflow only; do not call the real platform or modify files. The user explicitly selects profile 'Demo' at https://app.ai-shifu.com and asks to sync approved content to course-x. The supplied - Network accessline 965
"id": 78, "prompt": "Simulate the workflow only; do not call the real platform or modify files. The user explicitly selects profile 'Demo' at https://app.ai-shifu.com and asks to sync approved content to course-x. The supplied directo - Network accessline 966
"prompt": "Simulate the workflow only; do not call the real platform or modify files. The user explicitly selects profile 'Demo' at https://app.ai-shifu.com and asks to sync approved content to course-x. The supplied directory's .shifu-sync - Network accessline 986
{ "id": 80, "prompt": "Simulate the workflow only; do not call the platform or modify configuration. The user requests a course query using temporary environment configuration. The process has only SHIFU_BASE_URL=https://school. - Network accessline 987
"id": 80, "prompt": "Simulate the workflow only; do not call the platform or modify configuration. The user requests a course query using temporary environment configuration. The process has only SHIFU_BASE_URL=https://school.example, - Network accessline 988
[Credential-related source omitted] - Access to secretsline 988
[Credential-related source omitted] - Network accessline 997
{ "id": 81, "prompt": "Simulate the workflow only; do not call the real platform. The user wants to use assets/raw/diagram.png in a course with profile 'Sandbox' at https://school.example/training. The directory has no .shifu-sy - Network accessline 998
"id": 81, "prompt": "Simulate the workflow only; do not call the real platform. The user wants to use assets/raw/diagram.png in a course with profile 'Sandbox' at https://school.example/training. The directory has no .shifu-sync.json. - Network accessline 999
"prompt": "Simulate the workflow only; do not call the real platform. The user wants to use assets/raw/diagram.png in a course with profile 'Sandbox' at https://school.example/training. The directory has no .shifu-sync.json. Its image manif - Network accessline 1002
"expectations": [ "It uploads with --profile Sandbox, --course-dir, and an informative alt; neither an unknown legacy entry nor a different service entry proves a reusable current-service upload.", "The new record carries ba - Network accessline 1003
"It uploads with --profile Sandbox, --course-dir, and an informative alt; neither an unknown legacy entry nor a different service entry proves a reusable current-service upload.", "The new record carries base_url=https://school.exam - Network accessline 1004
"The new record carries base_url=https://school.example/training and profile=Sandbox and is keyed by service URL plus local source; records A and B remain present.", - Network accessline 1005
"The Teaching Prompt uses the exact returned https://media.school.example/new-diagram URL without rewriting its host to match a service address." - Network accessline 1793
"id": 136, "eval_name": "simulation-no-event-bridge-page-only", "prompt": "只在本地写一个中文 MarkdownFlow 授课提示词片段,并在片段外简短说明目前能核实与不能核实的事。不打开网页、不连接平台。老师已有下列页面,要求保留原图片块与“只使用页面展示,不向学员另加文字问答、提交表单或背景收集”的限制;请按这个条件帮助学员比较排队模型的变化,不要擅自改成问答课。\n\n保留 - Network accessline 1794
"eval_name": "simulation-no-event-bridge-page-only", "prompt": "只在本地写一个中文 MarkdownFlow 授课提示词片段,并在片段外简短说明目前能核实与不能核实的事。不打开网页、不连接平台。老师已有下列页面,要求保留原图片块与“只使用页面展示,不向学员另加文字问答、提交表单或背景收集”的限制;请按这个条件帮助学员比较排队模型的变化,不要擅自改成问答课。\n\n保留的图片块:\n\n\n页面契约:页面内有到达
skills/ai-shifu-course-creator/references/cli/cli-reference.md
- Network accessline 55
profile set Daily --base-url cn profile set Demo --base-url com profile set "Client A" --base-url https://school.example:8443/training - Network accessline 56
profile set Demo --base-url com profile set "Client A" --base-url https://school.example:8443/training profile list - Network accessline 57
profile set "Client A" --base-url https://school.example:8443/training - Network accessline 66
`profile set` creates or updates a profile. `cn` and `com` (case-insensitive) expand to `https://app.ai-shifu.cn` and `https://app.ai-shifu.com`; storage contains full URLs, without a region type. Custom URLs support HTTPS, ports, and path - Access to secretsline 71
[Credential-related source omitted] - Network accessline 85
"Daily": { "id": "<generated internal ID>", "base_url": "https://app.ai-shifu.cn" - Network accessline 86
"id": "<generated internal ID>", "base_url": "https://app.ai-shifu.cn" } - Network accessline 87
"base_url": "https://app.ai-shifu.cn" - Network accessline 109
site --set cn site --set com site --url https://your-service.example - Network accessline 111
site --url https://your-service.example
skills/ai-shifu-course-creator/references/cli/course-directory-spec.md
- Network accessline 139
"schema_version": 1, "shifu_bid": "a1b2c3", "base_url": "https://app.ai-shifu.cn", - Network accessline 140
"shifu_bid": "a1b2c3", "base_url": "https://app.ai-shifu.cn", "profile": "Daily", - Network accessline 141
"base_url": "https://app.ai-shifu.cn", - Network accessline 187
{ "local": "assets/raw/gradient-descent.heic", "base_url": "https://app.ai-shifu.cn", - Network accessline 188
"local": "assets/raw/gradient-descent.heic", "base_url": "https://app.ai-shifu.cn", "profile": "Daily", - Network accessline 189
"base_url": "https://app.ai-shifu.cn", - Network accessline 190
"profile": "Daily", "remote": "https://assets.example.com/abcd", "alt": "Image description", - Network accessline 191
"remote": "https://assets.example.com/abcd", - Network accessline 198
}, { "source_url": "https://example.com/diagram.png", - Network accessline 199
{ "source_url": "https://example.com/diagram.png", "base_url": "https://school.example/training", - Network accessline 200
"source_url": "https://example.com/diagram.png", - Network accessline 201
"base_url": "https://school.example/training", - Network accessline 202
"profile": "Client A", "remote": "https://assets.example.com/efgh", "alt": "Image description", - Network accessline 203
"remote": "https://assets.example.com/efgh",
skills/ai-shifu-course-creator/references/course-design-choices.md
- Network accessline 21
For example: "I recommend a worked example here: show how the solution develops step by step and explain the key judgments. This follows [MIT Teaching + Learning Lab's guidance](https://tll.mit.edu/teaching-resources/how-people-learn/worked
skills/ai-shifu-course-creator/references/session-controls.md
- Network accessline 13
Resolve the official contact page from the local `shifu-cli.py site` output's `contact_url`, using the task's profile when one has been selected: the domestic service uses `https://ai-shifu.cn/contact.html`; the international service uses ` - Network accessline 44
The version source is `https://api.github.com/repos/ai-shifu/skills/releases/latest`. Use only a published, non-prerelease Release with a `vMAJOR.MINOR.PATCH` tag; its `html_url` must match `https://github.com/ai-shifu/skills/releases/tag/<
skills/ai-shifu-course-creator/references/teaching-design.md
- Network accessline 29
For example: "Distinguish correlation from causation → may mistake simultaneous changes for causation → compare two cases with different conditions and explain the difference → identify the missing evidence in a new case." Choose the order - Network accessline 31
Evidence should match the objective: recalling a term does not establish the ability to apply a procedure or justify a decision. When learner responses are allowed, an explanation, attempted solution, classification, or small work product c - Network accessline 109
| Strategy and source | Fit and possible teaching action | Boundary | | --- | --- | --- | | Worked examples — [MIT Teaching + Learning Lab](https://tll.mit.edu/teaching-resources/how-people-learn/worked-examples/) | A learner new to a proce - Network accessline 110
| --- | --- | --- | | Worked examples — [MIT Teaching + Learning Lab](https://tll.mit.edu/teaching-resources/how-people-learn/worked-examples/) | A learner new to a procedure needs to see the reasoning behind a solution. Explain the steps a - Network accessline 111
| Worked examples — [MIT Teaching + Learning Lab](https://tll.mit.edu/teaching-resources/how-people-learn/worked-examples/) | A learner new to a procedure needs to see the reasoning behind a solution. Explain the steps and why they work; su - Network accessline 112
| Retrieval practice — [Washington University Center for Teaching and Learning](https://ctl.wustl.edu/resources/using-retrieval-practice-to-increase-student-learning/) | Previously taught knowledge needs to be recalled or used. Invite recal - Network accessline 113
| Prior-knowledge assessment — [Carnegie Mellon's Eberly Center](https://www.cmu.edu/teaching/designteach/teach/priorknowledge.html) | Existing attempts may reveal missing prerequisites or a misconception. Use relevant available evidence to - Network accessline 114
| Self-explanation — [MIT Teaching + Learning Lab](https://tll.mit.edu/teaching-resources/how-people-learn/worked-examples/) | A learner can follow a solution but may not understand its reasoning. Ask why a step or principle applies, then u - Network accessline 115
| Case-based learning — [Columbia Center for Teaching and Learning](https://ctl.columbia.edu/resources-and-technology/resources/case-method/) | A learner needs to apply concepts to a contextual problem or decision. Provide case evidence and - Network accessline 116
| Scaffolding — [review of contingency, fading, and transfer of responsibility](https://doi.org/10.1007/s10648-010-9127-6) | Adjust help to the actual difficulty, reduce it as performance permits, and return responsibility to the learner. | - Network accessline 117
| Formative feedback — [Shute's review](https://doi.org/10.3102/0034654307313795) | Give specific, supportive information suited to the task and learner, with an opportunity to use it. | Feedback timing and form depend on context; this sour - Network accessline 118
| Socratic questions — [University of Connecticut CETL](https://cetl.uconn.edu/resources/teaching-your-course/leading-effective-discussions/socratic-questions/) | Examine clarification, assumptions, reasons, perspectives, and consequences t - Network accessline 119
| Interactive simulations — [PhET research](https://phet.colorado.edu/en/research) | Use a suitably designed model to explore conditions and connect observations with an explanation. | Evidence concerns particular simulation designs and use - Network accessline 120
| Study and practice organization — [IES practice guide](https://ies.ed.gov/ncee/wwc/PracticeGuide/1) | For relevant consolidation needs, space revisits, use retrieval and explanatory questions, or alternate worked examples with problem sol - Network accessline 121
| Role-playing — [Carnegie Mellon's active-learning strategies](https://www.cmu.edu/teaching/resources/instructionalstrategies/activelearningstrategies/index.html) | Take a stakeholder's role to compare perspectives or practice contextual e - Network accessline 122
| Project-based learning — [PBLWorks design framework](https://www.pblworks.org/gold-standard/pbl-project-design) | A full project design connects a challenging problem, sustained inquiry, authenticity, student choice, reflection, critique - Network accessline 177
- Choose a visual where seeing elements together clarifies a structural or spatial relationship, a process, a comparison, or a change in evidence. Text can carry precise definitions, reasoning, contextual details, and response feedback; a c - Network accessline 178
- A visual followed by explanation is one useful pattern: let the explanation develop relationships, reasoning, context, or application rather than merely repeat labels. Other coherent arrangements are valid. - Keep labels near their refere - Network accessline 179
- Keep labels near their referents, signal the relevant relationship, and reveal complex information in manageable parts when useful. These recommendations follow [UCSB's guidance on explaining content and slide design](https://citral.ucsb.
skills/ai-shifu-course-creator/scripts/agent_detection.py
skills/ai-shifu-course-creator/scripts/image_preparation.py
- Executable scriptline 1
Executable file
skills/ai-shifu-course-creator/scripts/profile_store.py
- Executable scriptline 1
Executable file - Network accessline 21
SITE_URLS = {"cn": "https://app.ai-shifu.cn", "com": "https://app.ai-shifu.com"} - Access to secretsline 39
[Credential-related source omitted] - Access to secretsline 42
[Credential-related source omitted] - Access to secretsline 277
[Credential-related source omitted] - Access to secretsline 284
[Credential-related source omitted] - Access to secretsline 285
[Credential-related source omitted] - Access to secretsline 288
[Credential-related source omitted] - Access to secretsline 290
[Credential-related source omitted] - Access to secretsline 376
[Credential-related source omitted] - Access to secretsline 414
[Credential-related source omitted] - Access to secretsline 416
[Credential-related source omitted] - Access to secretsline 438
[Credential-related source omitted] - Access to secretsline 443
[Credential-related source omitted]
skills/ai-shifu-course-creator/scripts/shifu-cli.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 31
[Credential-related source omitted] - Access to secretsline 84
[Credential-related source omitted] - Access to secretsline 114
[Credential-related source omitted] - Access to secretsline 126
[Credential-related source omitted] - Access to secretsline 139
[Credential-related source omitted] - Network accessline 151
"base_url": base_url, "contact_url": ( "https://ai-shifu.cn/contact.html" if base_url == SITE_URLS["cn"] - Network accessline 152
"contact_url": ( "https://ai-shifu.cn/contact.html" if base_url == SITE_URLS["cn"] else "https://ai-shifu.com/contact.html" if base_url else None - Network accessline 153
"https://ai-shifu.cn/contact.html" if base_url == SITE_URLS["cn"] - Network accessline 154
else "https://ai-shifu.com/contact.html" if base_url else None - Access to secretsline 165
[Credential-related source omitted] - Access to secretsline 167
[Credential-related source omitted] - Possible obfuscationline 222
return json.loads(base64.b64decode(encoded)) - Network accessline 339
data = {"resource_id": resource_id} if resource_id else None try: resp = requests.post(url, headers=headers, files=files, data=data, timeout=60) - Network accessline 340
try: resp = requests.post(url, headers=headers, files=files, data=data, timeout=60) except requests.RequestException as e: - Network accessline 341
resp = requests.post(url, headers=headers, files=files, data=data, timeout=60) - Network accessline 552
resp = requests.post( - Network accessline 620
try: resp = requests.post( - Network accessline 621
resp = requests.post( - Network accessline 791
[Credential-related source omitted] - Network accessline 792
[Credential-related source omitted] - Network accessline 793
resp = requests.get(url, headers=headers, timeout=15) - Network accessline 934
with requests.Session() as session: - Network accessline 1058
url = f"{base_url}/api/shifu/shifus/{shifu_bid}/export" headers = _request_headers(token, json_content=False) resp = requests.get(url, headers=headers, timeout=60) - Network accessline 1060
resp = requests.get(url, headers=headers, timeout=60) - Network accessline 1562
with requests.Session() as session: - Network accessline 2991
with requests.Session() as session: - Access to secretsline 3612
[Credential-related source omitted] - Access to secretsline 3666
[Credential-related source omitted] - Access to secretsline 3676
[Credential-related source omitted]
skills/ai-shifu-course-creator/scripts/skill_update_check.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 23
SKILL_ROOT = Path(__file__).resolve().parent.parent SKILL_MD = SKILL_ROOT / "SKILL.md" GITHUB_RELEASES_URL = "https://github.com/ai-shifu/skills/releases" - Network accessline 24
SKILL_MD = SKILL_ROOT / "SKILL.md" GITHUB_RELEASES_URL = "https://github.com/ai-shifu/skills/releases" MANIFEST_URL = "https://api.github.com/repos/ai-shifu/skills/releases/latest" - Network accessline 25
GITHUB_RELEASES_URL = "https://github.com/ai-shifu/skills/releases" - Network accessline 26
MANIFEST_URL = "https://api.github.com/repos/ai-shifu/skills/releases/latest" - Network accessline 422
def get(url, **kwargs): nonlocal retry_after_seconds response = requests.get(url, **kwargs) - Network accessline 423
nonlocal retry_after_seconds response = requests.get(url, **kwargs) final_url = getattr(response, "url", MANIFEST_URL) or MANIFEST_URL - Network accessline 424
response = requests.get(url, **kwargs)
skills/ai-shifu-learning-report/references/report-data.schema.json
skills/ai-shifu-learning-report/scripts/render_report.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/course-direction-advisor/references/course-direction-advisor.schema.v1.json
tools/ai-shifu-skill-release/README.md
- Network accessline 25
The optional `preview_type=draft` mode on `main` still prepares an unpublished draft for its matching expected version. Pushing a formal `vX.Y.Z` tag also prepares a draft without publishing or starting platform jobs. An administrator can p
tools/ai-shifu-skill-release/channels/workbuddy/build-zip.sh
- Executable scriptline 1
#!/usr/bin/env bash
tools/ai-shifu-skill-release/references/publishing-environment.md
- Network accessline 30
| Git | Fetch source; push branches for bump PRs | PATH | | Configured Node version and npx (default: Node 22) | ClawHub CLI | `CLAWHUB_NPX` or `--clawhub-npx`, then PATH, then nvm for the configured Node version | | SkillHub CLI | SkillHub - Network accessline 31
| Configured Node version and npx (default: Node 22) | ClawHub CLI | `CLAWHUB_NPX` or `--clawhub-npx`, then PATH, then nvm for the configured Node version | | SkillHub CLI | SkillHub publication | PATH, overridden by `SKILLHUB_CLI` or `--sk - Network accessline 32
| SkillHub CLI | SkillHub publication | PATH, overridden by `SKILLHUB_CLI` or `--skillhub-cli`; see the [installation guide](https://skillhub.cn/install/skillhub.md) |
tools/ai-shifu-skill-release/release.toml
- Network accessline 5
[channels.clawhub] owner = "heshaofu2" endpoint = "https://clawhub.ai" - Network accessline 6
owner = "heshaofu2" endpoint = "https://clawhub.ai" package = "clawhub@latest" - Network accessline 7
endpoint = "https://clawhub.ai" - Network accessline 11
[channels.skillhub] endpoint = "https://api.skillhub.cn" - Network accessline 12
endpoint = "https://api.skillhub.cn" - Network accessline 13
cli_version = "2026.8.5" cli_url = "https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/skillhub-cli-2026.8.5.tar.gz" cli_sha256 = "3bbe2ba15ada2eb7a94a2b760fead83be5f4164ab28a6c8b0944dbc539f7e236" - Network accessline 14
cli_url = "https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/skillhub-cli-2026.8.5.tar.gz"
tools/ai-shifu-skill-release/scripts/ai_shifu_release/__init__.py
- Executable scriptline 1
Executable file
tools/ai-shifu-skill-release/scripts/ai_shifu_release/artifacts.py
tools/ai-shifu-skill-release/scripts/ai_shifu_release/build.py
- Executable scriptline 1
Executable file
tools/ai-shifu-skill-release/scripts/ai_shifu_release/channel_results.py
- Executable scriptline 1
Executable file
tools/ai-shifu-skill-release/scripts/ai_shifu_release/channel_submission.py
tools/ai-shifu-skill-release/scripts/ai_shifu_release/channels/__init__.py
- Executable scriptline 1
Executable file
tools/ai-shifu-skill-release/scripts/ai_shifu_release/channels/clawhub_skillhub.py
- Executable scriptline 1
Executable file
tools/ai-shifu-skill-release/scripts/ai_shifu_release/channels/doubao.py
- Executable scriptline 1
Executable file
tools/ai-shifu-skill-release/scripts/ai_shifu_release/channels/workbuddy.py
- Executable scriptline 1
Executable file
tools/ai-shifu-skill-release/scripts/ai_shifu_release/cli.py
tools/ai-shifu-skill-release/scripts/ai_shifu_release/config.py
- Executable scriptline 1
Executable file - Network accessline 23
class ClawHubConfig: owner: str = "heshaofu2" endpoint: str = "https://clawhub.ai" - Network accessline 24
owner: str = "heshaofu2" endpoint: str = "https://clawhub.ai" package: str = "clawhub@latest" - Network accessline 25
endpoint: str = "https://clawhub.ai" - Network accessline 30
@dataclass(frozen=True) class SkillHubConfig: endpoint: str = "https://api.skillhub.cn" - Network accessline 31
class SkillHubConfig: endpoint: str = "https://api.skillhub.cn" cli_version: str = "2026.8.5" - Network accessline 32
endpoint: str = "https://api.skillhub.cn" - Network accessline 33
cli_version: str = "2026.8.5" cli_url: str = ( "https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/" - Network accessline 34
cli_url: str = ( "https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/" "install/skillhub-cli-2026.8.5.tar.gz" - Network accessline 35
"https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/" - Access to secretsline 85
[Credential-related source omitted]
tools/ai-shifu-skill-release/scripts/ai_shifu_release/github_releases.py
- Executable scriptline 1
Executable file - Access to secretsline 145
[Credential-related source omitted] - Network accessline 437
expected_dir = build.build( SimpleNamespace( source_repo_url=f"https://github.com/{repository}.git", - Network accessline 438
SimpleNamespace( source_repo_url=f"https://github.com/{repository}.git", source_ref=commit, - Network accessline 439
source_repo_url=f"https://github.com/{repository}.git",
tools/ai-shifu-skill-release/scripts/ai_shifu_release/publishing.py
- Executable scriptline 1
Executable file - Access to secretsline 49
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted] - Access to secretsline 80
[Credential-related source omitted] - Network accessline 82
if not command: raise ValueError( "skillhub CLI is not installed; see https://skillhub.cn/install/skillhub.md" - Network accessline 83
raise ValueError( "skillhub CLI is not installed; see https://skillhub.cn/install/skillhub.md" ) - Network accessline 84
"skillhub CLI is not installed; see https://skillhub.cn/install/skillhub.md" - Access to secretsline 122
[Credential-related source omitted]
tools/ai-shifu-skill-release/scripts/ai_shifu_release/release_notes.py
- Executable scriptline 1
Executable file - Network accessline 504
if ( url.rstrip("/").lower() != f"https://github.com/{repository}/pull/{number}".lower() - Network accessline 505
url.rstrip("/").lower() != f"https://github.com/{repository}/pull/{number}".lower() ): - Network accessline 506
!= f"https://github.com/{repository}/pull/{number}".lower() - Network accessline 541
"author": commit["author"], "author_is_login": False, "url": f"https://github.com/{repository}/commit/{sha}" - Network accessline 542
"author_is_login": False, "url": f"https://github.com/{repository}/commit/{sha}" if repository - Network accessline 543
"url": f"https://github.com/{repository}/commit/{sha}" - Network accessline 790
lines += ["## Changelog", "", render_changelog(snapshot), ""] if snapshot.get("repository") and snapshot.get("base_sha"): url = f"https://github.com/{snapshot['repository']}/compare/{snapshot['base_sha']}...{snapshot['head_sha'] - Network accessline 791
if snapshot.get("repository") and snapshot.get("base_sha"): url = f"https://github.com/{snapshot['repository']}/compare/{snapshot['base_sha']}...{snapshot['head_sha']}" lines += [f"[Full comparison]({url})", ""] - Network accessline 792
url = f"https://github.com/{snapshot['repository']}/compare/{snapshot['base_sha']}...{snapshot['head_sha']}"
tools/ai-shifu-skill-release/scripts/ai_shifu_release/release_state.py
- Executable scriptline 1
Executable file
tools/ai-shifu-skill-release/scripts/ai_shifu_release/skill_metadata.py
- Executable scriptline 1
Executable file
tools/ai-shifu-skill-release/scripts/ai_shifu_release/source.py
tools/ai-shifu-skill-release/scripts/ai_shifu_release/verify.py
- Executable scriptline 1
Executable file
tools/ai-shifu-skill-release/scripts/ai_shifu_release/version_bump.py
- Executable scriptline 1
Executable file
tools/ai-shifu-skill-release/scripts/release.py
- Executable scriptline 1
#!/usr/bin/env python3
tools/ai-shifu-skill-release/tests/support.py
- Executable scriptline 1
Executable file - Network accessline 56
[Credential-related source omitted] - Network accessline 57
[Credential-related source omitted] - Network accessline 58
[Credential-related source omitted] - Access to secretsline 58
[Credential-related source omitted] - Access to secretsline 124
[Credential-related source omitted]
tools/ai-shifu-skill-release/tests/test_archive_integrity.py
- Executable scriptline 1
Executable file
tools/ai-shifu-skill-release/tests/test_build_release.py
tools/ai-shifu-skill-release/tests/test_bump_version.py
tools/ai-shifu-skill-release/tests/test_channel_results.py
- Executable scriptline 1
Executable file - Network accessline 52
"workbuddy": { "status": "submitted", "url": "https://example.com/workbuddy", - Network accessline 53
"status": "submitted", "url": "https://example.com/workbuddy", "note": "Awaiting platform review", - Network accessline 54
"url": "https://example.com/workbuddy", - Network accessline 57
"doubao": { "status": "verified", "url": "https://example.com/doubao", - Network accessline 58
"status": "verified", "url": "https://example.com/doubao", "note": "Runtime checks passed", - Network accessline 59
"url": "https://example.com/doubao", - Network accessline 79
retained = { "skillhub": {"status": "verified", "submission_status": "already_verified"}, "workbuddy": {"status": "submitted", "url": "https://example.com/workbuddy"}, - Network accessline 80
"skillhub": {"status": "verified", "submission_status": "already_verified"}, "workbuddy": {"status": "submitted", "url": "https://example.com/workbuddy"}, "doubao": {"status": "verified", "url": "https://example.com/ - Network accessline 81
"workbuddy": {"status": "submitted", "url": "https://example.com/workbuddy"}, - Network accessline 82
"doubao": {"status": "verified", "url": "https://example.com/doubao"},
tools/ai-shifu-skill-release/tests/test_channel_submission.py
- Executable scriptline 1
Executable file - Access to secretsline 53
[Credential-related source omitted] - Access to secretsline 94
[Credential-related source omitted] - Access to secretsline 129
[Credential-related source omitted] - Access to secretsline 146
[Credential-related source omitted] - Access to secretsline 177
[Credential-related source omitted] - Access to secretsline 203
[Credential-related source omitted] - Access to secretsline 250
[Credential-related source omitted] - Access to secretsline 283
[Credential-related source omitted] - Access to secretsline 309
[Credential-related source omitted] - Network accessline 338
) old_metadata = json.loads((candidate / "release.json").read_text()) source_repository = "https://github.com/ai-shifu/skills.git" - Network accessline 339
old_metadata = json.loads((candidate / "release.json").read_text()) source_repository = "https://github.com/ai-shifu/skills.git" old_metadata["source"]["repository"] = source_repository - Network accessline 340
source_repository = "https://github.com/ai-shifu/skills.git" - Access to secretsline 412
[Credential-related source omitted]
tools/ai-shifu-skill-release/tests/test_config.py
- Executable scriptline 1
Executable file - Access to secretsline 85
[Credential-related source omitted] - Access to secretsline 86
[Credential-related source omitted] - Network accessline 141
): for url in ( "http://example.com/cli", - Network accessline 142
for url in ( "http://example.com/cli", "https://user:secret@example.com/cli", - Network accessline 143
"http://example.com/cli", - Network accessline 144
"https://user:secret@example.com/cli", - Network accessline 145
[Credential-related source omitted] - Network accessline 146
"https://example.com/cli#fragment", - Network accessline 205
) self.assertEqual(loaded.clawhub.owner, "heshaofu2") self.assertEqual(loaded.clawhub.endpoint, "https://clawhub.ai") - Network accessline 206
self.assertEqual(loaded.clawhub.owner, "heshaofu2") self.assertEqual(loaded.clawhub.endpoint, "https://clawhub.ai") self.assertEqual(loaded.clawhub.package, "clawhub@latest") - Network accessline 207
self.assertEqual(loaded.clawhub.endpoint, "https://clawhub.ai") - Network accessline 208
self.assertEqual(loaded.clawhub.package, "clawhub@latest") self.assertEqual(loaded.clawhub.node_version, "22") self.assertEqual(loaded.skillhub.endpoint, "https://api.skillhub.cn") - Network accessline 209
self.assertEqual(loaded.clawhub.node_version, "22") self.assertEqual(loaded.skillhub.endpoint, "https://api.skillhub.cn") self.assertEqual(loaded.skillhub.cli_version, "2026.8.5") - Network accessline 210
self.assertEqual(loaded.skillhub.endpoint, "https://api.skillhub.cn")
tools/ai-shifu-skill-release/tests/test_doubao_integrity.py
- Executable scriptline 1
Executable file
tools/ai-shifu-skill-release/tests/test_doubao_package.py
- Executable scriptline 1
Executable file
tools/ai-shifu-skill-release/tests/test_download_release.py
- Executable scriptline 1
Executable file - Network accessline 68
report["builder"] = { "repository": "https://example.invalid/old-builder.git", - Network accessline 69
"repository": "https://example.invalid/old-builder.git", - Network accessline 242
def test_repository_spoof_cannot_choose_a_source_fetch(self) -> None: for repository in ( "https://github.com/attacker/skills.git", - Network accessline 243
for repository in ( "https://github.com/attacker/skills.git", "https://evil.example/github.com/ai-shifu/skills.git", - Network accessline 244
"https://github.com/attacker/skills.git", - Network accessline 245
"https://evil.example/github.com/ai-shifu/skills.git", - Network accessline 246
"https://github.com@evil.example/ai-shifu/skills.git",
tools/ai-shifu-skill-release/tests/test_entrypoints.py
- Executable scriptline 1
Executable file - Access to secretsline 196
[Credential-related source omitted] - Network accessline 304
assets = [self.release_dir / "release.json"] notes = "Formal release notes" draft_url = "https://github.com/example/skills/releases/untagged-fixture" - Network accessline 305
notes = "Formal release notes" draft_url = "https://github.com/example/skills/releases/untagged-fixture" output = io.StringIO() - Network accessline 306
draft_url = "https://github.com/example/skills/releases/untagged-fixture" - Access to secretsline 309
[Credential-related source omitted] - Access to secretsline 403
[Credential-related source omitted] - Access to secretsline 451
[Credential-related source omitted]
tools/ai-shifu-skill-release/tests/test_github_release.py
- Executable scriptline 1
Executable file - Access to secretsline 98
[Credential-related source omitted] - Access to secretsline 126
[Credential-related source omitted] - Network accessline 158
"assets": [{"name": asset.name} for asset in assets], "tagName": "v1.2.3", "url": "https://example.test/release", - Network accessline 159
"tagName": "v1.2.3", "url": "https://example.test/release", }), - Network accessline 160
"url": "https://example.test/release", - Access to secretsline 166
[Credential-related source omitted] - Network accessline 198
"body": notes, "assets": [{"name": name} for name in remote], "url": "https://github.com/ai-shifu/skills/releases/tag/v1.2.3" - Network accessline 199
"assets": [{"name": name} for name in remote], "url": "https://github.com/ai-shifu/skills/releases/tag/v1.2.3" if published - Network accessline 200
"url": "https://github.com/ai-shifu/skills/releases/tag/v1.2.3" - Network accessline 201
if published else "https://github.com/ai-shifu/skills/releases/tag/untagged-fixture", } - Network accessline 202
else "https://github.com/ai-shifu/skills/releases/tag/untagged-fixture", - Access to secretsline 225
[Credential-related source omitted] - Network accessline 233
self.assertEqual(calls[-2:], ["edit", "view"]) self.assertEqual( url, "https://github.com/ai-shifu/skills/releases/tag/v1.2.3" - Network accessline 234
self.assertEqual( url, "https://github.com/ai-shifu/skills/releases/tag/v1.2.3" ) - Network accessline 235
url, "https://github.com/ai-shifu/skills/releases/tag/v1.2.3" - Network accessline 260
"body": body, "assets": [{"name": name} for name in remote], "url": f"https://github.com/ai-shifu/skills/releases/tag/{preview_tag}", - Network accessline 261
"assets": [{"name": name} for name in remote], "url": f"https://github.com/ai-shifu/skills/releases/tag/{preview_tag}", } - Network accessline 262
"url": f"https://github.com/ai-shifu/skills/releases/tag/{preview_tag}", - Access to secretsline 289
[Credential-related source omitted] - Network accessline 332
"body": notes, "assets": [{"name": asset.name} for asset in assets], "url": "https://example.test/release", - Network accessline 333
"assets": [{"name": asset.name} for asset in assets], "url": "https://example.test/release", } - Network accessline 334
"url": "https://example.test/release", - Access to secretsline 356
[Credential-related source omitted] - Network accessline 371
mutations = [] downloads = 0 url = "https://github.com/ai-shifu/skills/releases/tag/v1.2.3" - Network accessline 373
url = "https://github.com/ai-shifu/skills/releases/tag/v1.2.3" - Access to secretsline 411
[Credential-related source omitted] - Network accessline 430
created = False interrupt = True draft_url = "https://github.com/ai-shifu/skills/releases/untagged-fixture" - Network accessline 432
draft_url = "https://github.com/ai-shifu/skills/releases/untagged-fixture" - Access to secretsline 482
[Credential-related source omitted] - Access to secretsline 518
[Credential-related source omitted] - Access to secretsline 540
[Credential-related source omitted] - Access to secretsline 590
[Credential-related source omitted] - Network accessline 623
"body": notes, "assets": [{"name": name} for name in remote], "url": "https://github.com/ai-shifu/skills/releases/tag/v1.2.3", - Network accessline 624
"assets": [{"name": name} for name in remote], "url": "https://github.com/ai-shifu/skills/releases/tag/v1.2.3", } - Network accessline 625
"url": "https://github.com/ai-shifu/skills/releases/tag/v1.2.3", - Access to secretsline 645
[Credential-related source omitted] - Network accessline 694
"body": body, "assets": [{"name": asset.name} for asset in assets], "url": "https://example.test/release", - Network accessline 695
"assets": [{"name": asset.name} for asset in assets], "url": "https://example.test/release", } - Network accessline 696
"url": "https://example.test/release", - Access to secretsline 714
[Credential-related source omitted] - Access to secretsline 744
[Credential-related source omitted] - Access to secretsline 781
[Credential-related source omitted]
tools/ai-shifu-skill-release/tests/test_publish_release.py
- Executable scriptline 1
Executable file - Network accessline 163
) self.assertNotIn("--json", skillhub_command) self.assertIn("https://api.skillhub.cn", skillhub_command) - Network accessline 164
self.assertNotIn("--json", skillhub_command) self.assertIn("https://api.skillhub.cn", skillhub_command) self.assertIn( - Network accessline 165
self.assertIn("https://api.skillhub.cn", skillhub_command) - Network accessline 187
self.config.clawhub, owner="configured-owner", endpoint="https://clawhub.example", - Network accessline 188
owner="configured-owner", endpoint="https://clawhub.example", package="clawhub@1.2.3", - Network accessline 189
endpoint="https://clawhub.example", - Network accessline 190
package="clawhub@1.2.3", ), skillhub=replace(self.config.skillhub, endpoint="https://skillhub.example"), - Network accessline 191
), skillhub=replace(self.config.skillhub, endpoint="https://skillhub.example"), ) - Network accessline 192
skillhub=replace(self.config.skillhub, endpoint="https://skillhub.example"), - Access to secretsline 194
[Credential-related source omitted] - Network accessline 201
for command in clawhub_commands: self.assertEqual( command[command.index("--registry") + 1], "https://clawhub.example" - Network accessline 202
self.assertEqual( command[command.index("--registry") + 1], "https://clawhub.example" ) - Network accessline 203
command[command.index("--registry") + 1], "https://clawhub.example" - Network accessline 212
if command[0] == "/bin/skillhub": self.assertEqual( command[command.index("--host") + 1], "https://skillhub.example" - Network accessline 213
self.assertEqual( command[command.index("--host") + 1], "https://skillhub.example" ) - Network accessline 214
command[command.index("--host") + 1], "https://skillhub.example" - Access to secretsline 219
[Credential-related source omitted] - Access to secretsline 221
[Credential-related source omitted] - Network accessline 331
"workbuddy", "verified", url="https://workbuddy.example/releases/1.1.0", - Network accessline 332
"verified", url="https://workbuddy.example/releases/1.1.0", ) - Network accessline 333
url="https://workbuddy.example/releases/1.1.0", - Network accessline 341
"doubao", "submitted", url="https://doubao.example/submissions/123", - Network accessline 342
"submitted", url="https://doubao.example/submissions/123", ) - Network accessline 343
url="https://doubao.example/submissions/123",
tools/ai-shifu-skill-release/tests/test_pull_request_preview.py
- Executable scriptline 1
Executable file - Access to secretsline 115
[Credential-related source omitted] - Network accessline 157
"number": 77, "title": "feat: Improve course authoring and continuation", "html_url": "https://github.com/example/skills/pull/77", - Network accessline 158
"title": "feat: Improve course authoring and continuation", "html_url": "https://github.com/example/skills/pull/77", "user": {"login": "author"}, - Network accessline 159
"html_url": "https://github.com/example/skills/pull/77", - Network accessline 206
"number": 77, "title": "feat: Improve course authoring and continuation", "html_url": "https://github.com/example/skills/pull/77", - Network accessline 207
"title": "feat: Improve course authoring and continuation", "html_url": "https://github.com/example/skills/pull/77", "user": {"login": "author"}, - Network accessline 208
"html_url": "https://github.com/example/skills/pull/77",
tools/ai-shifu-skill-release/tests/test_release_notes.py
- Executable scriptline 1
Executable file - Network accessline 52
"number": number, "title": title, "html_url": f"https://github.com/example/skills/pull/{number}", - Network accessline 53
"title": title, "html_url": f"https://github.com/example/skills/pull/{number}", "user": {"login": "author"}, - Network accessline 54
"html_url": f"https://github.com/example/skills/pull/{number}", - Network accessline 71
files=None, ): def fetch(endpoint: str, *, paginate: bool = False): - Network accessline 72
): def fetch(endpoint: str, *, paginate: bool = False): if endpoint == "repos/example/skills": - Network accessline 73
def fetch(endpoint: str, *, paginate: bool = False): - Network accessline 234
for number in (100, 200, 300): self.assertEqual(text.count(f"[#{number}]"), 1) self.assertIn(f"https://github.com/example/skills/pull/{number}", text) - Network accessline 235
self.assertEqual(text.count(f"[#{number}]"), 1) self.assertIn(f"https://github.com/example/skills/pull/{number}", text) self.assertIn(" by @author", text) - Network accessline 236
self.assertIn(f"https://github.com/example/skills/pull/{number}", text) - Network accessline 381
self.assertIn("### Additional commits", text) self.assertIn("### Unmerged preview changes", text) self.assertIn(f"https://github.com/example/skills/commit/{direct}", text) - Network accessline 382
self.assertIn("### Unmerged preview changes", text) self.assertIn(f"https://github.com/example/skills/commit/{direct}", text) self.assertEqual(snapshot["pr_count"], 0) - Network accessline 383
self.assertIn(f"https://github.com/example/skills/commit/{direct}", text) - Network accessline 631
with self.assertRaisesRegex(ValueError, "differs from the source"): release_notes.collect_changes( "https://github.com/example/skills.git", - Network accessline 632
release_notes.collect_changes( "https://github.com/example/skills.git", head, - Network accessline 633
"https://github.com/example/skills.git", - Network accessline 684
"author": "sunner", "author_is_login": True, "url": "https://github.com/ai-shifu/skills/pull/196", - Network accessline 685
"author_is_login": True, "url": "https://github.com/ai-shifu/skills/pull/196", "merged_at": "2026-10-20T08:25:29Z", - Network accessline 686
"url": "https://github.com/ai-shifu/skills/pull/196", - Network accessline 694
"author": "sunner", "author_is_login": True, "url": "https://github.com/ai-shifu/skills/pull/195", - Network accessline 695
"author_is_login": True, "url": "https://github.com/ai-shifu/skills/pull/195", "merged_at": "2026-10-20T08:21:48Z", - Network accessline 696
"url": "https://github.com/ai-shifu/skills/pull/195", - Network accessline 706
"### Bug Fixes\n\n" "- reject invalid course imports before changing content " "([#195](https://github.com/ai-shifu/skills/pull/195)) by @sunner\n\n" - Network accessline 707
"- reject invalid course imports before changing content " "([#195](https://github.com/ai-shifu/skills/pull/195)) by @sunner\n\n" "### Maintenance\n\n" - Network accessline 708
"([#195](https://github.com/ai-shifu/skills/pull/195)) by @sunner\n\n" - Network accessline 709
"### Maintenance\n\n" "- flow version to v2.1.1 " "([#196](https://github.com/ai-shifu/skills/pull/196)) by @sunner\n\n" - Network accessline 710
"- flow version to v2.1.1 " "([#196](https://github.com/ai-shifu/skills/pull/196)) by @sunner\n\n" "[Full comparison](https://github.com/ai-shifu/skills/compare/" - Network accessline 711
"([#196](https://github.com/ai-shifu/skills/pull/196)) by @sunner\n\n" - Network accessline 712
"[Full comparison](https://github.com/ai-shifu/skills/compare/"
tools/ai-shifu-skill-release/tests/test_release_workflow.py
- Executable scriptline 1
Executable file - Dangerous shell operationline 106
return eval( # noqa: S307 - AST and execution context are explicitly restricted. - Access to secretsline 303
[Credential-related source omitted] - Access to secretsline 355
[Credential-related source omitted] - Network accessline 408
'mkdir -p release-notes\n' 'printf "%s\\n" "Release notes" > release-notes/release-notes.md\n' 'printf "%s\\n" "https://github.com/example/skills/releases/tag/v1.2.3"\n' - Network accessline 409
'printf "%s\\n" "Release notes" > release-notes/release-notes.md\n' 'printf "%s\\n" "https://github.com/example/skills/releases/tag/v1.2.3"\n' 'exit "$PUBLICATION_EXIT_CODE"\n' - Network accessline 410
'printf "%s\\n" "https://github.com/example/skills/releases/tag/v1.2.3"\n' - Access to secretsline 420
[Credential-related source omitted] - Access to secretsline 421
[Credential-related source omitted] - Access to secretsline 508
[Credential-related source omitted]
tools/ai-shifu-skill-release/tests/test_source_export.py
tools/ai-shifu-workbuddy-publisher/SKILL.md
- Network accessline 21
1. Read `https://api.github.com/repos/ai-shifu/skills/releases/latest`, or the Release for the requested tag. Record the tag, Release URL, asset name, size, and available SHA-256 digest. Confirm that the Release is published and stable. 2. - Network accessline 35
1. Open `https://open.workbuddy.cn/expert/all` in the authenticated browser, under `发布管理` → `专家`. If login is needed, let the user complete it; never store credentials in this skill or its outputs.
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 8 facts
- Contacts app.ai-shifu.cn, which SKILL.md, the README and the plugin manifest do not mentionai-shifu-course-creator/scripts/profile_store.py:21High confidence
- Contacts app.ai-shifu.com, which SKILL.md, the README and the plugin manifest do not mentionai-shifu-course-creator/scripts/profile_store.py:21High confidence
- Contacts ai-shifu.cn, which SKILL.md, the README and the plugin manifest do not mentionai-shifu-course-creator/scripts/shifu-cli.py:153High confidence
- Contacts ai-shifu.com, which SKILL.md, the README and the plugin manifest do not mentionai-shifu-course-creator/scripts/shifu-cli.py:154High confidence
- Contacts clawhub.ai, which SKILL.md, the README and the plugin manifest do not mentionai-shifu-skill-release/scripts/ai_shifu_release/config.py:25High confidence
- Contacts api.skillhub.cn, which SKILL.md, the README and the plugin manifest do not mentionai-shifu-skill-release/scripts/ai_shifu_release/config.py:32High confidence
- Contacts skillhub-1388575217.cos.ap-guangzhou.myqcloud.com, which SKILL.md, the README and the plugin manifest do not mentionai-shifu-skill-release/scripts/ai_shifu_release/config.py:35High confidence
- Contacts skillhub.cn, which SKILL.md, the README and the plugin manifest do not mentionai-shifu-skill-release/scripts/ai_shifu_release/publishing.py:84High confidence
Signal confidence: 356 facts
- Network access in code of documentationai-shifu-course-creator/references/cli/cli-reference.md:55Low confidence
- Network access in code of documentationai-shifu-course-creator/references/cli/cli-reference.md:56Low confidence
- Network access in code of documentationai-shifu-course-creator/references/cli/cli-reference.md:57Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/cli/cli-reference.md:66Low confidence
- Access to secrets in prose of documentationai-shifu-course-creator/references/cli/cli-reference.md:71Low confidence
- Network access in code of documentationai-shifu-course-creator/references/cli/cli-reference.md:85Low confidence
- Network access in code of documentationai-shifu-course-creator/references/cli/cli-reference.md:86Low confidence
- Network access in code of documentationai-shifu-course-creator/references/cli/cli-reference.md:87Low confidence
- Network access in code of documentationai-shifu-course-creator/references/cli/cli-reference.md:109Low confidence
- Network access in code of documentationai-shifu-course-creator/references/cli/cli-reference.md:111Low confidence
- Network access in code of documentationai-shifu-course-creator/references/cli/course-directory-spec.md:139Low confidence
- Network access in code of documentationai-shifu-course-creator/references/cli/course-directory-spec.md:140Low confidence
- Network access in code of documentationai-shifu-course-creator/references/cli/course-directory-spec.md:141Low confidence
- Network access in code of documentationai-shifu-course-creator/references/cli/course-directory-spec.md:187Low confidence
- Network access in code of documentationai-shifu-course-creator/references/cli/course-directory-spec.md:188Low confidence
- Network access in code of documentationai-shifu-course-creator/references/cli/course-directory-spec.md:189Low confidence
- Network access in code of documentationai-shifu-course-creator/references/cli/course-directory-spec.md:190Low confidence
- Network access in code of documentationai-shifu-course-creator/references/cli/course-directory-spec.md:191Low confidence
- Network access in code of documentationai-shifu-course-creator/references/cli/course-directory-spec.md:198Low confidence
- Network access in code of documentationai-shifu-course-creator/references/cli/course-directory-spec.md:199Low confidence
- Network access in code of documentationai-shifu-course-creator/references/cli/course-directory-spec.md:200Low confidence
- Network access in code of documentationai-shifu-course-creator/references/cli/course-directory-spec.md:201Low confidence
- Network access in code of documentationai-shifu-course-creator/references/cli/course-directory-spec.md:202Low confidence
- Network access in code of documentationai-shifu-course-creator/references/cli/course-directory-spec.md:203Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/course-design-choices.md:21Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/session-controls.md:13Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/session-controls.md:44Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/teaching-design.md:29Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/teaching-design.md:31Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/teaching-design.md:109Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/teaching-design.md:110Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/teaching-design.md:111Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/teaching-design.md:112Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/teaching-design.md:113Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/teaching-design.md:114Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/teaching-design.md:115Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/teaching-design.md:116Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/teaching-design.md:117Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/teaching-design.md:118Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/teaching-design.md:119Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/teaching-design.md:120Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/teaching-design.md:121Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/teaching-design.md:122Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/teaching-design.md:177Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/teaching-design.md:178Low confidence
- Network access in prose of documentationai-shifu-course-creator/references/teaching-design.md:179Low confidence
- Executable script in prose of a file that runsai-shifu-course-creator/scripts/agent_detection.py:1Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueai-shifu-course-creator/scripts/agent_detection.py:184Low confidence
- Executable script in prose of a file that runsai-shifu-course-creator/scripts/image_preparation.py:1Low confidence
- Executable script in prose of a file that runsai-shifu-course-creator/scripts/profile_store.py:1Low confidence
and 306 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Path CLAUDE.md | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/ai-shifu-course-creator/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/ai-shifu-course-creator/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/ai-shifu-course-creator/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/ai-shifu-course-creator/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.