bama
BAMA: Build Any Mac App. Agent skills to research, clone, design, build, optimize, and test native macOS apps with Swift and SwiftUI.
Browse and download Oak National Academy's lesson planning resources, find curriculum plans, and explore our AI lesson assistant - all completely free.
Translation pending
SkillsPythonGitHub @oaknationalOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Oak National Academy's Open Curriculum plugin for AI assistants
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Oak National Academy's plugin for AI assistants: skills and workflows that ground an assistant in Oak's live curriculum data, Oak's curriculum principles and its accessibility guidance. Each host's package is published here in its own folder. Only the Claude plugin is published for now.
Each skill follows the Agent Skills specification: a SKILL.md with YAML frontmatter, plus any supporting references/ and assets/. The Claude plugin packages the skills with two slash-command workflows, the subagents behind them, and a connection to the Oak Curriculum MCP.Read the full README ↗Oak National Academy's plugin for AI assistants: skills and workflows that ground an assistant in Oak's live curriculum data, Oak's curriculum principles and its accessibility guidance. Each host's package is published here in its own folder: the Claude plugin, and the ChatGPT package. A Microsoft 365 Copilot package is being prepared alongside them.
Each skill follows the Agent Skills specification: a SKILL.md with YAML frontmatter, plus any supporting references/ and assets/. The Claude plugin packages the skills with two slash-command workflows, the subagents behind them, and a connection to the Oak Curriculum MCP.
[!IMPORTANT] Experimental. Output is AI-generated, not an official Oak resource, and has not been through Oak's editorial or quality-assurance process. Treat it as a starting point: check it against the current national curriculum and your own context, and have a teacher or subject expert sign it off before classroom or published use.
Oak's approach to curriculum lives in its curriculum principles, in the units and lessons it publishes, and in the pupil misconceptions it has documented. These skills make that approach legible to an assistant, so a draft plan is checked against how Oak actually sequences the same units, a lesson anticipates the errors pupils really make, and a resource meets WCAG 2.2 AA, without a teacher having to explain Oak's approach each time.
| Skill | What it does | Use it when |
|---|---|---|
find-misconceptions | The pupil misconceptions Oak has documented for a topic, each with a teacher response. | Asked what pupils get wrong, what errors or misconceptions to anticipate, or for common mistakes for a topic or year group. Needs the MCP. |
audit-sequence | Checks a draft plan's unit order and prior knowledge against how Oak sequences the same units. | Asked to audit, sanity-check or sequence-check a long-term plan, scheme of work or unit order. Needs the MCP. |
oak-curriculum-principles | Oak's six curriculum principles, plus guiding principles for 15 subjects. Needs no connection. | Planning a curriculum, scheme of work, unit or lesson, choosing the knowledge and vocabulary to teach, or auditing existing materials. |
oak-curriculum-principles-mcp-enabled | Checks a draft against Oak's live curriculum: threads, misconceptions, vocabulary and exemplar lessons. | Checking a curriculum, unit, lesson or resource against real Oak content, or finding an Oak exemplar. Needs the MCP. |
oak-accessibility | Makes documents, decks, web pages, video and quizzes meet WCAG 2.2 AA, and audits existing ones. | "Make this accessible", "is this WCAG 2.2 AA", or checking alt text, captions, contrast, structure or keyboard access. |
find-misconceptions and audit-sequence each hand the work to a subagent (misconception-miner, sequencing-auditor) and need the Oak Curriculum MCP.oak-curriculum-principles holds the principles in full and works on its own. oak-curriculum-principles-mcp-enabled checks a draft against Oak's live data, and falls back to oak-curriculum-principles when the MCP isn't connected.oak-accessibility is the WCAG 2.2 AA floor for documents, decks, web pages, video and quizzes.Each package lives at <host>/<kind>/<package>/, so another host, or another kind of package for the same host, gets a folder of its own. Apart from the repository's own files, the only things at the root are files a host requires there, such as its marketplace file.
.claude-plugin/
marketplace.json # Claude Code marketplace; points at claude/plugins/oak-national-academy
.agents/plugins/
marketplace.json # ChatGPT and Codex marketplace; points at chatgpt/plugins/oak-national-academy
assets/
oak-national-academy-logo-512.png # the Oak logo the Claude and ChatGPT icons must match
oak-national-academy-logo-192.png # the same logo at 192x192, which the Microsoft colour icon must match
claude/
plugins/
oak-national-academy/ # the Claude plugin
.claude-plugin/plugin.json # plugin manifest
.mcp.json # the Oak Curriculum MCP, installed with the plugin
agents/ # the subagents the workflows hand work to
skills/ # the three skills
workflows/ # the two slash-command workflows
assets/icon.png # the listing icon
README.md # the directory listing text
chatgpt/
plugins/
oak-national-academy/ # the ChatGPT package
.codex-plugin/plugin.json # manifest, with the listing fields and review test cases
.mcp.json # the Oak Curriculum MCP
skills/ # the five skills; each workflow merged into a skill
assets/icon.png # the listing icon
README.md # how the package is derived from the Claude plugin
microsoft/
plugins/
oak-national-academy/ # the Microsoft 365 Copilot package (not yet uploadable)
manifest.json # Microsoft 365 app manifest: the skills and the Oak Curriculum MCP
skills/ # the ChatGPT package's five skills, copied byte for byte
color.png # the colour icon, the Oak logo at 192x192
README.md # what is here and what is not finished
.github/
pull_request_template.md
workflows/
checks.yml # plugin validation and package checks, Markdown lint, Prettier, gitleaks
link-check.yml # internal links and anchors
pr-title.yml # the pull request title, which becomes the commit on main
release.yml # run by hand: checks the version, builds the ChatGPT upload ZIP and creates the release with it
drift.yml # weekly: fails when the plugin no longer validates with the latest Claude Code
scripts/
check_against_plugin.py # checks this README, the CHANGELOG and the marketplace entries against the packages
check_skill_copies.py # checks the ChatGPT and Microsoft packages' skills are exact copies
check_packages.py # checks the manifests, the merged skills, the listing links, the icons, the MCP binding and the Microsoft package
build_chatgpt_zip.py # builds the ChatGPT upload ZIP for release.yml
release_notes.py # checks a release's version and writes its notes from the CHANGELOG
requirements.txt # the pinned packages check_packages.py needs (PyYAML, jsonschema)
.pre-commit-config.yaml # the same checks, run locally before each commit
docs/
public-release.md # how this repository was prepared for public release
CHANGELOG.md # what was published here, and when
CONTRIBUTING.md, SUPPORT.md, SECURITY.md, CODE_OF_CONDUCT.md
LICENSE, LICENCE-DATA.md, BRANDING.md, ATTRIBUTION.md
The skill evals are not in this repository. They are in the history of oak-open-curriculum-ecosystem, at release v1.186.0, in each skill's evals/ folder.
The skills follow the open Agent Skills spec. Once the plugin is installed:
description to decide when it is relevant, and loads the body (and any references/) only when it is.find-misconceptions, "help me plan a Year 8 scheme of work" surfaces oak-curriculum-principles, and "make this worksheet accessible" surfaces oak-accessibility.Three skills need the Oak Curriculum MCP connected. See The Oak Curriculum MCP.
# In Claude Code:
/plugin marketplace add oaknational/oak-ai-plugins
/plugin install oak-national-academy@oak-ai-plugins
Once installed you get:
| Command | What it does |
|---|---|
/find-misconceptions <topic> <year or key stage> | The pupil misconceptions Oak has documented for a topic, each with a teacher response. |
/audit-sequence <paste or reference the plan> | Checks a draft plan's unit order and prior knowledge against how Oak sequences the same units. |
Commands are namespaced when ambiguous, for example /oak-national-academy:find-misconceptions. The plugin bundles the Oak Curriculum MCP, so installing it connects live data in the same step: approve the oak-national-academy server when prompted and sign in on first use.
The ChatGPT package carries the same five skills. ChatGPT has no workflows or subagents, so each of the two workflows and its subagent are merged into one skill of the same name. The package declares the Oak Curriculum MCP in its .mcp.json.
It is published to ChatGPT's plugin directory through OpenAI's plugin portal, which takes the package as a ZIP. The Release workflow builds it and attaches it to each release as the release is created; releases here are immutable, so nothing can be attached afterwards. The portal only accepts the live app's ID as the package name, so the ZIP's manifest carries the ID in place of oak-national-academy; every other file is the published copy unchanged. The demo video and the reviewer account are entered in the portal, not held here.
Uploading to the OpenAI portal. Each release carries the upload ZIP. Open the latest release, and under Assets download oak-national-academy-chatgpt-v<version>.zip. Upload it to the existing Oak app in the OpenAI plugin portal as a new draft version; don't create a new app. The demo video and reviewer test account are entered in the portal's review form, not taken from the ZIP.
The Microsoft package carries the ChatGPT package's five skills, copied byte for byte, and connects the Oak Curriculum MCP as a connector. It is for Microsoft's plugin store, Copilot Chat and Copilot Cowork.
It is not finished. It cannot be uploaded until its 32×32 outline icon is added, and until a sign-in client is set up for Copilot Chat, sign-in works only in Copilot Cowork. Its README says what is there and what is still to do.
find-misconceptions, audit-sequence and oak-curriculum-principles-mcp-enabled use Oak's live curriculum data through the Oak Curriculum MCP, a Model Context Protocol server. The plugin connects it for you. To connect it without the plugin, add the server to your MCP client config:
{
"mcpServers": {
"oak-national-academy": {
"type": "http",
"url": "https://mcp.thenational.academy/mcp"
}
}
}
claude mcp add --transport http oak-national-academy https://mcp.thenational.academy/mcpThe searches and lookups the assistant makes for you are sent to that server. See Oak's privacy policy.
The MCP sits on top of the Oak Curriculum API, Oak's openly licensed curriculum data.
The plugins are built and released here. Up to 1.1.0 they were built in oak-open-curriculum-ecosystem and copied here; its history, at release v1.186.0, holds the earlier versions, the skill evals and the checks this repository's were ported from.
main.How the repository was prepared for public release, and why, is recorded in docs/public-release.md.
To run CI's checks locally before each commit, install pre-commit and the hooks once. The plugin validation hooks also need Claude Code installed.
pipx install pre-commit
pre-commit install
pre-commit install --hook-type commit-msg
Different parts of this repository are licensed differently.
references/sources.md for sources and attribution.Each skill also states its own terms in its SKILL.md frontmatter. Where these differ, the more restrictive terms apply. Credits are in ATTRIBUTION.md.