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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

View on GitHubAdd to my skills

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>/
110GitHub stars
-1star in 7 days
35skills in this repository
30commits in 30 days

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

Oct 25, 2026Nov 5, 2026111

30-day change not yet available: not enough history.

Individual skills in this repository

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 tokens

Always available to the agent

SKILL.md

5,634 tokens

When the skill is activated

Reference documents

9,378 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Where the output goes
  2. Audience and register
  3. Workflow
  4. Page structure
  5. Part section template
  6. Purchasing strategy section
  7. Reference material
  8. Before you call it done

Scripts executed separately

  • scripts/find_part_image.py
  • scripts/make_search_urls.py

Files

  • SKILL.mdcore23,730 bytes
  • SKILL.mdcore23,730 bytes
  • SKILL.mdcore23,730 bytes
  • SKILL.mdcore23,730 bytes
  • assets/image-description-template.mddoc1,892 bytes
  • assets/purchasing-guide-template.mddoc10,964 bytes
  • references/image-sourcing.mddoc5,302 bytes
  • references/part-catalog.mddoc11,997 bytes
  • references/sourcing-strategy.mddoc6,555 bytes
  • scripts/find_part_image.pyruns6,095 bytes
  • scripts/make_search_urls.pyruns3,642 bytes

No excerpt is shown for this license. Read the source on GitHub.

View the complete source on GitHub

Skills 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 shell

