Agent skill

Canvas Ics33

by X-isdoingreat in X-isdoingreat/canvas-pilot

A skill your agent uses for an approved programming assignment routed by canvas-execute.

AGPL-3.0Auto-check passedDocuments & Office

Install Canvas Ics33

skills CLI
$ npx skills add X-isdoingreat/canvas-pilot --skill canvas-ics33 -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install X-isdoingreat/canvas-pilot canvas-ics33 --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-ics33 .claude/skills/canvas-ics33 && rm -rf skills-src

Use ~/.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/

Facts

Skill name
canvas-ics33
GitHub stars
125
Token cost
~4.2k tokens
SKILL.md length
1,952 words
Files
1
Skills in repo
32
Repo updated
First seen
Licence
AGPL-3.0

At a glance

A skill your agent uses for an approved programming assignment routed by canvas-execute.

  • Works in 9 steps: Discover the real specification → Fetch every referenced source → Acquire the scaffold and freeze… → …
  • An approved programming assignment routed by canvas-execute
  • SKILL.md covers Runtime contract, Resolve the private course…, Pipeline and First-run stage mode, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Canvas Ics33 is an agent skill from X-isdoingreat/canvas-pilot. Use for an approved programming assignment routed by canvas-execute. Resolve the private overlay and real spec from course pages, PDFs, or starter code; implement test-first, audit and package a draft, and submit only through a separately authorized exact-target Canvas workflow.

Its SKILL.md is about 4.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Documents & Office, covering Test-driven development. 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.

When your agent uses it

  • An approved programming assignment routed by canvas-execute
  • Tasks that involve Test-driven development

Example prompts

  • “/canvas-ics33”

Requirements

  • Python 3

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Discover the real specification
  2. Fetch every referenced source
  3. Acquire the scaffold and freeze protected content
  4. Build the constraints checklist
  5. Implement test-first
  6. Build optional process history
  7. Run deterministic audits
  8. Package, reopen, and retest on Windows
  9. Finalize or submit

What it can do on your machine

Read from SKILL.md and the folder at commit 6b79d5b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python and json).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Canvas Ics33 loads about 4.2k tokens when it runs. Until then it costs about 73 tokens; SKILL.md has 1,952 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~73
When it runs · the whole SKILL.md, loaded when a task matches
~4.2k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from X-isdoingreat/canvas-pilot at commit 6b79d5b, republished under its AGPL-3.0 licence (© X-isdoingreat). 1,952 words, ~4,177 tokens.

