원클릭으로
canvas-lms
canvas-lms에는 aaronshaf에서 수집한 skills 16개가 있으며, 저장소 수준 직업 범위와 사이트 내 skill 상세 페이지를 제공합니다.
이 저장소의 skills
Fix flaky Ruby RSpec tests in Canvas LMS. Classifies failure patterns, applies documented fixes from the KB, and drives the full batch workflow.
Grade a single Canvas request test (`it` block) against the Canvas request-test rules. Returns a pass/fail grade and the list of failing rules with fixes. Report-only — no edits made.
Convert Canvas controller specs (spec/controllers/*) into request specs by rewriting action-based calls to URL-based calls. Use this when migrating a *_controller_spec.rb to the request style (`type: :request`). After the mechanical port, the skill enters Grading mode by default — pass `--no-grading` to skip.
Use this skill to write a single Rails request test for Canvas LMS from a Given/When/Then user scenario. The skill enforces opinionated rules to write readable, isolated, thorough, explicit tests that assert behavior over implementation.
Audit a directory of Canvas selenium tests, classify each `it` block (KEEP / DELETE / PARTIAL / WRITE NEW), verify whether equivalent lower-level coverage already exists, and emit a CSV that a downstream code-modification skill can act on. Use when the user asks to trim, prune, audit, or migrate selenium tests in a specific directory.
Extract behavioral contracts (Given/When/Then) from Selenium `it` blocks. Accepts a spec file, directory, or manual_review.csv. Output CSV is consumed by selenium-coverage-quality to score assertion-level coverage.
Run a selenium spec directory twice — once on the current branch, once with files restored from a base ref — and produce a line-level coverage diff. Use after selenium-trim to verify that deleted tests provided no unique coverage. Also useful standalone to baseline coverage before starting a trim pass.
Score assertion-level coverage quality for Selenium behavioral contracts extracted by selenium-behavior-extract. For each Given/When/Then contract, finds existing lower-layer tests and classifies coverage as STRONG, WEAK, or GAP. Output CSV drives selenium-gap-filler.
Generate targeted lower-layer tests for behavioral gaps identified by selenium-coverage-quality. Fills request spec, model spec, and component test gaps. Flags keep_selenium rows. Does NOT delete Selenium tests — that remains selenium-trim's job.
Package the output files from a selenium-pipeline run into a named zip and offer to attach it to a Jira ticket or save it to a custom path. Run this after selenium-pipeline completes for a directory.
Run the full selenium trim pipeline (audit → trim –apply → coverage compare) on a spec/selenium directory. Short names like `courses` are resolved to `spec/selenium/courses` automatically. Collects all upfront inputs in one go, then runs the three stages with a confirmation gate before each destructive step.
Consume the CSV produced by selenium-audit and remove the auto-actionable selenium tests. Defaults to dry-run preview; only mutates files when invoked with --apply. Use after running selenium-audit on a directory.
Grade every `it` block in a Canvas request spec file by fanning out parallel `request-test-grader` subagents. Writes per-spec reports to `tmp/grade-reports/`; emits only the summary table in chat. Does not edit project files.
Fetch resolved JIRA bug tickets via JQL, extract cross-boundary integration behaviors, propose new Given-When-Then scenarios, and produce a prioritized list of scenarios for test-writing. Use when the user provides a JQL query for resolved bugs and wants to identify the highest-priority integration scenarios to test.
Browse a Canvas Instructure Community KB (Knowledge Base) index, identify grading workflows that span Canvas and one or more caller-specified external services and are expressible through Canvas REST API calls, and produce Given-When-Then scenario files with a README. Use when the user asks to create an API-expressible grading scenario inventory from a Canvas KB feature area.
Self-test the selenium skill suite (behavior-extract → coverage-quality → gap-filler) against a small fixture directory. Run this after updating any selenium skill to verify the pipeline still works end-to-end before using it on production data.