Automated 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:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • optional-skills/purchasing-guide-generator/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • optional-skills/purchasing-guide-generator/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/add-xapi-events-to-microsim/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/add-xapi-events-to-microsim/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/add-xapi-events-to-microsim/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/add-xapi-events-to-microsim/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/add-xapi-events-to-microsim/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/add-xapi-events-to-microsim/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/add-xapi-events-to-microsim/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/add-xapi-events-to-microsim/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/add-xapi-events-to-microsim/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/add-xapi-events-to-microsim/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/add-xapi-events-to-microsim/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/add-xapi-events-to-microsim/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/add-xapi-events-to-microsim/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/add-xapi-events-to-microsim/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/archived/causal-loop-diagram-generator/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/archived/causal-loop-diagram-generator/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/archived/causal-loop-diagram-generator/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
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

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 96
    [Credential-related source omitted]

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

  • Executable scriptline 1
    Executable file
  • Network accessline 47
    try {       const res = await fetch('data.json');
  • Network accessline 48
    const res = await fetch('data.json');

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
    [![MkDocs](https://img.shields.io/badge/Made%20with-MkDocs-526CFE?logo=materialformkdocs)](https://www.mkdocs.org/)
  • Network accessline 69
    [![Material for MkDocs](https://img.shields.io/badge/Material%20for%20MkDocs-526CFE?logo=materialformkdocs)](https://squidfunk.github.io/mkdocs-material/)
  • Network accessline 70
    [![GitHub Pages](https://img.shields.io/badge/View%20on-GitHub%20Pages-blue?logo=github)](SITE_URL)
  • Network accessline 71
    [![Claude Code](https://img.shields.io/badge/Built%20with-Claude%20Code-DA7857?logo=anthropic)](https://claude.ai/code)
  • Network accessline 72
    [![Claude Skills](https://img.shields.io/badge/Uses-Claude%20Skills-DA7857?logo=anthropic)](https://github.com/dmccreary/ibook-skills)
  • Network accessline 77
    - p5.js: `[![p5.js](https://img.shields.io/badge/p5.js-ED225D?logo=p5.js&logoColor=white)](https://p5js.org/)`
  • Network accessline 78
    - Python: `[![Python](https://img.shields.io/badge/Python-3776AB?logo=python&logoColor=white)](https://www.python.org/)`
  • Network accessline 79
    - JavaScript: `[![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?logo=javascript&logoColor=black)](https://developer.mozilla.org/en-US/docs/Web/JavaScript)`
  • Network accessline 92
    [![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/)
  • Network accessline 97
    - MIT: `[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)`
  • Network accessline 98
    - Apache 2.0: `[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)`
  • Network accessline 99
    - GPL-3.0: `[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](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
    [![MkDocs](https://img.shields.io/badge/Made%20with-MkDocs-526CFE?logo=materialformkdocs)](https://www.mkdocs.org/)
  • Network accessline 21
    [![Material for MkDocs](https://img.shields.io/badge/Material%20for%20MkDocs-526CFE?logo=materialformkdocs)](https://squidfunk.github.io/mkdocs-material/)
  • Network accessline 26
    [![Sphinx](https://img.shields.io/badge/Built%20with-Sphinx-blue?logo=sphinx)](https://www.sphinx-doc.org/)
  • Network accessline 33
    [![Python](https://img.shields.io/badge/Python-3.8+-3776AB?logo=python&logoColor=white)](https://www.python.org/)
  • Network accessline 38
    [![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?logo=javascript&logoColor=black)](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
  • Network accessline 43
    [![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
  • Network accessline 48
    [![Go](https://img.shields.io/badge/Go-00ADD8?logo=go&logoColor=white)](https://golang.org/)
  • Network accessline 53
    [![Rust](https://img.shields.io/badge/Rust-000000?logo=rust&logoColor=white)](https://www.rust-lang.org/)
  • Network accessline 60
    [![p5.js](https://img.shields.io/badge/p5.js-ED225D?logo=p5.js&logoColor=white)](https://p5js.org/)
  • Network accessline 65
    [![D3.js](https://img.shields.io/badge/D3.js-F9A03C?logo=d3.js&logoColor=white)](https://d3js.org/)
  • Network accessline 70
    [![Chart.js](https://img.shields.io/badge/Chart.js-FF6384?logo=chartdotjs&logoColor=white)](https://www.chartjs.org/)
  • Network accessline 75
    [![vis-network](https://img.shields.io/badge/vis--network-blue)](https://visjs.org/)
  • Network accessline 80
    [![Mermaid](https://img.shields.io/badge/Mermaid-FF3670?logo=mermaid&logoColor=white)](https://mermaid.js.org/)
  • Network accessline 87
    [![Claude AI](https://img.shields.io/badge/Powered%20by-Claude%20AI-DA7857?logo=anthropic)](https://claude.ai)
  • Network accessline 92
    [![Claude Code](https://img.shields.io/badge/Built%20with-Claude%20Code-DA7857?logo=anthropic)](https://claude.ai/code)
  • Network accessline 97
    [![Claude Skills](https://img.shields.io/badge/Uses-Claude%20Skills-DA7857?logo=anthropic)](https://github.com/dmccreary/ibook-skills)
  • Network accessline 102
    [![OpenAI](https://img.shields.io/badge/OpenAI-412991?logo=openai&logoColor=white)](https://openai.com/)
  • Network accessline 107
    [![TensorFlow](https://img.shields.io/badge/TensorFlow-FF6F00?logo=tensorflow&logoColor=white)](https://www.tensorflow.org/)
  • Network accessline 112
    [![PyTorch](https://img.shields.io/badge/PyTorch-EE4C2C?logo=pytorch&logoColor=white)](https://pytorch.org/)
  • Network accessline 119
    [![GitHub Pages](https://img.shields.io/badge/Hosted%20on-GitHub%20Pages-blue?logo=github)](SITE_URL)
  • Network accessline 124
    [![Netlify](https://img.shields.io/badge/Deployed%20on-Netlify-00C7B7?logo=netlify&logoColor=white)](https://www.netlify.com/)
  • Network accessline 129
    [![Vercel](https://img.shields.io/badge/Deployed%20on-Vercel-black?logo=vercel&logoColor=white)](https://vercel.com/)
  • Network accessline 136
    [![GitHub](https://img.shields.io/badge/GitHub-OWNER%2FREPO-blue?logo=github)](REPO_URL)
  • Network accessline 141
    [![GitHub stars](https://img.shields.io/github/stars/OWNER/REPO?style=social)](https://github.com/OWNER/REPO)
  • Network accessline 146
    [![GitHub forks](https://img.shields.io/github/forks/OWNER/REPO?style=social)](https://github.com/OWNER/REPO)
  • Network accessline 151
    [![GitHub issues](https://img.shields.io/github/issues/OWNER/REPO)](https://github.com/OWNER/REPO/issues)
  • Network accessline 156
    [![GitHub last commit](https://img.shields.io/github/last-commit/OWNER/REPO)](https://github.com/OWNER/REPO)
  • Network accessline 165
    [![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/)
  • Network accessline 170
    [![License: CC BY-SA 4.0](https://img.shields.io/badge/License-CC%20BY--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-sa/4.0/)
  • Network accessline 173
    **CC BY-NC 4.0**
  • Network accessline 175
    [![License: CC BY-NC 4.0](https://img.shields.io/badge/License-CC%20BY--NC%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc/4.0/)
  • Network accessline 180
    [![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/)
  • Network accessline 185
    [![License: CC BY-ND 4.0](https://img.shields.io/badge/License-CC%20BY--ND%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nd/4.0/)
  • Network accessline 190
    [![License: CC BY-NC-ND 4.0](https://img.shields.io/badge/License-CC%20BY--NC--ND%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-nd/4.0/)
  • Network accessline 195
    [![License: CC0](https://img.shields.io/badge/License-CC0-lightgrey.svg)](https://creativecommons.org/publicdomain/zero/1.0/)
  • Network accessline 202
    [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
  • Network accessline 207
    [![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
  • Network accessline 212
    [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
  • Network accessline 217
    [![License: BSD 3-Clause](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
  • Network accessline 222
    [![License: ISC](https://img.shields.io/badge/License-ISC-blue.svg)](https://opensource.org/licenses/ISC)
  • Network accessline 229
    [![Build Status](https://img.shields.io/badge/build-passing-brightgreen.svg)](BUILD_URL)
  • Network accessline 234
    [![Coverage](https://img.shields.io/badge/coverage-85%25-yellowgreen.svg)](COVERAGE_URL)
  • Network accessline 239
    [![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)](RELEASES_URL)
  • Network accessline 244
    [![Status](https://img.shields.io/badge/status-active-success.svg)](PROJECT_URL)
  • Network accessline 252
    https://img.shields.io/badge/{LABEL}-{MESSAGE}-{COLOR}
  • Network accessline 267
    [![Custom](https://img.shields.io/badge/Custom-Badge-orange?logo=github&logoColor=white&style=flat-square)](URL)
  • Network accessline 292
    Shields.io uses logos from [Simple Icons](https://simpleicons.org/). Common logo names:
  • Network accessline 324
    [![MkDocs](https://img.shields.io/badge/Made%20with-MkDocs-526CFE?logo=materialformkdocs)](https://www.mkdocs.org/)
  • Network accessline 325
    [![Material for MkDocs](https://img.shields.io/badge/Material%20for%20MkDocs-526CFE?logo=materialformkdocs)](https://squidfunk.github.io/mkdocs-material/)
  • Network accessline 326
    [![GitHub Pages](https://img.shields.io/badge/View%20on-GitHub%20Pages-blue?logo=github)](https://username.github.io/repo-name)
  • Network accessline 327
    [![GitHub](https://img.shields.io/badge/GitHub-username%2Frepo--name-blue?logo=github)](https://github.com/username/repo-name) [![Claude Code](https://img.shields.io/badge/Built%20with-Claude%20Code-DA7857?logo=anthropic)](https://claude.ai
  • Network accessline 328
    [![Claude Code](https://img.shields.io/badge/Built%20with-Claude%20Code-DA7857?logo=anthropic)](https://claude.ai/code)
  • Network accessline 329
    [![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](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

  • Network accessline 51
    ## cURL Example
  • Network accessline 54
    [Credential-related source omitted]
  • Access to secretsline 54
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]

skills/archived/verified-infographic-generator/SKILL.md

  • Network accessline 106
    authors: "Cooper, C. et al."   year: 2015   url: "https://..."
  • Network accessline 107
    year: 2015   url: "https://..."   quote: "employees who work in environments with natural elements report a 15% higher level of well-being"
  • Network accessline 108
    url: "https://..."

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

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 61
    rm -f arxiv-upload.zip
  • Dangerous shell operationline 92
    rm -rf "$tmp"
  • Dangerous shell operationline 108
    rm -f main.pdf main.aux main.log main.out main.bbl main.blg main.toc \

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

  • Executable scriptline 1
    Executable file
  • Network accessline 127
    const src = normalizeSrc(rawSrc);         try {             const res = await fetch(src);
  • Network accessline 128
    try {             const res = await fetch(src);             if (!res.ok) throw new Error(`HTTP ${res.status}`);
  • Network accessline 129
    const res = await fetch(src);

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

  • Network accessline 17
    # extra: #   feedback: #     endpoint: "https://your-analytics-endpoint.com/feedback"
  • Network accessline 19
    #     endpoint: "https://your-analytics-endpoint.com/feedback"

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

  • Network accessline 104
    #     logo: material/book-open-page-variant # # Browse icons at: https://pictogrammers.com/library/mdi/
  • Network accessline 105
    # # Browse icons at: https://pictogrammers.com/library/mdi/ # Common choices:
  • Network accessline 106
    # Browse icons at: https://pictogrammers.com/library/mdi/

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

  • Network accessline 13
    extra_javascript:   - javascripts/mathjax-config.js   - https://unpkg.com/mathjax@3/es5/tex-mml-chtml.js
  • Network accessline 15
    - https://unpkg.com/mathjax@3/es5/tex-mml-chtml.js

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

  • Network accessline 136
    Restart `mkdocs serve` (the user runs this in their own terminal) and open the site at `http://127.0.0.1:8000/{repo-name}/`. Check:
  • Network accessline 137
    the site at `http://127.0.0.1:8000/{repo-name}/`. Check:

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

  • Network accessline 271
    1. **Facebook Debugger**: https://developers.facebook.com/tools/debug/
  • Network accessline 272
    2. **Twitter Card Validator**: https://cards-dev.twitter.com/validator
  • Network accessline 273
    3. **LinkedIn Post Inspector**: https://www.linkedin.com/post-inspector/

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

  • Network accessline 143
    http://127.0.0.1:8000/REPO_NAME/sims/graph-viewer/main.html
  • Network accessline 171
    - vis-network.js (CDN: `https://unpkg.com/vis-network/standalone/umd/vis-network.min.js`)

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

  • Network accessline 66
    mkdocs serve # Visit http://127.0.0.1:8000/<project-name>/learning-graph/chapter-reading-levels/
  • Network accessline 67
    # Visit http://127.0.0.1:8000/<project-name>/learning-graph/chapter-reading-levels/

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

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 60
    [Credential-related source omitted]

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

  • Network accessline 47
    [Credential-related source omitted]
  • Access to secretsline 47
    [Credential-related source omitted]
  • Access to secretsline 48
    [Credential-related source omitted]

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

  • Network accessline 51
    ## cURL Example
  • Network accessline 54
    [Credential-related source omitted]
  • Access to secretsline 54
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]

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
    [![MkDocs](https://img.shields.io/badge/Made%20with-MkDocs-526CFE?logo=materialformkdocs)](https://www.mkdocs.org/)
  • Network accessline 21
    [![Material for MkDocs](https://img.shields.io/badge/Material%20for%20MkDocs-526CFE?logo=materialformkdocs)](https://squidfunk.github.io/mkdocs-material/)
  • Network accessline 26
    [![Sphinx](https://img.shields.io/badge/Built%20with-Sphinx-blue?logo=sphinx)](https://www.sphinx-doc.org/)
  • Network accessline 33
    [![Python](https://img.shields.io/badge/Python-3.8+-3776AB?logo=python&logoColor=white)](https://www.python.org/)
  • Network accessline 38
    [![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?logo=javascript&logoColor=black)](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
  • Network accessline 43
    [![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
  • Network accessline 48
    [![Go](https://img.shields.io/badge/Go-00ADD8?logo=go&logoColor=white)](https://golang.org/)
  • Network accessline 53
    [![Rust](https://img.shields.io/badge/Rust-000000?logo=rust&logoColor=white)](https://www.rust-lang.org/)
  • Network accessline 60
    [![p5.js](https://img.shields.io/badge/p5.js-ED225D?logo=p5.js&logoColor=white)](https://p5js.org/)
  • Network accessline 65
    [![D3.js](https://img.shields.io/badge/D3.js-F9A03C?logo=d3.js&logoColor=white)](https://d3js.org/)
  • Network accessline 70
    [![Chart.js](https://img.shields.io/badge/Chart.js-FF6384?logo=chartdotjs&logoColor=white)](https://www.chartjs.org/)
  • Network accessline 75
    [![vis-network](https://img.shields.io/badge/vis--network-blue)](https://visjs.org/)
  • Network accessline 80
    [![Mermaid](https://img.shields.io/badge/Mermaid-FF3670?logo=mermaid&logoColor=white)](https://mermaid.js.org/)
  • Network accessline 87
    [![Claude AI](https://img.shields.io/badge/Powered%20by-Claude%20AI-DA7857?logo=anthropic)](https://claude.ai)
  • Network accessline 92
    [![Claude Code](https://img.shields.io/badge/Built%20with-Claude%20Code-DA7857?logo=anthropic)](https://claude.ai/code)
  • Network accessline 97
    [![Claude Skills](https://img.shields.io/badge/Uses-Claude%20Skills-DA7857?logo=anthropic)](https://github.com/dmccreary/ibook-skills)
  • Network accessline 102
    [![OpenAI](https://img.shields.io/badge/OpenAI-412991?logo=openai&logoColor=white)](https://openai.com/)
  • Network accessline 107
    [![TensorFlow](https://img.shields.io/badge/TensorFlow-FF6F00?logo=tensorflow&logoColor=white)](https://www.tensorflow.org/)
  • Network accessline 112
    [![PyTorch](https://img.shields.io/badge/PyTorch-EE4C2C?logo=pytorch&logoColor=white)](https://pytorch.org/)
  • Network accessline 119
    [![GitHub Pages](https://img.shields.io/badge/Hosted%20on-GitHub%20Pages-blue?logo=github)](SITE_URL)
  • Network accessline 124
    [![Netlify](https://img.shields.io/badge/Deployed%20on-Netlify-00C7B7?logo=netlify&logoColor=white)](https://www.netlify.com/)
  • Network accessline 129
    [![Vercel](https://img.shields.io/badge/Deployed%20on-Vercel-black?logo=vercel&logoColor=white)](https://vercel.com/)
  • Network accessline 136
    [![GitHub](https://img.shields.io/badge/GitHub-OWNER%2FREPO-blue?logo=github)](REPO_URL)
  • Network accessline 141
    [![GitHub stars](https://img.shields.io/github/stars/OWNER/REPO?style=social)](https://github.com/OWNER/REPO)
  • Network accessline 146
    [![GitHub forks](https://img.shields.io/github/forks/OWNER/REPO?style=social)](https://github.com/OWNER/REPO)
  • Network accessline 151
    [![GitHub issues](https://img.shields.io/github/issues/OWNER/REPO)](https://github.com/OWNER/REPO/issues)
  • Network accessline 156
    [![GitHub last commit](https://img.shields.io/github/last-commit/OWNER/REPO)](https://github.com/OWNER/REPO)
  • Network accessline 165
    [![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/)
  • Network accessline 170
    [![License: CC BY-SA 4.0](https://img.shields.io/badge/License-CC%20BY--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-sa/4.0/)
  • Network accessline 173
    **CC BY-NC 4.0**
  • Network accessline 175
    [![License: CC BY-NC 4.0](https://img.shields.io/badge/License-CC%20BY--NC%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc/4.0/)
  • Network accessline 180
    [![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/)
  • Network accessline 185
    [![License: CC BY-ND 4.0](https://img.shields.io/badge/License-CC%20BY--ND%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nd/4.0/)
  • Network accessline 190
    [![License: CC BY-NC-ND 4.0](https://img.shields.io/badge/License-CC%20BY--NC--ND%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-nd/4.0/)
  • Network accessline 195
    [![License: CC0](https://img.shields.io/badge/License-CC0-lightgrey.svg)](https://creativecommons.org/publicdomain/zero/1.0/)
  • Network accessline 202
    [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
  • Network accessline 207
    [![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
  • Network accessline 212
    [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
  • Network accessline 217
    [![License: BSD 3-Clause](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
  • Network accessline 222
    [![License: ISC](https://img.shields.io/badge/License-ISC-blue.svg)](https://opensource.org/licenses/ISC)
  • Network accessline 229
    [![Build Status](https://img.shields.io/badge/build-passing-brightgreen.svg)](BUILD_URL)
  • Network accessline 234
    [![Coverage](https://img.shields.io/badge/coverage-85%25-yellowgreen.svg)](COVERAGE_URL)
  • Network accessline 239
    [![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)](RELEASES_URL)
  • Network accessline 244
    [![Status](https://img.shields.io/badge/status-active-success.svg)](PROJECT_URL)
  • Network accessline 252
    https://img.shields.io/badge/{LABEL}-{MESSAGE}-{COLOR}
  • Network accessline 267
    [![Custom](https://img.shields.io/badge/Custom-Badge-orange?logo=github&logoColor=white&style=flat-square)](URL)
  • Network accessline 292
    Shields.io uses logos from [Simple Icons](https://simpleicons.org/). Common logo names:
  • Network accessline 324
    [![MkDocs](https://img.shields.io/badge/Made%20with-MkDocs-526CFE?logo=materialformkdocs)](https://www.mkdocs.org/)
  • Network accessline 325
    [![Material for MkDocs](https://img.shields.io/badge/Material%20for%20MkDocs-526CFE?logo=materialformkdocs)](https://squidfunk.github.io/mkdocs-material/)
  • Network accessline 326
    [![GitHub Pages](https://img.shields.io/badge/View%20on-GitHub%20Pages-blue?logo=github)](https://username.github.io/repo-name)
  • Network accessline 327
    [![GitHub](https://img.shields.io/badge/GitHub-username%2Frepo--name-blue?logo=github)](https://github.com/username/repo-name) [![Claude Code](https://img.shields.io/badge/Built%20with-Claude%20Code-DA7857?logo=anthropic)](https://claude.ai
  • Network accessline 328
    [![Claude Code](https://img.shields.io/badge/Built%20with-Claude%20Code-DA7857?logo=anthropic)](https://claude.ai/code)
  • Network accessline 329
    [![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](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
    [![MkDocs](https://img.shields.io/badge/Made%20with-MkDocs-526CFE?logo=materialformkdocs)](https://www.mkdocs.org/)
  • Network accessline 65
    [![Material for MkDocs](https://img.shields.io/badge/Material%20for%20MkDocs-526CFE?logo=materialformkdocs)](https://squidfunk.github.io/mkdocs-material/)
  • Network accessline 66
    [![GitHub Pages](https://img.shields.io/badge/View%20on-GitHub%20Pages-blue?logo=github)](SITE_URL)
  • Network accessline 67
    [![Claude Code](https://img.shields.io/badge/Built%20with-Claude%20Code-DA7857?logo=anthropic)](https://claude.ai/code)
  • Network accessline 68
    [![Claude Skills](https://img.shields.io/badge/Uses-Claude%20Skills-DA7857?logo=anthropic)](https://github.com/dmccreary/ibook-skills)
  • Network accessline 73
    - p5.js: `[![p5.js](https://img.shields.io/badge/p5.js-ED225D?logo=p5.js&logoColor=white)](https://p5js.org/)`
  • Network accessline 74
    - Python: `[![Python](https://img.shields.io/badge/Python-3776AB?logo=python&logoColor=white)](https://www.python.org/)`
  • Network accessline 75
    - JavaScript: `[![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?logo=javascript&logoColor=black)](https://developer.mozilla.org/en-US/docs/Web/JavaScript)`
  • Network accessline 88
    [![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/)
  • Network accessline 93
    - MIT: `[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)`
  • Network accessline 94
    - Apache 2.0: `[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)`
  • Network accessline 95
    - GPL-3.0: `[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](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

  • Network accessline 1
    {   "$schema": "http://json-schema.org/draft-07/schema#",
  • Network accessline 2
    "$schema": "http://json-schema.org/draft-07/schema#",
  • Network accessline 3
    "$id": "https://dmccreary.github.io/geometry-course/learning-graph/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

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 15
    RED = '\033[0;31m' YELLOW = '\033[1;33m' NC = '\033[0m'  # No Color
  • Network accessline 17
    NC = '\033[0m'  # No Color

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

  • Executable scriptline 1
    Executable file
  • Network accessline 47
    try {       const res = await fetch('data.json');
  • Network accessline 48
    const res = await fetch('data.json');

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: '&copy; <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: '&copy; <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

  • Network accessline 17
    [Edit the Bouncing Ball MicroSim with the p5.js editor](https://editor.p5js.org/dmccreary/sketches/icpiK4UjE)
  • Network accessline 22
    <iframe src="https://dmccreary.github.io/microsims/sims/bouncing-ball/main.html" height="432px" scrolling="no"></iframe>

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

  • Network accessline 1
    {   "$schema": "http://json-schema.org/draft-07/schema#",
  • Network accessline 2
    "$schema": "http://json-schema.org/draft-07/schema#",

skills/microsim-generator/assets/templates/timeline/index.md

  • Network accessline 131
    - **Library**: vis-timeline 7.7.3 - **Data Format**: Custom JSON loaded via fetch()
  • Network accessline 132
    - **Data Format**: Custom JSON loaded via fetch()

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

  • Executable scriptline 1
    Executable file
  • Network accessline 27
    function loadTimelineData() {     fetch('data.json')
  • Network accessline 28
    fetch('data.json')

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

  • Executable scriptline 1
    Executable file
  • Network accessline 78
    async function loadGraphData() {     try {         const response = await fetch('data.json');
  • Network accessline 79
    try {         const response = await fetch('data.json');         if (!response.ok) {
  • Network accessline 80
    const response = await fetch('data.json');

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

  • Network accessline 60
    - [ ] When you report the finished sim, give the author the edit URL with the       repo name in the path:       `http://127.0.0.1:8000/<repo-name>/sims/<sim-id>/main.html?edit=true`.
  • Network accessline 62
    `http://127.0.0.1:8000/<repo-name>/sims/<sim-id>/main.html?edit=true`.

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

  • Network accessline 115
    - Mermaid.js Syntax Reference: https://mermaid.js.org/syntax/flowchart.html
  • Network accessline 116
    - Mermaid Theming: https://mermaid.js.org/config/theming.html

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

  • Network accessline 167
    authors: "Cooper, C. et al."   year: 2015   url: "https://..."
  • Network accessline 168
    year: 2015   url: "https://..."   quote: "employees who work in environments with natural elements report a 15% higher level of well-being"
  • Network accessline 169
    url: "https://..."

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

  • Network accessline 1
    {   "$schema": "http://json-schema.org/draft-07/schema#",
  • Network accessline 2
    "$schema": "http://json-schema.org/draft-07/schema#",

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

  • Network accessline 94
    <iframe src="https://your-domain.github.io/path/to/sims/microsim-name/main.html" width="100%" height="600px"></iframe>
  • Network accessline 131
    [Edit in the p5.js Editor](https://editor.p5js.org/username/sketches/SKETCH_ID)

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
Signal confidence: 484 facts

and 434 more

Only the first 500 facts are listed.

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativePath .claude/launch.json.claude/skills/<skill-name>/
CodexNativeManifest AGENTS.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md optional-skills/purchasing-guide-generator/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md optional-skills/purchasing-guide-generator/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md optional-skills/purchasing-guide-generator/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard 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.