Manim Video Production
browser-use/video-use
Produces math and technical explainer videos with Manim Community Edition: concept animations, equation derivations, algorithm walkthroughs and data stories.
Use after the student selects one Canvas skill-opportunity candidate, or when they explicitly redesign one route.
$ npx skills add X-isdoingreat/canvas-pilot --skill canvas-bootstrap -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install X-isdoingreat/canvas-pilot canvas-bootstrap --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/X-isdoingreat/canvas-pilot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/canvas-bootstrap .claude/skills/canvas-bootstrap && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "canvas-bootstrap" agent skill from https://github.com/X-isdoingreat/canvas-pilot/tree/main/.agents/skills/canvas-bootstrap into .claude/skills/canvas-bootstrap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canvas-bootstrap", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/X-isdoingreat/canvas-pilot/tree/main/.agents/skills/canvas-bootstrapType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add X-isdoingreat/canvas-pilot --skill canvas-bootstrap -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install X-isdoingreat/canvas-pilot canvas-bootstrap --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/X-isdoingreat/canvas-pilot.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/canvas-bootstrap .agents/skills/canvas-bootstrap && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "canvas-bootstrap" agent skill from https://github.com/X-isdoingreat/canvas-pilot/tree/main/.agents/skills/canvas-bootstrap into .agents/skills/canvas-bootstrap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canvas-bootstrap", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add X-isdoingreat/canvas-pilot --skill canvas-bootstrap -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install X-isdoingreat/canvas-pilot canvas-bootstrap --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/X-isdoingreat/canvas-pilot.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/canvas-bootstrap .cursor/skills/canvas-bootstrap && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "canvas-bootstrap" agent skill from https://github.com/X-isdoingreat/canvas-pilot/tree/main/.agents/skills/canvas-bootstrap into .cursor/skills/canvas-bootstrap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canvas-bootstrap", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/X-isdoingreat/canvas-pilot.git --path .agents/skills/canvas-bootstrap--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add X-isdoingreat/canvas-pilot --skill canvas-bootstrap -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install X-isdoingreat/canvas-pilot canvas-bootstrap --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/X-isdoingreat/canvas-pilot.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/canvas-bootstrap .gemini/skills/canvas-bootstrap && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "canvas-bootstrap" agent skill from https://github.com/X-isdoingreat/canvas-pilot/tree/main/.agents/skills/canvas-bootstrap into .gemini/skills/canvas-bootstrap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canvas-bootstrap", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install X-isdoingreat/canvas-pilot canvas-bootstrapInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add X-isdoingreat/canvas-pilot --skill canvas-bootstrap -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/X-isdoingreat/canvas-pilot.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/canvas-bootstrap .github/skills/canvas-bootstrap && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "canvas-bootstrap" agent skill from https://github.com/X-isdoingreat/canvas-pilot/tree/main/.agents/skills/canvas-bootstrap into .github/skills/canvas-bootstrap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canvas-bootstrap", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add X-isdoingreat/canvas-pilot --skill canvas-bootstrap -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install X-isdoingreat/canvas-pilot canvas-bootstrap --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/X-isdoingreat/canvas-pilot.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/canvas-bootstrap .opencode/skills/canvas-bootstrap && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "canvas-bootstrap" agent skill from https://github.com/X-isdoingreat/canvas-pilot/tree/main/.agents/skills/canvas-bootstrap into .opencode/skills/canvas-bootstrap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canvas-bootstrap", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
canvas-bootstrapUse after the student selects one Canvas skill-opportunity candidate, or when they explicitly redesign one route.
Canvas Bootstrap is an agent skill from X-isdoingreat/canvas-pilot. Use after the student selects one Canvas skill-opportunity candidate, or when they explicitly redesign one route. It validates the real recurring workflow, creates one public-safe Codex course skill plus a private local overlay, calibrates it when authorized, and writes a route only after the viability gate passes.
Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Local-first Canvas LMS AI agent that learns each course's recurring assignment workflow and reuses it through scan - approval - execute with student review. The licence is AGPL-3.0.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 6b79d5b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Canvas Bootstrap loads about 4k tokens when it runs. Until then it costs about 83 tokens; SKILL.md has 2,086 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from X-isdoingreat/canvas-pilot at commit 6b79d5b, republished under its AGPL-3.0 licence (© X-isdoingreat). 2,086 words, ~3,950 tokens.
.claude/skills/canvas-bootstrap/SKILL.md (or your agent's skills folder).Turn one student-selected recurring pattern into a durable Codex course skill. This is a detective and authoring workflow, not a pending-work scanner and not a submission workflow.
Bootstrap is intentionally scope-first: one selected candidate, one course, one route per invocation. The student may run it again for another pattern later.
Normal first-run entry requires all of the following:
canvas-setup.canvas-skill-opportunity wrote the private local
runs/<today>/skill-opportunities.json and companion Markdown report.The opportunity report is evidence, not authorization. A ranking does not authorize skill creation by itself, does not approve any pending assignment, and grants no upload, submission, or quiz-mutation authority.
A manual redesign request may target one existing route without a fresh opportunity report, but Bootstrap must still run the same current-evidence and viability checks and must ask before replacing a working skill or private overlay.
If invoked with no selected candidate and no explicit redesign target, stop and ask for the candidate number. Do not choose the top-ranked item for the student.
On a successful run, Bootstrap may create or update exactly these local surfaces:
.agents/skills/canvas-<safe-name>/SKILL.md — tracked, public-safe workflow
instructions with no private course facts;_private/canvas-<safe-name>-app.md — gitignored local overlay containing the
real course mapping, source locations, material pointers, measured checks,
calibration state, and user preferences;courses.yaml — local route configuration, updated atomically only after the
skill is ready.Keep .claude/ read-only. It may be inspected as frozen behavioral history when
needed for parity analysis, but no content from private legacy playbooks may be
copied into the public Codex skill.
Do not write .claude.
Private identity, institution, real course and assignment identifiers, teaching staff details, private URLs, feedback text, prior answers, and exact grades stay in gitignored local state. Chat uses the opportunity number and a neutral alias.
plan.json.canvas-scan or canvas-execute from Bootstrap.draft_ready.Read the current private opportunity report and resolve the student's number exactly. Verify against current read-only Canvas metadata that:
is_course_active(..., grace_days=7); ended courses
outside that grace period are ineligible);Reject cross-course combinations. If the student selected several patterns from the same course, proceed only when they share one repeatable workflow and one verification model; otherwise ask them to select one.
If the candidate disappeared or materially changed, do not silently substitute
another. Explain the drift and return to canvas-skill-opportunity for a fresh
report.
The full-course fingerprint triage belongs to canvas-skill-opportunity, not
Bootstrap: it may use bucket_recurring(..., min_freq=3) and divide evidence
into main, likely-real, and noise groups, with noise hidden by default and
too-little-history candidates labeled lower-confidence. Bootstrap consumes the
student-selected report entry and must not turn empty routes into a second,
competing ranking pass.
Opportunity analysis is intentionally lightweight. Bootstrap must re-read the chosen pattern deeply before authoring anything.
Sample at least two representative assignments when available, including the most recent and one older instance. For each sample, follow every relevant pointer from the Canvas description to the actual source of truth:
Treat the assignment title and description as routing hints. Do not assume a thin description is complete.
For every sample, perform a three-part reachability check:
Name every missing or login-locked source in one concise clarification. Never turn a missing source into a silent “unknown.” If the student cannot provide a required source, the viability gate fails.
Read-only quiz policy projections may be used when the opportunity involves a quiz: allowed attempts, feedback timing, answer visibility, and scoring policy. Never start an attempt to discover those facts; do not retain raw answers, answer identifiers, private feedback bodies, or exact scores.
Draft a private workflow model containing:
verification.log;result.json outcomes;Verification checks must return numbers or yes/no results. “Looks good,” “follows the rubric,” and similarly subjective placeholders are not checks.
Use native Codex subagents for three bounded reviews. Run rubric-coverage and verification-checklist review in parallel, then run the feasibility simulation against one representative sample after their findings are incorporated:
These are Codex native subagent handoffs, not Claude Agent(...) calls and not
shell-launched model sessions. Give each reviewer only the sanitized evidence
needed for its role. Keep reviewer transcripts and private evidence out of the
tracked skill.
Categorize review findings before talking to the student:
Do not dump reviewer JSON or internal workflow tables into chat.
All six conditions must be true before a skill can become ready:
verification.log.Intrinsic impossibilities such as a proctored/LockDown environment or mandatory in-person identity action fail the gate for automation and route only to manual handling. A source that neither Codex nor the student can obtain also fails.
When the gate fails:
<!-- UNFILLED_SKELETON v1 --> and make its
dispatch guard return canonical status: "error" with
deferred_to_next_run: true;Ask once, in plain language, only for facts that change the delivered result:
Default calibration choice is no until the student explicitly says yes. Skill creation approval and calibration-draft approval are separate. Neither one authorizes submission, upload, or any quiz attempt/action.
Do not ask the student to decide internal retry counts, parsing methods, file hashes, or other engineering details. If they revise a choice, re-render the single batch once for confirmation; do not drip questions over many turns.
The tracked skill must have valid frontmatter:
---
name: canvas-<safe-name>
description: Handles one repeatable Canvas assignment workflow using a private local overlay and produces verified drafts only by default.
---While incomplete, the first body line after frontmatter is:
<!-- UNFILLED_SKELETON v1 -->The incomplete-skeleton guard must stop a dispatch, write a canonical error
result, set deferred_to_next_run: true, and create no draft, upload, quiz
attempt, or submission. A sentinel can never count as draft_ready.
The generated guard says: STOP if you are Codex reading this from an execute
dispatch. Until authoring finishes, write the error result with
deferred_to_next_run=true and stop.
The completed public-safe skill must describe, without local identifiers:
canvas-execute;verification.log;draft_ready, submitted, skipped, error);draft_ready only for an existing substantive deliverable;The private overlay stores current course facts, selected pattern matcher, source locations, workflow parameters, verification thresholds, calibration notes, and:
first_run_calibration_done: falseRemove UNFILLED_SKELETON only after the viability gate passes, the batched
student decision is confirmed, every public section is filled, and the private
overlay exists and validates. Never expose private overlay content in the
tracked skill.
If a non-sentinel skill already exists at the target path, ask before replacing it and default to preserving it. Replace only the selected course block in an existing private overlay; preserve all unrelated blocks and user changes.
Do this only for a completed, sentinel-free skill whose private overlay exists.
courses.yaml; coerce routes: null to {}.canvas-* skill name expected by
src.routes.resolve_skill(route, assignment).os.replace.Do not embed a legacy-alias table in Bootstrap. The shared resolver used by
src.router owns canonical/legacy translation. New routes write canonical
names; later plan items consume the resolver's canonical name.
Calibration is a narrow exception for one local draft; it is not daily scan or execute. Run it only when:
first_run_calibration_done is false.Use a native Codex skill handoff to the newly created skill in stage-by-stage,
draft-only mode. Pass the exact assignment context and a private calibration
work directory derived by the shared stable identity helper
(course-<course_id>__assignment-<assignment_id>), never by mutable names. Run
one stage at a time, stop after each stage artifact, and let
the student review the real output. Do not use canvas-execute, do not create a
daily approval plan, and do not claim submission.
For substantive feedback, spawn one native Codex feedback-categorization subagent and classify each piece as:
one_off — repair only this draft;recurring_pattern — propose a private overlay change;workflow_change — propose a private workflow change.Show recurring/workflow changes to the student before writing them. Preserve
confirmed changes incrementally. After the final verified substantive draft,
ask whether to set first_run_calibration_done: true. If they defer, leave it
false with a short private dissent/retry note. If any stage errors, remove the
calibration control marker, leave the flag false, report the concrete gap, and
stop.
If there is no safe matching assignment or no explicit calibration consent,
skip calibration and leave the flag false. The first later assignment approved
through canvas-execute can enter the equivalent calibration branch.
No placeholder, outline-only file, empty template, or sentinel output may pass
calibration or be recorded as draft_ready.
Report:
canvas-scan, retry this candidate, or choose the
next opportunity candidate.Then stop. Never continue directly into scan or execute.
Bootstrap, opportunity selection, route creation, and calibration-draft consent never create Canvas mutation authority. Uploading/submitting and quiz start/answer/complete actions require a separate, scoped authorization receipt consumed by the shared runtime for the exact course, assignment, action, and valid time window. Bootstrap must not create, infer, or consume that receipt.
© X-isdoingreat, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/canvas-bootstrap of X-isdoingreat/canvas-pilot.
Open the folder on GitHubat commit 6b79d5b
Canvas Bootstrap next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Canvas Bootstrap this skillX-isdoingreat/canvas-pilot | 125 | — | ~4k | Automated safety check: Pass | AGPL-3.0 | |
| Manim Video Productionbrowser-use/video-use | 28k | 6 repos | ~3k | Automated safety check: Pass | MIT | |
| Logseq Review Workflow Evallogseq/logseq | 45k | — | ~1k | Automated safety check: Pass | AGPL-3.0 | |
| Baoyu URL To Markdownsdyckjq-lab/llm-wiki-skill | 2.5k | 2 repos | ~3.2k | Automated safety check: Pass | None | |
| DeepTutor CLIHKUDS/DeepTutor | 41k | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Obsidian CLIAtmosphere/atmosphere | 3.8k | 13 repos | ~795 | Automated safety check: Pass | Apache-2.0 |
browser-use/video-use
Produces math and technical explainer videos with Manim Community Edition: concept animations, equation derivations, algorithm walkthroughs and data stories.
logseq/logseq
Compare two revisions of the Logseq logseq-review-workflow skill by running the same review prompt against isolated before and after skill snapshots, collecting both outputs, and producing a…
sdyckjq-lab/llm-wiki-skill
Fetch any URL and convert to markdown using Chrome CDP. An agent skill from sdyckjq-lab/llm-wiki-skill.
HKUDS/DeepTutor
Teaches the agent to set up and run DeepTutor from the command line: chat and capabilities, knowledge bases, partners, memory, sessions, notebooks and the server or Web app.
Atmosphere/atmosphere
Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more.
rohitg00/ai-engineering-from-scratch
Runs a 10-question quiz across five areas to place a learner in the AI Engineering from Scratch curriculum, so they skip what they already know.
X-isdoingreat/canvas-pilot
A skill your agent uses when verified work from today or another day should become an X/Twitter post, build-in-public update, ship log, or bilingual draft.
X-isdoingreat/canvas-pilot
A skill your agent uses when a short local academic draft needs role-aware syntax diversification while preserving meaning, locks, source grounding, rubric-critical openings, and document structure.
X-isdoingreat/canvas-pilot
A skill your agent uses when managing Canvas Pilot schedules: install, inspect, pause, change, delete, or safely test scheduled scans and runs.
X-isdoingreat/canvas-pilot
A skill your agent uses for an approved long academic-writing assignment routed by canvas-execute after the deterministic writing router selects essay.
X-isdoingreat/canvas-pilot
A skill your agent uses for an approved Canvas assignment that no specialized course skill can handle.
X-isdoingreat/canvas-pilot
A skill your agent uses when a local academic draft needs a meaning-preserving humanizing pass with less uniform syntax while retaining rubric, source, lock, voice, and length constraints.
Use after the student selects one Canvas skill-opportunity candidate, or when they explicitly redesign one route. Canvas Bootstrap is an agent skill from X-isdoingreat/canvas-pilot. Use after the student selects one Canvas skill-opportunity candidate, or when they explicitly redesign one route.
Run `npx skills add X-isdoingreat/canvas-pilot --skill canvas-bootstrap -a claude-code`. Or copy the skill folder (.agents/skills/canvas-bootstrap in X-isdoingreat/canvas-pilot) into .claude/skills/canvas-bootstrap in your project. Claude Code loads it when a task matches its description.
Run `npx skills add X-isdoingreat/canvas-pilot --skill canvas-bootstrap -a codex`. Or copy the skill folder (.agents/skills/canvas-bootstrap in X-isdoingreat/canvas-pilot) into .agents/skills/canvas-bootstrap in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add X-isdoingreat/canvas-pilot --skill canvas-bootstrap -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/canvas-bootstrap, .gemini/skills/canvas-bootstrap, .github/skills/canvas-bootstrap and .opencode/skills/canvas-bootstrap in your project.
SKILL.md names no scripts, command-line tools or credentials: Canvas Bootstrap is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Canvas Bootstrap is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Canvas Bootstrap: Manim Video Production (browser-use/video-use, 28k stars), Logseq Review Workflow Eval (logseq/logseq, 45k stars), Baoyu URL To Markdown (sdyckjq-lab/llm-wiki-skill, 2.5k stars) and DeepTutor CLI (HKUDS/DeepTutor, 41k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
X-isdoingreat (a GitHub user) maintains it in X-isdoingreat/canvas-pilot, which has 125 GitHub stars. The repository holds 32 skills in this directory. The repository was last updated on July 31, 2026.
Source: X-isdoingreat/canvas-pilot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.