Not in the top 1,000 by GitHub stars
dmccreary/ibook-skills
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
optional-skills/purchasing-guide-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Local scripts
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/add-xapi-events-to-microsim/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/archived/causal-loop-diagram-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/archived/chapter-image-enhancer/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/archived/concept-classifier/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/archived/diagram-reports-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Local scripts
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/archived/docker-python-lab/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/archived/init-textbook/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/archived/interactive-infographic-overlay/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/archived/linkedin-announcement-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/archived/linkedin-carousel-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/archived/marp-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Instructions only
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/archived/press-release-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/archived/pronounce-button/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/archived/readme-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/archived/register-book-analytics/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/archived/story-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Local scripts
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/archived/text-to-speech/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/archived/textbook-to-presentation-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Instructions only
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/archived/verified-infographic-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Instructions only
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/arxiv-paper-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/book-chapter-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Instructions only
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/book-installer/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/book-media-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/book-publisher/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/chapter-content-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/course-description-analyzer/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/docx-to-web-publisher/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Local scripts
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/faq-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/glossary-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Instructions only
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/learning-graph-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/microsim-generator/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/microsim-utils/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/quiz-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
skills/reference-generator/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Instructions only
53be802f5a3c → ca7aa194c948
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 53be802f5a3c
No earlier version was observed for comparison.
Verified commit ca7aa194c9481110fd685adcee2989afb9e4f57b
git clone --filter=blob:none --no-checkout https://github.com/dmccreary/ibook-skills.git .hotskills/dmccreary-ibook-skills && git -C .hotskills/dmccreary-ibook-skills checkout --detach ca7aa194c9481110fd685adcee2989afb9e4f57b
# Copy each selected skill directory from .hotskills/dmccreary-ibook-skills into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/dmccreary/ibook-skills.git .hotskills/dmccreary-ibook-skills && git -C .hotskills/dmccreary-ibook-skills checkout --detach ca7aa194c9481110fd685adcee2989afb9e4f57b
# Copy each selected skill directory from .hotskills/dmccreary-ibook-skills into .agents/skills/<skill-name>/Heat
1.5- 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
- purchasing-guide-generator
optional-skills/purchasing-guide-generator - add-xapi-events-to-microsim
skills/add-xapi-events-to-microsim - causal-loop-diagram-generator
skills/archived/causal-loop-diagram-generator - chapter-image-enhancer
skills/archived/chapter-image-enhancer - concept-classifier
skills/archived/concept-classifier - diagram-reports-generator
skills/archived/diagram-reports-generator - docker-python-lab
skills/archived/docker-python-lab - init-textbook
skills/archived/init-textbook - interactive-infographic-overlay
skills/archived/interactive-infographic-overlay - linkedin-announcement-generator
skills/archived/linkedin-announcement-generator - linkedin-carousel-generator
skills/archived/linkedin-carousel-generator - marp-generator
skills/archived/marp-generator - press-release-generator
skills/archived/press-release-generator - pronounce-button
skills/archived/pronounce-button - readme-generator
skills/archived/readme-generator - register-book-analytics
skills/archived/register-book-analytics - story-generator
skills/archived/story-generator - text-to-speech
skills/archived/text-to-speech - textbook-to-presentation-generator
skills/archived/textbook-to-presentation-generator - verified-infographic-generator
skills/archived/verified-infographic-generator - arxiv-paper-generator
skills/arxiv-paper-generator - book-chapter-generator
skills/book-chapter-generator - book-installer
skills/book-installer - book-media-generator
skills/book-media-generator - book-publisher
skills/book-publisher - chapter-content-generator
skills/chapter-content-generator - course-description-analyzer
skills/course-description-analyzer - docx-to-web-publisher
skills/docx-to-web-publisher - faq-generator
skills/faq-generator - glossary-generator
skills/glossary-generator - learning-graph-generator
skills/learning-graph-generator - microsim-generator
skills/microsim-generator - microsim-utils
skills/microsim-utils - quiz-generator
skills/quiz-generator - reference-generator
skills/reference-generator
How it works
purchasing-guide-generator
When your agent uses it
Write or update the Purchasing Guide subsection of a hardware textbook's Teacher's Guide (Instructor's Guide in college and professional-development books) at docs/learning-graph/teachers-guide/index.md, covering every part in every kit the book uses — a summary bill of materials with required parts first and optional parts after, then one section per part with a photo, what the part does in the kit, any prep work (soldering 22-gauge leads, cutting a strip to length), single-unit, classroom-of-20 and district price estimates, the exact search keywords that find it, and live eBay / AliExpress / Amazon search links. Use this skill whenever the user asks for a purchasing guide, parts list, parts page, bill of materials, BOM, shopping list, sourcing guide, "where do I buy this", "how much does this kit cost", "what do I need to order for 20 students", or wants to add or refresh purchasing information for a kit — even if they never say the words "purchasing guide". Also use it when updating an existing purchasing guide with prices, images, or search links. Only for books whose kits include physical parts to buy.
What it loads into context
Frontmatter
277 tokensAlways available to the agent
SKILL.md
5,634 tokensWhen the skill is activated
Reference documents
9,378 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Where the output goes
- Audience and register
- Workflow
- Page structure
- Part section template
- Purchasing strategy section
- Reference material
- Before you call it done
Scripts executed separately
scripts/find_part_image.pyscripts/make_search_urls.py
Files
SKILL.mdcore23,730 bytesSKILL.mdcore23,730 bytesSKILL.mdcore23,730 bytesSKILL.mdcore23,730 bytesassets/image-description-template.mddoc1,892 bytesassets/purchasing-guide-template.mddoc10,964 bytesreferences/image-sourcing.mddoc5,302 bytesreferences/part-catalog.mddoc11,997 bytesreferences/sourcing-strategy.mddoc6,555 bytesscripts/find_part_image.pyruns6,095 bytesscripts/make_search_urls.pyruns3,642 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubadd-xapi-events-to-microsim
When your agent uses it
Use when the user wants an existing MicroSim or chapter quiz to record what students do with it. Typical requests are "add xAPI events", "add tracking or analytics", "make this sim feed the LRS or LRS-Lite", "instrument chapter 5's sims", or "what should this sim record?". Use it even if they never say "xAPI". Not for building a new MicroSim (use microsim-generator) or for LRS backend work.
What it loads into context
Frontmatter
132 tokensAlways available to the agent
SKILL.md
5,814 tokensWhen the skill is activated
Reference documents
28,933 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What this skill does
- Principles, and why they matter
- Workflow
- Reference files
- Scripts
Scripts executed separately
assets/lrs-config.template.jsscripts/check-no-runtime.pyscripts/check-xapi.pyscripts/detect-library.pyscripts/find-concepts.pyscripts/install-runtime.pyscripts/measure-iframe.pyscripts/sync-status.py
Files
SKILL.mdcore22,817 bytesSKILL.mdcore22,817 bytesSKILL.mdcore22,817 bytesSKILL.mdcore22,817 bytesSKILL.mdcore22,817 bytesSKILL.mdcore22,817 bytesSKILL.mdcore22,817 bytesSKILL.mdcore22,817 bytesSKILL.mdcore22,817 bytesSKILL.mdcore22,817 bytesSKILL.mdcore22,817 bytesSKILL.mdcore22,817 bytesSKILL.mdcore22,817 bytesSKILL.mdcore22,817 bytesSKILL.mdcore22,817 bytesassets/lrs-config.template.jsruns1,960 bytesassets/main-html-script-block.htmlasset1,449 bytesassets/status-instrumented.cssasset1,763 bytesevals/evals.jsonasset7,295 bytesreferences/adapters/chartjs.mddoc9,440 bytesreferences/adapters/image-overlay.mddoc4,797 bytesreferences/adapters/leaflet.mddoc2,857 bytesreferences/adapters/mermaid-html.mddoc8,597 bytesreferences/adapters/p5-canvas.mddoc11,074 bytesreferences/adapters/p5-dom-controls.mddoc9,210 bytesreferences/adapters/plotly.mddoc2,387 bytesreferences/adapters/quiz-page.mddoc2,706 bytesreferences/adapters/vis-network.mddoc4,297 bytesreferences/adapters/vis-timeline.mddoc7,248 bytesreferences/concept-mapping.mddoc6,849 bytesreferences/contract-digest.mddoc6,250 bytesreferences/evidence-classes.mddoc9,738 bytesreferences/pitfalls.mddoc9,899 bytesreferences/runtime-api.mddoc14,440 bytesscripts/check-no-runtime.pyruns5,313 bytesscripts/check-xapi.pyruns36,869 bytesscripts/detect-library.pyruns17,614 bytesscripts/find-concepts.pyruns8,384 bytesscripts/install-runtime.pyruns8,215 bytesscripts/measure-iframe.pyruns12,801 bytesscripts/sync-status.pyruns6,682 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcausal-loop-diagram-generator
When your agent uses it
Creates interactive causal-loop diagram (CLD) articles for MkDocs Material sites. Use when the user wants to visualize feedback loops, systems archetypes (reinforcing/balancing loops, limits to growth, tragedy of the commons), or any topic with competing runaway and stabilizing dynamics. Produces vis-network diagrams — not static images or Mermaid.
What it loads into context
Frontmatter
107 tokensAlways available to the agent
SKILL.md
2,020 tokensWhen the skill is activated
Reference documents
6,601 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What the user gets
- When to use this skill
- High-level workflow
- Bundled assets
- Reference docs
- Default loop count
- Naming conventions
- What NOT to do
- Confirming with the user
Scripts executed separately
assets/cld-inline.jsassets/cld-viewer/cld-viewer.js
Files
SKILL.mdcore8,629 bytesSKILL.mdcore8,629 bytesSKILL.mdcore8,629 bytesSKILL.mdcore8,629 bytesSKILL.mdcore8,629 bytesSKILL.mdcore8,629 bytesassets/cld-inline.jsruns11,950 bytesassets/cld-viewer/balancing-loop-ccw.pngasset12,367 bytesassets/cld-viewer/balancing-loop-cw.pngasset12,492 bytesassets/cld-viewer/cld-viewer.jsruns26,051 bytesassets/cld-viewer/examples/ai-flywheel-cld.jsonasset8,574 bytesassets/cld-viewer/examples/runaway-hypothesis-cld.jsonasset2,742 bytesassets/cld-viewer/examples/winner-takes-all-cld.jsonasset14,936 bytesassets/cld-viewer/main.htmlasset7,083 bytesassets/cld-viewer/reinforcing-loop-ccw.pngasset12,430 bytesassets/cld-viewer/reinforcing-loop-cw.pngasset12,451 bytesreferences/article-structure.mddoc6,315 bytesreferences/json-schema.mddoc6,033 bytesreferences/layout-templates.mddoc5,326 bytesreferences/pitfalls.mddoc8,330 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubchapter-image-enhancer
When your agent uses it
Adds freely-licensed maps and photos to textbook chapters by sourcing from Wikimedia Commons and US government archives, then inserting them with captions and proper attribution.
What it loads into context
Frontmatter
38 tokensAlways available to the agent
SKILL.md
2,335 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
- When to Use
- Image Source Priority
- Workflow
- License Compatibility Quick Reference
- Common Pitfalls
- Example Output
Files
SKILL.mdcore9,745 bytesSKILL.mdcore9,745 bytesSKILL.mdcore9,745 bytesSKILL.mdcore9,745 bytesSKILL.mdcore9,745 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubconcept-classifier
When your agent uses it
Creates a p5.js MicroSim where students read scenarios and sort them into the correct category. Use for any subject where learners need to recognize patterns, identify types, or categorize examples.
What it loads into context
Frontmatter
73 tokensAlways available to the agent
SKILL.md
2,211 tokensWhen the skill is activated
Reference documents
848 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to Use This Skill
- Features
- Data Structure
- File Structure
- URI Scheme for Discoverability
- Customization Options
- Example Use Cases
- Implementation Steps
- Best Practices
- Template Files
- Bloom's Taxonomy Level
- Integration with MkDocs
- Technical Notes
- Conclusion
Scripts executed separately
templates/concept-classifier-template.js
Files
skill.mdcore10,020 bytestemplates/concept-classifier-template.jsruns17,258 bytestemplates/data-template.jsonasset3,407 bytestemplates/index-template.mddoc3,666 bytestemplates/main-template.htmlasset663 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubdiagram-reports-generator
When your agent uses it
Generates a status report of all diagrams and MicroSims across an intelligent textbook's chapters, including difficulty, Bloom's level, and UI complexity. Use to audit visualization coverage before a content review.
What it loads into context
Frontmatter
56 tokensAlways available to the agent
SKILL.md
1,616 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
- Overview
- When to Use This Skill
- Workflow
- Understanding Report Output
- Troubleshooting
- Advanced Usage
- Integration with Intelligent Textbook Workflow
- Bundled Resources
Scripts executed separately
scripts/diagram-report.py../../../src/diagram-reports/diagram-report.py
Files
SKILL.mdcore7,519 bytesSKILL.mdcore7,519 bytesSKILL.mdcore7,519 bytesSKILL.mdcore7,519 bytesSKILL.mdcore7,519 bytesSKILL.mdcore7,519 bytesSKILL.mdcore7,519 bytesSKILL.mdcore7,519 bytesscripts/diagram-report.pyruns28,991 bytes../../../src/diagram-reports/diagram-report.pyruns31,855 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubdocker-python-lab
When your agent uses it
Generates an interactive Docker Python lab block for MkDocs textbook pages, where students write and run real Python code inside an isolated Docker container. Use this skill whenever someone asks to add a Python lab, code runner, interactive Python exercise, or runnable code block to a textbook page that uses Docker (not Skulpt). Also use it when adding multiple labs to a single page, setting up the shared CSS/JS infrastructure, or creating a timing/benchmark lab that shows students how long each phase takes. Always invoke this skill instead of writing docker lab HTML by hand.
What it loads into context
Frontmatter
121 tokensAlways available to the agent
SKILL.md
2,262 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
- What This Skill Does
- Prerequisites: Shared Infrastructure
- Lab HTML Template
- Complete Page Pattern
- Choosing Good Lab Code
- Service Not Running — User-Facing Error
- Multiple Labs per Page — Checklist
Scripts executed separately
assets/docker-lab.js
Files
SKILL.mdcore8,565 bytesSKILL.mdcore8,565 bytesSKILL.mdcore8,565 bytesSKILL.mdcore8,565 bytesSKILL.mdcore8,565 bytesassets/docker-lab.cssasset3,670 bytesassets/docker-lab.jsruns9,559 bytesevals/evals.jsonasset4,094 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubinit-textbook
When your agent uses it
Scaffolds a new intelligent textbook project from scratch — mkdocs.yml, docs/ directory tree, starter pages, and license files. Use at the very start of a new project, before chapters, learning graph, or MicroSims exist.
What it loads into context
Frontmatter
85 tokensAlways available to the agent
SKILL.md
5,067 tokensWhen the skill is activated
Reference documents
1,536 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Purpose
- When to Use
- What This Skill Creates
- Inputs the Skill Must Gather
- Workflow
- Why these defaults and not others
- MicroSim Status Indicators
- Footgun Avoidance
- Files in this skill
- Examples
Scripts executed separately
assets/templates/plugins/social_override.py
Files
SKILL.mdcore21,070 bytesSKILL.mdcore21,070 bytesSKILL.mdcore21,070 bytesSKILL.mdcore21,070 bytesassets/templates/.gitignoreasset178 bytesassets/templates/docs/about.mddoc592 bytesassets/templates/docs/chapters/index.mddoc419 bytesassets/templates/docs/contact.mddoc126 bytesassets/templates/docs/course-description.mddoc1,190 bytesassets/templates/docs/css/extra.cssasset4,015 bytesassets/templates/docs/img/cover.pngasset1,604,567 bytesassets/templates/docs/img/license.pngasset26,567 bytesassets/templates/docs/index.mddoc1,131 bytesassets/templates/docs/learning-graph/index.mddoc800 bytesassets/templates/docs/license.mddoc2,179 bytesassets/templates/docs/sims/index.mddoc436 bytesassets/templates/mkdocs.ymlasset5,407 bytesassets/templates/plugins/social_override.pyruns2,087 bytesassets/templates/project.code-workspaceasset61 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubinteractive-infographic-overlay
When your agent uses it
Generates an interactive diagram MicroSim with numbered callout markers or rectangular zones over a scientific illustration, supporting explore, quiz, and edit modes. Use for anatomy diagrams, labeled components, or comparison posters needing interactive annotations.
What it loads into context
Frontmatter
60 tokensAlways available to the agent
SKILL.md
4,838 tokensWhen the skill is activated
Reference documents
6,310 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to Use This Skill
- Overlay Types: Callout vs. Grid
- Prerequisites
- Workflow
- Callout Overlay Workflow (diagram.js)
- Grid Overlay Workflow (grid-diagram.js)
- Calibration Workflow
- Layout Options
- Color Palette for Markers
- Iframe Auto-Resize via postMessage
- Controls Placement
- Title Rendering
- Common Pitfalls
- Resources
Scripts executed separately
assets/shared-libs/diagram.jsassets/shared-libs/grid-diagram.js
Files
SKILL.mdcore19,884 bytesSKILL.mdcore19,884 bytesSKILL.mdcore19,884 bytesSKILL.mdcore19,884 bytesSKILL.mdcore19,884 bytesassets/grid-main-template.htmlasset1,518 bytesassets/main-template.htmlasset1,818 bytesassets/shared-libs/diagram.jsruns46,954 bytesassets/shared-libs/grid-diagram.jsruns20,623 bytesassets/shared-libs/grid-overlay.cssasset9,149 bytesassets/shared-libs/style.cssasset10,859 bytesreferences/data-json-schema.mddoc5,821 bytesreferences/grid-data-json-schema.mddoc6,397 bytesreferences/iframe-height-pinning.mddoc10,625 bytesreferences/image-prompt-template.mddoc2,050 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHublinkedin-announcement-generator
When your agent uses it
Generates a LinkedIn post announcing an intelligent textbook milestone by pulling book metrics, chapter count, and key statistics. Use when announcing textbook completion or major content milestones on social media.
What it loads into context
Frontmatter
71 tokensAlways available to the agent
SKILL.md
4,591 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
- Overview
- When to Use This Skill
- Prerequisites
- Workflow
- Example Output
- Customization Options
- Supporting Scripts
- Quality Standards
- Troubleshooting
- Related Skills
- Resources
Files
SKILL.mdcore20,126 bytesSKILL.mdcore20,126 bytesSKILL.mdcore20,126 bytesSKILL.mdcore20,126 bytesSKILL.mdcore20,126 bytesSKILL.mdcore20,126 bytesSKILL.mdcore20,126 bytesSKILL.mdcore20,126 bytesSKILL.mdcore20,126 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHublinkedin-carousel-generator
When your agent uses it
Generates a 13-slide LinkedIn carousel (a "document post" — PPTX/PDF) that showcases an intelligent textbook's key features, with real screenshots, mascot art, and metrics pulled from the project. Use when the user wants a LinkedIn slideshow/carousel/document post for a textbook, as opposed to linkedin-announcement-generator which produces post *text* only.
What it loads into context
Frontmatter
110 tokensAlways available to the agent
SKILL.md
3,701 tokensWhen the skill is activated
Reference documents
4,922 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use This Skill
- Prerequisites
- The 13 Slides
- Workflow
- Output
- Quality Checklist
- Troubleshooting
- Related Skills
Scripts executed separately
scripts/crop-screenshot.py
Files
SKILL.mdcore14,935 bytesSKILL.mdcore14,935 bytesSKILL.mdcore14,935 bytesSKILL.mdcore14,935 bytesSKILL.mdcore14,935 bytesSKILL.mdcore14,935 bytesreferences/content-sourcing.mddoc4,693 bytesreferences/slide-patterns.mddoc10,662 bytesscripts/crop-screenshot.pyruns1,270 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubmarp-generator
When your agent uses it
Generates slide decks in the MARP (Markdown Presentation Ecosystem) format and publishes them as live, embeddable presentations on an MkDocs Material site. Use this skill whenever the user wants to turn a topic, description, or existing chapter/document into a presentation, slide deck, or set of slides — trigger on phrases like "make a slide deck", "turn this chapter into a presentation", "create slides for X", "I need to present this", "build a deck about Y", or "add a presentation to the site", even if the user never says "MARP" by name. Produces a self-contained docs/slides/<deck-name>/ directory (MARP source, exported HTML, thumbnail, documentation page), adds the deck to the docs/slides/index.md gallery, and updates mkdocs.yml nav.
What it loads into context
Frontmatter
203 tokensAlways available to the agent
SKILL.md
3,026 tokensWhen the skill is activated
Reference documents
1,965 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What the user gets
- Why HTML export + iframe, not a live-rendering plugin
- High-level workflow
- What NOT to do
- Reference docs
Files
SKILL.mdcore12,571 bytesSKILL.mdcore12,571 bytesSKILL.mdcore12,571 bytesSKILL.mdcore12,571 bytesSKILL.mdcore12,571 bytesSKILL.mdcore12,571 bytesSKILL.mdcore12,571 bytesassets/template.mddoc571 bytesreferences/authoring-guide.mddoc3,839 bytesreferences/mkdocs-integration.mddoc3,855 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubpress-release-generator
When your agent uses it
Generates an AP-style press release for an intelligent textbook or course milestone — headline, lead, attributed quotes, boilerplate, and media-contact block. Use when pitching to journalists or education trade press; distinct from linkedin-announcement-generator (social post) and readme-generator (GitHub docs).
What it loads into context
Frontmatter
69 tokensAlways available to the agent
SKILL.md
3,352 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
- Overview
- When to Use This Skill
- Two operating modes (this matters — read before Step 1)
- Workflow
- AP Style Reference
- Never fabricate sourced facts
- Quality Checklist
- Example skeleton (generic — adapt, do not copy verbatim)
- Customization
- Related Skills
- Resources
Files
SKILL.mdcore14,239 bytesSKILL.mdcore14,239 bytesSKILL.mdcore14,239 bytesSKILL.mdcore14,239 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubpronounce-button
When your agent uses it
Generate an MP3 pronunciation of a glossary term using ElevenLabs TTS API and insert a "Pronounce" button into the term's entry in a markdown file. Trigger when the user says "Create a pronounce button for the term X" or "Add pronunciation for X". Defaults to glossary.md if no file is specified.
What it loads into context
Frontmatter
79 tokensAlways available to the agent
SKILL.md
2,128 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
- When to Use
- Prerequisites
- Workflow
- Voice Options
- Batch Mode
Scripts executed separately
scripts/generate-pronunciation.py
Files
SKILL.mdcore7,580 bytesSKILL.mdcore7,580 bytesSKILL.mdcore7,580 bytesSKILL.mdcore7,580 bytesSKILL.mdcore7,580 bytesscripts/generate-pronunciation.pyruns4,016 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubreadme-generator
When your agent uses it
Creates or updates the GitHub README for a textbook project with badges, project overview, site metrics, and getting-started instructions.
What it loads into context
Frontmatter
61 tokensAlways available to the agent
SKILL.md
4,818 tokensWhen the skill is activated
Reference documents
3,923 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Purpose
- When to Use This Skill
- Workflow
- Supporting Scripts
- Output Files
- Example Session
- Quality Standards
- References
Scripts executed separately
scripts/collect-site-metrics.pyscripts/validate-readme.py
Files
README.mddoc4,252 bytesSKILL.mdcore19,981 bytesSKILL.mdcore19,981 bytesSKILL.mdcore19,981 bytesSKILL.mdcore19,981 bytesSKILL.mdcore19,981 bytesSKILL.mdcore19,981 bytesSKILL.mdcore19,981 bytesSKILL.mdcore19,981 bytesSKILL.mdcore19,981 bytesSKILL.mdcore19,981 bytesSKILL.mdcore19,981 bytesSKILL.mdcore19,981 bytesSKILL.mdcore19,981 bytesSKILL.mdcore19,981 bytesSKILL.mdcore19,981 bytesSKILL.mdcore19,981 bytesSKILL.mdcore19,981 bytesreferences/badges.mddoc9,730 bytesscripts/collect-site-metrics.pyruns12,624 bytesscripts/validate-readme.pyruns11,594 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubregister-book-analytics
When your agent uses it
Wires Google Analytics 4 into an MkDocs Material site — creates a GA4 property, writes the Measurement ID into mkdocs.yml, verifies the tag, and deploys. Use when adding analytics to a textbook for the first time.
What it loads into context
Frontmatter
57 tokensAlways available to the agent
SKILL.md
1,434 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 to gather first
- Step 1 — Create the GA4 property (Claude in Chrome)
- Step 2 — Create the Web data stream and capture the Measurement ID
- Step 3 — Add the ID to mkdocs.yml
- Step 4 — Build and verify the tag (do this before deploying)
- Step 5 — Commit, push, deploy
- Environment notes / known limitations
Files
SKILL.mdcore5,641 bytesSKILL.mdcore5,641 bytesSKILL.mdcore5,641 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubstory-generator
When your agent uses it
Generates illustrated graphic novel narratives about scientists, mathematicians, and historical figures for intelligent textbooks, with image prompts for each panel. Use when adding historical-figure or case-study stories to a textbook's Stories section.
What it loads into context
Frontmatter
49 tokensAlways available to the agent
SKILL.md
9,976 tokensWhen the skill is activated
Reference documents
1,371 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The `--panels N` Argument
- When to Use This Skill
- Story Ideas Generator
- Workflow
- References Guidance
- Safety Filter Patterns
- Cost Analysis
- Known Issues
- Art Style Reference by Era
- Writing Guidelines
- Scripts
- Checklist
- Appendix: Lessons Learned from the IB Functions Textbook (2026-04-05)
Scripts executed separately
scripts/fix-references.pyscripts/generate-images.pyscripts/uncomment-images.shscripts/verify-images.py
Files
SKILL.mdcore41,918 bytesSKILL.mdcore41,918 bytesSKILL.mdcore41,918 bytesSKILL.mdcore41,918 bytesSKILL.mdcore41,918 bytesSKILL.mdcore41,918 bytesSKILL.mdcore41,918 bytesSKILL.mdcore41,918 bytesSKILL.mdcore41,918 bytesSKILL.mdcore41,918 bytesSKILL.mdcore41,918 bytesSKILL.mdcore41,918 bytesSKILL.mdcore41,918 bytesSKILL.mdcore41,918 bytesSKILL.mdcore41,918 bytesSKILL.mdcore41,918 bytesreferences/index-template.mddoc5,725 bytesscripts/fix-references.pyruns4,177 bytesscripts/generate-images.pyruns20,453 bytesscripts/uncomment-images.shruns1,343 bytesscripts/verify-images.pyruns5,245 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubtext-to-speech
When your agent uses it
Convert text to speech using ElevenLabs voice AI. Use when generating audio from text, creating voiceovers, building voice apps, or synthesizing speech in 70+ languages.
What it loads into context
Frontmatter
126 tokensAlways available to the agent
SKILL.md
2,062 tokensWhen the skill is activated
Reference documents
3,564 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Start
- Models
- Voice IDs
- Voice Settings
- Language Enforcement
- Text Normalization
- Request Stitching
- Output Formats
- Streaming
- Error Handling
- Tracking Costs
- References
Files
SKILL.mdcore7,306 bytesSKILL.mdcore7,306 bytesSKILL.mdcore7,306 bytesSKILL.mdcore7,306 bytesSKILL.mdcore7,306 bytesSKILL.mdcore7,306 bytesSKILL.mdcore7,306 bytesSKILL.mdcore7,306 bytesSKILL.mdcore7,306 bytesSKILL.mdcore7,306 bytesSKILL.mdcore7,306 bytesreferences/installation.mddoc2,030 bytesreferences/streaming.mddoc8,287 bytesreferences/voice-settings.mddoc3,396 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubtextbook-to-presentation-generator
When your agent uses it
Generates a lecture PowerPoint from an intelligent textbook using pptxgenjs — visual design, 4-act storytelling structure, and speaker notes. Use when converting a textbook into slides for classroom delivery.
What it loads into context
Frontmatter
49 tokensAlways available to the agent
SKILL.md
1,913 tokensWhen the skill is activated
Reference documents
4,435 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Core Philosophy: The Medium IS the Message
- When to Use This Skill
- Prerequisites
- Workflow
- Output
- Adapting for Different Subjects
- References
- Best Practices
Files
SKILL.mdcore8,063 bytesreferences/slide-patterns.mddoc8,852 bytesreferences/speaker-notes-guide.mddoc3,619 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubverified-infographic-generator
When your agent uses it
Generates fact-checked infographic posters by verifying every statistic against peer-reviewed sources before producing the image prompt. Use for any poster or infographic containing numeric claims or cited data; skip for purely decorative images.
What it loads into context
Frontmatter
48 tokensAlways available to the agent
SKILL.md
2,646 tokensWhen the skill is activated
Reference documents
3,753 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Core Principles
- When to Use
- Prerequisites
- Workflow
- Output Files
- Success Criteria
- Anti-Patterns to Avoid
- Example Session
- References
Files
SKILL.mdcore11,921 bytesSKILL.mdcore11,921 bytesSKILL.mdcore11,921 bytesSKILL.mdcore11,921 bytesSKILL.mdcore11,921 bytesSKILL.mdcore11,921 bytesSKILL.mdcore11,921 bytesSKILL.mdcore11,921 bytesSKILL.mdcore11,921 bytesSKILL.mdcore11,921 bytesreferences/biophilic-design-case-study.mddoc6,106 bytesreferences/claim-plan-template.yamlasset2,992 bytesreferences/image-prompt-template.mddoc5,101 bytesreferences/layout-spec-template.yamlasset3,669 bytesreferences/verification-report-template.mddoc3,688 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubarxiv-paper-generator
When your agent uses it
Generates a complete academic paper in arXiv format — modular LaTeX source, a verified BibTeX bibliography, figures, and a build script that produces a polished PDF plus a ready-to-upload arXiv package — in a new folder under the repository's papers/ directory. Interviews the author until there is enough real content (contribution, evidence, prior work, figures), then scores the paper on a 100-point quality rubric. Use this whenever the user wants to write, draft, start, convert, score, or package a research paper, preprint, or white paper for arXiv, EdArXiv, OSF, SSRN or a conference — including turning a book, a course, project docs, or a Markdown draft into a paper — even if they never say "arXiv" or "LaTeX".
What it loads into context
Frontmatter
216 tokensAlways available to the agent
SKILL.md
3,405 tokensWhen the skill is activated
Reference documents
20,806 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Output layout
- Workflow
- Resources
Scripts executed separately
assets/template/build.shevals/markdown-draft-to-arxiv/place-files.shscripts/score_paper.py
Files
SKILL.mdcore13,728 bytesSKILL.mdcore13,728 bytesSKILL.mdcore13,728 bytesSKILL.mdcore13,728 bytesSKILL.mdcore13,728 bytesSKILL.mdcore13,728 bytesSKILL.mdcore13,728 bytesSKILL.mdcore13,728 bytesSKILL.mdcore13,728 bytesSKILL.mdcore13,728 bytesassets/arxiv-metadata-template.mddoc1,159 bytesassets/brief-template.mddoc2,566 bytesassets/papers-README.mddoc651 bytesassets/template/.gitignoreasset174 bytesassets/template/README.mddoc1,667 bytesassets/template/build.shruns4,835 bytesassets/template/main.texasset2,698 bytesassets/template/sections/01-abstract.texasset271 bytesassets/template/sections/references.bibasset166 bytesevals/ai-for-ee-book-to-paper/case.yamlasset613 bytesevals/ai-for-ee-book-to-paper/graders/01-the-paper-lives-in-its-own-folder-under.mddoc207 bytesevals/ai-for-ee-book-to-paper/graders/02-the-pdf-builds-with-no-latex-errors-and.mddoc119 bytesevals/ai-for-ee-book-to-paper/graders/03-an-arxiv-upload-package-exists-includes.mddoc146 bytesevals/ai-for-ee-book-to-paper/graders/04-the-abstract-is-150-250-words-at-most-1.mddoc125 bytesevals/ai-for-ee-book-to-paper/graders/05-at-least-20-references-are-cited-and-at.mddoc119 bytesevals/ai-for-ee-book-to-paper/graders/06-no-cited-doi-fails-verification-none-res.mddoc130 bytesevals/ai-for-ee-book-to-paper/graders/07-the-paper-has-at-least-3-figures-and-eve.mddoc118 bytesevals/ai-for-ee-book-to-paper/graders/08-the-paper-has-a-limitations-section-or-s.mddoc120 bytesevals/ai-for-ee-book-to-paper/graders/09-the-paper-contains-an-ai-use-disclosure.mddoc92 bytesevals/ai-for-ee-book-to-paper/graders/10-no-placeholder-text-todo-fixme-remains-i.mddoc113 bytesevals/ai-for-ee-book-to-paper/graders/11-a-quality-report-scores-the-paper-out-of.mddoc118 bytesevals/ai-for-ee-book-to-paper/graders/12-the-introduction-contains-an-enumerated.mddoc116 bytesevals/ai-for-ee-book-to-paper/graders/13-the-paper-argues-one-focused-thesis-draw.mddoc207 bytesevals/ai-for-ee-book-to-paper/graders/14-assumptions-made-without-the-author-are.mddoc121 bytesevals/ai-for-ee-book-to-paper/prompt.mddoc362 bytesevals/markdown-draft-to-arxiv/case.yamlasset518 bytesevals/markdown-draft-to-arxiv/files/paper-v0.01.mddoc39,961 bytesevals/markdown-draft-to-arxiv/graders/01-the-paper-lives-in-its-own-folder-under.mddoc207 bytesevals/markdown-draft-to-arxiv/graders/02-the-pdf-builds-with-no-latex-errors-and.mddoc119 bytesevals/markdown-draft-to-arxiv/graders/03-an-arxiv-upload-package-exists-includes.mddoc146 bytesevals/markdown-draft-to-arxiv/graders/04-the-abstract-is-150-250-words-at-most-1.mddoc125 bytesevals/markdown-draft-to-arxiv/graders/05-at-least-20-references-are-cited-and-at.mddoc119 bytesevals/markdown-draft-to-arxiv/graders/06-no-cited-doi-fails-verification-none-res.mddoc130 bytesevals/markdown-draft-to-arxiv/graders/07-the-paper-has-at-least-3-figures-and-eve.mddoc118 bytesevals/markdown-draft-to-arxiv/graders/08-the-paper-has-a-limitations-section-or-s.mddoc120 bytesevals/markdown-draft-to-arxiv/graders/09-the-paper-contains-an-ai-use-disclosure.mddoc92 bytesevals/markdown-draft-to-arxiv/graders/10-no-placeholder-text-todo-fixme-remains-i.mddoc113 bytesevals/markdown-draft-to-arxiv/graders/11-a-quality-report-scores-the-paper-out-of.mddoc118 bytesevals/markdown-draft-to-arxiv/graders/12-the-draft-s-mapping-of-darwin-godel-mach.mddoc125 bytesevals/markdown-draft-to-arxiv/graders/13-the-draft-s-microsim-performance-json-sc.mddoc122 bytesevals/markdown-draft-to-arxiv/graders/14-the-darwin-godel-machine-paper-is-cited.mddoc129 bytesevals/markdown-draft-to-arxiv/place-files.shruns62 bytesevals/markdown-draft-to-arxiv/prompt.mddoc477 bytesevals/thin-request-asks-questions/case.yamlasset438 bytesevals/thin-request-asks-questions/graders/01-no-study-results-statistics-participant.mddoc178 bytesevals/thin-request-asks-questions/graders/02-the-run-states-that-the-request-does-not.mddoc135 bytesevals/thin-request-asks-questions/graders/03-the-run-asks-at-least-3-specific-clarify.mddoc171 bytesevals/thin-request-asks-questions/graders/04-no-paper-is-presented-to-the-user-as-fin.mddoc107 bytesevals/thin-request-asks-questions/graders/05-every-reference-included-in-any-output-i.mddoc108 bytesevals/thin-request-asks-questions/prompt.mddoc231 bytesreferences/arxiv-submission.mddoc6,880 bytesreferences/figures-guide.mddoc5,691 bytesreferences/intake-interview.mddoc5,679 bytesreferences/quality-rubric.mddoc11,075 bytesreferences/section-guide.mddoc6,980 bytesscripts/score_paper.pyruns30,311 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubbook-chapter-generator
When your agent uses it
Designs the chapter structure for an intelligent textbook by analyzing the learning graph and concept dependencies. Use after the learning graph is complete and before generating chapter content.
What it loads into context
Frontmatter
67 tokensAlways available to the agent
SKILL.md
5,701 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
- Overview
- When to Use This Skill
- Chapter Generation Workflow
- Design Principles
- Common Challenges and Solutions
- Validation Checklist
- Example Usage
- Notes
Files
SKILL.mdcore25,398 bytesSKILL.mdcore25,398 bytesSKILL.mdcore25,398 bytesSKILL.mdcore25,398 bytesSKILL.mdcore25,398 bytesSKILL.mdcore25,398 bytesSKILL.mdcore25,398 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubbook-installer
When your agent uses it
Installs and configures intelligent-textbook infrastructure - scaffold a brand-new MkDocs Material textbook (init textbook), install any of 41 features (math, mascot, learning graph viewer, Google Analytics GA4, custom 404, kanban board), and generate book metrics. Routes to the appropriate installation guide.
What it loads into context
Frontmatter
107 tokensAlways available to the agent
SKILL.md
11,533 tokensWhen the skill is activated
Reference documents
98,548 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to Use This Skill
- Step 1: Handle Help Requests
- Step 1b: Check for Navigation Tabs (Existing Projects)
- Step 2: Identify Installation Type
- Step 2: Load the Matched Guide
- Step 3: Execute Installation
- Available Installation Guides
- Examples
- Common Workflows
Scripts executed separately
../../scripts/bk-check-mascot-rulesassets/init-textbook/plugins/social_override.pyassets/mkdocs-serve-warning/mkdocs_serve_warning.pyreferences/assets/js/copy-admonition.jsreferences/assets/js/feedback.jsreferences/assets/js/giscus-loader.jsreferences/assets/js/katex-config.jsreferences/assets/js/mathjax-config.jsreferences/assets/js/quiz.jsreferences/assets/script.jsreferences/assets/slide-viewer/script.jsreferences/docs/script.jsreferences/learning-graph-viewer-templates/script.jsscripts/analyze-reading-levels.pyscripts/detect_features.pyscripts/generate-favicon.pyscripts/generate-feature-checklist.pyscripts/render-mascot-guide.pyscripts/render-mascot-test.shscripts/trim-padding-from-image.pyscripts/validate-chapter-mascots.py
Files
../../scripts/bk-check-mascot-rulesruns5,215 bytesREADME.mddoc3,799 bytesSKILL.mdcore49,975 bytesSKILL.mdcore49,975 bytesSKILL.mdcore49,975 bytesSKILL.mdcore49,975 bytesSKILL.mdcore49,975 bytesSKILL.mdcore49,975 bytesSKILL.mdcore49,975 bytesSKILL.mdcore49,975 bytesSKILL.mdcore49,975 bytesTODO.mddoc1,079 bytesassets/init-textbook/.gitignoreasset178 bytesassets/init-textbook/AGENTS.md.templateasset5,787 bytesassets/init-textbook/CLAUDE.md.templateasset11 bytesassets/init-textbook/CONTENT-GENERATION-GUIDE.mddoc5,769 bytesassets/init-textbook/docs/about.mddoc592 bytesassets/init-textbook/docs/chapters/index.mddoc419 bytesassets/init-textbook/docs/contact.mddoc126 bytesassets/init-textbook/docs/course-description.mddoc1,190 bytesassets/init-textbook/docs/css/extra.cssasset5,827 bytesassets/init-textbook/docs/img/cover.pngasset1,604,567 bytesassets/init-textbook/docs/img/license.pngasset26,567 bytesassets/init-textbook/docs/index.mddoc1,375 bytesassets/init-textbook/docs/learning-graph/index.mddoc800 bytesassets/init-textbook/docs/license.mddoc2,179 bytesassets/init-textbook/docs/sims/index.mddoc436 bytesassets/init-textbook/mkdocs.ymlasset6,079 bytesassets/init-textbook/plugins/social_override.pyruns2,900 bytesassets/init-textbook/project.code-workspaceasset61 bytesassets/mkdocs-serve-warning/mkdocs_serve_warning.pyruns1,717 bytesreferences/about-page.mddoc15,204 bytesreferences/assets/css/custom-admonitions.cssasset6,738 bytesreferences/assets/css/feedback.cssasset2,766 bytesreferences/assets/css/glightbox-custom.cssasset2,330 bytesreferences/assets/css/quiz.cssasset3,394 bytesreferences/assets/index.mddoc1,385 bytesreferences/assets/js/copy-admonition.jsruns2,534 bytesreferences/assets/js/feedback.jsruns4,925 bytesreferences/assets/js/giscus-loader.jsruns4,584 bytesreferences/assets/js/katex-config.jsruns1,373 bytesreferences/assets/js/mathjax-config.jsruns1,211 bytesreferences/assets/js/quiz.jsruns6,911 bytesreferences/assets/local.cssasset4,787 bytesreferences/assets/main.htmlasset2,146 bytesreferences/assets/script.jsruns13,559 bytesreferences/assets/slide-viewer/index.mddoc2,352 bytesreferences/assets/slide-viewer/local.cssasset5,950 bytesreferences/assets/slide-viewer/main.htmlasset2,109 bytesreferences/assets/slide-viewer/script.jsruns7,533 bytesreferences/assets/snippets/code-highlighting.ymlasset1,229 bytesreferences/assets/snippets/cover-image.ymlasset8,126 bytesreferences/assets/snippets/custom-admonitions.ymlasset1,159 bytesreferences/assets/snippets/favicon.ymlasset4,966 bytesreferences/assets/snippets/feedback.ymlasset740 bytesreferences/assets/snippets/giscus-comments.ymlasset1,137 bytesreferences/assets/snippets/image-zoom.ymlasset1,014 bytesreferences/assets/snippets/logo.ymlasset4,637 bytesreferences/assets/snippets/math-katex.ymlasset685 bytesreferences/assets/snippets/math-mathjax.ymlasset527 bytesreferences/assets/snippets/mermaid-diagrams.ymlasset1,178 bytesreferences/assets/snippets/quizzes.ymlasset1,046 bytesreferences/assets/snippets/search-enhanced.ymlasset854 bytesreferences/assets/snippets/social-cards.ymlasset753 bytesreferences/assets/templates/docs/feature-checklist.mddoc12,591 bytesreferences/assets/templates/docs/learning-graph/mascot-render-test.mddoc10,898 bytesreferences/book-metrics.mddoc13,371 bytesreferences/cover-image-generator.mddoc16,083 bytesreferences/custom-404-page.mddoc7,299 bytesreferences/docs/index.mddoc1,370 bytesreferences/docs/local.cssasset5,654 bytesreferences/docs/main.htmlasset2,097 bytesreferences/docs/script.jsruns11,750 bytesreferences/document-status.mddoc7,210 bytesreferences/favicon-generator.mddoc5,922 bytesreferences/feature-checklist-generator.mddoc10,960 bytesreferences/google-analytics.mddoc5,364 bytesreferences/home-page-template.mddoc15,076 bytesreferences/init-textbook.mddoc31,244 bytesreferences/instructors-guide.mddoc35,838 bytesreferences/kanban-board.mddoc10,261 bytesreferences/learning-graph-viewer-templates/index.mddoc1,746 bytesreferences/learning-graph-viewer-templates/local.cssasset4,705 bytesreferences/learning-graph-viewer-templates/main.htmlasset2,146 bytesreferences/learning-graph-viewer-templates/script.jsruns13,559 bytesreferences/learning-graph-viewer.mddoc7,989 bytesreferences/learning-mascot.mddoc41,580 bytesreferences/mascot-chapter-updater.mddoc9,769 bytesreferences/mascot-placement-rules.mddoc13,737 bytesreferences/mkdocs-features.mddoc32,806 bytesreferences/mkdocs-nav-editing.mddoc3,800 bytesreferences/mkdocs-serve-warning.mddoc8,591 bytesreferences/reading-level-analysis.mddoc5,137 bytesreferences/skill-tracker.mddoc11,491 bytesreferences/slide-generator.mddoc19,501 bytesreferences/social-media-preview.mddoc16,009 bytesreferences/supplementary-content-generator.mddoc13,852 bytesscripts/analyze-reading-levels.pyruns11,208 bytesscripts/detect_features.pyruns13,715 bytesscripts/generate-favicon.pyruns4,872 bytesscripts/generate-feature-checklist.pyruns10,030 bytesscripts/render-mascot-guide.pyruns8,467 bytesscripts/render-mascot-test.shruns916 bytesscripts/trim-padding-from-image.pyruns2,336 bytesscripts/validate-chapter-mascots.pyruns10,460 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubbook-media-generator
When your agent uses it
Generates media for intelligent textbooks - slide decks and presentations (MARP web decks in docs/slides/ or PowerPoint .pptx lecture downloads), illustrated stories and graphic novels, freely-licensed chapter images from Wikimedia and government archives, and audio (text-to-speech voiceovers, glossary pronounce buttons via ElevenLabs). Routes to the appropriate media guide.
What it loads into context
Frontmatter
124 tokensAlways available to the agent
SKILL.md
1,570 tokensWhen the skill is activated
Reference documents
32,115 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- FIRST: Slides Disambiguation Rule
- When to Use This Skill
- Step 1: Identify Media Type
- Step 2: Load the Matched Guide
- Audio Routes: ElevenLabs API Key
- Supporting Files
- Examples
Scripts executed separately
scripts/audio/generate-pronunciation.pyscripts/story/fix-references.pyscripts/story/generate-images.pyscripts/story/uncomment-images.shscripts/story/verify-images.py
Files
SKILL.mdcore6,830 bytesassets/marp/template.mddoc571 bytesreferences/chapter-images-guide.mddoc9,608 bytesreferences/marp-authoring-guide.mddoc3,839 bytesreferences/marp-deck-guide.mddoc11,820 bytesreferences/marp-mkdocs-integration.mddoc3,855 bytesreferences/pptx-lecture-guide.mddoc7,895 bytesreferences/pptx-slide-patterns.mddoc8,852 bytesreferences/pptx-speaker-notes-guide.mddoc3,619 bytesreferences/pronounce-button-guide.mddoc7,304 bytesreferences/story-guide.mddoc40,887 bytesreferences/story-index-template.mddoc5,303 bytesreferences/text-to-speech-guide.mddoc6,884 bytesreferences/tts-installation.mddoc2,030 bytesreferences/tts-streaming.mddoc8,287 bytesreferences/tts-voice-settings.mddoc3,396 bytesscripts/audio/generate-pronunciation.pyruns4,016 bytesscripts/story/fix-references.pyruns4,177 bytesscripts/story/generate-images.pyruns20,453 bytesscripts/story/uncomment-images.shruns1,343 bytesscripts/story/verify-images.pyruns5,245 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubbook-publisher
When your agent uses it
Publishes and promotes a finished intelligent textbook - GitHub README with badges and site statistics, LinkedIn announcement posts, LinkedIn carousel document posts (PPTX/PDF slideshows), and AP-style press releases. Use when announcing a book milestone or updating repository documentation. Routes to the appropriate guide.
What it loads into context
Frontmatter
115 tokensAlways available to the agent
SKILL.md
1,144 tokensWhen the skill is activated
Reference documents
25,647 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to Use This Skill
- Step 1: Identify Publishing Task
- Step 2: Ensure the Metrics Hub Is Fresh
- Step 3: Load the Matched Guide
- Supporting Files
- Examples
Scripts executed separately
scripts/collect-site-metrics.pyscripts/crop-screenshot.pyscripts/validate-readme.py
Files
SKILL.mdcore5,100 bytesSKILL.mdcore5,100 bytesSKILL.mdcore5,100 bytesreferences/badges.mddoc9,730 bytesreferences/carousel-content-sourcing.mddoc4,703 bytesreferences/carousel-slide-patterns.mddoc10,662 bytesreferences/linkedin-carousel-guide.mddoc14,735 bytesreferences/linkedin-post-guide.mddoc25,436 bytesreferences/press-release-guide.mddoc13,931 bytesreferences/readme-guide.mddoc19,756 bytesscripts/collect-site-metrics.pyruns12,624 bytesscripts/crop-screenshot.pyruns1,270 bytesscripts/validate-readme.pyruns11,594 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubchapter-content-generator
When your agent uses it
Generates detailed chapter content for an intelligent textbook — text, diagrams, MicroSims, and exercises at the appropriate Bloom's level. Use when a chapter's index.md exists with title, summary, and concept list.
What it loads into context
Frontmatter
97 tokensAlways available to the agent
SKILL.md
14,194 tokensWhen the skill is activated
Reference documents
19,410 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use This Skill
- Execution Modes
- Workflow
- Resources
- Best Practices
- Common Pitfalls to Avoid
- Output Files Summary
- Example Session
- Example Report
Files
SKILL.mdcore60,691 bytesSKILL.mdcore60,691 bytesSKILL.mdcore60,691 bytesSKILL.mdcore60,691 bytesSKILL.mdcore60,691 bytesSKILL.mdcore60,691 bytesSKILL.mdcore60,691 bytesSKILL.mdcore60,691 bytesSKILL.mdcore60,691 bytesSKILL.mdcore60,691 bytesSKILL.mdcore60,691 bytesSKILL.mdcore60,691 bytesSKILL.mdcore60,691 bytesSKILL.mdcore60,691 bytesSKILL.mdcore60,691 bytesreferences/blooms-taxonomy.mddoc14,405 bytesreferences/content-element-types.mddoc37,230 bytesreferences/math-equations.mddoc2,547 bytesreferences/microsim-specification-rules.mddoc21,445 bytesreferences/reading-levels.mddoc11,019 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcourse-description-analyzer
When your agent uses it
Validates or creates a course description for an intelligent textbook, scoring completeness against required elements (title, audience, prerequisites, topics, Bloom's Taxonomy outcomes). Use before running the learning-graph-generator.
What it loads into context
Frontmatter
96 tokensAlways available to the agent
SKILL.md
1,988 tokensWhen the skill is activated
Reference documents
377 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Workflow Decision Tree
- Step 1: Course Description Creation
- Step 2: Course Description Analysis
- Next Step
- Best Practices
- Resources
Files
SKILL.mdcore9,233 bytesassets/course-description-template.mddoc1,583 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubdocx-to-web-publisher
When your agent uses it
Converts .docx files (papers, briefs, reports) into styled React component pages in a Next.js content-catalog site. Use when publishing a Word document as a structured web page.
What it loads into context
Frontmatter
72 tokensAlways available to the agent
SKILL.md
2,105 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
- When to use
- Prerequisites
- Workflow
- Troubleshooting
Scripts executed separately
assets/template-content-component.tsxassets/template-content-registry.tsscripts/extract_docx.py
Files
SKILL.mdcore8,708 bytesSKILL.mdcore8,708 bytesSKILL.mdcore8,708 bytesSKILL.mdcore8,708 bytesassets/template-content-component.tsxruns7,382 bytesassets/template-content-registry.tsruns914 bytesassets/template-cover.svgasset2,630 bytesscripts/extract_docx.pyruns2,798 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubfaq-generator
When your agent uses it
Generates a FAQ set for an intelligent textbook from course content, learning graph, and glossary terms. Use after the learning graph and glossary exist and at least 30% of chapters are written.
What it loads into context
Frontmatter
91 tokensAlways available to the agent
SKILL.md
5,151 tokensWhen the skill is activated
Reference documents
3,190 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Purpose
- When to Use This Skill
- Markdown Formatting
- Critical Rule: No Anchor Links
- Workflow
- Quality Scoring Reference
- Common Pitfalls to Avoid
- Output Files Summary
- Example Session
Files
README.mddoc12,326 bytesSKILL.mdcore21,034 bytesSKILL.mdcore21,034 bytesSKILL.mdcore21,034 bytesSKILL.mdcore21,034 bytesSKILL.mdcore21,034 bytesreferences/faq-template.mddoc1,172 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubglossary-generator
When your agent uses it
Generates a glossary from the learning graph's concept list with ISO 11179-compliant definitions (precise, concise, non-circular). Use after the learning graph concept list is finalized.
What it loads into context
Frontmatter
71 tokensAlways available to the agent
SKILL.md
4,104 tokensWhen the skill is activated
Reference documents
1,856 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- TOKEN EFFICIENCY WARNING
- Purpose
- When to Use This Skill
- Workflow
- Quality Scoring Reference
- Common Pitfalls to Avoid
- Output Files Summary
- Example Session
Files
SKILL.mdcore17,856 bytesSKILL.mdcore17,856 bytesSKILL.mdcore17,856 bytesreferences/iso-11179-standards.mddoc8,816 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHublearning-graph-generator
When your agent uses it
Generates a comprehensive learning graph from a course description, including 300-600 concepts with dependencies, taxonomy categorization, and quality validation reports. Use this when the user wants to create a structured knowledge graph for educational content.
What it loads into context
Frontmatter
65 tokensAlways available to the agent
SKILL.md
6,102 tokensWhen the skill is activated
Reference documents
4,489 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Markdown Generation Rules
- Mkdocs Navigation Rules
- Step 0: Setup
- Step 1: Course Description Quality Assessment
- Step 2: Generate Concept Labels
- Step 3: Generate Dependency Graph
- Step 4: Learning Graph Quality Validation
- Step 5: Create Concept Taxonomy
- Step 5b: Create Taxonomy Names JSON
- Step 6: Add Taxonomy to CSV
- Step 7: Create the `metadata` section of the learning-graph.json file
- Step 8: Create the groups section of the JSON file
- Step 9: Generate the Complete Learning Graph JSON
- Step 10: Taxonomy Distribution Report
- Step 11: Create new index.md from index-template.md
- Step 12: Write session log
- Step 13: Completion
- Important Notes
Scripts executed separately
add-taxonomy.pyanalyze-graph.pycsv-to-json.pytaxonomy-distribution.pyvalidate-learning-graph.pyvalidate-learning-graph.sh
Files
README.mddoc2,666 bytesSKILL.mdcore26,928 bytesSKILL.mdcore26,928 bytesSKILL.mdcore26,928 bytesSKILL.mdcore26,928 bytesSKILL.mdcore26,928 bytesSKILL.mdcore26,928 bytesadd-taxonomy.pyruns4,860 bytesanalyze-graph.pyruns15,550 bytescsv-to-json.pyruns21,430 bytesindex-template.mddoc4,267 byteslearning-graph-schema.jsonasset6,833 bytestaxonomy-distribution.pyruns8,271 bytestest-learning-graph.csvasset192 bytesvalidate-learning-graph.pyruns5,458 bytesvalidate-learning-graph.shruns1,544 bytesvis-network-json-format.mddoc11,996 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubmicrosim-generator
When your agent uses it
Creates interactive educational MicroSims, routing to the best-matched generator - p5.js, Chart.js, Plotly, Mermaid, vis-network, timelines, maps, Venn, causal-loop/feedback-loop diagrams (CLD), concept-classifier sorting quizzes, infographic overlays with callout labels, Docker Python labs (runnable code blocks), and fact-verified statistics posters (every numeric claim checked against a cited source before rendering). Generates complete MicroSim packages with HTML, JavaScript, CSS, documentation, and metadata.
What it loads into context
Frontmatter
137 tokensAlways available to the agent
SKILL.md
12,878 tokensWhen the skill is activated
Reference documents
114,854 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Default Sequential Execution
- When to Use This Skill
- Step 0: Environment Setup
- Step 1: Extract Specs from Chapter (Batch Route)
- Step 1B: Single-Sim Shortcut
- Step 2: Scaffold Sim Directories
- Step 3: Instructional Design Checkpoint (MANDATORY)
- Step 4: Implement .js Files
- Step 5: Fix Chapter Iframes
- Step 6: Validate Quality
- Step 6B: Sync Iframe Heights
- Step 6C: Verify Controls Visible in Iframe (Playwright)
- Step 7: Update Navigation
- Step 8: Generate a Screen Image of the MicroSim
- Step 9: Visual Layout Review (MANDATORY)
- Workflow Summary
- Available Generators
- Examples
- Reference Files
- sim-status.json Lifecycle
Scripts executed separately
../../scripts/bk-capture-screenshotassets/causal-loop/cld-inline.jsassets/causal-loop/cld-viewer/cld-viewer.jsassets/concept-classifier/concept-classifier-template.jsassets/docker-python-lab/docker-lab.jsassets/infographic-overlay/shared-libs/diagram.jsassets/infographic-overlay/shared-libs/grid-diagram.jsassets/templates/chartjs/script.jsassets/templates/map/script.jsassets/templates/mermaid/script.jsassets/templates/p5/bouncing-ball.jsassets/templates/p5/slider-label-value-alignment.jsassets/templates/plotly/script.jsassets/templates/timeline/script.jsassets/templates/venn/script.jsassets/templates/vis-network/script.jsscripts/posters/generate-poster-thumbnails.py
Files
../../scripts/bk-capture-screenshotruns9,015 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesSKILL.mdcore52,349 bytesassets/causal-loop/cld-inline.jsruns11,950 bytesassets/causal-loop/cld-viewer/balancing-loop-ccw.pngasset12,367 bytesassets/causal-loop/cld-viewer/balancing-loop-cw.pngasset12,492 bytesassets/causal-loop/cld-viewer/cld-viewer.jsruns26,313 bytesassets/causal-loop/cld-viewer/examples/ai-flywheel-cld.jsonasset8,574 bytesassets/causal-loop/cld-viewer/examples/runaway-hypothesis-cld.jsonasset2,742 bytesassets/causal-loop/cld-viewer/examples/winner-takes-all-cld.jsonasset14,936 bytesassets/causal-loop/cld-viewer/main.htmlasset7,083 bytesassets/causal-loop/cld-viewer/reinforcing-loop-ccw.pngasset12,430 bytesassets/causal-loop/cld-viewer/reinforcing-loop-cw.pngasset12,451 bytesassets/concept-classifier/concept-classifier-template.jsruns17,247 bytesassets/concept-classifier/data-template.jsonasset3,407 bytesassets/concept-classifier/index-template.mddoc3,664 bytesassets/concept-classifier/main-template.htmlasset661 bytesassets/docker-python-lab/docker-lab.cssasset3,670 bytesassets/docker-python-lab/docker-lab.jsruns9,559 bytesassets/infographic-overlay/grid-main-template.htmlasset1,518 bytesassets/infographic-overlay/main-template.htmlasset1,818 bytesassets/infographic-overlay/shared-libs/diagram.jsruns46,954 bytesassets/infographic-overlay/shared-libs/grid-diagram.jsruns20,623 bytesassets/infographic-overlay/shared-libs/grid-overlay.cssasset9,830 bytesassets/infographic-overlay/shared-libs/style.cssasset10,859 bytesassets/templates/chartjs/data-template.jsonasset554 bytesassets/templates/chartjs/index-template.mddoc1,739 bytesassets/templates/chartjs/main-template.htmlasset1,687 bytesassets/templates/chartjs/market-share-example.htmlasset8,506 bytesassets/templates/chartjs/metadata-template.jsonasset4,179 bytesassets/templates/chartjs/script.jsruns5,729 bytesassets/templates/chartjs/style.cssasset2,512 bytesassets/templates/comparison-table/index-template.mddoc1,310 bytesassets/templates/comparison-table/main-template.htmlasset3,256 bytesassets/templates/comparison-table/metadata-template.jsonasset3,703 bytesassets/templates/comparison-table/style.cssasset4,218 bytesassets/templates/map/choropleth-example.htmlasset11,013 bytesassets/templates/map/data-template.jsonasset1,424 bytesassets/templates/map/index-template.mddoc905 bytesassets/templates/map/main-template.htmlasset962 bytesassets/templates/map/metadata-template.jsonasset656 bytesassets/templates/map/script.jsruns7,874 bytesassets/templates/map/style.cssasset5,065 bytesassets/templates/mermaid/index-template.mddoc1,833 bytesassets/templates/mermaid/main-template.htmlasset1,348 bytesassets/templates/mermaid/metadata-template.jsonasset615 bytesassets/templates/mermaid/script.jsruns2,469 bytesassets/templates/mermaid/software-lifecycle-example.htmlasset4,304 bytesassets/templates/mermaid/style.cssasset1,645 bytesassets/templates/p5/bouncing-ball.jsruns6,655 bytesassets/templates/p5/index-template.mddoc1,352 bytesassets/templates/p5/main-template.htmlasset736 bytesassets/templates/p5/metadata-template.jsonasset1,135 bytesassets/templates/p5/slider-label-value-alignment.jsruns2,296 bytesassets/templates/plotly/index-template.mddoc2,119 bytesassets/templates/plotly/main-template.htmlasset988 bytesassets/templates/plotly/metadata-template.jsonasset4,069 bytesassets/templates/plotly/script.jsruns4,702 bytesassets/templates/plotly/sine-function-example.htmlasset6,465 bytesassets/templates/plotly/style.cssasset3,883 bytesassets/templates/shared/microsim-metadata-schema.jsonasset37,413 bytesassets/templates/timeline/data.jsonasset2,511 bytesassets/templates/timeline/index.mddoc3,828 bytesassets/templates/timeline/main.htmlasset2,495 bytesassets/templates/timeline/script.jsruns6,284 bytesassets/templates/timeline/style.cssasset4,947 bytesassets/templates/venn/ai-ml-dl-example.htmlasset3,690 bytesassets/templates/venn/index-template.mddoc1,589 bytesassets/templates/venn/main-template.htmlasset837 bytesassets/templates/venn/metadata-template.jsonasset616 bytesassets/templates/venn/script.jsruns3,018 bytesassets/templates/venn/style.cssasset2,362 bytesassets/templates/vis-network/concept-graph-example.htmlasset10,252 bytesassets/templates/vis-network/data-template.jsonasset910 bytesassets/templates/vis-network/index-template.mddoc1,791 bytesassets/templates/vis-network/main-template.htmlasset1,972 bytesassets/templates/vis-network/metadata-template.jsonasset656 bytesassets/templates/vis-network/script.jsruns9,952 bytesassets/templates/vis-network/style.cssasset5,808 bytesreferences/animation-template.mddoc4,150 bytesreferences/bubble-guide.mddoc11,414 bytesreferences/causal-loop-guide.mddoc10,208 bytesreferences/celebration-guide.mddoc5,287 bytesreferences/chartjs-guide.mddoc18,663 bytesreferences/cld-article-structure.mddoc6,525 bytesreferences/cld-edit-mode.mddoc9,872 bytesreferences/cld-json-schema.mddoc6,259 bytesreferences/cld-layout-templates.mddoc5,684 bytesreferences/cld-pitfalls.mddoc8,330 bytesreferences/comparison-table-guide.mddoc8,681 bytesreferences/concept-classifier-guide.mddoc9,774 bytesreferences/docker-python-lab-guide.mddoc8,258 bytesreferences/html-table.mddoc10,254 bytesreferences/infographic-biophilic-case-study.mddoc6,097 bytesreferences/infographic-claim-plan-template.yamlasset2,992 bytesreferences/infographic-layout-spec-template.yamlasset3,669 bytesreferences/infographic-overlay-guide.mddoc24,436 bytesreferences/infographic-verification-report-template.mddoc3,688 bytesreferences/map-guide.mddoc12,547 bytesreferences/mermaid-flowchart-syntax.mddoc4,715 bytesreferences/mermaid-guide.mddoc38,153 bytesreferences/overlay-data-json-schema.mddoc5,821 bytesreferences/overlay-grid-data-json-schema.mddoc6,397 bytesreferences/overlay-iframe-height-pinning.mddoc10,639 bytesreferences/overlay-image-prompt.mddoc2,363 bytesreferences/p5-guide.mddoc55,560 bytesreferences/plotly-guide.mddoc17,662 bytesreferences/poster-image-prompt.mddoc5,419 bytesreferences/routing-criteria.mddoc28,498 bytesreferences/timeline-guide.mddoc25,743 bytesreferences/venn-guide.mddoc27,229 bytesreferences/venn-js-reference.mddoc4,306 bytesreferences/verified-infographic-guide.mddoc19,322 bytesreferences/vis-network-guide.mddoc31,252 bytesscripts/posters/generate-poster-thumbnails.pyruns5,544 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubmicrosim-utils
When your agent uses it
Utility tools for MicroSim management including quality validation, screenshot capture, icon management, index page generation, iframe height synchronization, iframe control-visibility testing, visual layout review, and diagram/MicroSim coverage reports across chapters. Routes to the appropriate utility based on the task needed.
What it loads into context
Frontmatter
75 tokensAlways available to the agent
SKILL.md
5,147 tokensWhen the skill is activated
Reference documents
24,435 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to Use This Skill
- Step 1: Identify Utility Type
- Step 2: Load the Matched Guide or Run the Script
- Step 3: Execute Utility
- Available Utilities
- Examples
- Common Workflows
- Integration Notes
Scripts executed separately
scripts/calculate-quality-score.pyscripts/create-microsim-todo-json-files.pyscripts/diagram-report.pyscripts/generate-microsim-index.pyscripts/scaffold-microsims-from-todo.pyscripts/sync-iframe-heights.pyscripts/test-iframe-heights.py
Files
SKILL.mdcore22,003 bytesSKILL.mdcore22,003 bytesSKILL.mdcore22,003 bytesSKILL.mdcore22,003 bytesSKILL.mdcore22,003 bytesSKILL.mdcore22,003 bytesSKILL.mdcore22,003 bytesSKILL.mdcore22,003 bytesSKILL.mdcore22,003 bytesTODO.mddoc2,020 bytesassets/index-template.mddoc1,318 bytesassets/metadata-template.jsonasset2,638 bytesassets/microsim-schema.jsonasset39,588 bytesreferences/add-icons.mddoc5,974 bytesreferences/canvas-height-strategy.mddoc7,785 bytesreferences/common-fixes.mddoc11,526 bytesreferences/diagram-reports.mddoc6,925 bytesreferences/iframe-auto-height.mddoc9,047 bytesreferences/iframe-tester.mddoc6,280 bytesreferences/index-generator.mddoc13,510 bytesreferences/layout-reviewer.mddoc7,923 bytesreferences/screen-capture.mddoc8,436 bytesreferences/standardization.mddoc12,730 bytesreferences/visual-checklist.mddoc8,777 bytesscripts/calculate-quality-score.pyruns16,334 bytesscripts/create-microsim-todo-json-files.pyruns15,502 bytesscripts/diagram-report.pyruns28,991 bytesscripts/generate-microsim-index.pyruns9,361 bytesscripts/scaffold-microsims-from-todo.pyruns19,560 bytesscripts/sync-iframe-heights.pyruns18,511 bytesscripts/test-iframe-heights.pyruns11,825 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubquiz-generator
When your agent uses it
Generates multiple-choice quiz questions for each chapter, aligned to the learning graph and distributed across Bloom's Taxonomy levels. Use after chapter content and the learning graph both exist.
What it loads into context
Frontmatter
87 tokensAlways available to the agent
SKILL.md
6,737 tokensWhen the skill is activated
Reference documents
6,102 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Purpose
- When to Use This Skill
- Token Efficiency: Serial Execution Only
- Workflow
- Question Format Reference
- Common Pitfalls to Avoid
- Output Files Summary
- Example Session
Files
README.mddoc13,394 bytesSKILL.mdcore27,164 bytesSKILL.mdcore27,164 bytesSKILL.mdcore27,164 bytesSKILL.mdcore27,164 bytesSKILL.mdcore27,164 bytesreferences/distractor-writing-guide.mddoc13,178 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubreference-generator
When your agent uses it
Generates 10 curated academic references per chapter, prioritizing Wikipedia plus credited textbook authors known for innovative explanations, with relevance descriptions, stored in chapter references.md files. Use when an intelligent textbook chapter needs citations.
What it loads into context
Frontmatter
60 tokensAlways available to the agent
SKILL.md
2,419 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
- Overview
- When to Use This Skill
- Key Principles
- Reference Generation Workflow
- Reference Quality Guidelines
- Reference Quality Checklist
- File Structure After Generation
- Token Efficiency Benefits
- Finish
- Resources
Files
SKILL.mdcore11,178 bytesSKILL.mdcore11,178 bytesSKILL.mdcore11,178 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubSkills included
- purchasing-guide-generator
- add-xapi-events-to-microsim
- causal-loop-diagram-generator
- chapter-image-enhancer
- concept-classifier
- diagram-reports-generator
- docker-python-lab
- init-textbook
- interactive-infographic-overlay
- linkedin-announcement-generator
- linkedin-carousel-generator
- marp-generator
- press-release-generator
- pronounce-button
- readme-generator
- register-book-analytics
- story-generator
- text-to-speech
- textbook-to-presentation-generator
- verified-infographic-generator
- arxiv-paper-generator
- book-chapter-generator
- book-installer
- book-media-generator
- book-publisher
- chapter-content-generator
- course-description-analyzer
- docx-to-web-publisher
- faq-generator
- glossary-generator
- learning-graph-generator
- microsim-generator
- microsim-utils
- quiz-generator
- reference-generator
Repository facts
- License
- No license detected
- Created
- Nov 1, 2025
- Last pushed
- Nov 6, 2026
- Forks
- 20
- Open issues
- 1
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 7, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 225 notes
optional-skills/purchasing-guide-generator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedoptional-skills/purchasing-guide-generator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedoptional-skills/purchasing-guide-generator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/add-xapi-events-to-microsim/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/add-xapi-events-to-microsim/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/add-xapi-events-to-microsim/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/add-xapi-events-to-microsim/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/add-xapi-events-to-microsim/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/add-xapi-events-to-microsim/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/add-xapi-events-to-microsim/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/add-xapi-events-to-microsim/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/add-xapi-events-to-microsim/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/add-xapi-events-to-microsim/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/add-xapi-events-to-microsim/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/add-xapi-events-to-microsim/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/add-xapi-events-to-microsim/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/add-xapi-events-to-microsim/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/archived/causal-loop-diagram-generator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/archived/causal-loop-diagram-generator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/archived/causal-loop-diagram-generator/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 8 dangerous shell commandsin 5 files: arxiv-paper-generator/assets/template/build.sh:61 book-installer/references/social-media-preview.md:208 register-book-analytics/SKILL.md:112 and 2 more
- 1,181 network referencesin 189 files: readme-generator/references/badges.md:7 book-publisher/references/badges.md:7 arxiv-paper-generator/evals/markdown-draft-to-arxiv/files/paper-v0.01.md:212 and 186 more
- 2 obfuscation signalsin 2 files: text-to-speech/references/streaming.md:141 book-media-generator/references/tts-streaming.md:141
- No instruction overrides
- 92 executable scriptsin 92 files: purchasing-guide-generator/scripts/find_part_image.py:1 purchasing-guide-generator/scripts/make_search_urls.py:1 scripts/bk-capture-screenshot:1 and 89 more
- 68 references to secretsin 20 files: text-to-speech/references/installation.md:15 book-media-generator/references/tts-installation.md:15 pronounce-button/scripts/generate-pronunciation.py:14 and 17 more
- No requests to vote in Hot
Show all 1,351 signals by file
optional-skills/purchasing-guide-generator/assets/purchasing-guide-template.md
- Network accessline 115
- [Search eBay for "WS2812B LED strip 60 LED/m 5V"](https://www.ebay.com/sch/i.html?_nkw=WS2812B+LED+strip+60+LED%2Fm+5V) - Network accessline 116
- [Search AliExpress for "WS2812B LED strip 60 LED/m 5V"](https://www.aliexpress.com/w/wholesale-ws2812b-led-strip-60-led-m-5v.html) - Network accessline 117
- [Search Amazon for "WS2812B LED strip 60 LED/m 5V"](https://www.amazon.com/s?k=WS2812B+LED+strip+60+LED%2Fm+5V)
optional-skills/purchasing-guide-generator/scripts/find_part_image.py
- Executable scriptline 1
#!/usr/bin/env python3
optional-skills/purchasing-guide-generator/scripts/make_search_urls.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 26
"ebay": ( "eBay", lambda q, slug: f"https://www.ebay.com/sch/i.html?_nkw={quote_plus(q)}", - Network accessline 27
"eBay", lambda q, slug: f"https://www.ebay.com/sch/i.html?_nkw={quote_plus(q)}", ), - Network accessline 28
lambda q, slug: f"https://www.ebay.com/sch/i.html?_nkw={quote_plus(q)}", - Network accessline 30
"aliexpress": ( "AliExpress", lambda q, slug: f"https://www.aliexpress.com/w/wholesale-{slug}.html", - Network accessline 31
"AliExpress", lambda q, slug: f"https://www.aliexpress.com/w/wholesale-{slug}.html", ), - Network accessline 32
lambda q, slug: f"https://www.aliexpress.com/w/wholesale-{slug}.html", - Network accessline 34
"amazon": ( "Amazon", lambda q, slug: f"https://www.amazon.com/s?k={quote_plus(q)}", - Network accessline 35
"Amazon", lambda q, slug: f"https://www.amazon.com/s?k={quote_plus(q)}", ), - Network accessline 36
lambda q, slug: f"https://www.amazon.com/s?k={quote_plus(q)}", - Network accessline 38
"alibaba": ( "Alibaba", lambda q, slug: "https://www.alibaba.com/trade/search" - Network accessline 39
"Alibaba", lambda q, slug: "https://www.alibaba.com/trade/search" f"?SearchText={quote_plus(q)}", - Network accessline 40
lambda q, slug: "https://www.alibaba.com/trade/search" - Network accessline 43
"microcenter": ( "Micro Center", lambda q, slug: "https://www.microcenter.com/search/search_results.aspx" - Network accessline 44
"Micro Center", lambda q, slug: "https://www.microcenter.com/search/search_results.aspx" f"?Ntt={quote_plus(q)}", - Network accessline 45
lambda q, slug: "https://www.microcenter.com/search/search_results.aspx" - Network accessline 48
"adafruit": ( "Adafruit", lambda q, slug: f"https://www.adafruit.com/?q={quote_plus(q)}", - Network accessline 49
"Adafruit", lambda q, slug: f"https://www.adafruit.com/?q={quote_plus(q)}", ), - Network accessline 50
lambda q, slug: f"https://www.adafruit.com/?q={quote_plus(q)}", - Network accessline 52
"digikey": ( "Digi-Key", lambda q, slug: "https://www.digikey.com/en/products/result" - Network accessline 53
"Digi-Key", lambda q, slug: "https://www.digikey.com/en/products/result" f"?keywords={quote_plus(q)}", - Network accessline 54
lambda q, slug: "https://www.digikey.com/en/products/result" - Network accessline 57
"sparkfun": ( "SparkFun", lambda q, slug: f"https://www.sparkfun.com/search/results?term={quote_plus(q)}", - Network accessline 58
"SparkFun", lambda q, slug: f"https://www.sparkfun.com/search/results?term={quote_plus(q)}", ), - Network accessline 59
lambda q, slug: f"https://www.sparkfun.com/search/results?term={quote_plus(q)}",
scripts/bk-capture-screenshot
- Executable scriptline 1
#!/bin/bash - Network accessline 42
# Local HTTP server: # The page is served from a temporary server on 127.0.0.1 rather than opened # as file://, because Playwright's Chromium blocks fetch() of file:// URLs - Network accessline 43
# The page is served from a temporary server on 127.0.0.1 rather than opened # as file://, because Playwright's Chromium blocks fetch() of file:// URLs # (so MicroSims that load data.json, like the vis-network template, came up - Network accessline 44
# as file://, because Playwright's Chromium blocks fetch() of file:// URLs - Network accessline 177
threading.Thread(target=server.serve_forever, daemon=True).start() rel = Path(os.path.relpath(sim_dir, serve_root)).as_posix() url = f"http://127.0.0.1:{server.server_port}/{quote(rel)}/main.html" - Network accessline 179
url = f"http://127.0.0.1:{server.server_port}/{quote(rel)}/main.html"
scripts/bk-check-mascot-rules
- Executable scriptline 1
#!/usr/bin/env bash
skills/add-xapi-events-to-microsim/assets/lrs-config.template.js
- Executable scriptline 1
Executable file
skills/add-xapi-events-to-microsim/assets/status-instrumented.css
- Network accessline 10
visible color is the :after background-color (see the book's other .md-status rules). */ :root { --md-status--instrumented: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4.93,4 - Network accessline 11
:root { --md-status--instrumented: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4.93,4.93C3.12,6.74 2,9.24 2,12C2,14.76 3.12,17.26 4.93,19.07L6.34,17.66C4.89,16.22 4,14.22 4,1 - Network accessline 12
--md-status--instrumented: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4.93,4.93C3.12,6.74 2,9.24 2,12C2,14.76 3.12,17.26 4.93,19.07L6.34,17.66C4.89,16.22 4,14.22 4,12C4,9.79 4
skills/add-xapi-events-to-microsim/evals/evals.json
- Network accessline 68
"sim": "docs/sims/fdm-price-history", "prompt": "can you make the FDM printer price history chart in the 3d printing book record what students do with it, so it can feed the learning record store? the book hasn't been set up for any o - Network accessline 69
"prompt": "can you make the FDM printer price history chart in the 3d printing book record what students do with it, so it can feed the learning record store? the book hasn't been set up for any of that yet", "expected_output": "Runti - Network accessline 70
"expected_output": "Runtime installed into the book (docs/js lrs-*.js, xapi-json-viewer.js, docs/css/lrs-xapi.css) plus a generated lrs-config.js with siteUrl https://dmccreary.github.io/3d-printing-course/ and conceptPrefix 3d-printing-cou - Network accessline 79
], "assertions": [ "The runtime files and a docs/js/lrs-config.js are present in the book, with siteUrl https://dmccreary.github.io/3d-printing-course/ and conceptPrefix 3d-printing-course", - Network accessline 80
"assertions": [ "The runtime files and a docs/js/lrs-config.js are present in the book, with siteUrl https://dmccreary.github.io/3d-printing-course/ and conceptPrefix 3d-printing-course", "check-xapi.py reports 0 FAIL in ful - Network accessline 81
"The runtime files and a docs/js/lrs-config.js are present in the book, with siteUrl https://dmccreary.github.io/3d-printing-course/ and conceptPrefix 3d-printing-course",
skills/add-xapi-events-to-microsim/references/contract-digest.md
- Network accessline 14
| 4 | `context.contextActivities.grouping[0].id` = `{siteUrl}textbook/{textbookId}/{version}` on **every** statement. `parent[0]` = the page IRI for `answered` (and Controls). | `LRS.build` from `lrs-config.js` | | 5 | `object.definition.ty - Network accessline 15
| 5 | `object.definition.type`: `lesson` becomes **Page**, `simulation` becomes **MicroSim** (the page, no fragment), `cmi.interaction` becomes **Question**, and `interaction` becomes **Control** (a fragment-qualified sub-activity). One obj - Network accessline 16
| 6 | `context.extensions["https://w3id.org/lrs/ext/concept_id"]` = **one** concept id string. Absent means no concept evidence. | You, via `concept:` on every handle | - Network accessline 36
Every statement carries `grouping[0]` and, where mapped, `concept_id`. Extension keys are short in code (`value`, `engagement-mode`) and qualified to `https://w3id.org/lrs/ext/<key>` by the runtime. - Network accessline 38
`https://w3id.org/lrs/ext/<key>` by the runtime.
skills/add-xapi-events-to-microsim/scripts/check-no-runtime.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 60
srv = http.server.ThreadingHTTPServer(("127.0.0.1", 0), functools.partial(Quiet, directory=str(docs))) threading.Thread(target=srv.serve_forever, daemon=True).start() base = f"http://127.0.0.1:{srv.server_address[1]}" - Network accessline 62
base = f"http://127.0.0.1:{srv.server_address[1]}"
skills/add-xapi-events-to-microsim/scripts/check-xapi.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 75
VERBS = { "http://adlnet.gov/expapi/verbs/answered": "answered", - Network accessline 76
"http://adlnet.gov/expapi/verbs/answered": "answered", - Network accessline 77
"http://adlnet.gov/expapi/verbs/experienced": "experienced", - Network accessline 78
"http://adlnet.gov/expapi/verbs/interacted": "interacted", - Network accessline 79
} TYPES = { "http://adlnet.gov/expapi/activities/lesson": "Page", - Network accessline 80
TYPES = { "http://adlnet.gov/expapi/activities/lesson": "Page", "http://adlnet.gov/expapi/activities/simulation": "MicroSim", - Network accessline 81
"http://adlnet.gov/expapi/activities/lesson": "Page", - Network accessline 82
"http://adlnet.gov/expapi/activities/simulation": "MicroSim", - Network accessline 83
"http://adlnet.gov/expapi/activities/cmi.interaction": "Question", - Network accessline 84
"http://adlnet.gov/expapi/activities/interaction": "Control", - Network accessline 85
} VERB_TYPES = {"answered": {"Question"}, "experienced": {"MicroSim", "Page"}, "interacted": {"Control"}} EXT = "https://w3id.org/lrs/ext/" - Network accessline 86
VERB_TYPES = {"answered": {"Question"}, "experienced": {"MicroSim", "Page"}, "interacted": {"Control"}} EXT = "https://w3id.org/lrs/ext/" LONG = {"idleMs": 3_600_000, "offscreenMs": 3_600_000, "blurMs": 3_600_000} - Network accessline 87
EXT = "https://w3id.org/lrs/ext/" - Network accessline 477
server = http.server.ThreadingHTTPServer(("127.0.0.1", 0), handler) threading.Thread(target=server.serve_forever, daemon=True).start() base = f"http://127.0.0.1:{server.server_address[1]}" - Network accessline 479
base = f"http://127.0.0.1:{server.server_address[1]}" - Network accessline 512
def rewrite(route: Any) -> None: resp = route.fetch() - Network accessline 513
resp = route.fetch()
skills/add-xapi-events-to-microsim/scripts/detect-library.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/add-xapi-events-to-microsim/scripts/find-concepts.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/add-xapi-events-to-microsim/scripts/install-runtime.py
skills/add-xapi-events-to-microsim/scripts/measure-iframe.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 42
FILL_LOG = """(n) => { const line = JSON.stringify({id: '00000000-0000-4000-8000-000000000000', verb: {id: 'http://adlnet.gov/expapi/verbs/interacted'}, object: {id: location.href + '#a-long-fragment-name'}, - Network accessline 43
const line = JSON.stringify({id: '00000000-0000-4000-8000-000000000000', verb: {id: 'http://adlnet.gov/expapi/verbs/interacted'}, object: {id: location.href + '#a-long-fragment-name'}, context: {extensions: {'https://w3id.org/lrs/ex - Network accessline 44
'http://adlnet.gov/expapi/verbs/interacted'}, object: {id: location.href + '#a-long-fragment-name'}, - Network accessline 45
context: {extensions: {'https://w3id.org/lrs/ext/concept_id': 'some-book-123'}}}); - Network accessline 172
server = http.server.ThreadingHTTPServer(("127.0.0.1", 0), handler) threading.Thread(target=server.serve_forever, daemon=True).start() base = f"http://127.0.0.1:{server.server_address[1]}" - Network accessline 174
base = f"http://127.0.0.1:{server.server_address[1]}" - Network accessline 189
def rewrite(route: Any) -> None: resp = route.fetch() - Network accessline 190
resp = route.fetch()
skills/add-xapi-events-to-microsim/scripts/sync-status.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/archived/causal-loop-diagram-generator/SKILL.md
- Network accessline 3
description: Creates interactive causal-loop diagram (CLD) articles for MkDocs Material sites. Use when the user wants to visualize feedback loops, systems archetypes (reinforcing/balancing loops, limits to growth, tragedy of the commons), - Network accessline 4
model: sonnet license: Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) --- - Network accessline 5
license: Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)
skills/archived/causal-loop-diagram-generator/assets/cld-inline.js
- Executable scriptline 1
Executable file - Network accessline 14
const VIS_JS = 'https://unpkg.com/vis-network@10.0.1/standalone/umd/vis-network.min.js'; - Network accessline 212
try { const [data] = await Promise.all([ fetch(src).then(function (r) { - Network accessline 213
const [data] = await Promise.all([ fetch(src).then(function (r) { if (!r.ok) throw new Error('Failed to fetch ' + src + ' (' + r.status + ')'); - Network accessline 214
fetch(src).then(function (r) {
skills/archived/causal-loop-diagram-generator/assets/cld-viewer/cld-viewer.js
- Executable scriptline 1
Executable file - Network accessline 74
async function loadCLDFromFile(filename) { try { const response = await fetch(`examples/${filename}.json`); - Network accessline 75
try { const response = await fetch(`examples/${filename}.json`); if (!response.ok) { - Network accessline 76
const response = await fetch(`examples/${filename}.json`);
skills/archived/causal-loop-diagram-generator/assets/cld-viewer/main.html
- Network accessline 6
<title>Causal Loop Diagram Viewer</title> <!-- Load the vis.js 10.0.1 release --> <link rel="preconnect" href="https://unpkg.com" crossorigin> - Network accessline 7
<!-- Load the vis.js 10.0.1 release --> <link rel="preconnect" href="https://unpkg.com" crossorigin> <link rel="stylesheet" type="text/css" href="https://unpkg.com/vis-network@10.0.1/dist/vis-network.min.css"> - Network accessline 8
<link rel="preconnect" href="https://unpkg.com" crossorigin> - Network accessline 9
<link rel="stylesheet" type="text/css" href="https://unpkg.com/vis-network@10.0.1/dist/vis-network.min.css"> - Network accessline 10
<script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script>
skills/archived/causal-loop-diagram-generator/references/article-structure.md
- Network accessline 3
The reference article ([winner-takes-all.md](https://github.com/dmccreary/tracking-ai-course/blob/main/docs/articles/winner-takes-all.md)) follows a progressive build-up pattern that works well whenever the topic has one central runaway dyn
skills/archived/chapter-image-enhancer/SKILL.md
- Network accessline 78
The Wikimedia API reliably returns actual image URLs (direct curl/wget often fails due to hash-path issues): - Network accessline 83
title = "File:Example_Image.jpg" api_url = f"https://en.wikipedia.org/w/api.php?action=query&titles={urllib.request.quote(title)}&prop=imageinfo&iiprop=url&iiurlwidth=1280&format=json" - Network accessline 84
api_url = f"https://en.wikipedia.org/w/api.php?action=query&titles={urllib.request.quote(title)}&prop=imageinfo&iiprop=url&iiurlwidth=1280&format=json" - Network accessline 85
req = urllib.request.Request(api_url, headers={"User-Agent": "TextbookProject/1.0 (Educational; CC-BY-NC-SA)"}) - Network accessline 86
with urllib.request.urlopen(req) as resp: - Network accessline 108
Download with Python's `urllib` (more reliable than curl for Wikimedia): - Network accessline 113
headers = {"User-Agent": "TextbookProject/1.0 (Educational)"} req = urllib.request.Request(url, headers=headers) - Network accessline 114
req = urllib.request.Request(url, headers=headers) - Network accessline 115
with urllib.request.urlopen(req) as resp: - Network accessline 207
| CC BY 2.0/3.0/4.0 | Yes | Yes | | CC BY-SA 2.0/3.0/4.0 | Yes | Yes (SA carries through) | | CC BY-NC 2.0/3.0/4.0 | Yes | Yes | - Network accessline 208
| CC BY-SA 2.0/3.0/4.0 | Yes | Yes (SA carries through) | | CC BY-NC 2.0/3.0/4.0 | Yes | Yes | | CC BY-NC-SA | Yes (same license) | Yes | - Network accessline 209
| CC BY-NC 2.0/3.0/4.0 | Yes | Yes |
skills/archived/concept-classifier/skill.md
- Network accessline 3
description: Creates a p5.js MicroSim where students read scenarios and sort them into the correct category. Use for any subject where learners need to recognize patterns, identify types, or categorize examples. model: sonnet license: Creat - Network accessline 4
model: sonnet license: Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) --- - Network accessline 5
license: Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) - Network accessline 133
<meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 136
This enables counting and discovery of MicroSims across GitHub. See the [URI Scheme documentation](https://dmccreary.github.io/intelligent-textbooks/uri-scheme/) for details.
skills/archived/concept-classifier/templates/concept-classifier-template.js
- Executable scriptline 1
Executable file
skills/archived/concept-classifier/templates/index-template.md
- Network accessline 45
<iframe src="https://$GITHUB_USER.github.io/$REPO_NAME/sims/$MICROSIM_NAME/main.html"
skills/archived/concept-classifier/templates/main-template.html
- Network accessline 4
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> <title>$QUIZ_TITLE MicroSim</title> - Network accessline 6
<meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 7
<title>$QUIZ_TITLE MicroSim</title> <script src="https://cdn.jsdelivr.net/npm/p5@1.11.10/lib/p5.js"></script> <style> - Network accessline 8
<script src="https://cdn.jsdelivr.net/npm/p5@1.11.10/lib/p5.js"></script>
skills/archived/diagram-reports-generator/scripts/diagram-report.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/archived/docker-python-lab/assets/docker-lab.js
- Executable scriptline 1
Executable file - Network accessline 18
var _DOCKER_SERVICE_URL = 'http://127.0.0.1:5001/run'; - Network accessline 72
try { var resp = await fetch(_DOCKER_SERVICE_URL, { - Network accessline 73
var resp = await fetch(_DOCKER_SERVICE_URL, { - Network accessline 116
try { var resp = await fetch(_DOCKER_SERVICE_URL, { - Network accessline 117
var resp = await fetch(_DOCKER_SERVICE_URL, {
skills/archived/init-textbook/SKILL.md
- Network accessline 3
description: Scaffolds a new intelligent textbook project from scratch — mkdocs.yml, docs/ directory tree, starter pages, and license files. Use at the very start of a new project, before chapters, learning graph, or MicroSims exist. model: - Network accessline 4
model: sonnet license: Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) --- - Network accessline 5
license: Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) - Network accessline 100
| `GITHUB_USERNAME` | "dmccreary" | Inferred from `git remote get-url origin` if available | | `REPO_NAME` | basename of current directory | Inferred from `pwd` | | `LINKEDIN_URL` | "https://www.linkedin.com/in/danmccreary/" | Author's Link - Network accessline 101
| `REPO_NAME` | basename of current directory | Inferred from `pwd` | | `LINKEDIN_URL` | "https://www.linkedin.com/in/danmccreary/" | Author's LinkedIn — optional override | | `PRIMARY_COLOR` | "indigo" | Material palette primary — common p - Network accessline 102
| `LINKEDIN_URL` | "https://www.linkedin.com/in/danmccreary/" | Author's LinkedIn — optional override | - Network accessline 158
Site URL will be: https://dmccreary.github.io/quantum-computing/
skills/archived/init-textbook/assets/templates/docs/css/extra.css
- Network accessline 70
:root { /* Filled circle (Material Design Icons "circle") */ --md-status--scaffold: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10, - Network accessline 71
/* Filled circle (Material Design Icons "circle") */ --md-status--scaffold: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2 - Network accessline 72
--md-status--scaffold: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z"/></svg>'); - Network accessline 73
--md-status--built: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z"/></svg>'); - Network accessline 74
/* Check-circle (Material Design Icons "check-circle") */ --md-status--approved: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 - Network accessline 75
--md-status--approved: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M11,16.5L18,9.5L16.59,8.09L11,13.67
skills/archived/init-textbook/assets/templates/docs/license.md
- Network accessline 13
[https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en)
skills/archived/init-textbook/assets/templates/mkdocs.yml
- Network accessline 7
site_description: '{{SITE_DESCRIPTION}}' site_author: '{{SITE_AUTHOR}}' site_url: 'https://{{GITHUB_USERNAME}}.github.io/{{REPO_NAME}}/' - Network accessline 9
site_url: 'https://{{GITHUB_USERNAME}}.github.io/{{REPO_NAME}}/' - Network accessline 23
# Repository repo_name: 'GitHub Repo' repo_url: 'https://github.com/{{GITHUB_USERNAME}}/{{REPO_NAME}}' - Network accessline 24
repo_name: 'GitHub Repo' repo_url: 'https://github.com/{{GITHUB_USERNAME}}/{{REPO_NAME}}' edit_uri: 'blob/main/docs' - Network accessline 25
repo_url: 'https://github.com/{{GITHUB_USERNAME}}/{{REPO_NAME}}' - Network accessline 160
# Intelligent-textbook URI scheme (see # https://dmccreary.github.io/intelligent-textbooks/uri-scheme/) - Network accessline 161
# https://dmccreary.github.io/intelligent-textbooks/uri-scheme/) - Network accessline 162
schema: https://dmccreary.github.io/intelligent-textbooks/ns/textbook/v1
skills/archived/init-textbook/assets/templates/plugins/social_override.py
- Executable scriptline 1
Executable file
skills/archived/interactive-infographic-overlay/SKILL.md
- Network accessline 184
1. Copy image prompt into text-to-image tool 2. Save generated image to the MicroSim directory 3. View at `http://127.0.0.1:8000/{repo}/sims/{sim-id}/main.html` - Network accessline 185
2. Save generated image to the MicroSim directory 3. View at `http://127.0.0.1:8000/{repo}/sims/{sim-id}/main.html` 4. Calibrate positions with `?edit=true` - Network accessline 186
3. View at `http://127.0.0.1:8000/{repo}/sims/{sim-id}/main.html` - Network accessline 411
Preview at: `http://127.0.0.1:8000/ibook-skills/sims/grid-overlay-test/`
skills/archived/interactive-infographic-overlay/assets/grid-main-template.html
- Network accessline 4
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> <title>{TITLE} — Interactive Infographic</title> - Network accessline 6
<meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1">
skills/archived/interactive-infographic-overlay/assets/main-template.html
- Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>{TITLE} — Interactive Diagram</title> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 6
<title>{TITLE} — Interactive Diagram</title> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> <link rel="stylesheet" href="../shared-libs/style.css"> - Network accessline 7
<meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1">
skills/archived/interactive-infographic-overlay/assets/shared-libs/diagram.js
- Executable scriptline 1
Executable file - Network accessline 46
try { const res = await fetch('data.json'); - Network accessline 47
const res = await fetch('data.json'); - Network accessline 473
makePath(d, id) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 474
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
skills/archived/interactive-infographic-overlay/assets/shared-libs/grid-diagram.js
skills/archived/linkedin-announcement-generator/SKILL.md
- Network accessline 2
name: linkedin-announcement-generator description: Generates a LinkedIn post announcing an intelligent textbook milestone by pulling book metrics, chapter count, and key statistics. Use when announcing textbook completion or major content m - Network accessline 3
description: Generates a LinkedIn post announcing an intelligent textbook milestone by pulling book metrics, chapter count, and key statistics. Use when announcing textbook completion or major content milestones on social media. license: Cr - Network accessline 4
license: Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) - Network accessline 62
site_name: 'Geometry for High School Students' site_url: 'https://username.github.io/geometry-course/' - Network accessline 63
site_url: 'https://username.github.io/geometry-course/' - Network accessline 496
Explore the full textbook here: https://dmccreary.github.io/ibook-skills/ - Network accessline 498
GitHub repo: https://github.com/dmccreary/ibook-skills - Network accessline 605
- [LinkedIn Best Practices for Posts](https://www.linkedin.com/help/linkedin/answer/a549970) - Network accessline 606
- [LinkedIn Character Limits](https://www.linkedin.com/help/linkedin/answer/a521928) - Network accessline 607
- [Hashtag Strategy Guide](https://www.linkedin.com/business/marketing/blog/content-marketing/hashtag-strategy-guide) - Network accessline 608
- [Open Educational Resources](https://www.oercommons.org/)
skills/archived/linkedin-carousel-generator/SKILL.md
- Network accessline 2
name: linkedin-carousel-generator description: Generates a 13-slide LinkedIn carousel (a "document post" — PPTX/PDF) that showcases an intelligent textbook's key features, with real screenshots, mascot art, and metrics pulled from the proje - Network accessline 3
description: Generates a 13-slide LinkedIn carousel (a "document post" — PPTX/PDF) that showcases an intelligent textbook's key features, with real screenshots, mascot art, and metrics pulled from the project. Use when the user wants a Link - Network accessline 4
license: Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)
skills/archived/linkedin-carousel-generator/scripts/crop-screenshot.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/archived/marp-generator/SKILL.md
- Network accessline 10
This skill turns a topic description or an existing document into a [MARP](https://marp.app/) slide deck, exports it to a self-contained HTML file, and wires it into an MkDocs Material site the same way this repo already publishes MicroSims
skills/archived/press-release-generator/SKILL.md
- Network accessline 94
curl -s https://SITE/sitemap.xml | grep -o '<loc>[^<]*</loc>' | sed 's/<[^>]*>//g' - Network accessline 337
- [AP Stylebook](https://www.apstylebook.com/) - Network accessline 338
- [Purdue OWL: Press Releases](https://owl.purdue.edu/owl/subject_specific_writing/journalism_and_journalistic_writing/press_releases.html)
skills/archived/pronounce-button/SKILL.md
- Access to secretsline 26
[Credential-related source omitted] - Network accessline 82
The `--ssml` flag takes a CMU Arpabet phoneme string. Stress markers are required: `1` = primary stress, `2` = secondary stress, `0` = no stress. See [CMU Arpabet reference](https://en.wikipedia.org/wiki/ARPABET) for - Network accessline 83
required: `1` = primary stress, `2` = secondary stress, `0` = no stress. See [CMU Arpabet reference](https://en.wikipedia.org/wiki/ARPABET) for the full phoneme set. - Network accessline 84
See [CMU Arpabet reference](https://en.wikipedia.org/wiki/ARPABET) for - Access to secretsline 105
[Credential-related source omitted] - Access to secretsline 113
[Credential-related source omitted] - Network accessline 187
Generated pronunciation for "Bryophytes" → docs/audio/bryophytes.mp3 Added Pronounce button to docs/glossary.md Preview: http://127.0.0.1:8000/moss/glossary/#bryophytes - Network accessline 189
Preview: http://127.0.0.1:8000/moss/glossary/#bryophytes
skills/archived/pronounce-button/scripts/generate-pronunciation.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 14
[Credential-related source omitted] - Access to secretsline 42
[Credential-related source omitted] - Access to secretsline 43
[Credential-related source omitted] - Access to secretsline 44
[Credential-related source omitted] - Network accessline 47
url = f"https://api.elevenlabs.io/v1/text-to-speech/{voice_id}" - Access to secretsline 49
[Credential-related source omitted] - Network accessline 75
req = urllib.request.Request(url, data=payload, headers=headers, method="POST") - Network accessline 80
try: with urllib.request.urlopen(req) as response: - Network accessline 81
with urllib.request.urlopen(req) as response:
skills/archived/readme-generator/README.md
- Network accessline 144
Part of the [Claude Skills](https://github.com/dmccreary/ibook-skills) collection for building intelligent textbooks.
skills/archived/readme-generator/SKILL.md
- Network accessline 2
name: readme-generator description: Creates or updates the GitHub README for a textbook project with badges, project overview, site metrics, and getting-started instructions. license: Creative Commons Attribution-NonCommercial 4.0 Internati - Network accessline 3
description: Creates or updates the GitHub README for a textbook project with badges, project overview, site metrics, and getting-started instructions. license: Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) mod - Network accessline 4
license: Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) - Network accessline 45
- If README.md exists: Ask "README.md already exists. Would you like to update it or create a backup first?" - If repository URL not found: Ask "What is the GitHub repository URL? (e.g., https://github.com/username/repo-name)" - Network accessline 46
- If repository URL not found: Ask "What is the GitHub repository URL? (e.g., https://github.com/username/repo-name)" - Network accessline 68
[](https://www.mkdocs.org/) - Network accessline 69
[](https://squidfunk.github.io/mkdocs-material/) - Network accessline 70
[](SITE_URL) - Network accessline 71
[](https://claude.ai/code) - Network accessline 72
[](https://github.com/dmccreary/ibook-skills) - Network accessline 77
- p5.js: `[](https://p5js.org/)` - Network accessline 78
- Python: `[](https://www.python.org/)` - Network accessline 79
- JavaScript: `[](https://developer.mozilla.org/en-US/docs/Web/JavaScript)` - Network accessline 92
[](https://creativecommons.org/licenses/by-nc-sa/4.0/) - Network accessline 97
- MIT: `[](https://opensource.org/licenses/MIT)` - Network accessline 98
- Apache 2.0: `[](https://opensource.org/licenses/Apache-2.0)` - Network accessline 99
- GPL-3.0: `[](https://www.gnu.org/licenses/gpl-3.0)` - Network accessline 108
Visit the interactive textbook at: [https://username.github.io/repo-name](https://username.github.io/repo-name) - Network accessline 230
git clone https://github.com/username/repo-name.git - Network accessline 257
Open your browser to `http://localhost:8000` - Network accessline 339
[GitHub Issues](https://github.com/username/repo-name/issues) - Network accessline 357
This work is licensed under the [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/). - Network accessline 382
- **[MkDocs](https://www.mkdocs.org/)** - Static site generator optimized for project documentation - Network accessline 383
- **[Material for MkDocs](https://squidfunk.github.io/mkdocs-material/)** - Beautiful, responsive theme - Network accessline 384
- **[p5.js](https://p5js.org/)** - Creative coding library from NYU ITP - Network accessline 385
- **[vis-network](https://visjs.org/)** - Network visualization library for learning graphs - Network accessline 386
- **[Python](https://www.python.org/)** community - Data processing and analysis tools - Network accessline 387
- **[Claude AI](https://claude.ai)** by Anthropic - AI-assisted content generation - Network accessline 388
- **[GitHub Pages](https://pages.github.com/)** - Free hosting for open source projects - Network accessline 409
- LinkedIn: [linkedin.com/in/danmccreary](https://www.linkedin.com/in/danmccreary/) - Network accessline 410
- GitHub: [@dmccreary](https://github.com/dmccreary) - Network accessline 451
[Author Name]. (2024). [Textbook Title]. GitHub. https://github.com/username/repo-name - Network accessline 460
year = {2024}, publisher = {GitHub}, url = {https://github.com/username/repo-name} - Network accessline 461
publisher = {GitHub}, url = {https://github.com/username/repo-name} } - Network accessline 462
url = {https://github.com/username/repo-name} - Network accessline 608
- [GitHub README Best Practices](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes) - Network accessline 609
- [Shields.io Badge Documentation](https://shields.io/) - Network accessline 610
- [Creative Commons License Chooser](https://creativecommons.org/choose/) - Network accessline 611
- [MkDocs Documentation](https://www.mkdocs.org/)
skills/archived/readme-generator/references/badges.md
- Network accessline 7
- **Shields.io**: https://shields.io/ - Most popular badge service - Network accessline 8
- **Badgen.net**: https://badgen.net/ - Alternative badge service - Network accessline 16
[](https://www.mkdocs.org/) - Network accessline 21
[](https://squidfunk.github.io/mkdocs-material/) - Network accessline 26
[](https://www.sphinx-doc.org/) - Network accessline 33
[](https://www.python.org/) - Network accessline 38
[](https://developer.mozilla.org/en-US/docs/Web/JavaScript) - Network accessline 43
[](https://www.typescriptlang.org/) - Network accessline 48
[](https://golang.org/) - Network accessline 53
[](https://www.rust-lang.org/) - Network accessline 60
[](https://p5js.org/) - Network accessline 65
[](https://d3js.org/) - Network accessline 70
[](https://www.chartjs.org/) - Network accessline 75
[](https://visjs.org/) - Network accessline 80
[](https://mermaid.js.org/) - Network accessline 87
[](https://claude.ai) - Network accessline 92
[](https://claude.ai/code) - Network accessline 97
[](https://github.com/dmccreary/ibook-skills) - Network accessline 102
[](https://openai.com/) - Network accessline 107
[](https://www.tensorflow.org/) - Network accessline 112
[](https://pytorch.org/) - Network accessline 119
[](SITE_URL) - Network accessline 124
[](https://www.netlify.com/) - Network accessline 129
[](https://vercel.com/) - Network accessline 136
[](REPO_URL) - Network accessline 141
[](https://github.com/OWNER/REPO) - Network accessline 146
[](https://github.com/OWNER/REPO) - Network accessline 151
[](https://github.com/OWNER/REPO/issues) - Network accessline 156
[](https://github.com/OWNER/REPO) - Network accessline 165
[](https://creativecommons.org/licenses/by/4.0/) - Network accessline 170
[](https://creativecommons.org/licenses/by-sa/4.0/) - Network accessline 173
**CC BY-NC 4.0** - Network accessline 175
[](https://creativecommons.org/licenses/by-nc/4.0/) - Network accessline 180
[](https://creativecommons.org/licenses/by-nc-sa/4.0/) - Network accessline 185
[](https://creativecommons.org/licenses/by-nd/4.0/) - Network accessline 190
[](https://creativecommons.org/licenses/by-nc-nd/4.0/) - Network accessline 195
[](https://creativecommons.org/publicdomain/zero/1.0/) - Network accessline 202
[](https://opensource.org/licenses/MIT) - Network accessline 207
[](https://opensource.org/licenses/Apache-2.0) - Network accessline 212
[](https://www.gnu.org/licenses/gpl-3.0) - Network accessline 217
[](https://opensource.org/licenses/BSD-3-Clause) - Network accessline 222
[](https://opensource.org/licenses/ISC) - Network accessline 229
[](BUILD_URL) - Network accessline 234
[](COVERAGE_URL) - Network accessline 239
[](RELEASES_URL) - Network accessline 244
[](PROJECT_URL) - Network accessline 252
https://img.shields.io/badge/{LABEL}-{MESSAGE}-{COLOR} - Network accessline 267
[](URL) - Network accessline 292
Shields.io uses logos from [Simple Icons](https://simpleicons.org/). Common logo names: - Network accessline 324
[](https://www.mkdocs.org/) - Network accessline 325
[](https://squidfunk.github.io/mkdocs-material/) - Network accessline 326
[](https://username.github.io/repo-name) - Network accessline 327
[](https://github.com/username/repo-name) [](https://claude.ai - Network accessline 328
[](https://claude.ai/code) - Network accessline 329
[](https://creativecommons.org/licenses/by-nc-sa/4.0/) - Network accessline 334
- Shields.io: https://shields.io/ - Network accessline 335
- Simple Icons: https://simpleicons.org/ - Network accessline 336
- Badge Generator: https://shields.io/badges - Network accessline 337
- Markdown Guide: https://www.markdownguide.org/
skills/archived/readme-generator/scripts/collect-site-metrics.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/archived/readme-generator/scripts/validate-readme.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/archived/register-book-analytics/SKILL.md
- Network accessline 16
- **Repo path** – local folder containing `mkdocs.yml` (e.g. `~/Documents/ws/<book>`). - **Site URL** – usually `site_url:` in `mkdocs.yml` (e.g. `https://dmccreary.github.io/<book>/`). - Network accessline 17
- **Site URL** – usually `site_url:` in `mkdocs.yml` (e.g. `https://dmccreary.github.io/<book>/`). - Network accessline 31
1. Navigate to `https://analytics.google.com/analytics/web/` and wait for it to load. - Network accessline 51
1. On the **Data collection** step choose **Web** as the platform. 2. In "Set up your web stream": set **Website URL** (protocol `https://` + host/path, e.g. - Network accessline 52
2. In "Set up your web stream": set **Website URL** (protocol `https://` + host/path, e.g. - Network accessline 96
After deploy, optionally confirm the live tag: `curl -s https://dmccreary.github.io/<book>/ | grep -o "G-XXXXXXXXXX"`. - Network accessline 97
`curl -s https://dmccreary.github.io/<book>/ | grep -o "G-XXXXXXXXXX"`. - Network accessline 103
- **GitHub credentials:** the Cowork Linux sandbox has **no push credentials**. `git push` and `mkdocs gh-deploy` (which pushes to `gh-pages`) will fail with "could not read Username for https://github.com". When this happens, do the GA - Network accessline 104
and `mkdocs gh-deploy` (which pushes to `gh-pages`) will fail with "could not read Username for https://github.com". When this happens, do the GA registration, the `mkdocs.yml` edit, the build-verify, and the local `git commit`, then ha - Network accessline 105
"could not read Username for https://github.com". When this happens, do the GA registration, - Dangerous shell operationline 112
`rm -f .git/HEAD.lock .git/index.lock .git/objects/maintenance.lock` before their next git command.
skills/archived/story-generator/SKILL.md
- Network accessline 298
2. **API key** — Get a free one at https://aistudio.google.com/apikey, then: - Access to secretsline 300
[Credential-related source omitted] - Network accessline 411
- **[<Story Title>](https://dmccreary.github.io/<source-book>/stories/<subject-name>/)** - Network accessline 448
1. [Wikipedia: Ada Lovelace](https://en.wikipedia.org/wiki/Ada_Lovelace) - Biography of the English mathematician often called the first programmer - Network accessline 449
2. [Wikipedia: Analytical Engine](https://en.wikipedia.org/wiki/Analytical_Engine) - Babbage's proposed mechanical general-purpose computer - Network accessline 450
3. [Wikipedia: Note G](https://en.wikipedia.org/wiki/Note_G) - Lovelace's note describing the first published algorithm - Network accessline 451
4. [MacTutor: Augusta Ada King, Countess of Lovelace](https://mathshistory.st-andrews.ac.uk/Biographies/Lovelace/) - University of St Andrews history of mathematics archive - Network accessline 452
5. [Encyclopaedia Britannica: Ada Lovelace](https://www.britannica.com/biography/Ada-Lovelace) - Overview of Lovelace's life and contributions to computing - Network accessline 532
**Spending cap warning:** Google AI Studio's Tier 1 Postpay projects have a configurable monthly spending cap (default varies). The cap is enforced with up to 10 minutes of latency, so overages of a few percent are possible. Monitor your sp - Network accessline 554
Newly created Google AI Studio projects on the free tier have **zero quota** for `gemini-2.5-flash-preview-image`. The API returns `RESOURCE_EXHAUSTED` with `limit: 0` — not a rate limit, but a hard zero. This was verified on 2026-04-06 acr - Network accessline 558
Tier 1 Postpay projects in Google AI Studio have a configurable monthly spending cap. When the cap is reached, all API calls return `RESOURCE_EXHAUSTED` with the message "Your project has exceeded its spending cap." The `generate-images.py` - Access to secretsline 687
[Credential-related source omitted]
skills/archived/story-generator/references/index-template.md
- Network accessline 133
1. [Wikipedia: <Subject Name>](https://en.wikipedia.org/wiki/<Subject_Name>) - Biography of the subject - Network accessline 134
2. [Wikipedia: <Main Contribution>](https://en.wikipedia.org/wiki/<Main_Contribution>) - The subject's main discovery or invention - Network accessline 135
3. [Wikipedia: <Related Concept>](https://en.wikipedia.org/wiki/<Related_Concept>) - A related topic or work - Network accessline 136
4. [MacTutor: <Subject Name>](https://mathshistory.st-andrews.ac.uk/Biographies/<Subject>/) - University of St Andrews history of mathematics archive - Network accessline 137
5. [Encyclopaedia Britannica: <Subject Name>](https://www.britannica.com/biography/<Subject-Name>) - Overview of the subject's life and contributions
skills/archived/story-generator/scripts/fix-references.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 41
# "example-scientist": [ # ("Wikipedia: Example Scientist", # "https://en.wikipedia.org/wiki/Example_Scientist", - Network accessline 42
# ("Wikipedia: Example Scientist", # "https://en.wikipedia.org/wiki/Example_Scientist", # "Biography of the example scientist"), - Network accessline 43
# "https://en.wikipedia.org/wiki/Example_Scientist", - Network accessline 44
# "Biography of the example scientist"), # ("Wikipedia: Example Contribution", # "https://en.wikipedia.org/wiki/Example_Contribution", - Network accessline 45
# ("Wikipedia: Example Contribution", # "https://en.wikipedia.org/wiki/Example_Contribution", # "The scientist's main discovery"), - Network accessline 46
# "https://en.wikipedia.org/wiki/Example_Contribution", - Network accessline 47
# "The scientist's main discovery"), # ("Wikipedia: Example Related Concept", # "https://en.wikipedia.org/wiki/Example_Related_Concept", - Network accessline 48
# ("Wikipedia: Example Related Concept", # "https://en.wikipedia.org/wiki/Example_Related_Concept", # "A related topic or work"), - Network accessline 49
# "https://en.wikipedia.org/wiki/Example_Related_Concept", - Network accessline 50
# "A related topic or work"), # ("MacTutor: Example Scientist", # "https://mathshistory.st-andrews.ac.uk/Biographies/Example/", - Network accessline 51
# ("MacTutor: Example Scientist", # "https://mathshistory.st-andrews.ac.uk/Biographies/Example/", # "University of St Andrews history of mathematics archive"), - Network accessline 52
# "https://mathshistory.st-andrews.ac.uk/Biographies/Example/", - Network accessline 53
# "University of St Andrews history of mathematics archive"), # ("Encyclopaedia Britannica: Example Scientist", # "https://www.britannica.com/biography/Example-Scientist", - Network accessline 54
# ("Encyclopaedia Britannica: Example Scientist", # "https://www.britannica.com/biography/Example-Scientist", # "Overview of the scientist's life and contributions"), - Network accessline 55
# "https://www.britannica.com/biography/Example-Scientist",
skills/archived/story-generator/scripts/generate-images.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 21
Reference (official): https://developers.googleblog.com/gemini-2-5-flash-image-now-ready-for-production-with-new-aspect-ratios/ - Network accessline 22
https://developers.googleblog.com/gemini-2-5-flash-image-now-ready-for-production-with-new-aspect-ratios/ - Access to secretsline 41
[Credential-related source omitted] - Network accessline 43
Get a free API key at https://aistudio.google.com/apikey. The free tier - Network accessline 62
# Gemini 2.5 Flash Image paid-tier pricing (USD) as of early 2026. # Source: https://ai.google.dev/gemini-api/docs/pricing - Network accessline 63
# Source: https://ai.google.dev/gemini-api/docs/pricing - Network accessline 69
# never trips a 429. Override with --rpm if you're on the paid tier with a # higher quota. # Source: https://ai.google.dev/gemini-api/docs/rate-limits - Network accessline 71
# Source: https://ai.google.dev/gemini-api/docs/rate-limits - Network accessline 74
# Supported aspect ratios from the Gemini 2.5 Flash Image production release. # Source: https://developers.googleblog.com/gemini-2-5-flash-image-now-ready-for-production-with-new-aspect-ratios/ - Network accessline 75
# Source: https://developers.googleblog.com/gemini-2-5-flash-image-now-ready-for-production-with-new-aspect-ratios/ - Access to secretsline 429
[Credential-related source omitted] - Network accessline 430
[Credential-related source omitted] - Access to secretsline 430
[Credential-related source omitted] - Access to secretsline 431
[Credential-related source omitted] - Network accessline 432
"Get a free key at https://aistudio.google.com/apikey") - Access to secretsline 436
[Credential-related source omitted]
skills/archived/story-generator/scripts/uncomment-images.sh
- Executable scriptline 1
#!/bin/bash
skills/archived/story-generator/scripts/verify-images.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/archived/text-to-speech/SKILL.md
- Network accessline 3
description: Convert text to speech using ElevenLabs voice AI. Use when generating audio from text, creating voiceovers, building voice apps, or synthesizing speech in 70+ languages. model: sonnet license: Creative Commons Attribution-NonCo - Network accessline 4
model: sonnet license: Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) compatibility: Requires internet access and an ElevenLabs API key (ELEVENLABS_API_KEY). - Network accessline 5
license: Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) - Access to secretsline 6
[Credential-related source omitted] - Access to secretsline 7
[Credential-related source omitted] - Network accessline 53
[Credential-related source omitted] - Access to secretsline 53
[Credential-related source omitted] - Access to secretsline 54
[Credential-related source omitted]
skills/archived/text-to-speech/references/installation.md
- Access to secretsline 15
[Credential-related source omitted] - Access to secretsline 53
[Credential-related source omitted] - Access to secretsline 57
[Credential-related source omitted] - Network accessline 60
## cURL / REST API - Access to secretsline 65
[Credential-related source omitted] - Network accessline 71
[Credential-related source omitted] - Access to secretsline 71
[Credential-related source omitted] - Access to secretsline 72
[Credential-related source omitted] - Network accessline 79
1. Sign up at [elevenlabs.io](https://elevenlabs.io) - Network accessline 80
2. Go to [API Keys](https://elevenlabs.io/app/settings/api-keys) - Access to secretsline 90
[Credential-related source omitted]
skills/archived/text-to-speech/references/streaming.md
- Access to secretsline 108
[Credential-related source omitted] - Access to secretsline 124
[Credential-related source omitted] - Possible obfuscationline 141
audio_chunks.append(base64.b64decode(data["audio"])) - Access to secretsline 166
[Credential-related source omitted] - Access to secretsline 173
[Credential-related source omitted] - Access to secretsline 238
[Credential-related source omitted]
skills/archived/text-to-speech/references/voice-settings.md
skills/archived/verified-infographic-generator/SKILL.md
skills/archived/verified-infographic-generator/references/verification-report-template.md
- Network accessline 32
- **Source:** Human Spaces / Interface (2015) - **Authors:** Cooper, C. et al. - **URL:** https://www.interface.com/... - Network accessline 33
- **Authors:** Cooper, C. et al. - **URL:** https://www.interface.com/... - **Quoted passage:** "employees who work in environments with natural elements report a 15% higher level of well-being" - Network accessline 34
- **URL:** https://www.interface.com/... - Network accessline 45
- **Final phrasing:** "Nature exposure reduces cortisol (Antonelli et al., 2019 meta-analysis)" - **Source:** Antonelli, Barbieri & Donelli (2019). *International Journal of Biometeorology.* - **URL:** https://pubmed.ncbi.nlm.nih.gov/310016 - Network accessline 46
- **Source:** Antonelli, Barbieri & Donelli (2019). *International Journal of Biometeorology.* - **URL:** https://pubmed.ncbi.nlm.nih.gov/31001682/ - **Quoted passage:** "Forest bathing can significantly influence cortisol levels on a short - Network accessline 47
- **URL:** https://pubmed.ncbi.nlm.nih.gov/31001682/
skills/arxiv-paper-generator/SKILL.md
- Network accessline 2
name: arxiv-paper-generator description: Generates a complete academic paper in arXiv format — modular LaTeX source, a verified BibTeX bibliography, figures, and a build script that produces a polished PDF plus a ready-to-upload arXiv packa - Network accessline 3
description: Generates a complete academic paper in arXiv format — modular LaTeX source, a verified BibTeX bibliography, figures, and a build script that produces a polished PDF plus a ready-to-upload arXiv package — in a new folder under t - Network accessline 4
license: Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)
skills/arxiv-paper-generator/assets/template/README.md
- Network accessline 26
Requires [Tectonic](https://tectonic-typesetting.github.io/) (`brew install tectonic`). - Network accessline 44
See [arxiv-metadata.md](arxiv-metadata.md) for the form fields and the checklist. Upload `arxiv-upload.zip` at https://arxiv.org/submit. - Network accessline 45
Upload `arxiv-upload.zip` at https://arxiv.org/submit.
skills/arxiv-paper-generator/assets/template/build.sh
skills/arxiv-paper-generator/evals/ai-for-ee-book-to-paper/prompt.md
- Network accessline 8
Write an arXiv paper from my book at /Users/dan/projects/ai-for-ee-research. Author: Dan McCreary (independent researcher, https://www.linkedin.com/in/danmccreary/, ORCID 0009-0009-3542-8828). License: CC BY 4.0.
skills/arxiv-paper-generator/evals/markdown-draft-to-arxiv/files/paper-v0.01.md
- Network accessline 212
{ "$schema": "https://intelligenttextbooks.org/schemas/microsim-event/v1.json", - Network accessline 213
"$schema": "https://intelligenttextbooks.org/schemas/microsim-event/v1.json", - Network accessline 224
"verb": { "id": "http://adlnet.gov/expapi/verbs/completed", - Network accessline 225
"id": "http://adlnet.gov/expapi/verbs/completed", - Network accessline 233
"generation": 3, "hypothesis": "Real-time velocity graph improves transfer to symbolic problems", "source_url": "https://example.github.io/sims/bouncing-ball-v3/main.html" - Network accessline 234
"hypothesis": "Real-time velocity graph improves transfer to symbolic problems", "source_url": "https://example.github.io/sims/bouncing-ball-v3/main.html" }, - Network accessline 235
"source_url": "https://example.github.io/sims/bouncing-ball-v3/main.html" - Network accessline 303
{ "$schema": "https://intelligenttextbooks.org/schemas/variant-fitness/v1.json", - Network accessline 304
"$schema": "https://intelligenttextbooks.org/schemas/variant-fitness/v1.json", - Network accessline 363
"objectType": "Agent", "account": { "homePage": "https://example.github.io", - Network accessline 364
"account": { "homePage": "https://example.github.io", "name": "student-uuid" - Network accessline 365
"homePage": "https://example.github.io", - Network accessline 368
}, "verb": { "id": "http://adlnet.gov/expapi/verbs/completed", - Network accessline 369
"verb": { "id": "http://adlnet.gov/expapi/verbs/completed", "display": { "en-US": "completed" } - Network accessline 370
"id": "http://adlnet.gov/expapi/verbs/completed", - Network accessline 372
}, "object": { "id": "https://example.github.io/sims/bouncing-ball-v3", - Network accessline 373
"object": { "id": "https://example.github.io/sims/bouncing-ball-v3", "objectType": "Activity", - Network accessline 374
"id": "https://example.github.io/sims/bouncing-ball-v3", - Network accessline 376
"definition": { "name": { "en-US": "Bouncing Ball MicroSim v3 (graph overlay)" }, "type": "http://adlnet.gov/expapi/activities/simulation", - Network accessline 377
"name": { "en-US": "Bouncing Ball MicroSim v3 (graph overlay)" }, "type": "http://adlnet.gov/expapi/activities/simulation", "extensions": { - Network accessline 378
"type": "http://adlnet.gov/expapi/activities/simulation", - Network accessline 379
"extensions": { "https://intelligenttextbooks.org/xapi/ext/variant-id": "bouncing-ball-v3-graph-overlay", "https://intelligenttextbooks.org/xapi/ext/concept-id": "newtons-second-law", - Network accessline 380
"https://intelligenttextbooks.org/xapi/ext/variant-id": "bouncing-ball-v3-graph-overlay", - Network accessline 381
"https://intelligenttextbooks.org/xapi/ext/concept-id": "newtons-second-law", - Network accessline 382
"https://intelligenttextbooks.org/xapi/ext/bloom-level": 2 - Network accessline 390
"duration": "PT2M22S", "extensions": { "https://intelligenttextbooks.org/xapi/ext/normalized-gain": 0.58, - Network accessline 391
"extensions": { "https://intelligenttextbooks.org/xapi/ext/normalized-gain": 0.58, "https://intelligenttextbooks.org/xapi/ext/attempts": 2, - Network accessline 392
"https://intelligenttextbooks.org/xapi/ext/normalized-gain": 0.58, - Network accessline 393
"https://intelligenttextbooks.org/xapi/ext/attempts": 2, - Network accessline 394
"https://intelligenttextbooks.org/xapi/ext/engagement-depth": 0.82 - Network accessline 399
"contextActivities": { "category": [ { "id": "https://w3id.org/xapi/cmi5/context/categories/moveon" } - Network accessline 400
"category": [ { "id": "https://w3id.org/xapi/cmi5/context/categories/moveon" } ], - Network accessline 401
{ "id": "https://w3id.org/xapi/cmi5/context/categories/moveon" } - Network accessline 402
], "parent": [ { "id": "https://example.github.io/textbooks/ib-physics-sl/dynamics" } - Network accessline 403
"parent": [ { "id": "https://example.github.io/textbooks/ib-physics-sl/dynamics" } ] - Network accessline 404
{ "id": "https://example.github.io/textbooks/ib-physics-sl/dynamics" } - Network accessline 450
1. Zhang, J., Hu, S., Lu, C., Lange, R., et al. (2025). *Darwin Gödel Machine: Open-Ended Evolution of Self-Improving Agents.* arXiv:2505.22954. <https://arxiv.org/abs/2505.22954> - Network accessline 452
2. Sakana AI. (2025). *The Darwin Gödel Machine: AI that improves itself by rewriting its own code.* <https://sakana.ai/dgm/> - Network accessline 456
4. Novikov, A., Vũ, N., Eisenberger, M., Dupont, E., et al. (2025). *AlphaEvolve: A coding agent for scientific and algorithmic discovery.* Google DeepMind Technical Report. arXiv:2506.13131. <https://arxiv.org/abs/2506.13131> - Network accessline 458
5. Zweiger, A., Pari, J., et al. (2025). *Self-Adapting Language Models (SEAL).* arXiv:2506.10943. NeurIPS 2025. <https://arxiv.org/abs/2506.10943> - Network accessline 460
6. Assumpção, H. S., et al. (2025). *CodeEvolve: An open source evolutionary coding agent for algorithmic discovery and optimization.* arXiv:2510.14150. <https://arxiv.org/abs/2510.14150> - Network accessline 462
7. ADL Initiative. *Experience API (xAPI) Specification.* adlnet/xAPI-Spec. <https://github.com/adlnet/xAPI-Spec> - Network accessline 464
8. AICC / ADL. *cmi5 Specification.* <https://github.com/AICC/CMI-5_Spec_Current> - Network accessline 466
9. Rustici Software. *cmi5 Technical Overview* and *xAPI Statements 101.* <https://xapi.com/cmi5/technical/> and <https://xapi.com/statements-101/> - Network accessline 468
10. The Learning Guild. (2025). *Designing Your xAPI Data Strategy: The xAPI-Statement Framework.* <https://www.learningguild.com/articles/designing-your-xapi-data-strategy-xapi-statement-framework> - Network accessline 474
13. Nakajima, Y. (2025). *Better Ways to Build Self-Improving AI Agents.* <https://yoheinakajima.com/better-ways-to-build-self-improving-ai-agents/>
skills/arxiv-paper-generator/evals/markdown-draft-to-arxiv/place-files.sh
- Executable scriptline 1
#!/usr/bin/env bash
skills/arxiv-paper-generator/evals/markdown-draft-to-arxiv/prompt.md
- Network accessline 8
I've got a markdown draft of a paper on self-improving intelligent textbooks (paper-v0.01.md). Turn it into a real arXiv paper -- LaTeX, figures, verified references, and a build script so I can make the PDF. Author is Dan McCreary, indepen
skills/arxiv-paper-generator/scripts/score_paper.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 166
headers = {"User-Agent": "arxiv-paper-generator/0.01 (reference check)"} try: url = "https://api.crossref.org/works/" + urllib.parse.quote(doi) - Network accessline 167
try: url = "https://api.crossref.org/works/" + urllib.parse.quote(doi) with urllib.request.urlopen(urllib.request.Request(url, headers=headers), timeout=15) as r: - Network accessline 168
url = "https://api.crossref.org/works/" + urllib.parse.quote(doi) - Network accessline 169
with urllib.request.urlopen(urllib.request.Request(url, headers=headers), timeout=15) as r: - Network accessline 181
try: url = "https://doi.org/api/handles/" + urllib.parse.quote(doi) - Network accessline 182
url = "https://doi.org/api/handles/" + urllib.parse.quote(doi) - Network accessline 183
with urllib.request.urlopen(urllib.request.Request(url, headers=headers), timeout=15) as r:
skills/book-installer/README.md
- Network accessline 71
extra_javascript: - js/katex.js - https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js - Network accessline 72
- js/katex.js - https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js - https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.min.js - Network accessline 73
- https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js - Network accessline 74
- https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.min.js - Network accessline 76
extra_css: - https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css - Network accessline 77
- https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css - Network accessline 135
- [MkDocs Material Documentation](https://squidfunk.github.io/mkdocs-material/) - Network accessline 136
- [KaTeX Supported Functions](https://katex.org/docs/supported.html) - Network accessline 137
- [PyMdown Arithmatex](https://facelessuser.github.io/pymdown-extensions/extensions/arithmatex/)
skills/book-installer/SKILL.md
- Network accessline 2
name: book-installer description: Installs and configures intelligent-textbook infrastructure - scaffold a brand-new MkDocs Material textbook (init textbook), install any of 41 features (math, mascot, learning graph viewer, Google Analytics - Network accessline 3
description: Installs and configures intelligent-textbook infrastructure - scaffold a brand-new MkDocs Material textbook (init textbook), install any of 41 features (math, mascot, learning graph viewer, Google Analytics GA4, custom 404, kan - Network accessline 4
license: Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) - Network accessline 836
# For MkDocs projects mkdocs serve # Visit http://127.0.0.1:8000/[project-name]/ - Network accessline 838
# Visit http://127.0.0.1:8000/[project-name]/
skills/book-installer/assets/init-textbook/AGENTS.md.template
- Network accessline 32
|---|---| | Book title | {{SITE_NAME}} | | Published site | https://{{GITHUB_USERNAME}}.github.io/{{REPO_NAME}}/ | - Network accessline 33
| Book title | {{SITE_NAME}} | | Published site | https://{{GITHUB_USERNAME}}.github.io/{{REPO_NAME}}/ | | Repository | https://github.com/{{GITHUB_USERNAME}}/{{REPO_NAME}} | - Network accessline 34
| Published site | https://{{GITHUB_USERNAME}}.github.io/{{REPO_NAME}}/ | - Network accessline 35
| Repository | https://github.com/{{GITHUB_USERNAME}}/{{REPO_NAME}} | - Network accessline 73
`index.md` lesson page. - The published lesson URL is `https://{{GITHUB_USERNAME}}.github.io/{{REPO_NAME}}/sims/<sim-id>/`. Always - Network accessline 74
- The published lesson URL is `https://{{GITHUB_USERNAME}}.github.io/{{REPO_NAME}}/sims/<sim-id>/`. Always include the repo name in the path when you reference a sim. - Network accessline 75
`https://{{GITHUB_USERNAME}}.github.io/{{REPO_NAME}}/sims/<sim-id>/`. Always
skills/book-installer/assets/init-textbook/docs/css/extra.css
- Network accessline 70
:root { /* Filled circle (Material Design Icons "circle") */ --md-status--scaffold: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10, - Network accessline 71
/* Filled circle (Material Design Icons "circle") */ --md-status--scaffold: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2 - Network accessline 72
--md-status--scaffold: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z"/></svg>'); - Network accessline 73
--md-status--built: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z"/></svg>'); - Network accessline 74
/* Check-circle (Material Design Icons "check-circle") */ --md-status--approved: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 - Network accessline 75
--md-status--approved: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M11,16.5L18,9.5L16.59,8.09L11,13.67 - Network accessline 76
/* Filled circle, like scaffold/built: the sim works */ --md-status--implemented: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 - Network accessline 77
--md-status--implemented: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z"/></svg>'); - Network accessline 78
/* Signal (Material Design Icons "access-point"): the sim emits xAPI events. The standard xAPI-instrumentation icon in every book; do not substitute another glyph. */ --md-status--instrumented: url('data:image/svg+xml;charset=utf-8,< - Network accessline 79
xAPI-instrumentation icon in every book; do not substitute another glyph. */ --md-status--instrumented: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4.93,4.93C3.12,6.74 2,9.24 - Network accessline 80
--md-status--instrumented: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4.93,4.93C3.12,6.74 2,9.24 2,12C2,14.76 3.12,17.26 4.93,19.07L6.34,17.66C4.89,16.22 4,14.22 4,12C4,9.79 4
skills/book-installer/assets/init-textbook/docs/license.md
- Network accessline 13
[https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en)
skills/book-installer/assets/init-textbook/mkdocs.yml
- Network accessline 7
site_description: '{{SITE_DESCRIPTION}}' site_author: '{{SITE_AUTHOR}}' site_url: 'https://{{GITHUB_USERNAME}}.github.io/{{REPO_NAME}}/' - Network accessline 9
site_url: 'https://{{GITHUB_USERNAME}}.github.io/{{REPO_NAME}}/' - Network accessline 23
# Repository repo_name: 'GitHub Repo' repo_url: 'https://github.com/{{GITHUB_USERNAME}}/{{REPO_NAME}}' - Network accessline 24
repo_name: 'GitHub Repo' repo_url: 'https://github.com/{{GITHUB_USERNAME}}/{{REPO_NAME}}' edit_uri: 'blob/main/docs' - Network accessline 25
repo_url: 'https://github.com/{{GITHUB_USERNAME}}/{{REPO_NAME}}' - Network accessline 170
# Intelligent-textbook URI scheme (see # https://dmccreary.github.io/intelligent-textbooks/uri-scheme/) - Network accessline 171
# https://dmccreary.github.io/intelligent-textbooks/uri-scheme/) - Network accessline 172
schema: https://dmccreary.github.io/intelligent-textbooks/ns/textbook/v1
skills/book-installer/assets/init-textbook/plugins/social_override.py
- Executable scriptline 1
Executable file
skills/book-installer/assets/mkdocs-serve-warning/mkdocs_serve_warning.py
- Executable scriptline 1
Executable file
skills/book-installer/references/about-page.md
- Network accessline 30
| `SITE_NAME` | mkdocs.yml → `site_name` | "Ecology: Systems Thinking for a Changing Planet" | | `SITE_AUTHOR` | mkdocs.yml → `site_author` | "Dan McCreary" | | `SITE_URL` | mkdocs.yml → `site_url` | "https://dmccreary.github.io/ecology/" | - Network accessline 31
| `SITE_AUTHOR` | mkdocs.yml → `site_author` | "Dan McCreary" | | `SITE_URL` | mkdocs.yml → `site_url` | "https://dmccreary.github.io/ecology/" | | `REPO_URL` | mkdocs.yml → `repo_url` | "https://github.com/dmccreary/ecology" | - Network accessline 32
| `SITE_URL` | mkdocs.yml → `site_url` | "https://dmccreary.github.io/ecology/" | - Network accessline 33
| `REPO_URL` | mkdocs.yml → `repo_url` | "https://github.com/dmccreary/ecology" | - Network accessline 186
The headshot image if the author is Dan McCreary is here: https://dmccreary.github.io/dmccreary/img/dan-headshot-small.png - Network accessline 191
curl https://dmccreary.github.io/dmccreary/img/dan-headshot-small.png --output docs/img/dan-headshot-small.png - Network accessline 219
has mentored students as a STEM volunteer since 2014 and now applies the same rigor to building open educational resources. You can visit the [Intelligent Textbooks Case Studies](https://dmccreary.github.io/intelligent-textbooks/case-studie - Network accessline 220
rigor to building open educational resources. You can visit the [Intelligent Textbooks Case Studies](https://dmccreary.github.io/intelligent-textbooks/case-studies/) to see over 87 textbooks that Dan has created or co-created with other - Network accessline 221
[Intelligent Textbooks Case Studies](https://dmccreary.github.io/intelligent-textbooks/case-studies/)
skills/book-installer/references/assets/css/custom-admonitions.css
- Network accessline 9
:root { --md-admonition-icon--prompt: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4V4c0-1.1-.9-2-2-2zm-2 12H6v-2h12v2zm0-3H6V9h12 - Network accessline 10
--md-admonition-icon--prompt: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4V4c0-1.1-.9-2-2-2zm-2 12H6v-2h12v2zm0-3H6V9h12v2zm0-3H6V - Network accessline 65
:root { --md-admonition-icon--objective: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 - Network accessline 66
--md-admonition-icon--objective: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.5 - Network accessline 90
:root { --md-admonition-icon--prereq: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2 - Network accessline 91
--md-admonition-icon--prereq: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"/></sv - Network accessline 115
:root { --md-admonition-icon--exercise: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14H7v-2h7v2 - Network accessline 116
--md-admonition-icon--exercise: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14H7v-2h7v2zm3-4H7v-2 - Network accessline 140
:root { --md-admonition-icon--concept: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9 21c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-1H9v1zm3-19C8.14 2 5 5.14 5 9c0 2.38 1.19 4.47 3 5.7 - Network accessline 141
--md-admonition-icon--concept: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9 21c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-1H9v1zm3-19C8.14 2 5 5.14 5 9c0 2.38 1.19 4.47 3 5.74V17c0 .55 - Network accessline 165
:root { --md-admonition-icon--reflection: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8- - Network accessline 166
--md-admonition-icon--reflection: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8
skills/book-installer/references/assets/js/copy-admonition.js
- Executable scriptline 1
Executable file
skills/book-installer/references/assets/js/feedback.js
- Executable scriptline 1
Executable file - Network accessline 9
* extra: * feedback: * endpoint: "https://your-analytics-endpoint.com/feedback" - Network accessline 10
* feedback: * endpoint: "https://your-analytics-endpoint.com/feedback" */ - Network accessline 11
* endpoint: "https://your-analytics-endpoint.com/feedback" - Network accessline 146
if (endpoint) { fetch(endpoint, { - Network accessline 147
fetch(endpoint, {
skills/book-installer/references/assets/js/giscus-loader.js
- Executable scriptline 1
Executable file - Network accessline 17
* lang: "en" * * Get your repo_id and category_id from: https://giscus.app - Network accessline 18
* * Get your repo_id and category_id from: https://giscus.app */ - Network accessline 19
* Get your repo_id and category_id from: https://giscus.app - Network accessline 59
const script = document.createElement('script'); script.src = 'https://giscus.app/client.js'; - Network accessline 60
script.src = 'https://giscus.app/client.js'; - Network accessline 131
iframe.contentWindow.postMessage( { giscus: { setConfig: { theme } } }, 'https://giscus.app' - Network accessline 132
{ giscus: { setConfig: { theme } } }, 'https://giscus.app' ); - Network accessline 133
'https://giscus.app'
skills/book-installer/references/assets/js/katex-config.js
- Executable scriptline 1
Executable file - Network accessline 3
* extra_javascript: * - javascripts/katex-config.js * - https://unpkg.com/katex@0/dist/katex.min.js - Network accessline 4
* - javascripts/katex-config.js * - https://unpkg.com/katex@0/dist/katex.min.js * - https://unpkg.com/katex@0/dist/contrib/auto-render.min.js - Network accessline 5
* - https://unpkg.com/katex@0/dist/katex.min.js - Network accessline 6
* - https://unpkg.com/katex@0/dist/contrib/auto-render.min.js - Network accessline 7
* extra_css: * - https://unpkg.com/katex@0/dist/katex.min.css * - Network accessline 8
* - https://unpkg.com/katex@0/dist/katex.min.css
skills/book-installer/references/assets/js/mathjax-config.js
- Executable scriptline 1
Executable file - Network accessline 3
* extra_javascript: * - javascripts/mathjax-config.js * - https://unpkg.com/mathjax@3/es5/tex-mml-chtml.js - Network accessline 4
* - javascripts/mathjax-config.js * - https://unpkg.com/mathjax@3/es5/tex-mml-chtml.js * - Network accessline 5
* - https://unpkg.com/mathjax@3/es5/tex-mml-chtml.js
skills/book-installer/references/assets/js/quiz.js
- Executable scriptline 1
Executable file
skills/book-installer/references/assets/main.html
- Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Learning Graph Viewer for TITLE</title> <script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script> - Network accessline 6
<title>Learning Graph Viewer for TITLE</title> <script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script> <link rel="stylesheet" href="local.css"> - Network accessline 7
<script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script>
skills/book-installer/references/assets/script.js
- Executable scriptline 1
Executable file - Network accessline 36
async function loadGraph() { try { const response = await fetch('../../learning-graph/learning-graph.json'); - Network accessline 37
try { const response = await fetch('../../learning-graph/learning-graph.json'); const data = await response.json(); - Network accessline 38
const response = await fetch('../../learning-graph/learning-graph.json');
skills/book-installer/references/assets/slide-viewer/script.js
skills/book-installer/references/assets/snippets/cover-image.yml
- Network accessline 17
social: - icon: fontawesome/brands/twitter link: https://twitter.com/yourhandle - Network accessline 18
- icon: fontawesome/brands/twitter link: https://twitter.com/yourhandle - icon: fontawesome/brands/linkedin - Network accessline 19
link: https://twitter.com/yourhandle - Network accessline 21
link: https://linkedin.com/in/yourprofile - Network accessline 144
# 3. Check contrast - title must stand out clearly # 4. Test by pasting URL into Twitter/LinkedIn preview tools: # - https://cards-dev.twitter.com/validator - Network accessline 145
# 4. Test by pasting URL into Twitter/LinkedIn preview tools: # - https://cards-dev.twitter.com/validator # - https://www.linkedin.com/post-inspector/ - Network accessline 146
# - https://cards-dev.twitter.com/validator - Network accessline 147
# - https://www.linkedin.com/post-inspector/
skills/book-installer/references/assets/snippets/favicon.yml
- Network accessline 92
# # Tools for creating .ico files: # - https://www.favicon-generator.org/ - Network accessline 93
# Tools for creating .ico files: # - https://www.favicon-generator.org/ # - https://realfavicongenerator.net/ - Network accessline 94
# - https://www.favicon-generator.org/ - Network accessline 95
# - https://realfavicongenerator.net/
skills/book-installer/references/assets/snippets/feedback.yml
skills/book-installer/references/assets/snippets/giscus-comments.yml
- Network accessline 4
# Prerequisites: # 1. Enable GitHub Discussions on your repository # 2. Install Giscus app: https://github.com/apps/giscus - Network accessline 5
# 1. Enable GitHub Discussions on your repository # 2. Install Giscus app: https://github.com/apps/giscus # 3. Configure at: https://giscus.app to get your repo_id and category_id - Network accessline 6
# 2. Install Giscus app: https://github.com/apps/giscus - Network accessline 7
# 3. Configure at: https://giscus.app to get your repo_id and category_id
skills/book-installer/references/assets/snippets/logo.yml
skills/book-installer/references/assets/snippets/math-katex.yml
- Network accessline 13
extra_javascript: - javascripts/katex-config.js - https://unpkg.com/katex@0/dist/katex.min.js - Network accessline 14
- javascripts/katex-config.js - https://unpkg.com/katex@0/dist/katex.min.js - https://unpkg.com/katex@0/dist/contrib/auto-render.min.js - Network accessline 15
- https://unpkg.com/katex@0/dist/katex.min.js - Network accessline 16
- https://unpkg.com/katex@0/dist/contrib/auto-render.min.js - Network accessline 18
# Add to extra_css: extra_css: - https://unpkg.com/katex@0/dist/katex.min.css - Network accessline 20
- https://unpkg.com/katex@0/dist/katex.min.css
skills/book-installer/references/assets/snippets/math-mathjax.yml
skills/book-installer/references/assets/templates/docs/feature-checklist.md
- Network accessline 8
textbook by sending event data to a learning record store (LRS) to create a hyper-personalized learning experience for each student. The five levels of intelligent textbooks are described in the [Intelligent Textbooks](https://dmccr - Network accessline 10
of intelligent textbooks are described in the [Intelligent Textbooks](https://dmccreary.github.io/intelligent-textbooks/) course.
skills/book-installer/references/book-metrics.md
- Network accessline 162
{ "$schema": "https://raw.githubusercontent.com/dmccreary/ibook-skills/main/src/book-metrics/book-metrics.schema.json", - Network accessline 163
"$schema": "https://raw.githubusercontent.com/dmccreary/ibook-skills/main/src/book-metrics/book-metrics.schema.json", - Network accessline 192
These are the book-wide totals that feed the case-study cards in the [intelligent-textbooks](https://github.com/dmccreary/intelligent-textbooks) - Network accessline 193
[intelligent-textbooks](https://github.com/dmccreary/intelligent-textbooks)
skills/book-installer/references/cover-image-generator.md
- Access to secretsline 230
[Credential-related source omitted] - Network accessline 330
**After the script runs:** 1. Copy the displayed IMAGE PROMPT 2. Go to https://chatgpt.com/ - Network accessline 331
1. Copy the displayed IMAGE PROMPT 2. Go to https://chatgpt.com/ 3. Paste the prompt - Network accessline 332
2. Go to https://chatgpt.com/ 3. Paste the prompt 4. Download the generated image - Network accessline 342
**Option 1: Set up OpenAI API billing** 1. Go to https://platform.openai.com/account/billing - Network accessline 343
1. Go to https://platform.openai.com/account/billing - Network accessline 348
**Option 2: Subscribe to ChatGPT Pro** 1. Go to https://openai.com/chatgpt/pricing - Network accessline 349
1. Go to https://openai.com/chatgpt/pricing - Network accessline 401
**Solutions:** - Add payment method at https://platform.openai.com/account/billing - Network accessline 402
- Add payment method at https://platform.openai.com/account/billing - Network accessline 455
- [Cover Image Workflow Diagram](https://dmccreary.github.io/ibook-skills/sims/cover-image-workflow/) - Network accessline 457
- [Image Generation README](https://github.com/dmccreary/ibook-skills/tree/main/src/image-generation)
skills/book-installer/references/custom-404-page.md
- Network accessline 39
# From site_url: https://dmccreary.github.io/my-book/ - Network accessline 141
1. Rebuild or let mkdocs serve pick up the changes 2. Navigate to a nonexistent URL, e.g., `http://127.0.0.1:8000/{REPO_NAME}/this-page-does-not-exist/` - Network accessline 142
2. Navigate to a nonexistent URL, e.g., `http://127.0.0.1:8000/{REPO_NAME}/this-page-does-not-exist/`
skills/book-installer/references/docs/main.html
- Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Learning Graph Viewer for TITLE</title> <script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script> - Network accessline 6
<title>Learning Graph Viewer for TITLE</title> <script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script> <link rel="stylesheet" href="local.css"> - Network accessline 7
<script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script>
skills/book-installer/references/docs/script.js
- Executable scriptline 1
Executable file - Network accessline 15
async function loadGraph() { try { const response = await fetch('../../learning-graph/learning-graph.json'); - Network accessline 16
try { const response = await fetch('../../learning-graph/learning-graph.json'); const data = await response.json(); - Network accessline 17
const response = await fetch('../../learning-graph/learning-graph.json');
skills/book-installer/references/favicon-generator.md
skills/book-installer/references/google-analytics.md
- Network accessline 14
- **Repo path** – local folder containing `mkdocs.yml` (e.g. `~/Documents/ws/<book>`). - **Site URL** – usually `site_url:` in `mkdocs.yml` (e.g. `https://dmccreary.github.io/<book>/`). - Network accessline 15
- **Site URL** – usually `site_url:` in `mkdocs.yml` (e.g. `https://dmccreary.github.io/<book>/`). - Network accessline 29
1. Navigate to `https://analytics.google.com/analytics/web/` and wait for it to load. - Network accessline 45
1. On the **Data collection** step choose **Web** as the platform. 2. In "Set up your web stream": set **Website URL** (protocol `https://` + host/path, e.g. - Network accessline 46
2. In "Set up your web stream": set **Website URL** (protocol `https://` + host/path, e.g. - Network accessline 90
After deploy, optionally confirm the live tag: `curl -s https://dmccreary.github.io/<book>/ | grep -o "G-XXXXXXXXXX"`. - Network accessline 91
`curl -s https://dmccreary.github.io/<book>/ | grep -o "G-XXXXXXXXXX"`. - Network accessline 97
- **GitHub credentials:** the Cowork Linux sandbox has **no push credentials**. `git push` and `mkdocs gh-deploy` (which pushes to `gh-pages`) will fail with "could not read Username for https://github.com". When this happens, do the GA - Network accessline 98
and `mkdocs gh-deploy` (which pushes to `gh-pages`) will fail with "could not read Username for https://github.com". When this happens, do the GA registration, the `mkdocs.yml` edit, the build-verify, and the local `git commit`, then ha - Network accessline 99
"could not read Username for https://github.com". When this happens, do the GA registration, - Dangerous shell operationline 106
`rm -f .git/HEAD.lock .git/index.lock .git/objects/maintenance.lock` before their next git command.
skills/book-installer/references/home-page-template.md
skills/book-installer/references/init-textbook.md
- Network accessline 100
| `GITHUB_USERNAME` | "dmccreary" | Inferred from `git remote get-url origin` if available | | `REPO_NAME` | basename of current directory | Inferred from `pwd` | | `LINKEDIN_URL` | "https://www.linkedin.com/in/danmccreary/" | Author's Link - Network accessline 101
| `REPO_NAME` | basename of current directory | Inferred from `pwd` | | `LINKEDIN_URL` | "https://www.linkedin.com/in/danmccreary/" | Author's LinkedIn — optional override | | `PRIMARY_COLOR` | "indigo" | Material palette primary — common p - Network accessline 102
| `LINKEDIN_URL` | "https://www.linkedin.com/in/danmccreary/" | Author's LinkedIn — optional override | - Network accessline 185
Site URL will be: https://dmccreary.github.io/quantum-computing/ - Network accessline 227
Exporting them afterward makes every `{{VAR}}` expand to the empty string, and the failure is silent — you get a valid-looking `mkdocs.yml` with `site_name: ''` and `site_url: 'https://.github.io//'`. After substituting, - Network accessline 228
the failure is silent — you get a valid-looking `mkdocs.yml` with `site_name: ''` and `site_url: 'https://.github.io//'`. After substituting, always assert that no tokens remain and no values are blank: - Network accessline 229
`site_name: ''` and `site_url: 'https://.github.io//'`. After substituting,
skills/book-installer/references/instructors-guide.md
- Network accessline 24
| `{{BOOK_TITLE}}` | `site_name` in mkdocs.yml | Introduction to Economics | | `{{BOOK_SUBTITLE}}` | `site_description` in mkdocs.yml | An Interactive Intelligent Textbook with Simulations | | `{{SITE_URL}}` | `site_url` in mkdocs.yml | htt - Network accessline 25
| `{{BOOK_SUBTITLE}}` | `site_description` in mkdocs.yml | An Interactive Intelligent Textbook with Simulations | | `{{SITE_URL}}` | `site_url` in mkdocs.yml | https://dmccreary.github.io/economics-course/ | | `{{REPO_URL}}` | `repo_url` in - Network accessline 26
| `{{SITE_URL}}` | `site_url` in mkdocs.yml | https://dmccreary.github.io/economics-course/ | - Network accessline 27
| `{{REPO_URL}}` | `repo_url` in mkdocs.yml | https://github.com/dmccreary/economics-course | - Network accessline 185
<iframe src="https://dmccreary.github.io/intelligent-textbooks/sims/book-levels/main.html" height="500px" scrolling="no" - Network accessline 381
1. Try searching for the article title on the source website 2. Use the [Wayback Machine](https://web.archive.org/) to find archived versions of the page - Network accessline 382
2. Use the [Wayback Machine](https://web.archive.org/) to find archived versions of the page - Network accessline 471
If you don't already have one, go to [github.com](https://github.com) and create a free account. - Network accessline 483
1. Install Git on your computer ([git-scm.com](https://git-scm.com/)) - Network accessline 527
1. Install Python (version 3.8 or newer) from [python.org](https://python.org) - Network accessline 541
4. Open your browser to `http://127.0.0.1:8000/{{REPO_SHORT}}/` to see your customized version - Network accessline 553
This command builds the website and publishes it to `https://YOUR-USERNAME.github.io/{{REPO_SHORT}}/`. The process takes about 1–2 minutes. - Network accessline 567
1. Go to [analytics.google.com](https://analytics.google.com/) and sign in with a Google account
skills/book-installer/references/kanban-board.md
- Network accessline 283
1. Go to [github.com/dmccreary?tab=projects](https://github.com/dmccreary?tab=projects)
skills/book-installer/references/learning-graph-viewer-templates/main.html
- Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Learning Graph Viewer for TITLE</title> <script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script> - Network accessline 6
<title>Learning Graph Viewer for TITLE</title> <script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script> <link rel="stylesheet" href="local.css"> - Network accessline 7
<script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script>
skills/book-installer/references/learning-graph-viewer-templates/script.js
- Executable scriptline 1
Executable file - Network accessline 36
async function loadGraph() { try { const response = await fetch('../../learning-graph/learning-graph.json'); - Network accessline 37
try { const response = await fetch('../../learning-graph/learning-graph.json'); const data = await response.json(); - Network accessline 38
const response = await fetch('../../learning-graph/learning-graph.json');
skills/book-installer/references/learning-graph-viewer.md
skills/book-installer/references/mkdocs-features.md
- Network accessline 62
Browse icons at: https://pictogrammers.com/library/mdi/ - Network accessline 122
2. Simplify (remove any fine details) 3. Create multi-resolution .ico with: 16x16, 32x32, 48x48 4. Tools: https://realfavicongenerator.net/ or ImageMagick - Network accessline 124
4. Tools: https://realfavicongenerator.net/ or ImageMagick - Network accessline 213
2. Verify title is readable at small preview sizes 3. Test with social preview validators: - https://cards-dev.twitter.com/validator - Network accessline 214
3. Test with social preview validators: - https://cards-dev.twitter.com/validator - https://www.linkedin.com/post-inspector/ - Network accessline 215
- https://cards-dev.twitter.com/validator - Network accessline 216
- https://www.linkedin.com/post-inspector/ - Network accessline 278
extra_javascript: - javascripts/mathjax.js - https://unpkg.com/mathjax@3/es5/tex-mml-chtml.js - Network accessline 280
- https://unpkg.com/mathjax@3/es5/tex-mml-chtml.js - Network accessline 347
extra_javascript: - js/katex.js - https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js - Network accessline 348
- js/katex.js - https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js - https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.min.js - Network accessline 349
- https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js - Network accessline 350
- https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.min.js - Network accessline 352
extra_css: - https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css - Network accessline 353
- https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css - Network accessline 626
:root { --md-admonition-icon--prompt: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4V4c0-1.1-.9-2-2-2zm-2 12H6v-2h12v2zm0-3H6V9h12 - Network accessline 627
--md-admonition-icon--prompt: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4V4c0-1.1-.9-2-2-2zm-2 12H6v-2h12v2zm0-3H6V9h12v2zm0-3H6V - Network accessline 977
**Prerequisites:** 1. Enable GitHub Discussions on your repository 2. Install Giscus app: https://github.com/apps/giscus - Network accessline 978
1. Enable GitHub Discussions on your repository 2. Install Giscus app: https://github.com/apps/giscus 3. Configure at: https://giscus.app - Network accessline 979
2. Install Giscus app: https://github.com/apps/giscus - Network accessline 980
3. Configure at: https://giscus.app - Network accessline 1009
var script = document.createElement('script'); script.src = 'https://giscus.app/client.js'; - Network accessline 1010
script.src = 'https://giscus.app/client.js'; - Network accessline 1201
name: Author Name description: Author description avatar: https://github.com/username.png - Network accessline 1203
avatar: https://github.com/username.png
skills/book-installer/references/mkdocs-serve-warning.md
- Network accessline 23
Nothing tells the reader they are looking at the wrong renderer. A bug report blaming `zensical serve` for exactly this symptom ([zensical/zensical#943](https://github.com/zensical/zensical/issues/943)) - Network accessline 24
blaming `zensical serve` for exactly this symptom ([zensical/zensical#943](https://github.com/zensical/zensical/issues/943)) was closed as not reproducible — the behavior it described is what - Network accessline 25
([zensical/zensical#943](https://github.com/zensical/zensical/issues/943)) - Network accessline 194
The reference implementation is [zensical-test](https://github.com/dmccreary/zensical-test) (see its - Network accessline 195
[zensical-test](https://github.com/dmccreary/zensical-test) (see its - Network accessline 196
`hooks/mkdocs_serve_warning.py`). Its migration guide, [Step 9](https://dmccreary.github.io/zensical-test/migration-steps/), gives the same recommendation for books migrated from MkDocs. - Network accessline 197
[Step 9](https://dmccreary.github.io/zensical-test/migration-steps/), gives
skills/book-installer/references/reading-level-analysis.md
skills/book-installer/references/skill-tracker.md
- Dangerous shell operationline 258
rm -rf ~/.claude/activity-logs
skills/book-installer/references/slide-generator.md
- Network accessline 258
1. **Viewer page:** `http://127.0.0.1:8000/<repo-name>/sims/slide-viewer/` — deck links should appear. - Network accessline 259
2. **Chapter page:** `http://127.0.0.1:8000/<repo-name>/chapters/01-<slug>/` — three-button bar at the top. - Network accessline 260
3. **Slides page (rendered):** `http://127.0.0.1:8000/<repo-name>/chapters/01-<slug>/slides/` — slides stacked with horizontal rules.
skills/book-installer/references/social-media-preview.md
- Dangerous shell operationline 208
rm -rf /tmp/bk-serve && mkdir -p /tmp/bk-serve/$PROJ - Network accessline 210
(cd /tmp/bk-serve && python -m http.server 8765 >/tmp/bk-serve.log 2>&1 &) sleep 1 ~/.local/bin/bk-check-social-cover http://127.0.0.1:8765/$PROJ/ - Network accessline 211
sleep 1 ~/.local/bin/bk-check-social-cover http://127.0.0.1:8765/$PROJ/ # cleanup: - Network accessline 212
~/.local/bin/bk-check-social-cover http://127.0.0.1:8765/$PROJ/ - Dangerous shell operationline 215
rm -rf /tmp/bk-serve /tmp/bk-serve.log - Network accessline 271
curl -s https://<user>.github.io/<project>/ | grep -E '(og|twitter):image' - Network accessline 280
| Platform | Tool | URL | |----------|------|-----| | LinkedIn | Post Inspector | https://www.linkedin.com/post-inspector/inspect/ | - Network accessline 281
|----------|------|-----| | LinkedIn | Post Inspector | https://www.linkedin.com/post-inspector/inspect/ | | Facebook / Threads | Sharing Debugger | https://developers.facebook.com/tools/debug/ | - Network accessline 282
| LinkedIn | Post Inspector | https://www.linkedin.com/post-inspector/inspect/ | | Facebook / Threads | Sharing Debugger | https://developers.facebook.com/tools/debug/ | | X (Twitter) | Card Validator (legacy but still triggers a re-fetch) - Network accessline 283
| Facebook / Threads | Sharing Debugger | https://developers.facebook.com/tools/debug/ | | X (Twitter) | Card Validator (legacy but still triggers a re-fetch) | https://cards-dev.twitter.com/validator | | Slack | Re-unfurl the link in any c - Network accessline 284
| X (Twitter) | Card Validator (legacy but still triggers a re-fetch) | https://cards-dev.twitter.com/validator | - Network accessline 377
- The hook uses `site_url` from `mkdocs.yml`. Confirm it's set to the production URL (e.g. `https://dmccreary.github.io/<project>/`), not a - Network accessline 378
production URL (e.g. `https://dmccreary.github.io/<project>/`), not a
skills/book-installer/scripts/analyze-reading-levels.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/book-installer/scripts/detect_features.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/book-installer/scripts/generate-favicon.py
- Executable scriptline 1
Executable file
skills/book-installer/scripts/generate-feature-checklist.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/book-installer/scripts/render-mascot-guide.py
skills/book-installer/scripts/render-mascot-test.sh
- Executable scriptline 1
#!/usr/bin/env bash
skills/book-installer/scripts/trim-padding-from-image.py
- Executable scriptline 1
Executable file
skills/book-installer/scripts/validate-chapter-mascots.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/book-media-generator/SKILL.md
- Network accessline 2
name: book-media-generator description: Generates media for intelligent textbooks - slide decks and presentations (MARP web decks in docs/slides/ or PowerPoint .pptx lecture downloads), illustrated stories and graphic novels, freely-license - Network accessline 3
description: Generates media for intelligent textbooks - slide decks and presentations (MARP web decks in docs/slides/ or PowerPoint .pptx lecture downloads), illustrated stories and graphic novels, freely-licensed chapter images from Wikim - Network accessline 4
license: Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) - Access to secretsline 78
[Credential-related source omitted]
skills/book-media-generator/references/chapter-images-guide.md
- Network accessline 76
The Wikimedia API reliably returns actual image URLs (direct curl/wget often fails due to hash-path issues): - Network accessline 81
title = "File:Example_Image.jpg" api_url = f"https://en.wikipedia.org/w/api.php?action=query&titles={urllib.request.quote(title)}&prop=imageinfo&iiprop=url&iiurlwidth=1280&format=json" - Network accessline 82
api_url = f"https://en.wikipedia.org/w/api.php?action=query&titles={urllib.request.quote(title)}&prop=imageinfo&iiprop=url&iiurlwidth=1280&format=json" - Network accessline 83
req = urllib.request.Request(api_url, headers={"User-Agent": "TextbookProject/1.0 (Educational; CC-BY-NC-SA)"}) - Network accessline 84
with urllib.request.urlopen(req) as resp: - Network accessline 106
Download with Python's `urllib` (more reliable than curl for Wikimedia): - Network accessline 111
headers = {"User-Agent": "TextbookProject/1.0 (Educational)"} req = urllib.request.Request(url, headers=headers) - Network accessline 112
req = urllib.request.Request(url, headers=headers) - Network accessline 113
with urllib.request.urlopen(req) as resp: - Network accessline 205
| CC BY 2.0/3.0/4.0 | Yes | Yes | | CC BY-SA 2.0/3.0/4.0 | Yes | Yes (SA carries through) | | CC BY-NC 2.0/3.0/4.0 | Yes | Yes | - Network accessline 206
| CC BY-SA 2.0/3.0/4.0 | Yes | Yes (SA carries through) | | CC BY-NC 2.0/3.0/4.0 | Yes | Yes | | CC BY-NC-SA | Yes (same license) | Yes | - Network accessline 207
| CC BY-NC 2.0/3.0/4.0 | Yes | Yes |
skills/book-media-generator/references/marp-deck-guide.md
- Network accessline 6
This skill turns a topic description or an existing document into a [MARP](https://marp.app/) slide deck, exports it to a self-contained HTML file, and wires it into an MkDocs Material site the same way this repo already publishes MicroSims
skills/book-media-generator/references/pronounce-button-guide.md
- Access to secretsline 20
[Credential-related source omitted] - Network accessline 76
The `--ssml` flag takes a CMU Arpabet phoneme string. Stress markers are required: `1` = primary stress, `2` = secondary stress, `0` = no stress. See [CMU Arpabet reference](https://en.wikipedia.org/wiki/ARPABET) for - Network accessline 77
required: `1` = primary stress, `2` = secondary stress, `0` = no stress. See [CMU Arpabet reference](https://en.wikipedia.org/wiki/ARPABET) for the full phoneme set. - Network accessline 78
See [CMU Arpabet reference](https://en.wikipedia.org/wiki/ARPABET) for - Access to secretsline 99
[Credential-related source omitted] - Access to secretsline 107
[Credential-related source omitted] - Network accessline 181
Generated pronunciation for "Bryophytes" → docs/audio/bryophytes.mp3 Added Pronounce button to docs/glossary.md Preview: http://127.0.0.1:8000/moss/glossary/#bryophytes - Network accessline 183
Preview: http://127.0.0.1:8000/moss/glossary/#bryophytes
skills/book-media-generator/references/story-guide.md
- Network accessline 289
2. **API key** — Get a free one at https://aistudio.google.com/apikey, then: - Access to secretsline 291
[Credential-related source omitted] - Network accessline 402
- **[<Story Title>](https://dmccreary.github.io/<source-book>/stories/<subject-name>/)** - Network accessline 439
1. [Wikipedia: Ada Lovelace](https://en.wikipedia.org/wiki/Ada_Lovelace) - Biography of the English mathematician often called the first programmer - Network accessline 440
2. [Wikipedia: Analytical Engine](https://en.wikipedia.org/wiki/Analytical_Engine) - Babbage's proposed mechanical general-purpose computer - Network accessline 441
3. [Wikipedia: Note G](https://en.wikipedia.org/wiki/Note_G) - Lovelace's note describing the first published algorithm - Network accessline 442
4. [MacTutor: Augusta Ada King, Countess of Lovelace](https://mathshistory.st-andrews.ac.uk/Biographies/Lovelace/) - University of St Andrews history of mathematics archive - Network accessline 443
5. [Encyclopaedia Britannica: Ada Lovelace](https://www.britannica.com/biography/Ada-Lovelace) - Overview of Lovelace's life and contributions to computing - Network accessline 523
**Spending cap warning:** Google AI Studio's Tier 1 Postpay projects have a configurable monthly spending cap (default varies). The cap is enforced with up to 10 minutes of latency, so overages of a few percent are possible. Monitor your sp - Network accessline 545
Newly created Google AI Studio projects on the free tier have **zero quota** for `gemini-2.5-flash-preview-image`. The API returns `RESOURCE_EXHAUSTED` with `limit: 0` — not a rate limit, but a hard zero. This was verified on 2026-04-06 acr - Network accessline 549
Tier 1 Postpay projects in Google AI Studio have a configurable monthly spending cap. When the cap is reached, all API calls return `RESOURCE_EXHAUSTED` with the message "Your project has exceeded its spending cap." The `generate-images.py` - Access to secretsline 673
[Credential-related source omitted]
skills/book-media-generator/references/story-index-template.md
- Network accessline 127
1. [Wikipedia: <Subject Name>](https://en.wikipedia.org/wiki/<Subject_Name>) - Biography of the subject - Network accessline 128
2. [Wikipedia: <Main Contribution>](https://en.wikipedia.org/wiki/<Main_Contribution>) - The subject's main discovery or invention - Network accessline 129
3. [Wikipedia: <Related Concept>](https://en.wikipedia.org/wiki/<Related_Concept>) - A related topic or work - Network accessline 130
4. [MacTutor: <Subject Name>](https://mathshistory.st-andrews.ac.uk/Biographies/<Subject>/) - University of St Andrews history of mathematics archive - Network accessline 131
5. [Encyclopaedia Britannica: <Subject Name>](https://www.britannica.com/biography/<Subject-Name>) - Overview of the subject's life and contributions
skills/book-media-generator/references/text-to-speech-guide.md
skills/book-media-generator/references/tts-installation.md
- Access to secretsline 15
[Credential-related source omitted] - Access to secretsline 53
[Credential-related source omitted] - Access to secretsline 57
[Credential-related source omitted] - Network accessline 60
## cURL / REST API - Access to secretsline 65
[Credential-related source omitted] - Network accessline 71
[Credential-related source omitted] - Access to secretsline 71
[Credential-related source omitted] - Access to secretsline 72
[Credential-related source omitted] - Network accessline 79
1. Sign up at [elevenlabs.io](https://elevenlabs.io) - Network accessline 80
2. Go to [API Keys](https://elevenlabs.io/app/settings/api-keys) - Access to secretsline 90
[Credential-related source omitted]
skills/book-media-generator/references/tts-streaming.md
- Access to secretsline 108
[Credential-related source omitted] - Access to secretsline 124
[Credential-related source omitted] - Possible obfuscationline 141
audio_chunks.append(base64.b64decode(data["audio"])) - Access to secretsline 166
[Credential-related source omitted] - Access to secretsline 173
[Credential-related source omitted] - Access to secretsline 238
[Credential-related source omitted]
skills/book-media-generator/references/tts-voice-settings.md
skills/book-media-generator/scripts/audio/generate-pronunciation.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 14
[Credential-related source omitted] - Access to secretsline 42
[Credential-related source omitted] - Access to secretsline 43
[Credential-related source omitted] - Access to secretsline 44
[Credential-related source omitted] - Network accessline 47
url = f"https://api.elevenlabs.io/v1/text-to-speech/{voice_id}" - Access to secretsline 49
[Credential-related source omitted] - Network accessline 75
req = urllib.request.Request(url, data=payload, headers=headers, method="POST") - Network accessline 80
try: with urllib.request.urlopen(req) as response: - Network accessline 81
with urllib.request.urlopen(req) as response:
skills/book-media-generator/scripts/story/fix-references.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 41
# "example-scientist": [ # ("Wikipedia: Example Scientist", # "https://en.wikipedia.org/wiki/Example_Scientist", - Network accessline 42
# ("Wikipedia: Example Scientist", # "https://en.wikipedia.org/wiki/Example_Scientist", # "Biography of the example scientist"), - Network accessline 43
# "https://en.wikipedia.org/wiki/Example_Scientist", - Network accessline 44
# "Biography of the example scientist"), # ("Wikipedia: Example Contribution", # "https://en.wikipedia.org/wiki/Example_Contribution", - Network accessline 45
# ("Wikipedia: Example Contribution", # "https://en.wikipedia.org/wiki/Example_Contribution", # "The scientist's main discovery"), - Network accessline 46
# "https://en.wikipedia.org/wiki/Example_Contribution", - Network accessline 47
# "The scientist's main discovery"), # ("Wikipedia: Example Related Concept", # "https://en.wikipedia.org/wiki/Example_Related_Concept", - Network accessline 48
# ("Wikipedia: Example Related Concept", # "https://en.wikipedia.org/wiki/Example_Related_Concept", # "A related topic or work"), - Network accessline 49
# "https://en.wikipedia.org/wiki/Example_Related_Concept", - Network accessline 50
# "A related topic or work"), # ("MacTutor: Example Scientist", # "https://mathshistory.st-andrews.ac.uk/Biographies/Example/", - Network accessline 51
# ("MacTutor: Example Scientist", # "https://mathshistory.st-andrews.ac.uk/Biographies/Example/", # "University of St Andrews history of mathematics archive"), - Network accessline 52
# "https://mathshistory.st-andrews.ac.uk/Biographies/Example/", - Network accessline 53
# "University of St Andrews history of mathematics archive"), # ("Encyclopaedia Britannica: Example Scientist", # "https://www.britannica.com/biography/Example-Scientist", - Network accessline 54
# ("Encyclopaedia Britannica: Example Scientist", # "https://www.britannica.com/biography/Example-Scientist", # "Overview of the scientist's life and contributions"), - Network accessline 55
# "https://www.britannica.com/biography/Example-Scientist",
skills/book-media-generator/scripts/story/generate-images.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 21
Reference (official): https://developers.googleblog.com/gemini-2-5-flash-image-now-ready-for-production-with-new-aspect-ratios/ - Network accessline 22
https://developers.googleblog.com/gemini-2-5-flash-image-now-ready-for-production-with-new-aspect-ratios/ - Access to secretsline 41
[Credential-related source omitted] - Network accessline 43
Get a free API key at https://aistudio.google.com/apikey. The free tier - Network accessline 62
# Gemini 2.5 Flash Image paid-tier pricing (USD) as of early 2026. # Source: https://ai.google.dev/gemini-api/docs/pricing - Network accessline 63
# Source: https://ai.google.dev/gemini-api/docs/pricing - Network accessline 69
# never trips a 429. Override with --rpm if you're on the paid tier with a # higher quota. # Source: https://ai.google.dev/gemini-api/docs/rate-limits - Network accessline 71
# Source: https://ai.google.dev/gemini-api/docs/rate-limits - Network accessline 74
# Supported aspect ratios from the Gemini 2.5 Flash Image production release. # Source: https://developers.googleblog.com/gemini-2-5-flash-image-now-ready-for-production-with-new-aspect-ratios/ - Network accessline 75
# Source: https://developers.googleblog.com/gemini-2-5-flash-image-now-ready-for-production-with-new-aspect-ratios/ - Access to secretsline 429
[Credential-related source omitted] - Network accessline 430
[Credential-related source omitted] - Access to secretsline 430
[Credential-related source omitted] - Access to secretsline 431
[Credential-related source omitted] - Network accessline 432
"Get a free key at https://aistudio.google.com/apikey") - Access to secretsline 436
[Credential-related source omitted]
skills/book-media-generator/scripts/story/uncomment-images.sh
- Executable scriptline 1
#!/bin/bash
skills/book-media-generator/scripts/story/verify-images.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/book-publisher/SKILL.md
- Network accessline 2
name: book-publisher description: Publishes and promotes a finished intelligent textbook - GitHub README with badges and site statistics, LinkedIn announcement posts, LinkedIn carousel document posts (PPTX/PDF slideshows), and AP-style pres - Network accessline 3
description: Publishes and promotes a finished intelligent textbook - GitHub README with badges and site statistics, LinkedIn announcement posts, LinkedIn carousel document posts (PPTX/PDF slideshows), and AP-style press releases. Use when - Network accessline 4
license: Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)
skills/book-publisher/references/badges.md
- Network accessline 7
- **Shields.io**: https://shields.io/ - Most popular badge service - Network accessline 8
- **Badgen.net**: https://badgen.net/ - Alternative badge service - Network accessline 16
[](https://www.mkdocs.org/) - Network accessline 21
[](https://squidfunk.github.io/mkdocs-material/) - Network accessline 26
[](https://www.sphinx-doc.org/) - Network accessline 33
[](https://www.python.org/) - Network accessline 38
[](https://developer.mozilla.org/en-US/docs/Web/JavaScript) - Network accessline 43
[](https://www.typescriptlang.org/) - Network accessline 48
[](https://golang.org/) - Network accessline 53
[](https://www.rust-lang.org/) - Network accessline 60
[](https://p5js.org/) - Network accessline 65
[](https://d3js.org/) - Network accessline 70
[](https://www.chartjs.org/) - Network accessline 75
[](https://visjs.org/) - Network accessline 80
[](https://mermaid.js.org/) - Network accessline 87
[](https://claude.ai) - Network accessline 92
[](https://claude.ai/code) - Network accessline 97
[](https://github.com/dmccreary/ibook-skills) - Network accessline 102
[](https://openai.com/) - Network accessline 107
[](https://www.tensorflow.org/) - Network accessline 112
[](https://pytorch.org/) - Network accessline 119
[](SITE_URL) - Network accessline 124
[](https://www.netlify.com/) - Network accessline 129
[](https://vercel.com/) - Network accessline 136
[](REPO_URL) - Network accessline 141
[](https://github.com/OWNER/REPO) - Network accessline 146
[](https://github.com/OWNER/REPO) - Network accessline 151
[](https://github.com/OWNER/REPO/issues) - Network accessline 156
[](https://github.com/OWNER/REPO) - Network accessline 165
[](https://creativecommons.org/licenses/by/4.0/) - Network accessline 170
[](https://creativecommons.org/licenses/by-sa/4.0/) - Network accessline 173
**CC BY-NC 4.0** - Network accessline 175
[](https://creativecommons.org/licenses/by-nc/4.0/) - Network accessline 180
[](https://creativecommons.org/licenses/by-nc-sa/4.0/) - Network accessline 185
[](https://creativecommons.org/licenses/by-nd/4.0/) - Network accessline 190
[](https://creativecommons.org/licenses/by-nc-nd/4.0/) - Network accessline 195
[](https://creativecommons.org/publicdomain/zero/1.0/) - Network accessline 202
[](https://opensource.org/licenses/MIT) - Network accessline 207
[](https://opensource.org/licenses/Apache-2.0) - Network accessline 212
[](https://www.gnu.org/licenses/gpl-3.0) - Network accessline 217
[](https://opensource.org/licenses/BSD-3-Clause) - Network accessline 222
[](https://opensource.org/licenses/ISC) - Network accessline 229
[](BUILD_URL) - Network accessline 234
[](COVERAGE_URL) - Network accessline 239
[](RELEASES_URL) - Network accessline 244
[](PROJECT_URL) - Network accessline 252
https://img.shields.io/badge/{LABEL}-{MESSAGE}-{COLOR} - Network accessline 267
[](URL) - Network accessline 292
Shields.io uses logos from [Simple Icons](https://simpleicons.org/). Common logo names: - Network accessline 324
[](https://www.mkdocs.org/) - Network accessline 325
[](https://squidfunk.github.io/mkdocs-material/) - Network accessline 326
[](https://username.github.io/repo-name) - Network accessline 327
[](https://github.com/username/repo-name) [](https://claude.ai - Network accessline 328
[](https://claude.ai/code) - Network accessline 329
[](https://creativecommons.org/licenses/by-nc-sa/4.0/) - Network accessline 334
- Shields.io: https://shields.io/ - Network accessline 335
- Simple Icons: https://simpleicons.org/ - Network accessline 336
- Badge Generator: https://shields.io/badges - Network accessline 337
- Markdown Guide: https://www.markdownguide.org/
skills/book-publisher/references/linkedin-post-guide.md
- Network accessline 58
site_name: 'Geometry for High School Students' site_url: 'https://username.github.io/geometry-course/' - Network accessline 59
site_url: 'https://username.github.io/geometry-course/' - Network accessline 455
curl -s "$SITE_URL" | grep -E '(og|twitter):image' - Network accessline 468
`plugins/social_override.py` hook) to fix that first. 3. **Force LinkedIn to re-scrape** with the [Post Inspector](https://www.linkedin.com/post-inspector/inspect/): - Network accessline 469
3. **Force LinkedIn to re-scrape** with the [Post Inspector](https://www.linkedin.com/post-inspector/inspect/): paste in `$SITE_URL` and click **Inspect**. Do this once per URL after - Network accessline 470
[Post Inspector](https://www.linkedin.com/post-inspector/inspect/): - Network accessline 581
Explore the full textbook here: https://dmccreary.github.io/ibook-skills/?utm_source=linkedin&utm_medium=organic_social&utm_campaign=book_launch - Network accessline 583
GitHub repo: https://github.com/dmccreary/ibook-skills - Network accessline 653
install the hook from `book-installer`'s `social-media-preview.md` guide. Then paste the URL into the [LinkedIn Post Inspector](https://www.linkedin.com/post-inspector/inspect/) - Network accessline 654
Then paste the URL into the [LinkedIn Post Inspector](https://www.linkedin.com/post-inspector/inspect/) and click Inspect — LinkedIn caches the preview image per URL, so a fixed - Network accessline 655
[LinkedIn Post Inspector](https://www.linkedin.com/post-inspector/inspect/) - Network accessline 669
- [LinkedIn Best Practices for Posts](https://www.linkedin.com/help/linkedin/answer/a549970) - Network accessline 670
- [LinkedIn Character Limits](https://www.linkedin.com/help/linkedin/answer/a521928) - Network accessline 671
- [Hashtag Strategy Guide](https://www.linkedin.com/business/marketing/blog/content-marketing/hashtag-strategy-guide) - Network accessline 672
- [LinkedIn Post Inspector](https://www.linkedin.com/post-inspector/inspect/) - Preview and force a re-scrape of a URL's `og:` tags before/after posting - Network accessline 673
- [Open Educational Resources](https://www.oercommons.org/)
skills/book-publisher/references/press-release-guide.md
- Network accessline 91
curl -s https://SITE/sitemap.xml | grep -o '<loc>[^<]*</loc>' | sed 's/<[^>]*>//g' - Network accessline 334
- [AP Stylebook](https://www.apstylebook.com/) - Network accessline 335
- [Purdue OWL: Press Releases](https://owl.purdue.edu/owl/subject_specific_writing/journalism_and_journalistic_writing/press_releases.html)
skills/book-publisher/references/readme-guide.md
- Network accessline 41
- If README.md exists: Ask "README.md already exists. Would you like to update it or create a backup first?" - If repository URL not found: Ask "What is the GitHub repository URL? (e.g., https://github.com/username/repo-name)" - Network accessline 42
- If repository URL not found: Ask "What is the GitHub repository URL? (e.g., https://github.com/username/repo-name)" - Network accessline 64
[](https://www.mkdocs.org/) - Network accessline 65
[](https://squidfunk.github.io/mkdocs-material/) - Network accessline 66
[](SITE_URL) - Network accessline 67
[](https://claude.ai/code) - Network accessline 68
[](https://github.com/dmccreary/ibook-skills) - Network accessline 73
- p5.js: `[](https://p5js.org/)` - Network accessline 74
- Python: `[](https://www.python.org/)` - Network accessline 75
- JavaScript: `[](https://developer.mozilla.org/en-US/docs/Web/JavaScript)` - Network accessline 88
[](https://creativecommons.org/licenses/by-nc-sa/4.0/) - Network accessline 93
- MIT: `[](https://opensource.org/licenses/MIT)` - Network accessline 94
- Apache 2.0: `[](https://opensource.org/licenses/Apache-2.0)` - Network accessline 95
- GPL-3.0: `[](https://www.gnu.org/licenses/gpl-3.0)` - Network accessline 104
Visit the interactive textbook at: [https://username.github.io/repo-name](https://username.github.io/repo-name) - Network accessline 226
git clone https://github.com/username/repo-name.git - Network accessline 253
Open your browser to `http://localhost:8000` - Network accessline 335
[GitHub Issues](https://github.com/username/repo-name/issues) - Network accessline 353
This work is licensed under the [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/). - Network accessline 378
- **[MkDocs](https://www.mkdocs.org/)** - Static site generator optimized for project documentation - Network accessline 379
- **[Material for MkDocs](https://squidfunk.github.io/mkdocs-material/)** - Beautiful, responsive theme - Network accessline 380
- **[p5.js](https://p5js.org/)** - Creative coding library from NYU ITP - Network accessline 381
- **[vis-network](https://visjs.org/)** - Network visualization library for learning graphs - Network accessline 382
- **[Python](https://www.python.org/)** community - Data processing and analysis tools - Network accessline 383
- **[Claude AI](https://claude.ai)** by Anthropic - AI-assisted content generation - Network accessline 384
- **[GitHub Pages](https://pages.github.com/)** - Free hosting for open source projects - Network accessline 405
- LinkedIn: [linkedin.com/in/danmccreary](https://www.linkedin.com/in/danmccreary/) - Network accessline 406
- GitHub: [@dmccreary](https://github.com/dmccreary) - Network accessline 447
[Author Name]. (2024). [Textbook Title]. GitHub. https://github.com/username/repo-name - Network accessline 456
year = {2024}, publisher = {GitHub}, url = {https://github.com/username/repo-name} - Network accessline 457
publisher = {GitHub}, url = {https://github.com/username/repo-name} } - Network accessline 458
url = {https://github.com/username/repo-name} - Network accessline 604
- [GitHub README Best Practices](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes) - Network accessline 605
- [Shields.io Badge Documentation](https://shields.io/) - Network accessline 606
- [Creative Commons License Chooser](https://creativecommons.org/choose/) - Network accessline 607
- [MkDocs Documentation](https://www.mkdocs.org/)
skills/book-publisher/scripts/collect-site-metrics.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/book-publisher/scripts/crop-screenshot.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/book-publisher/scripts/validate-readme.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/chapter-content-generator/SKILL.md
- Network accessline 2
name: chapter-content-generator description: Generates detailed chapter content for an intelligent textbook — text, diagrams, MicroSims, and exercises at the appropriate Bloom's level. Use when a chapter's index.md exists with title, summar - Network accessline 3
description: Generates detailed chapter content for an intelligent textbook — text, diagrams, MicroSims, and exercises at the appropriate Bloom's level. Use when a chapter's index.md exists with title, summary, and concept list. license: Cr - Network accessline 4
license: Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)
skills/course-description-analyzer/SKILL.md
- Network accessline 2
name: course-description-analyzer description: Validates or creates a course description for an intelligent textbook, scoring completeness against required elements (title, audience, prerequisites, topics, Bloom's Taxonomy outcomes). Use be - Network accessline 3
description: Validates or creates a course description for an intelligent textbook, scoring completeness against required elements (title, audience, prerequisites, topics, Bloom's Taxonomy outcomes). Use before running the learning-graph-ge - Network accessline 4
license: Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)
skills/docx-to-web-publisher/assets/template-content-component.tsx
- Executable scriptline 1
Executable file
skills/docx-to-web-publisher/assets/template-content-registry.ts
- Executable scriptline 1
Executable file
skills/docx-to-web-publisher/assets/template-cover.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" width="800" height="600" viewBox="0 0 800 600">
skills/docx-to-web-publisher/scripts/extract_docx.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 25
NS = {"w": "http://schemas.openxmlformats.org/wordprocessingml/2006/main"} - Network accessline 47
if pstyle is not None: style = pstyle.get( "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}val", - Network accessline 48
style = pstyle.get( "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}val", "", - Network accessline 49
"{http://schemas.openxmlformats.org/wordprocessingml/2006/main}val",
skills/faq-generator/SKILL.md
- Network accessline 2
name: faq-generator description: Generates a FAQ set for an intelligent textbook from course content, learning graph, and glossary terms. Use after the learning graph and glossary exist and at least 30% of chapters are written. license: Cre - Network accessline 3
description: Generates a FAQ set for an intelligent textbook from course content, learning graph, and glossary terms. Use after the learning graph and glossary exist and at least 30% of chapters are written. license: Creative Commons Attrib - Network accessline 4
license: Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)
skills/learning-graph-generator/SKILL.md
- Network accessline 63
`git clone https://github.com/dmccreary/intelligent-book-template` - Network accessline 309
"version": "1.0", "format": "Learning Graph JSON v1.0", "schema": "https://raw.githubusercontent.com/dmccreary/learning-graphs/refs/heads/main/src/schema/learning-graph-schema.json", - Network accessline 310
"format": "Learning Graph JSON v1.0", "schema": "https://raw.githubusercontent.com/dmccreary/learning-graphs/refs/heads/main/src/schema/learning-graph-schema.json", "license": "CC BY-NC-SA 4.0 DEED" - Network accessline 311
"schema": "https://raw.githubusercontent.com/dmccreary/learning-graphs/refs/heads/main/src/schema/learning-graph-schema.json", "license": "CC BY-NC-SA 4.0 DEED" }
skills/learning-graph-generator/add-taxonomy.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/learning-graph-generator/analyze-graph.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/learning-graph-generator/csv-to-json.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 263
'version': '1.0', 'format': 'Learning Graph JSON v1.0', 'schema': 'https://raw.githubusercontent.com/dmccreary/learning-graphs/refs/heads/main/src/schema/learning-graph-schema.json', - Network accessline 264
'format': 'Learning Graph JSON v1.0', 'schema': 'https://raw.githubusercontent.com/dmccreary/learning-graphs/refs/heads/main/src/schema/learning-graph-schema.json', 'license': 'CC BY-NC-SA 4.0 DEED' - Network accessline 265
'schema': 'https://raw.githubusercontent.com/dmccreary/learning-graphs/refs/heads/main/src/schema/learning-graph-schema.json', 'license': 'CC BY-NC-SA 4.0 DEED' }
skills/learning-graph-generator/learning-graph-schema.json
skills/learning-graph-generator/taxonomy-distribution.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/learning-graph-generator/validate-learning-graph.py
skills/learning-graph-generator/validate-learning-graph.sh
- Executable scriptline 1
#!/bin/bash
skills/learning-graph-generator/vis-network-json-format.md
- Network accessline 265
function drawGraph() { // Fetch the graph data from JSON file fetch('learning-graph.json') - Network accessline 266
// Fetch the graph data from JSON file fetch('learning-graph.json') .then(response => response.json()) - Network accessline 267
fetch('learning-graph.json') - Network accessline 395
- **Official docs:** https://visjs.github.io/vis-network/docs/network/ - Network accessline 396
- **Node options:** https://visjs.github.io/vis-network/docs/network/nodes.html - Network accessline 397
- **Edge options:** https://visjs.github.io/vis-network/docs/network/edges.html - Network accessline 398
- **Physics:** https://visjs.github.io/vis-network/docs/network/physics.html - Network accessline 399
- **Examples:** https://visjs.github.io/vis-network/examples/
skills/microsim-generator/SKILL.md
- Network accessline 1007
<meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 1010
This enables counting and discovery of MicroSims across GitHub using code search. See the [URI Scheme documentation](https://dmccreary.github.io/intelligent-textbooks/uri-scheme/) for details.
skills/microsim-generator/assets/causal-loop/cld-inline.js
- Executable scriptline 1
Executable file - Network accessline 14
const VIS_JS = 'https://unpkg.com/vis-network@10.0.1/standalone/umd/vis-network.min.js'; - Network accessline 212
try { const [data] = await Promise.all([ fetch(src).then(function (r) { - Network accessline 213
const [data] = await Promise.all([ fetch(src).then(function (r) { if (!r.ok) throw new Error('Failed to fetch ' + src + ' (' + r.status + ')'); - Network accessline 214
fetch(src).then(function (r) {
skills/microsim-generator/assets/causal-loop/cld-viewer/cld-viewer.js
- Executable scriptline 1
Executable file - Network accessline 74
async function loadCLDFromFile(filename) { try { const response = await fetch(`examples/${filename}.json`); - Network accessline 75
try { const response = await fetch(`examples/${filename}.json`); if (!response.ok) { - Network accessline 76
const response = await fetch(`examples/${filename}.json`);
skills/microsim-generator/assets/causal-loop/cld-viewer/main.html
- Network accessline 6
<title>Causal Loop Diagram Viewer</title> <!-- Load the vis.js 10.0.1 release --> <link rel="preconnect" href="https://unpkg.com" crossorigin> - Network accessline 7
<!-- Load the vis.js 10.0.1 release --> <link rel="preconnect" href="https://unpkg.com" crossorigin> <link rel="stylesheet" type="text/css" href="https://unpkg.com/vis-network@10.0.1/dist/vis-network.min.css"> - Network accessline 8
<link rel="preconnect" href="https://unpkg.com" crossorigin> - Network accessline 9
<link rel="stylesheet" type="text/css" href="https://unpkg.com/vis-network@10.0.1/dist/vis-network.min.css"> - Network accessline 10
<script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script>
skills/microsim-generator/assets/concept-classifier/concept-classifier-template.js
- Executable scriptline 1
Executable file
skills/microsim-generator/assets/concept-classifier/index-template.md
- Network accessline 45
<iframe src="https://$GITHUB_USER.github.io/$REPO_NAME/sims/$MICROSIM_NAME/main.html"
skills/microsim-generator/assets/concept-classifier/main-template.html
- Network accessline 4
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> <title>$QUIZ_TITLE MicroSim</title> - Network accessline 6
<meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 7
<title>$QUIZ_TITLE MicroSim</title> <script src="https://cdn.jsdelivr.net/npm/p5@2.3.4/lib/p5.js"></script> <style> - Network accessline 8
<script src="https://cdn.jsdelivr.net/npm/p5@2.3.4/lib/p5.js"></script>
skills/microsim-generator/assets/docker-python-lab/docker-lab.js
- Executable scriptline 1
Executable file - Network accessline 18
var _DOCKER_SERVICE_URL = 'http://127.0.0.1:5001/run'; - Network accessline 72
try { var resp = await fetch(_DOCKER_SERVICE_URL, { - Network accessline 73
var resp = await fetch(_DOCKER_SERVICE_URL, { - Network accessline 116
try { var resp = await fetch(_DOCKER_SERVICE_URL, { - Network accessline 117
var resp = await fetch(_DOCKER_SERVICE_URL, {
skills/microsim-generator/assets/infographic-overlay/grid-main-template.html
- Network accessline 4
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> <title>{TITLE} — Interactive Infographic</title> - Network accessline 6
<meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1">
skills/microsim-generator/assets/infographic-overlay/main-template.html
- Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>{TITLE} — Interactive Diagram</title> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 6
<title>{TITLE} — Interactive Diagram</title> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> <link rel="stylesheet" href="../shared-libs/style.css"> - Network accessline 7
<meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1">
skills/microsim-generator/assets/infographic-overlay/shared-libs/diagram.js
- Executable scriptline 1
Executable file - Network accessline 46
try { const res = await fetch('data.json'); - Network accessline 47
const res = await fetch('data.json'); - Network accessline 473
makePath(d, id) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 474
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
skills/microsim-generator/assets/infographic-overlay/shared-libs/grid-diagram.js
skills/microsim-generator/assets/templates/chartjs/index-template.md
- Network accessline 22
<iframe src="https://dmccreary.github.io/{{REPO_NAME}}/sims/{{MICROSIM_NAME}}/main.html" height="450px" width="100%" scrolling="no"></iframe>
skills/microsim-generator/assets/templates/chartjs/main-template.html
- Network accessline 4
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> <title>{{TITLE}}</title> - Network accessline 6
<meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 7
<title>{{TITLE}}</title> <script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels@2"></script> - Network accessline 8
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script> - Network accessline 9
<script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels@2"></script>
skills/microsim-generator/assets/templates/chartjs/market-share-example.html
- Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Web Server Operating System Market Share</title> <script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script> - Network accessline 6
<title>Web Server Operating System Market Share</title> <script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels@2"></script> - Network accessline 7
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script> - Network accessline 8
<script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels@2"></script>
skills/microsim-generator/assets/templates/chartjs/script.js
- Executable scriptline 1
Executable file
skills/microsim-generator/assets/templates/comparison-table/index-template.md
- Network accessline 22
<iframe src="https://dmccreary.github.io/{{REPO_NAME}}/sims/{{MICROSIM_NAME}}/main.html" height="470px" width="100%" scrolling="no"></iframe>
skills/microsim-generator/assets/templates/comparison-table/main-template.html
- Network accessline 4
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> <title>{{TITLE}}</title> - Network accessline 6
<meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1">
skills/microsim-generator/assets/templates/map/choropleth-example.html
- Network accessline 6
<title>US State Quality of Life Map</title> <!-- Leaflet CSS --> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"> - Network accessline 7
<!-- Leaflet CSS --> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"> <style> - Network accessline 8
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"> - Network accessline 148
<!-- Leaflet JS --> <script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script> - Network accessline 149
<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script> - Network accessline 159
const GEOJSON_URL = 'https://raw.githubusercontent.com/PublicaMundi/MappingAPI/master/data/geojson/us-states.json'; - Network accessline 221
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { - Network accessline 222
attribution: '© <a href="https://openstreetmap.org">OpenStreetMap</a> contributors', - Network accessline 307
try { const response = await fetch(GEOJSON_URL); - Network accessline 308
const response = await fetch(GEOJSON_URL);
skills/microsim-generator/assets/templates/map/data-template.json
- Network accessline 11
"minZoom": 2, "maxZoom": 18, "geoJsonUrl": "https://raw.githubusercontent.com/PublicaMundi/MappingAPI/master/data/geojson/us-states.json" - Network accessline 12
"maxZoom": 18, "geoJsonUrl": "https://raw.githubusercontent.com/PublicaMundi/MappingAPI/master/data/geojson/us-states.json" }, - Network accessline 13
"geoJsonUrl": "https://raw.githubusercontent.com/PublicaMundi/MappingAPI/master/data/geojson/us-states.json"
skills/microsim-generator/assets/templates/map/index-template.md
- Network accessline 30
- Built with [Leaflet.js](https://leafletjs.com/) for interactive mapping
skills/microsim-generator/assets/templates/map/main-template.html
- Network accessline 4
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> <title>{{TITLE}}</title> - Network accessline 6
<meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 7
<title>{{TITLE}}</title> <!-- Leaflet CSS --> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"> - Network accessline 8
<!-- Leaflet CSS --> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"> <link rel="stylesheet" href="style.css"> - Network accessline 9
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"> - Network accessline 27
<!-- Leaflet JS --> <script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script> - Network accessline 28
<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script>
skills/microsim-generator/assets/templates/map/script.js
- Executable scriptline 1
Executable file - Network accessline 31
const GEOJSON_URL = 'https://raw.githubusercontent.com/PublicaMundi/MappingAPI/master/data/geojson/us-states.json'; - Network accessline 94
async function loadMapData() { try { const response = await fetch(DATA_URL); - Network accessline 95
try { const response = await fetch(DATA_URL); if (!response.ok) { - Network accessline 96
const response = await fetch(DATA_URL); - Network accessline 116
try { const response = await fetch(GEOJSON_URL); - Network accessline 117
const response = await fetch(GEOJSON_URL); - Network accessline 143
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { - Network accessline 144
attribution: '© <a href="https://openstreetmap.org">OpenStreetMap</a> contributors',
skills/microsim-generator/assets/templates/mermaid/index-template.md
- Network accessline 22
<iframe src="https://dmccreary.github.io/{{REPO_NAME}}/sims/{{MICROSIM_NAME}}/main.html" height="450px" width="100%" scrolling="no"></iframe>
skills/microsim-generator/assets/templates/mermaid/main-template.html
- Network accessline 4
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> <title>{{TITLE}}</title> - Network accessline 6
<meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 7
<title>{{TITLE}}</title> <script type="module"> import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs'; - Network accessline 8
<script type="module"> import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs'; mermaid.initialize({ - Network accessline 9
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
skills/microsim-generator/assets/templates/mermaid/script.js
- Executable scriptline 1
Executable file
skills/microsim-generator/assets/templates/mermaid/software-lifecycle-example.html
- Network accessline 6
<title>Software Development Lifecycle</title> <script type="module"> import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs'; - Network accessline 7
<script type="module"> import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs'; mermaid.initialize({ - Network accessline 8
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
skills/microsim-generator/assets/templates/p5/bouncing-ball.js
- Executable scriptline 1
Executable file
skills/microsim-generator/assets/templates/p5/index-template.md
skills/microsim-generator/assets/templates/p5/main-template.html
- Network accessline 4
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> <title>Bouncing Ball MicroSim using P5.js 2.3.4</title> - Network accessline 6
<meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 7
<title>Bouncing Ball MicroSim using P5.js 2.3.4</title> <script src="https://cdn.jsdelivr.net/npm/p5@2.3.4/lib/p5.js"></script> <style> - Network accessline 8
<script src="https://cdn.jsdelivr.net/npm/p5@2.3.4/lib/p5.js"></script>
skills/microsim-generator/assets/templates/p5/metadata-template.json
- Network accessline 19
"Claude Code" ], "identifier": "https://dmccreary.github.io/microsims/sims/bouncing-ball/", - Network accessline 20
], "identifier": "https://dmccreary.github.io/microsims/sims/bouncing-ball/", "publisher": "MicroSims Educational Platform", - Network accessline 21
"identifier": "https://dmccreary.github.io/microsims/sims/bouncing-ball/",
skills/microsim-generator/assets/templates/p5/slider-label-value-alignment.js
- Executable scriptline 1
Executable file
skills/microsim-generator/assets/templates/plotly/index-template.md
- Network accessline 22
<iframe src="https://dmccreary.github.io/{{REPO_NAME}}/sims/{{MICROSIM_NAME}}/main.html" height="500px" width="100%" scrolling="no"></iframe>
skills/microsim-generator/assets/templates/plotly/main-template.html
- Network accessline 4
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> <title>{{TITLE}}</title> - Network accessline 6
<meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 8
<link rel="stylesheet" href="style.css"> <!-- Plotly.js CDN --> <script src="https://cdn.plot.ly/plotly-2.27.0.min.js"></script> - Network accessline 9
<!-- Plotly.js CDN --> <script src="https://cdn.plot.ly/plotly-2.27.0.min.js"></script> </head> - Network accessline 10
<script src="https://cdn.plot.ly/plotly-2.27.0.min.js"></script>
skills/microsim-generator/assets/templates/plotly/script.js
- Executable scriptline 1
Executable file
skills/microsim-generator/assets/templates/plotly/sine-function-example.html
- Network accessline 6
<title>Sine Function Visualization</title> <!-- Plotly.js CDN --> <script src="https://cdn.plot.ly/plotly-2.27.0.min.js"></script> - Network accessline 7
<!-- Plotly.js CDN --> <script src="https://cdn.plot.ly/plotly-2.27.0.min.js"></script> <style> - Network accessline 8
<script src="https://cdn.plot.ly/plotly-2.27.0.min.js"></script>
skills/microsim-generator/assets/templates/shared/microsim-metadata-schema.json
skills/microsim-generator/assets/templates/timeline/index.md
skills/microsim-generator/assets/templates/timeline/main.html
- Network accessline 4
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> <title>Timeline Template</title> - Network accessline 6
<meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 7
<title>Timeline Template</title> <script src="https://unpkg.com/vis-timeline@7.7.3/standalone/umd/vis-timeline-graph2d.min.js"></script> <link href="https://unpkg.com/vis-timeline@7.7.3/styles/vis-timeline-graph2d.min.css" rel="styl - Network accessline 8
<script src="https://unpkg.com/vis-timeline@7.7.3/standalone/umd/vis-timeline-graph2d.min.js"></script> - Network accessline 9
<link href="https://unpkg.com/vis-timeline@7.7.3/styles/vis-timeline-graph2d.min.css" rel="stylesheet">
skills/microsim-generator/assets/templates/timeline/script.js
skills/microsim-generator/assets/templates/venn/ai-ml-dl-example.html
- Network accessline 6
<title>AI, Machine Learning, and Data Science</title> <link rel="stylesheet" href="style.css"> <script src="https://cdn.jsdelivr.net/npm/d3@7.9.0/dist/d3.min.js"></script> - Network accessline 7
<link rel="stylesheet" href="style.css"> <script src="https://cdn.jsdelivr.net/npm/d3@7.9.0/dist/d3.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/venn.js@0.2.20/venn.js"></script> - Network accessline 8
<script src="https://cdn.jsdelivr.net/npm/d3@7.9.0/dist/d3.min.js"></script> - Network accessline 9
<script src="https://cdn.jsdelivr.net/npm/venn.js@0.2.20/venn.js"></script>
skills/microsim-generator/assets/templates/venn/index-template.md
- Network accessline 22
<iframe src="https://dmccreary.github.io/{{REPO_NAME}}/sims/{{DIAGRAM_NAME}}/main.html" height="500px" width="100%" scrolling="no"></iframe>
skills/microsim-generator/assets/templates/venn/main-template.html
- Network accessline 4
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> <title>{{TITLE}}</title> - Network accessline 6
<meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 8
<link rel="stylesheet" href="style.css"> <!-- D3.js and venn.js CDN --> <script src="https://cdn.jsdelivr.net/npm/d3@7.9.0/dist/d3.min.js"></script> - Network accessline 9
<!-- D3.js and venn.js CDN --> <script src="https://cdn.jsdelivr.net/npm/d3@7.9.0/dist/d3.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/venn.js@0.2.20/venn.js"></script> - Network accessline 10
<script src="https://cdn.jsdelivr.net/npm/d3@7.9.0/dist/d3.min.js"></script> - Network accessline 11
<script src="https://cdn.jsdelivr.net/npm/venn.js@0.2.20/venn.js"></script>
skills/microsim-generator/assets/templates/venn/script.js
- Executable scriptline 1
Executable file
skills/microsim-generator/assets/templates/vis-network/concept-graph-example.html
- Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Concept Dependency Graph</title> <script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script> - Network accessline 6
<title>Concept Dependency Graph</title> <script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script> <link rel="stylesheet" href="style.css"> - Network accessline 7
<script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script>
skills/microsim-generator/assets/templates/vis-network/index-template.md
- Network accessline 22
<iframe src="https://dmccreary.github.io/{{REPO_NAME}}/sims/{{MICROSIM_NAME}}/main.html" height="500px" width="100%" scrolling="no"></iframe>
skills/microsim-generator/assets/templates/vis-network/main-template.html
- Network accessline 4
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> <title>{{TITLE}}</title> - Network accessline 6
<meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 7
<title>{{TITLE}}</title> <script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script> <link rel="stylesheet" href="style.css"> - Network accessline 8
<script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script>
skills/microsim-generator/assets/templates/vis-network/script.js
skills/microsim-generator/references/bubble-guide.md
- Network accessline 70
1. **HTML boilerplate** with proper meta tags 2. **Chart.js CDN import**: `https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js` - Network accessline 71
2. **Chart.js CDN import**: `https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js` - Network accessline 351
### Assets - **Chart.js CDN**: `https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js` - Network accessline 352
- **Chart.js CDN**: `https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js` - Network accessline 355
### References - [Chart.js Documentation](https://www.chartjs.org/docs/latest/) - Network accessline 356
- [Chart.js Documentation](https://www.chartjs.org/docs/latest/) - Network accessline 357
- [Bubble Chart Guide](https://www.chartjs.org/docs/latest/charts/bubble.html) - Network accessline 358
- [Chart.js Plugins](https://www.chartjs.org/docs/latest/developers/plugins.html)
skills/microsim-generator/references/causal-loop-guide.md
- Network accessline 126
After generating, tell the user the file paths and what `mkdocs.yml` changes you made, and give them the edit URL with the repo name in the path, for example `http://127.0.0.1:8000/<repo-name>/sims/<sim-id>/main.html?edit=true`, or `.../sim
skills/microsim-generator/references/chartjs-guide.md
- Network accessline 105
1. **HTML boilerplate** with proper meta tags 2. **Chart.js CDN import**: `https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js` - Network accessline 106
2. **Chart.js CDN import**: `https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js` - Network accessline 405
- [Chart.js Documentation](https://www.chartjs.org/docs/latest/) - Network accessline 406
- [Chart Type Guide](https://www.chartjs.org/docs/latest/charts/[type].html) - Network accessline 594
<script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels@2"></script> - Network accessline 639
### Assets - **Chart.js CDN**: `https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js` - Network accessline 640
- **Chart.js CDN**: `https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js` - Network accessline 641
- **Optional Data Labels Plugin**: `https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels@2` - Network accessline 644
### References - [Chart.js Documentation](https://www.chartjs.org/docs/latest/) - Network accessline 645
- [Chart.js Documentation](https://www.chartjs.org/docs/latest/) - Network accessline 646
- [Chart.js Samples](https://www.chartjs.org/docs/latest/samples/) - Network accessline 647
- [Chart.js GitHub](https://github.com/chartjs/Chart.js) - Network accessline 648
- [Chart Types Guide](https://www.chartjs.org/docs/latest/charts/)
skills/microsim-generator/references/cld-article-structure.md
- Network accessline 3
The reference article ([winner-takes-all.md](https://github.com/dmccreary/tracking-ai-course/blob/main/docs/articles/winner-takes-all.md)) follows a progressive build-up pattern that works well whenever the topic has one central runaway dyn
skills/microsim-generator/references/cld-edit-mode.md
skills/microsim-generator/references/concept-classifier-guide.md
- Network accessline 128
<meta name="schema" content="https://dmccreary.github.io/intelligent-textbooks/ns/microsim/v1"> - Network accessline 131
This enables counting and discovery of MicroSims across GitHub. See the [URI Scheme documentation](https://dmccreary.github.io/intelligent-textbooks/uri-scheme/) for details.
skills/microsim-generator/references/html-table.md
- Network accessline 130
async function init() { const response = await fetch('./data.json'); - Network accessline 131
const response = await fetch('./data.json'); - Network accessline 190
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Matrix Title</title> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap" rel="stylesheet"> - Network accessline 191
<title>Matrix Title</title> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap" rel="stylesheet"> <link rel="stylesheet" href="style.css"> - Network accessline 192
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap" rel="stylesheet"> - Network accessline 332
2. **Light theme colors** - Use lower opacity values than dark themes (0.15-0.2 vs 0.3-0.5) 3. **Compact layouts** - Systematically reduce all padding/margins/font-sizes for iframe fit 4. **Async data loading** - Use fetch() with proper err - Network accessline 333
3. **Compact layouts** - Systematically reduce all padding/margins/font-sizes for iframe fit 4. **Async data loading** - Use fetch() with proper error handling 5. **Mobile responsiveness** - Full-width detail panel on small screens - Network accessline 334
4. **Async data loading** - Use fetch() with proper error handling
skills/microsim-generator/references/infographic-overlay-guide.md
- Network accessline 226
1. Copy image prompt into text-to-image tool 2. Save generated image to the MicroSim directory 3. View at `http://127.0.0.1:8000/{repo}/sims/{sim-id}/main.html` - Network accessline 227
2. Save generated image to the MicroSim directory 3. View at `http://127.0.0.1:8000/{repo}/sims/{sim-id}/main.html` 4. Calibrate positions with `?edit=true` - Network accessline 228
3. View at `http://127.0.0.1:8000/{repo}/sims/{sim-id}/main.html` - Network accessline 461
Preview at: `http://127.0.0.1:8000/ibook-skills/sims/grid-overlay-test/`
skills/microsim-generator/references/infographic-verification-report-template.md
- Network accessline 32
- **Source:** Human Spaces / Interface (2015) - **Authors:** Cooper, C. et al. - **URL:** https://www.interface.com/... - Network accessline 33
- **Authors:** Cooper, C. et al. - **URL:** https://www.interface.com/... - **Quoted passage:** "employees who work in environments with natural elements report a 15% higher level of well-being" - Network accessline 34
- **URL:** https://www.interface.com/... - Network accessline 45
- **Final phrasing:** "Nature exposure reduces cortisol (Antonelli et al., 2019 meta-analysis)" - **Source:** Antonelli, Barbieri & Donelli (2019). *International Journal of Biometeorology.* - **URL:** https://pubmed.ncbi.nlm.nih.gov/310016 - Network accessline 46
- **Source:** Antonelli, Barbieri & Donelli (2019). *International Journal of Biometeorology.* - **URL:** https://pubmed.ncbi.nlm.nih.gov/31001682/ - **Quoted passage:** "Forest bathing can significantly influence cortisol levels on a short - Network accessline 47
- **URL:** https://pubmed.ncbi.nlm.nih.gov/31001682/
skills/microsim-generator/references/map-guide.md
- Network accessline 178
- OpenStreetMap: `https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png` - Network accessline 179
- Satellite: `https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}` - Network accessline 180
- Terrain: `https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png` - Network accessline 333
const street = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'); - Network accessline 334
const satellite = L.tileLayer('https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}'); - Network accessline 410
- [Leaflet Documentation](https://leafletjs.com/reference.html) - Network accessline 411
- [Leaflet Tutorials](https://leafletjs.com/examples.html) - Network accessline 412
- [OpenStreetMap Tile Usage Policy](https://operations.osmfoundation.org/policies/tiles/) - Network accessline 413
- [GeoJSON Format Specification](https://geojson.org/)
skills/microsim-generator/references/mermaid-flowchart-syntax.md
skills/microsim-generator/references/mermaid-guide.md
- Network accessline 383
cd /docs mkdocs serve # Navigate to http://localhost:8000/sims/[diagram-name]/ - Network accessline 385
# Navigate to http://localhost:8000/sims/[diagram-name]/ - Network accessline 620
<title>{{TITLE}}</title> <script type="module"> import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs'; - Network accessline 621
<script type="module"> import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs'; mermaid.initialize({ - Network accessline 622
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs'; - Network accessline 895
- Mermaid.js Documentation: https://mermaid.js.org/ - Network accessline 896
- MkDocs Material Theme: https://squidfunk.github.io/mkdocs-material/ - Network accessline 897
- Dublin Core Metadata: https://www.dublincore.org/specifications/dublin-core/
skills/microsim-generator/references/p5-guide.md
- Network accessline 41
The p5.js file is also designed to that it can be tested by pasting the JavaScript directly into the p5.js editor site at https://editor.p5js.org/. After the JavaScript file has been generated, indicate to the user that the MicroSim can no - Network accessline 42
into the p5.js editor site at https://editor.p5js.org/. After the JavaScript file has been generated, indicate to the user that the MicroSim can now be tested. - Network accessline 63
This information will be documented at the end of the index.md file and also stored in a file called metadata.json that is validated by a JSON Schema at https://github.com/dmccreary/microsims/blob/main/src/microsim-schema/microsim-schema.js - Network accessline 64
validated by a JSON Schema at https://github.com/dmccreary/microsims/blob/main/src/microsim-schema/microsim-schema.json - Network accessline 198
Reference for Create Button: https://p5js.org/reference/p5/createButton/ - Network accessline 199
Reference for Create Slider: https://p5js.org/reference/p5/createSlider/ - Network accessline 200
Reference for Create Select: https://p5js.org/reference/p5/createSelect/ - Network accessline 201
Reference for Create checkBox: https://p5js.org/reference/p5/createCheckbox/ - Network accessline 202
Reference for Create Input: https://p5js.org/reference/p5/createInput/ - Network accessline 228
<iframe src="https://dmccreary.github.io/microsims/sims/[MICROSIM_NAME]/main.html" height="500pt" width="100%" scrolling="no"></iframe> - Network accessline 637
<meta charset="UTF-8"> <title>$SIMULATION_NAME MicroSim using P5.js 2.3.4</title> <script src="https://cdn.jsdelivr.net/npm/p5@2.3.4/lib/p5.js"></script> - Network accessline 638
<title>$SIMULATION_NAME MicroSim using P5.js 2.3.4</title> <script src="https://cdn.jsdelivr.net/npm/p5@2.3.4/lib/p5.js"></script> <style> - Network accessline 639
<script src="https://cdn.jsdelivr.net/npm/p5@2.3.4/lib/p5.js"></script> - Network accessline 677
https://github.com/dmccreary/microsims/blob/main/src/p5-version/p5-version.py - Network accessline 679
As of this guide, the default version is p5.js 2.x (currently 2.3.4). Most global-mode 2D code works unchanged from 1.x: shapes, `fill()` and `stroke()`, `text()`, the builtin DOM controls, and the `draw()` loop. The patterns in the next se - Network accessline 743
[Run the Bouncing Ball MicroSim Fullscreen](./main.html){ .md-button .md-button--primary } <br/> [Edit the Bouncing Ball MicroSim with the p5.js editor](https://editor.p5js.org/dmccreary/sketches/icpiK4UjE) - Network accessline 745
[Edit the Bouncing Ball MicroSim with the p5.js editor](https://editor.p5js.org/dmccreary/sketches/icpiK4UjE) - Network accessline 762
<iframe src="https://dmccreary.github.io/microsims/sims/bouncing-ball/main.html" height="432px" scrolling="no"></iframe> - Network accessline 993
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>MicroSim: [Concept Name]</title> <script src="https://cdn.jsdelivr.net/npm/p5@2.3.4/lib/p5.js"></script> - Network accessline 994
<title>MicroSim: [Concept Name]</title> <script src="https://cdn.jsdelivr.net/npm/p5@2.3.4/lib/p5.js"></script> <style> - Network accessline 995
<script src="https://cdn.jsdelivr.net/npm/p5@2.3.4/lib/p5.js"></script> - Network accessline 1139
<iframe src="https://dmccreary.github.io/microsims/sims/bouncing-ball/main.html" - Network accessline 1291
# test your code locally mkdocs serve # go to the right link: http://localhost:8000/[GITHUB_DIR_NAME]/sims/[sim-name]/ - Network accessline 1292
mkdocs serve # go to the right link: http://localhost:8000/[GITHUB_DIR_NAME]/sims/[sim-name]/ # check in your code with git - Network accessline 1293
# go to the right link: http://localhost:8000/[GITHUB_DIR_NAME]/sims/[sim-name]/
skills/microsim-generator/references/plotly-guide.md
- Network accessline 495
- [Plotly.js Official Documentation](https://plotly.com/javascript/) - Network accessline 496
- [Line Charts Guide](https://plotly.com/javascript/line-charts/) - Network accessline 497
- [Scatter Plots](https://plotly.com/javascript/line-and-scatter/) - Network accessline 498
- [Hover Text and Formatting](https://plotly.com/javascript/hover-text-and-formatting/) - Network accessline 499
- [Layout Configuration](https://plotly.com/javascript/reference/layout/) - Network accessline 500
- [Responsive Plots](https://plotly.com/javascript/responsive-fluid-layout/) - Network accessline 504
- [MDN Math Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math) - Network accessline 505
- [Math.sin()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sin) - Network accessline 506
- [Math.pow()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/pow) - Network accessline 507
- [Math.exp()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/exp) - Network accessline 511
- [Desmos Graphing Calculator](https://www.desmos.com/calculator) - Reference for function visualization - Network accessline 512
- [GeoGebra](https://www.geogebra.org/) - Interactive mathematics software - Network accessline 513
- [Khan Academy - Functions](https://www.khanacademy.org/math/algebra/x2f8bb11595b61c86:functions) - Network accessline 517
- [MicroSim Standardization Skill](../../microsim-utils/references/standardization.md) - Quality rubric and requirements - [Dublin Core Metadata](https://www.dublincore.org/specifications/dublin-core/dcmi-terms/) - Metadata standards - Network accessline 518
- [Dublin Core Metadata](https://www.dublincore.org/specifications/dublin-core/dcmi-terms/) - Metadata standards - Network accessline 519
- [Plotly.js CDN](https://cdn.plot.ly/) - Latest library versions
skills/microsim-generator/references/timeline-guide.md
- Network accessline 693
### Assets - **vis-timeline CDN** (standalone build - the old graph2d build is deprecated): - JS: `https://unpkg.com/vis-timeline/standalone/umd/vis-timeline-graph2d.min.js` - Network accessline 694
- **vis-timeline CDN** (standalone build - the old graph2d build is deprecated): - JS: `https://unpkg.com/vis-timeline/standalone/umd/vis-timeline-graph2d.min.js` - CSS: `https://unpkg.com/vis-timeline/standalone/umd/vis-timeline-graph2 - Network accessline 695
- JS: `https://unpkg.com/vis-timeline/standalone/umd/vis-timeline-graph2d.min.js` - Network accessline 696
- CSS: `https://unpkg.com/vis-timeline/standalone/umd/vis-timeline-graph2d.min.css` - Network accessline 699
### References - [vis-timeline Documentation](https://visjs.github.io/vis-timeline/docs/timeline/) - Network accessline 700
- [vis-timeline Documentation](https://visjs.github.io/vis-timeline/docs/timeline/) - Network accessline 701
- [TimelineJS3 Data Format](https://timeline.knightlab.com/docs/json-format.html) (compatible structure) - Network accessline 702
- [vis-timeline GitHub Repository](https://github.com/visjs/vis-timeline)
skills/microsim-generator/references/venn-guide.md
- Network accessline 615
- **venn.js GitHub**: https://github.com/benfred/venn.js - Network accessline 616
- **venn.js Examples**: https://benfred.github.io/venn.js/ - Network accessline 617
- **D3.js Documentation**: https://d3js.org/ - Network accessline 618
- **MkDocs Material Theme**: https://squidfunk.github.io/mkdocs-material/ - Network accessline 619
- **Set Theory Introduction**: https://en.wikipedia.org/wiki/Venn_diagram
skills/microsim-generator/references/venn-js-reference.md
- Network accessline 3
API and syntax details for `venn.js` (v0.2.20, https://github.com/benfred/venn.js), used by the - Network accessline 12
<script src="https://cdn.jsdelivr.net/npm/d3@7.9.0/dist/d3.min.js"></script> - Network accessline 13
<script src="https://cdn.jsdelivr.net/npm/venn.js@0.2.20/venn.js"></script> - Network accessline 106
- venn.js GitHub: https://github.com/benfred/venn.js - Network accessline 107
- venn.js Examples: https://benfred.github.io/venn.js/ - Network accessline 108
- D3.js Documentation: https://d3js.org/
skills/microsim-generator/references/verified-infographic-guide.md
skills/microsim-generator/references/vis-network-guide.md
- Network accessline 323
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>$MICROSIM_TITLE</title> <script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script> - Network accessline 324
<title>$MICROSIM_TITLE</title> <script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script> <link rel="stylesheet" href="style.css"> - Network accessline 325
<script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script> - Network accessline 901
http://127.0.0.1:8000/[repo-name]/sims/[microsim-name]/main.html - Network accessline 940
<script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script> - Network accessline 941
<link rel="stylesheet" href="https://unpkg.com/vis-network/styles/vis-network.min.css">
skills/microsim-generator/scripts/posters/generate-poster-thumbnails.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/microsim-utils/assets/index-template.md
- Network accessline 15
<iframe src="https://your-domain.github.io/path/to/sims/{{MICROSIM_NAME}}/main.html" width="100%" height="{{IFRAME_HEIGHT}}px"></iframe> - Network accessline 22
vis-network, Mermaid, etc). See standardization.md checklist item #9. --> [Edit in the p5.js Editor](https://editor.p5js.org/{{USERNAME}}/sketches/{{SKETCH_ID}}) - Network accessline 24
[Edit in the p5.js Editor](https://editor.p5js.org/{{USERNAME}}/sketches/{{SKETCH_ID}})
skills/microsim-utils/assets/microsim-schema.json
skills/microsim-utils/references/screen-capture.md
- Network accessline 120
The `bk-capture-screenshot` script serves the MicroSim from a temporary Python HTTP server on `127.0.0.1` instead of opening it as `file://`. Headless Chromium blocks `fetch()` of `file://` URLs, so MicroSims that load `data.json` (like the
skills/microsim-utils/references/standardization.md
skills/microsim-utils/scripts/calculate-quality-score.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/microsim-utils/scripts/create-microsim-todo-json-files.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/microsim-utils/scripts/diagram-report.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/microsim-utils/scripts/generate-microsim-index.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/microsim-utils/scripts/scaffold-microsims-from-todo.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/microsim-utils/scripts/sync-iframe-heights.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/microsim-utils/scripts/test-iframe-heights.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/quiz-generator/README.md
- Network accessline 426
1. Review detailed specification in the [Claude Skills GitHub Repo](https://github.com/dmccreary/ibook-skills/tree/main/skills/quiz-generator)
skills/quiz-generator/SKILL.md
- Network accessline 2
name: quiz-generator description: Generates multiple-choice quiz questions for each chapter, aligned to the learning graph and distributed across Bloom's Taxonomy levels. Use after chapter content and the learning graph both exist. license: - Network accessline 3
description: Generates multiple-choice quiz questions for each chapter, aligned to the learning graph and distributed across Bloom's Taxonomy levels. Use after chapter content and the learning graph both exist. license: Creative Commons Att - Network accessline 4
license: Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)
skills/reference-generator/SKILL.md
- Network accessline 87
1. [Concept Name](https://en.wikipedia.org/wiki/Concept_Name) - Wikipedia - Description of article content and relevance to chapter. - Network accessline 103
6. [Resource Title](https://verified-url.com/path) - Source Name - Description of content and specific relevance to chapter topics. - Network accessline 135
1. [Wikipedia Article](https://en.wikipedia.org/wiki/Topic) - Wikipedia - Comprehensive overview of [topic] including [specific aspects relevant to chapter]. - Network accessline 137
2. [Wikipedia Article 2](https://en.wikipedia.org/wiki/Topic2) - Wikipedia - Detailed explanation of [concept] with [relevant details]. - Network accessline 139
3. [Wikipedia Article 3](https://en.wikipedia.org/wiki/Topic3) - Wikipedia - Coverage of [related topic] including [applications/examples]. - Network accessline 145
6. [Online Resource](https://verified-url.com) - Source - Tutorial on [topic] with [specific features like examples, exercises, visualizations]. - Network accessline 147
7. [Online Resource 2](https://verified-url.com) - Source - [Description of content and relevance]. - Network accessline 149
8. [Online Resource 3](https://verified-url.com) - Source - [Description of content and relevance]. - Network accessline 151
9. [Online Resource 4](https://verified-url.com) - Source - [Description of content and relevance]. - Network accessline 153
10. [Online Resource 5](https://verified-url.com) - Source - [Description of content and relevance]. - Network accessline 193
1. [Karnaugh map](https://en.wikipedia.org/wiki/Karnaugh_map) - Wikipedia - Detailed explanation of K-map theory, grouping rules, and don't-care conditions. Essential foundation for the simplification techniques covered in this chapter. - Network accessline 198
1. [Karnaugh map](https://en.wikipedia.org/wiki/Karnaugh_map) - Wikipedia - About K-maps.
src/diagram-reports/diagram-report.py
- Executable scriptline 1
#!/usr/bin/env python3
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: 16 facts
- Contacts www.ebay.com, which SKILL.md, the README and the plugin manifest do not mentionpurchasing-guide-generator/scripts/make_search_urls.py:28High confidence
- Contacts www.aliexpress.com, which SKILL.md, the README and the plugin manifest do not mentionpurchasing-guide-generator/scripts/make_search_urls.py:32High confidence
- Contacts www.amazon.com, which SKILL.md, the README and the plugin manifest do not mentionpurchasing-guide-generator/scripts/make_search_urls.py:36High confidence
- Contacts www.alibaba.com, which SKILL.md, the README and the plugin manifest do not mentionpurchasing-guide-generator/scripts/make_search_urls.py:40High confidence
- Contacts www.microcenter.com, which SKILL.md, the README and the plugin manifest do not mentionpurchasing-guide-generator/scripts/make_search_urls.py:45High confidence
- Contacts www.adafruit.com, which SKILL.md, the README and the plugin manifest do not mentionpurchasing-guide-generator/scripts/make_search_urls.py:50High confidence
- Contacts www.digikey.com, which SKILL.md, the README and the plugin manifest do not mentionpurchasing-guide-generator/scripts/make_search_urls.py:54High confidence
- Contacts www.sparkfun.com, which SKILL.md, the README and the plugin manifest do not mentionpurchasing-guide-generator/scripts/make_search_urls.py:59High confidence
- Contacts adlnet.gov, which SKILL.md, the README and the plugin manifest do not mentionadd-xapi-events-to-microsim/scripts/check-xapi.py:76High confidence
- Contacts w3id.org, which SKILL.md, the README and the plugin manifest do not mentionadd-xapi-events-to-microsim/scripts/check-xapi.py:87High confidence
- Contacts adlnet.gov, which SKILL.md, the README and the plugin manifest do not mentionadd-xapi-events-to-microsim/scripts/measure-iframe.py:44High confidence
- Contacts w3id.org, which SKILL.md, the README and the plugin manifest do not mentionadd-xapi-events-to-microsim/scripts/measure-iframe.py:45High confidence
- Contacts unpkg.com, which SKILL.md, the README and the plugin manifest do not mentioncausal-loop-diagram-generator/assets/cld-inline.js:14High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentioninteractive-infographic-overlay/assets/shared-libs/diagram.js:474High confidence
- Contacts api.crossref.org, which SKILL.md, the README and the plugin manifest do not mentionarxiv-paper-generator/scripts/score_paper.py:168High confidence
- Contacts giscus.app, which SKILL.md, the README and the plugin manifest do not mentionbook-installer/references/assets/js/giscus-loader.js:60High confidence
Signal confidence: 484 facts
- Network access in prose of documentationpurchasing-guide-generator/assets/purchasing-guide-template.md:115Low confidence
- Network access in prose of documentationpurchasing-guide-generator/assets/purchasing-guide-template.md:116Low confidence
- Network access in prose of documentationpurchasing-guide-generator/assets/purchasing-guide-template.md:117Low confidence
- Executable script in code of a file that runspurchasing-guide-generator/scripts/find_part_image.py:1High confidence
- Executable script in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:1High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:26High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:27High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:28High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:30High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:31High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:32High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:34High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:35High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:36High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:38High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:39High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:40High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:43High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:44High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:45High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:48High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:49High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:50High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:52High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:53High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:54High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:57High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:58High confidence
- Network access in code of a file that runspurchasing-guide-generator/scripts/make_search_urls.py:59High confidence
- Executable script in code of a file that runsscripts/bk-capture-screenshot:1High confidence
- Network access in a comment of a file that runsscripts/bk-capture-screenshot:42Low confidence
- Network access in a comment of a file that runsscripts/bk-capture-screenshot:43Low confidence
- Network access in a comment of a file that runsscripts/bk-capture-screenshot:44Low confidence
- Network access in code of a file that runsscripts/bk-capture-screenshot:177High confidence
- Network access in code of a file that runsscripts/bk-capture-screenshot:179High confidence
- Executable script in code of a file that runsscripts/bk-check-mascot-rules:1High confidence
- Executable script in a comment of a file that runsadd-xapi-events-to-microsim/assets/lrs-config.template.js:1Low confidence
- Network access in prose of documentationadd-xapi-events-to-microsim/references/contract-digest.md:14Low confidence
- Network access in prose of documentationadd-xapi-events-to-microsim/references/contract-digest.md:15Low confidence
- Network access in prose of documentationadd-xapi-events-to-microsim/references/contract-digest.md:16Low confidence
- Network access in prose of documentationadd-xapi-events-to-microsim/references/contract-digest.md:36Low confidence
- Network access in prose of documentationadd-xapi-events-to-microsim/references/contract-digest.md:38Low confidence
- Executable script in code of a file that runsadd-xapi-events-to-microsim/scripts/check-no-runtime.py:1High confidence
- Network access in code of a file that runsadd-xapi-events-to-microsim/scripts/check-no-runtime.py:60High confidence
- Network access in code of a file that runsadd-xapi-events-to-microsim/scripts/check-no-runtime.py:62High confidence
- Executable script in code of a file that runsadd-xapi-events-to-microsim/scripts/check-xapi.py:1High confidence
- Network access in code of a file that runsadd-xapi-events-to-microsim/scripts/check-xapi.py:75High confidence
- Network access in code of a file that runsadd-xapi-events-to-microsim/scripts/check-xapi.py:76High confidence
- Network access in code of a file that runsadd-xapi-events-to-microsim/scripts/check-xapi.py:77High confidence
- Network access in code of a file that runsadd-xapi-events-to-microsim/scripts/check-xapi.py:78High confidence
and 434 more
Only the first 500 facts are listed.
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Path .claude/launch.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md optional-skills/purchasing-guide-generator/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md optional-skills/purchasing-guide-generator/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md optional-skills/purchasing-guide-generator/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md optional-skills/purchasing-guide-generator/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.