Download SKILL.mdSave it as .claude/skills/canvas-ics33/SKILL.md (or your agent's skills folder).
name
canvas-ics33
description
Use for an approved programming assignment routed by canvas-execute. Resolve the private overlay and real spec from course pages, PDFs, or starter code; implement test-first, audit and package a draft, and submit only through a separately authorized exact-target Canvas workflow.

canvas-ics33

Produce and verify one code-assignment artifact in any language. Treat the Canvas assignment summary as a routing hint; the real specification controls the work.

Runtime contract

Require an approved current plan item, its assignment snapshot, run_dir, and the exact work directory returned by:

python
from src.course_artifacts import ensure_stable_work_dir

work = ensure_stable_work_dir(run_dir, course_id, assignment_id)

The directory name must be course-<course_id>__assignment-<assignment_id>. Never use a course or assignment name as filesystem identity. Keep all assignment writes below it:

text
spec.md
spec-sources/
references/
repo/
draft/
REQUIREMENTS.md
constraints.md
research_findings.md
verification.log
audit/round-<n>.json
stages/
result.json

This skill handles code, code-adjacent short PDFs, and required development history. Route essays, reading annotations, zyBook problem sets, and quizzes to their dedicated skills. Use skipped only for an intrinsically manual task such as an in-person defense, identity check, or proctored environment.

Resolve the private course design

Read _private/canvas-ics33-app.md before fetching or generating anything. The file may contain several courses and assignment kinds:

  1. Select the exact ## Course <course_id> block. Never inherit a similarly named course or another course's defaults.
  2. Within that block, accept either a ### <kind> or #### <kind> heading. Match its naming_regex against the complete assignment name and retain all named regex groups for URL and filename templates.
  3. Resolve explicit inheritance only inside the selected course block.
  4. Validate all required and conditional fields before any download or command.

The course block supplies language and optional language_version. Each kind supplies these fields as applicable:

ConcernOverlay fields
Specnaming_regex, spec_source, spec_url_base, spec_url_template
Referencesreference_fetch_patterns, reference_resolver
Starterscaffold_distribution, scaffold_url_template
Verificationtest_runner, coverage_command, coverage_target
Packagesubmission_format, bundle_command, zip_command
Processprocess_severity, process_humanize_config
Mutation eligibilityauto_submit_scope, pre_submit_reviewer_for, cron_env_var

If the overlay, course block, or kind is absent, hand off to canvas-bootstrap for that exact course/kind. Resume only after the design is materialized and revalidated. If it remains unresolved, write error with reason_code=overlay_unresolved. Never copy private overlay values into this tracked skill or another public artifact.

Pipeline

Run the stages in order unless first-run stage mode is active. Preserve every intermediate artifact so a retry can resume from verified evidence.

1. Discover the real specification

Use the read-only Canvas helpers needed for the selected source chain:

python
from src import canvas_client as cv

assignment = cv.get_assignment(course_id, assignment_id)
front_page = cv.get_front_page(course_id)
modules = cv.list_modules(course_id)
syllabus = cv.get_syllabus_body(course_id)
files = cv.list_assignment_files(course_id, assignment_id)

Resolve spec_source as follows:

ValueRequired action
external_siteExpand the overlay URL template with matched groups and fetch the exact page.
front_page_linkRead the actual front page, follow its relevant external link, then expand the template.
attached_pdfDownload the assignment PDFs with cv.download_file and extract all pages with PyMuPDF.
starter_readmeAcquire the scaffold in Stage 3, then read its README and referenced local files before Stage 4.
canvas_descriptionUse the description only when the overlay declares it to be the complete specification.

Follow relevant module items, syllabus links, attached files, and specification links until the deliverable is unambiguous. Save each source verbatim under spec-sources/ with source URL or Canvas file ID, retrieval time, and hash. Write spec.md with a verbatim section and a clearly labeled normalized summary. Preserve the original privately even if src.course_artifacts.redact_behavioral_rules is used for deliverable-shape analysis.

For a login-only optional source, ask for a user-provided link in interactive mode and record the outcome. Continue without it only when the specification proves it is nonessential. A missing required source is error; headless mode must not prompt or guess.

2. Fetch every referenced source

Apply every reference_fetch_patterns regex to the verbatim specification. For each match, use reference_resolver to retrieve the cited lecture note, textbook section, prior implementation, starter file, or other upstream source. Save the original artifact in references/ and record its origin and hash in references/manifest.json.

This stage is mandatory whenever the specification refers to an upstream source. Do not invent a signature, identifier, data shape, exception, or example. If a pattern matches and its source cannot be recovered, write error with reason_code=required_reference_unavailable. An empty references/ directory is acceptable only when the source scan records zero required references.

3. Acquire the scaffold and freeze protected content

Use the declared scaffold_distribution:

ModeAction
git_bundleClone the resolved bundle or repository into repo/.
zip_urlDownload the archive, reject path traversal, and extract into repo/.
github_classroomClone the exact student fork resolved by the private overlay.
inline_in_specMaterialize only the explicitly identified starter code blocks.
noneCreate an empty repo/ for a from-scratch solution.

Hash every DO NOT MODIFY block, fixed exception/type declaration, starter filename, and submission helper before editing. Never modify the original download outside repo/.

Write REQUIREMENTS.md with one item per gradable requirement: deliverable names and types, interfaces, behavior, errors, required technique, forbidden constructs, rubric lines, source dependencies, and package contents.

4. Build the constraints checklist

Write constraints.md as atomic yes/no propositions with a verbatim source anchor. Include:

  • every required filename, function, class, parameter, return type, and error;
  • every must, must not, do not, allowed-import, and protected-block rule;
  • every numeric phrase such as exactly, at most, no more than, minimum, maximum, page count, sentence count, function count, and coverage target;
  • every specification example as an executable input/output assertion;
  • every referenced identifier that must be grounded in spec.md or references/.

Name the measurement or parser that will verify each executable proposition. Do not reduce a numeric requirement to a subjective review.

4.5. Research before improvising

Trigger this stage for a new technique or output shape, an unfamiliar numeric constraint, a mismatch with the default pipeline, or relevant recent grader feedback. Spawn two or three bounded native Codex subagents in parallel and give them raw local artifacts rather than the current session's conclusions:

  • literal-spec verifier: enumerate explicit requirements, constraints, forbidden items, and ambiguities from spec.md;
  • quality inferrer: inspect the last five same-course results and available feedback, then propose mechanically checkable quality gates;
  • template-fit checker: identify requirements not covered by Stages 5-8.

Save their separate findings and a synthesis to research_findings.md. Add supported requirements and checks to the two checklists. Preserve conflicts verbatim; never silently let inferred quality override a literal constraint.

5. Implement test-first

Plan small feature slices from the checklist. For each slice:

  1. Add a test that fails for the missing behavior.
  2. Run the overlay's test_runner and preserve the expected failure.
  3. Implement the smallest grounded change without altering protected content.
  4. Run the full test command and repair until green before the next slice.
  5. If process history is enabled, commit only the green slice inside the assignment repository.

Add specification examples, boundary cases, error paths, and regression tests. Run the configured coverage command after all slices; add tests for genuinely uncovered requirements until the exact target passes. Never weaken starter tests, alter their expected values, or proceed with a failing suite.

6. Build optional process history

Skip this stage when process_severity: off or history is not a deliverable. Otherwise operate only on the assignment repository. Use the overlay's feature stages, session spacing, message register, and few-shot examples to turn the green Stage-5 checkpoints into the required development history.

When rebuilding local draft history, invoke Git with argument lists and set GIT_AUTHOR_DATE and GIT_COMMITTER_DATE in the child process environment. Preserve the configured author identity; never change global Git configuration or the product repository's history. Audit commit count, chronological order, message constraints, file diffs, and a clean final tree.

Show full SKILL.md (801 more words)Show less
7. Run deterministic audits

Write one line per check to verification.log:

text
PASS | requirement | measured: value
FAIL | requirement | measured: value

Run all of these from a clean state:

  1. Constraint measurements: signatures, import/AST rules, counts, page and sentence limits, exact filenames, examples, and other numeric thresholds.
  2. Identifier grounding: parse nontrivial identifiers with the language-appropriate parser and prove each required identifier appears in spec.md, references/, starter content, or the Canvas description.
  3. Tests and coverage: run the complete test and coverage commands and record exit codes and measured percentages.
  4. Starter integrity: compare protected-block hashes and required starter paths against the Stage-3 manifest.
  5. Requirement coverage: map every REQUIREMENTS.md and constraints.md item to at least one measured line.

Repair and rerun the complete audit at most three times. Any remaining FAIL, missing check, or ungrounded required identifier produces error, never draft_ready.

7.5. Run an independent semantic audit

Spawn one fresh, read-only native Codex subagent with spec.md, both checklists, optional research findings, repo/, and draft/. Require a JSON array at audit/round-1.json; each gap contains:

json
{"severity":"HIGH|MED|LOW","kind":"spec-violation|historical-risk|ambiguity-unresolved|format-mismatch","gap":"...","spec_anchor":"verbatim text","deliverable_anchor":"verbatim text or MISSING","fix_suggestion":"file and concrete change"}

Require verbatim anchors and [] exactly when no gap exists. Repair every HIGH gap, rerun all Stage-7 checks, and repeat the semantic audit for at most three rounds using atomic temporary-file replacement. Persistent HIGH gaps produce error; retain MED/LOW items as explicit human-review metadata.

8. Package, reopen, and retest on Windows

Create the exact declared artifact under draft/:

FormatDraft artifact
git_bundleRun the configured bundle command and copy the resulting bundle.
zipPrefer Python zipfile; otherwise run the configured command in an explicit working directory.
single_fileCopy the exact required source or PDF filename.
online_text_entryFreeze the exact text as draft/submission.txt.
gradescopeProduce the required archive but leave delivery manual.

Use pathlib, shutil.copy2, zipfile, tempfile.TemporaryDirectory, and subprocess.run([...], cwd=..., check=...) with full paths. Do not depend on a Unix shell or command chaining. Create the verification directory under the assignment work tree, then clone or re-extract the packaged artifact there, run the full tests and coverage again, and compare required file hashes. A package that cannot be independently reopened and retested is error.

For configured high-stakes kinds, spawn the pre-submit-reviewer native Codex subagent after packaging. Give it only the work-directory path and require a rubric-by-rubric cold review. BLOCK requires repair, complete re-audit, and a new review; unresolved BLOCK forbids mutation.

9. Finalize or submit

Default to draft_ready. gradescope, absent auto_submit_scope, and ask-each-scan always remain local drafts. A matching auto_submit_scope means only that this workflow is eligible to request a mutation; it is not Canvas authority.

Submission additionally requires a separate, signed, unexpired authorization_receipt_path supplied by canvas-submit or an authorized delegation; the interactive default is <work>/mutation_authorization.json. It must be bound to the exact Canvas origin, course, assignment, current session, and required actions:

  • file upload: assignment.upload_init, assignment.upload_blob, and assignment.submit_files;
  • text entry: assignment.submit_text.

Load and validate the receipt with src.authorization before the first write. Then use only src.canvas_submit_origin:

  • Canvas file formats: call upload_and_submit_files_with_view(..., authorization_receipt=receipt) with the packaged draft and the three exact file actions above;
  • online_text_entry: read the frozen draft/submission.txt as UTF-8 and call submit_text_with_view(..., authorization_receipt=receipt) with the exact assignment.submit_text action. Do not upload the text snapshot as a file.

Do not create or broaden a receipt in this skill, and never call a lower-level Canvas mutation helper. The wrapper must perform the pre-read, use the same exact receipt for every write, and prove the final state by read-back.

If AlreadySubmitted is raised, call existing_submission_result and record canonical submitted with reason_code=already_submitted; do not create another attempt. On success record submitted_at, read-back workflow state, metadata.readback_verified=true, attempt, attachment metadata, the receipt ID, and authorization_consumed=true. A network, authorization, or read-back failure produces error.

First-run stage mode

Run a single named stage only when both conditions hold:

  • the invocation contains STAGE-BY-STAGE MODE and names the stage; and
  • <work>/.first_run_stage_by_stage exists.

Accept fetch-spec, fetch-references, download-scaffold, constraints-checklist, research-before-improvise, test-first-implement, process-history, audit, semantic-audit, bundle-verify, and submit. Verify prior artifacts, run only the named stage, atomically write stages/<stage>.done with a short outcome, and stop. If a prerequisite is missing, write the stage error marker and do not advance. Normal canvas-execute dispatch runs the full pipeline.

Canonical result contract

Write exactly one result.json through src.course_artifacts.write_course_result or src.run_state.write_result:

  • draft_ready: an existing, reopened, retested draft_path and no failed verification line;
  • submitted: a valid draft_path or submitted_at, all-PASS verification, verified read-back metadata, and for a new mutation a receipt ID plus authorization_consumed=true; use reason_code=already_submitted for a pre-existing read-only attempt;
  • skipped: only an intrinsically manual/unsupported task, with notes;
  • error: missing required evidence, unresolved overlay/spec, failed tests or audit, broken package, denied mutation, or failed read-back.

Include test count, coverage, verification-log path and totals, package hash, commit count when applicable, receipt ID when a write occurred, and human review items in metadata. These four statuses are exhaustive.

When the selected overlay's cron_env_var is active, never prompt and never degrade a failed verification or failed submission to draft_ready. Write error honestly so the scheduler can report it.

© 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

Files

Just SKILL.md in .agents/skills/canvas-ics33 of X-isdoingreat/canvas-pilot.

Open the folder on GitHubat commit 6b79d5b

Compare with similar skills

Canvas Ics33 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.

Canvas Ics33 compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Canvas Ics33 this skillX-isdoingreat/canvas-pilot125—~4.2kAutomated safety check: PassAGPL-3.0
Enforce Firstdanielvm-git/bigpowers260—~463Automated safety check: PassMIT
Paper2posterQuZhan51496/paper2anything450—~9.2kAutomated safety check: NotesApache-2.0
Gbro Series Vocabpyang5166/gbro-series-vocab163—~1.1kAutomated safety check: PassMIT
Fill In NotesPolaris-Aeterna/loom-notes167—~975Automated safety check: PassCustom licence
Building Screening Rubricswentorai/Research-Claw8583 repos~4.5kAutomated safety check: PassCustom licence

Similar skills

  • Enforce First

    danielvm-git/bigpowers

    Apply the F.I.R.S.T test quality rubric (per CONVENTIONS.md §Tests) to a test suite or individual tests.

    260 GitHub stars~463 tokensUpdated 19 days ago
    EducationAuto-check passed
  • Paper2poster

    QuZhan51496/paper2anything

    Convert academic papers (PDF) into conference posters (HTML/PNG).

    450 GitHub stars~9.2k tokensUpdated 2 mo ago
    Documents & OfficeAuto-check: notes
  • Gbro Series Vocab

    pyang5166/gbro-series-vocab

    追剧学英语 / Learn English vocabulary from TV series. An agent skill from pyang5166/gbro-series-vocab.

    163 GitHub stars~1.1k tokensUpdated 2 mo ago
    Documents & OfficeAuto-check passed
  • Fill In Notes

    Polaris-Aeterna/loom-notes

    Turn a textbook chapter, lecture, or paper into beautiful "fill-in" study notes — written to be READ (clean statements, intuition) yet engineered to be FILLED (blanks, proof skeletons, "your turn"…

    167 GitHub stars~975 tokensUpdated 3 mo ago
    Documents & OfficeAuto-check passed
  • Building Screening Rubrics

    wentorai/Research-Claw

    Collaboratively build and refine paper screening rubrics through brainstorming, test-driven development, and iterative feedback

    858 GitHub starsUsed in 3 repos~4.5k tokens
    EducationAuto-check passed
  • Idsd Workflow

    wengan-li/ncku-thesis-template-latex

    Mandatory repository-neutral IDSD/ICE workflow. An agent skill from wengan-li/ncku-thesis-template-latex.

    151 GitHub stars~612 tokensUpdated 8 days ago
    Documents & OfficeAuto-check passed

More from X-isdoingreat/canvas-pilot

All 32 skills in this repo
  • Daily Work Tweet

    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.

    125 GitHub stars~1.6k tokensUpdated 2 mo ago
    Auto-check passed
  • Canvas Awkward Syntax

    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.

    125 GitHub stars~2k tokensUpdated 2 mo ago
    Auto-check passed
  • Canvas Cron

    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.

    125 GitHub stars~2.1k tokensUpdated 2 mo ago
    Auto-check: notes
  • Canvas Essay

    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.

    125 GitHub stars~2.2k tokensUpdated 2 mo ago
    Auto-check passed
  • Canvas Generic

    X-isdoingreat/canvas-pilot

    A skill your agent uses for an approved Canvas assignment that no specialized course skill can handle.

    125 GitHub stars~2.4k tokensUpdated 2 mo ago
    Auto-check passed
  • Canvas Humanizer

    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.

    125 GitHub stars~1.8k tokensUpdated 2 mo ago
    Auto-check passed

Questions about Canvas Ics33

What does Canvas Ics33 do?

A skill your agent uses for an approved programming assignment routed by canvas-execute. Canvas Ics33 is an agent skill from X-isdoingreat/canvas-pilot. Use for an approved programming assignment routed by canvas-execute.

When should I use Canvas Ics33?

Canvas Ics33 fits situations like: an approved programming assignment routed by canvas-execute; tasks that involve Test-driven development.

How do I install Canvas Ics33 in Claude Code?

Run `npx skills add X-isdoingreat/canvas-pilot --skill canvas-ics33 -a claude-code`. Or copy the skill folder (.agents/skills/canvas-ics33 in X-isdoingreat/canvas-pilot) into .claude/skills/canvas-ics33 in your project. Claude Code loads it when a task matches its description.

How do I install Canvas Ics33 in Codex?

Run `npx skills add X-isdoingreat/canvas-pilot --skill canvas-ics33 -a codex`. Or copy the skill folder (.agents/skills/canvas-ics33 in X-isdoingreat/canvas-pilot) into .agents/skills/canvas-ics33 in your project. Codex loads it when a task matches its description.

Can I use Canvas Ics33 in Cursor, Gemini CLI or GitHub Copilot?

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-ics33 -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-ics33, .gemini/skills/canvas-ics33, .github/skills/canvas-ics33 and .opencode/skills/canvas-ics33 in your project.

What does Canvas Ics33 need to run?

SKILL.md names no scripts, command-line tools or credentials: Canvas Ics33 is instructions for the agent only. Our summary lists: Python 3.

Does Canvas Ics33 access the network?

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.

Is Canvas Ics33 safe to install?

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.

What licence does Canvas Ics33 use?

Canvas Ics33 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.

How many tokens does Canvas Ics33 use?

About 4.2k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Canvas Ics33?

Skills that share tags, products or a category with Canvas Ics33: Enforce First (danielvm-git/bigpowers, 260 stars), Paper2poster (QuZhan51496/paper2anything, 450 stars), Gbro Series Vocab (pyang5166/gbro-series-vocab, 163 stars) and Fill In Notes (Polaris-Aeterna/loom-notes, 167 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Canvas Ics33?

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.