linkedin-announcement-generator
This skill generates professional LinkedIn announcement text for intelligent textbooks by analyzing book metrics, chapter content, and learning resources to create engaging posts with key statistics, hashtags, and links to the published site. Use this skill when you need to create social media announcements about textbook completion or major milestones.
What this skill does
# LinkedIn Announcement Generator
## Overview
This skill automates the creation of professional LinkedIn announcements for intelligent textbooks. It analyzes book metrics from the `docs/learning-graph/` directory, gathers statistics about chapters, concepts, and educational resources, and generates engaging announcement text with relevant hashtags and links to the published site.
The announcements are designed to highlight the scope and completeness of the textbook, showcase its educational features, and attract educators, students, and learning professionals to the content.
## When to Use This Skill
Use this skill when:
- Publishing a completed intelligent textbook to GitHub Pages
- Announcing major milestones (e.g., "First 10 chapters complete!")
- Promoting updated or newly added content
- Sharing the textbook with the educational technology community
- Preparing social media posts for course launches
- Creating announcements for conference presentations or workshops
- Building awareness for open educational resources
## Prerequisites
The intelligent textbook project should have:
- A `docs/learning-graph/book-metrics.json` file containing the canonical
textbook statistics (produced by the book-metrics tool). If it is missing,
generate it first with `bk-generate-book-metrics` (or the
`python3 "$BK_HOME/src/book-metrics/book-metrics.py" docs` fallback).
- A `mkdocs.yml` file with site_name, site_url, and site_description
- Deployed site on GitHub Pages (or another hosting platform)
- Optional: `docs/learning-graph/chapter-metrics.md` for chapter-level details
- Optional: `docs/course-description.md` for audience and topic information
## Workflow
### Step 1: Gather Book Metadata
Extract key information from the project configuration:
1. Read `mkdocs.yml` to get:
- `site_name` - Title of the textbook
- `site_url` - Live site URL (typically GitHub Pages)
- `site_description` - Brief description of the textbook
- `repo_url` - GitHub repository URL
2. Read `docs/course-description.md` (if it exists) to get:
- Target audience (grade level, prerequisites)
- Subject matter/topic
- Learning objectives
- Course context
**Example extraction:**
```yaml
site_name: 'Geometry for High School Students'
site_url: 'https://username.github.io/geometry-course/'
site_description: 'An interactive geometry textbook with MicroSims and quizzes'
```
### Step 2: Analyze Book Metrics
Read the canonical metrics file `docs/learning-graph/book-metrics.json` — do
**not** parse the human-readable `book-metrics.md` table (brittle) or recount
content yourself. This is the same source the README and case-study skills use,
so the numbers stay consistent across every artifact.
```bash
python3 - <<'PY'
import json, pathlib, sys
p = pathlib.Path("docs/learning-graph/book-metrics.json")
if not p.exists():
sys.exit("book-metrics.json missing — run bk-generate-book-metrics first")
m = json.loads(p.read_text())["metrics"]
print(json.dumps(m, indent=2))
PY
```
**Core Metrics (keys in the `metrics` object):**
- `chapters` — Number of chapters
- `concepts` — Number of concepts in the learning graph
- `glossaryTerms` — Number of glossary terms
- `faqs` — Number of FAQ questions
- `quizQuestions` — Number of quiz questions
- `diagrams` — Number of diagrams
- `equations` — Number of equations
- `microsims` — Number of MicroSims (interactive simulations)
- `words` — Total word count
- `links` — Number of hyperlinks
- `equivalentPages` — Equivalent printed pages
- `developmentStage` — Author-declared publication stage
If `book-metrics.json` does not exist, regenerate it with
`bk-generate-book-metrics` before reading. The format is defined by
`src/book-metrics/book-metrics.schema.json`.
**Handle missing metrics gracefully:**
- If diagrams = 0, mention "includes equations and visual elements" instead
- If quiz questions = 0, omit quiz mention
- If MicroSims = 0, mention "comprehensive content" instead
### Step 3: Determine Textbook Completeness
Calculate the completion status based on metrics:
**Indicators of completeness:**
- Chapters ≥ 8: Substantial textbook
- Total words > 30,000: Comprehensive content
- Quiz questions ≥ 50: Well-assessed
- MicroSims ≥ 5: Interactive elements present
- Equivalent pages > 100: Book-length work
**Status categories:**
- **Complete** (100%): All major components present, ready for use
- **Nearly Complete** (90-99%): Most content done, minor additions pending
- **In Progress** (70-89%): Substantial content, ongoing development
- **Early Release** (< 70%): Initial chapters available, more coming
Choose appropriate language for the announcement based on status.
### Step 4: Craft the Announcement Structure
Create a LinkedIn post with the following components:
**1. Opening Hook (1-2 sentences)**
Start with an attention-grabbing statement that:
- Announces the textbook completion/release
- Mentions the topic and audience
- Highlights what makes it special
**Examples:**
- "Excited to share a new open educational resource for [AUDIENCE]!"
- "Just published: An AI-generated interactive textbook on [TOPIC]!"
- "Thrilled to announce the completion of [TEXTBOOK NAME]!"
**2. Content Description (2-3 sentences)**
Explain what the textbook covers and its unique features:
- Educational framework (Bloom's Taxonomy, concept dependencies)
- Interactive elements (MicroSims, quizzes)
- Technology stack (MkDocs, p5.js, AI-generated)
- Target audience and prerequisites
**Example:**
```
This intelligent textbook on [TOPIC] is designed for [AUDIENCE]. Built using MkDocs Material and AI-assisted content generation, it incorporates learning graphs, concept dependencies, and interactive MicroSims to make [TOPIC] accessible and engaging.
```
**3. Key Metrics (bulleted list)**
Present impressive statistics to demonstrate scope:
```
📊 By the numbers:
• [X] chapters covering [TOPIC AREAS]
• [Y] concepts in the learning graph
• [Z] interactive MicroSims (p5.js simulations)
• [Q] quiz questions for self-assessment
• [G] glossary terms with ISO 11179-compliant definitions
• [W] total words (~[P] equivalent printed pages)
```
**Formatting tips:**
- Use emoji bullets (📊, 📚, 🎓, ⚡, 🔬) for visual appeal
- Round large numbers (225,182 → 225,000)
- Group related metrics together
- Highlight the most impressive numbers
**4. Technology and AI Disclosure (1-2 sentences)**
Be transparent about AI involvement and technology:
```
Generated using Claude AI skills and the intelligent textbook framework, this open-source project demonstrates how AI can augment educational content creation while maintaining quality and pedagogical rigor.
```
**5. Call to Action (1 sentence)**
Direct readers to the site:
```
Explore the full textbook here: [SITE_URL]
```
**6. Hashtags (8-15 tags)**
Include relevant hashtags for discoverability:
**Standard hashtags:**
- `#AI` / `#ArtificialIntelligence`
- `#GenAI` / `#GenerativeAI`
- `#Education` / `#EdTech` / `#EducationalTechnology`
- `#OpenEducation` / `#OER` (Open Educational Resources)
- `#ELearning` / `#OnlineLearning`
**Content-specific hashtags:**
- `#Textbook` / `#InteractiveTextbook`
- `#MicroSims` / `#Simulations`
- `#Visualizations` / `#DataViz`
- `#Diagrams` / `#Infographics`
- `#Quizzes` / `#Assessment`
**Technology-specific hashtags:**
- `#MkDocs` / `#MaterialDesign`
- `#p5js` / `#JavaScript`
- `#Python`
- `#ClaudeAI` / `#AnthropicClaude`
**Domain-specific hashtags:**
Add 2-4 hashtags specific to the subject matter:
- Math: `#Mathematics`, `#Geometry`, `#Calculus`, `#Algebra`
- Science: `#Physics`, `#Chemistry`, `#Biology`
- CS: `#Programming`, `#ComputerScience`, `#DataScience`
- History: `#History`, `#WorldHistory`, `#AmericanHistory`
**Professional/Academic hashtags:**
- `#LMS` / `#LearningManagementSystem`
- `#CurriculumDesign`
- `#InstructionalDesign`
- `#STEM` / `#STEMeducation`
- `#HigherEd` / `#K12Education`
**Total hashtag count:** Aim for 10-15 hashtags for oRelated in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.