{"id":"ef364630-24d5-4aa3-860c-a9e382512f2d","slug":"alamo-skills","kind":"skill","name":"alamo-skills","summary":"turn a learning goal into a runnable course - interactive board, lessons, graded homework, mastery unlocks, spaced review. Plus installable agent skills for Python memory repair, GitHub sync and subag","owner":"Alamoooooooo","repoUrl":"https://github.com/Alamoooooooo/alamo-skills","license":"Apache-2.0","licenseTier":"permissive","trust":"community","stars":10,"match":null,"fewStars":false,"format":"skill","createdAt":"2026-07-03T03:17:13.000Z","addedAt":"2026-10-21T11:09:59.917Z","logoUrl":"https://avatars.githubusercontent.com/u/37918016?u=95917a4e585d90c8ae69b78803d41082ef24ddce&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["developer-tools","memory-knowledge"],"tags":["adaptive-learning","ai-agents","claude-code","codex","education","learning","python","spaced-repetition"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-25T20:03:16.827Z","sample":false,"url":"https://conduits.dev/tools/alamo-skills","language":"Python","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# Alamo Skills\n\n[![License: Apache 2.0](https://img.shields.io/badge/license-Apache--2.0-blue)](LICENSE)\n[![Packages: 4](https://img.shields.io/badge/packages-4-6f42c1)](#what-is-in-here)\n![Portable agent skills](https://img.shields.io/badge/agent%20skills-portable-2ea44f)\n\n**English** | [简体中文](README.zh-CN.md)\n\n## What Is In Here\n\n| Package | Installs as | Solves | Entry point | Developed |\n|:--|:--|:--|:--|:--|\n| [`coursecoach`](packages/coursecoach/) | 1 skill | Turning a learning goal into a runnable course | `/coursecoach` | 2026-10-20 |\n| [`engineering_subagent_workflow_kernel`](packages/engineering_subagent_workflow_kernel/) | 5 skills | Exploration, architecture, review, simplification, test-gap analysis via host subagents | `$code-explorer` and siblings | 2026-10-20 |\n| [`github_sync_workflow_kernel`](packages/github_sync_workflow_kernel/) | 1 skill | Finding the real repo, checking auth, scoping the commit, pushing, verifying | `$github-sync-agent` | 2026-07-21 → 07-22 |\n| [`memory_hotspot_repair_kernel`](packages/memory_hotspot_repair_kernel/) | 4 skills | Python memory hotspots: find, fix, validate, review, stop | `$memory-optimizer-agent` | 2026-07-03 → 07-22 |\n\nAll four are Apache-2.0, pure Python 3.8+ standard library plus `pyyaml`, and carry no backend.\n\n## The Packages\n\n### coursecoach\n\nThe odd one out — it is not about code, it is a learning coach. Give it a topic and a daily time budget and it produces a course that runs: a dependency-ordered syllabus, a compiled interactive board you double-click, written lessons, gradable homework, mastery-gated unlocking, and spaced review.\n\nIt is subject-agnostic — programming, a foreign language, an instrument, accounting, an exam all work. What separates it from \"ask a model for a study plan\" is what happens after the plan: scores, unlocks and review dates live in the files, so a course survives across sessions, can be picked up by a different model, and can be zipped and handed to someone who just double-clicks the board.\n\n**Six things it does.** All triggered in plain language, and every one has a matching button on the board that assembles the sentence for you:\n\n- **Start a course** — say \"I want to learn X, one hour a day.\" It asks about your goal, your current level and your real weekly capacity, offers three pace options (sprint / standard / long), then researches the field, builds the prerequisite graph over a dozen or so nodes, and compiles the board. Produces `syllabus.md` (the only source of truth), `课程主页.html`, and `resources/资料库.md`.\n- **Write lessons** — click `📖 补这一章讲解` (fill in this chapter) under any stage, or open a knowledge-point tag and pick `生成讲解`. Works per chapter or per single point. Produces `lessons/stage3.md` or `lessons/stage3--梯度下降.md`; after a recompile the board grows a 📄 button that opens it typeset, with no Obsidian required.\n- **Set homework** — say \"give me homework on stage 3\", or click `📝 给这一章出作业`. Writes the questions plus 3–6 rubric lines and leaves the answer section empty. Produces `homework/hw-*.md`, always in three parts: prompt / answer / feedback.\n- **Grade it** — answer the questions, then say \"grade hw-stage3-xxx.\" It judges each rubric line present / partial / absent with a reason (fixed rubric, and length earns nothing extra), converts that to mastery, writes it back, unlocks dependent nodes, and queues the work for review.\n- **Fix weak spots** — say \"I keep failing at X in stage 3.\" It reads which knowledge points repeatedly came back partial or absent, decides whether to add resources, split a node or introduce a new one, and writes targeted homework if that is what the gap needs. Changes go through `syllabus.py`, never by hand-editing.\n- **Review and export** — \"what's due today\" returns items on the 1 / 3 / 7 / 16 / 35 / 75-day curve (postpone without corrupting the count); \"export to Word\" gives you the whole course as one document.\n\n![A generated course board: fourteen stages in the sidebar, a 0% mastery ring, one expanded stage showing nine knowledge-point tags, a homework row with a grading button, and four action buttons; later stages remain locked](packages/coursecoach/docs/board.png)\n\n![A lesson opened in the in-page reader: the board dimmed behind a centred panel showing a typeset heading, a numbered list, a key-idea box and a worked example — with no Obsidian installed](packages/coursecoach/docs/lesson-reader.png)\n\n**Not installing anything yet?** The [live demo](https://coursecoach-demo.app.workbuddy.host/?sharecode=DGYMO3ZV3W) is a real course compiled from the example snapshot, with five lessons inlined: expand a stage, open a lesson, try the search. Nothing to set up.\n\n**Install it** (three steps, about a minute):\n\n```bash\ngit clone https://github.com/Alamoooooooo/alamo-skills.git\ncp -r alamo-skills/packages/coursecoach/coursecoach ~/.workbuddy/skills/coursecoach\npip install pyyaml\n```\n\n- The installable unit is the directory holding `SKILL.md`, i.e. `coursecoach/coursecoach/`. Once copied, **the folder name must be `coursecoach`** — matching the skill's own name — or the slash command will not resolve.\n- On Windows the destination is `C:\\Users\\<you>\\.workbuddy\\skills\\coursecoach\\`. Dropping it in a project's `.workbuddy/skills/` scopes it to that project instead.\n- Codex reads `$CODEX_HOME/skills`; hosts without skill support can take `SKILL.md` plus `references/` straight into context and run the scripts by hand.\n- Requires Python 3.8+, and **that interpreter must be able to `import yaml`**. Word export additionally needs `pip install python-docx`.\n- Reopen the session before it is recognized. Then say \"I want to learn X\" or `/coursecoach` directly.\n\nDo not start with a real subject — [the install guide](packages/coursecoach/INSTALL.md) includes a 15-minute trial course that shows the whole loop before you commit to anything.\n\nRead: [package README](packages/coursecoach/README.md) · [中文说明](packages/coursecoach/README.zh-CN.md) · [install and 15-minute trial](packages/coursecoach/INSTALL.md) · [portable usage](packages/coursecoach/PORTABLE_USAGE.md)\n\n### engineering_subagent_workflow_kernel\n\nFive development skills that delegate through the host's own subagent mechanism instead of an external runner binary: `code-explorer`, `code-architect`, `code-reviewer`, `code-simplifier`, `pr-test-analyzer`.\n\nEach skill is self-contained — its role reference ships with it. It does not install helper binaries, spawn nested agent processes, choose a model, or weaken the host's approval and sandbox policy. Hosts without native subagents fall back to in-session execution and report `fallback_in_session` so the difference is visible.\n\nRead: [package README](packages/engineering_subagent_workflow_kernel/README.md) · [portable usage](packages/engineering_subagent_workflow_kernel/PORTABLE_USAGE.md)\n\n```bash\ncd packages/engineering_subagent_workflow_kernel\npython3 scripts/sync_to_codex_home.py --dry-run\npython3 scripts/sync_to_codex_home.py\n```\n\n### github_sync_workflow_kernel\n\nFor the step everyone gets wrong once: deciding which directory is the real repository, whether the remote and auth are actually working, which changes belong in this commit and which are line-ending noise, and whether the push landed.\n\n`github-sync-agent` runs repository discovery, auth and remote inspection, commit-scope review, commit, push, and post-push verification as one workflow. The wiki documents the failure modes it was built against.\n\nRead: [package README](packages/github_sync_workflow_kernel/README.md) · [wiki](packages/github_sync_workflow_kernel/wiki/github-sync-workflow-wiki.md) · [portable usage](packages/github_sync_workflow_kernel/PORTABLE_USAGE.md)\n\n```bash\ncd packages/github_sync_workflow_kernel\npython3 scripts/sync_to_codex_home.py\n```\n\n### memory_hotspot_repair_kernel\n\nFor Python services whose RSS keeps climbing, batch jobs that spike during joins or model scoring, and pipelines where \"chunking\" still loads the whole dataset.\n\nFour coordinated skills: `memory-check` inspects and ranks hotspots, `memory-fix` remediates the highest-value one, `memory-review` reviews the change independently, and `memory-optimizer-agent` orchestrates all four into one bounded loop with explicit stop conditions. The other three also run standalone.\n\nRead: [package README](packages/memory_hotspot_repair_kernel/README.md) · [long-form wiki](packages/memory_hotspot_repair_kernel/wiki/memory-skill-suite-wiki.md) · [portable usage](packages/memory_hotspot_repair_kernel/PORTABLE_USAGE.md)\n\n```bash\ncd packages/memory_hotspot_repair_kernel\npython3 scripts/sync_to_codex_home.py\n```\n\n## Pick Your Starting Point\n\n| You want to | Install | Then say |\n|:--|:--|:--|\n| Learn something properly | `coursecoach` | `I want to learn X, one hour a day.` |\n| Hand a broad task to a subagent | `engineering_subagent_workflow_kernel` | `Use $code-explorer to trace how feature X is wired.` |\n| Commit and push without guessing | `github_sync_workflow_kernel` | `Use $github-sync-agent to sync this repository.` |\n| Stop a Python job from OOM-ing | `memory_hotspot_repair_kernel` | `Use $memory-optimizer-agent to optimize memory hotspots in the current codebase.` |\n\n## Install\n\n### Codex\n\n```bash\ngit clone https://github.com/Alamoooooooo/alamo-skills.git\ncd alamo-skills/packages/memory_hotspot_repair_kernel\npython3 scripts/sync_to_codex_home.py\n```\n\n`sync_to_codex_home.py` copies into `$CODEX_HOME/skills`, or `~/.codex/skills` when `CODEX_HOME` is unset. Add `--dry-run` to preview. The three kernel packages each have their own copy of this script; install only the ones you want.\n\n### WorkBuddy, CodeBuddy, Claude Code, or any host that reads `SKILL.md`\n\n```bash\ngit clone https://github.com/Alamoooooooo/alamo-skills.git\ncp -r alamo-skills/packages/coursecoach/coursecoach ~/.workbuddy/skills/coursecoach\n```\n\nThe installable unit is always the directory that contains `SKILL.md` — `coursecoach/coursecoach/`, `memory-optimizer-agent/`, `github-sync-agent/`, and so on. `pip install pyyaml` is required by `coursecoach`; `export.py --format docx` additionally needs `python-docx`.\n\nFor hosts that understand neither skill installation nor `$name` tokens, read the relevant `PORTABLE_USAGE.md`: it explains how to feed the manual and run the scripts by hand.\n\n## Repository Layout\n\n```text\nalamo-skills/\n├── README.md                          English (this file)\n├── README.zh-CN.md                    简体中文\n├── CONTRIBUTING.md                    how to change this repo: checks, commits, review\n├── CONTRIBUTING.zh-CN.md              简体中文\n├── AGENTS.md                          conventions for agents working on this repo itself\n├── llms.txt                           machine-readable summary for AI crawlers\n├── LICENSE                            Apache-2.0\n├── scripts/check.py                   repo self-check: pairing, dead links, metadata, syntax\n├── .github/pull_request_template.md   the checklist a PR opens with\n├── packages/                          ← the products\n│   ├── README.md                      package conventions: three layers, required files, references vs wiki\n│   ├── coursecoach/\n│   │   ├── coursecoach/               the skill itself (SKILL.md, references, scripts, examples)\n│   │   ├── docs/                      board.png, lesson-reader.png\n│   │   └── README.md  README.zh-CN.md  PORTABLE_USAGE.md  INSTALL.md  INSTALL.zh-CN.md  metadata.json\n│   ├── engineering_subagent_workflow_kernel/\n│   │   ├── code-explorer/  code-architect/  code-reviewer/\n│   │   ├── code-simplifier/  pr-test-analyzer/\n│   │   ├── scripts/\n│   │   └── README.md  INSTALL.md  INSTALL.zh-CN.md  PORTABLE_USAGE.md  metadata.json\n│   ├── github_sync_workflow_kernel/\n│   │   ├── github-sync-agent/\n│   │   ├── scripts/  wiki/\n│   │   └── README.md  INSTALL.md  INSTALL.zh-CN.md  PORTABLE_USAGE.md  metadata.json\n│   └── memory_hotspot_repair_kernel/\n│       ├── memory-optimizer-agent/    orchestrator (primary entry point)\n│       ├── memory-check/  memory-fix/  memory-review/\n│       ├── references/  scripts/  wiki/\n│       └── README.md  INSTALL.md  INSTALL.zh-CN.md  PORTABLE_USAGE.md  metadata.json\n├── examples/                          ← optional, never required to install\n│   ├── coursecoach/\n│   │   └── quick-trial/stages.json    the smallest input that produces a 3-node course\n│   └── memory_hotspot_repair_kernel/\n│       └── partitioned_batch_pipeline/    one repo-specific adaptation: overlays + run configs\n└── todo/                              ← unimplemented plans, nothing depends on them\n    └── codex-plugin-packaging.md\n```\n\n`packages/` is the product, `examples/` is optional, `todo/` is ideas nobody has promised to build. The conventions that govern a package — the three layers, which files every package carries, what separates `references/` from `wiki/`, and which directory you are actually supposed to copy — live in **[`packages/README.md`](packages/README.md)**.\n\n## Other Files\n\n| File | What it is |\n|:--|:--|\n| `CONTRIBUTING.md` | How to change this repository: the five load-bearing rules, commit message style, what a reviewer checks, how to verify a script change. Bilingual. |\n| `scripts/check.py` | Seven checks — bilingual pairs, dead links, metadata, script syntax and more. Run it before a PR; the non-zero exit code makes it usable as a CI step. |\n| `AGENTS.md` | Rules for an AI agent working *on this repository*: how to distinguish packages from examples, how to update docs and install paths. Not part of any product. |\n| `llms.txt` | A flat summary of all four packages for AI crawlers and search. Same content as this README, optimised for machine reading. |\n| `todo/` | Unimplemented plans, starting with `codex-plugin-packaging.md`. Read it as \"considered, not promised\" — nothing here depends on any of it. |\n| `metadata.json` (per package) | Machine-readable descriptor: entry point, keywords, supported hosts, script list. |\n\n## License\n\nApache-2.0. See [LICENSE](LICENSE).\n"}