{
  "markdown": "# idstack\n\n> **Status: beta (v3.5.1.0).** Skills work end-to-end and ship behind a versioned plugin, but expect rough edges and breaking changes between minor versions while we shake out the rest of the workflow with real instructional designers. See [CHANGELOG.md](CHANGELOG.md) for what's new in the current release. [Tell us what's broken or missing.](https://forms.gle/6LDgDD1M6WWyYvME8)\n\nDecades of research say elaborated feedback improves learning. Cognitive load theory has been replicated for 30 years. Constructive alignment measurably raises grades. The evidence is strong, but most course design tools don't make it easy to apply.\n\nidstack is an open source set of skills for evidence-based instructional design that brings peer-reviewed research into your workflow. Runs in Claude Code. Rather than summarizing papers, idstack audits alignment matrices, flags cognitive load issues, classifies objectives against Bloom's taxonomy, and references the empirical evidence behind every recommendation.\n\nSkills covering the full lifecycle: analyze, design, build, export. One shared project manifest that remembers your course across sessions. Every recommendation tagged with its evidence tier, from T1 (meta-analyses) to T5 (expert opinion), so you always know how strong the backing is.\n\nFree, MIT licensed, open source. Available as a [Claude Code plugin](#install-30-seconds) and a [Chrome Extension](https://chromewebstore.google.com/detail/eclnhfehloplcnidkkopphamllnlhinm). [Have feedback or a feature request?](https://forms.gle/6LDgDD1M6WWyYvME8)\n\n## Quick start\n\n1. Install idstack (30 seconds, see below)\n2. Run `/idstack:course-import` on your Canvas/Blackboard/Moodle course\n3. Run `/idstack:course-quality-review` to see what the evidence says\n4. Stop there. You'll know if this is for you.\n\n## See it work\n\n```\nYou:    /idstack:course-import\n\nidstack: How do you want to import your course?\n         A) IMS Common Cartridge file (.imscc)\n         B) Paste course documents\n         C) Canvas API\n         D) PDF or document file\n         E) SCORM package (.zip)\n\nYou:    C — here's my Canvas URL and access token.\n\nidstack: Connected. Pulling course data...\n         Found: 12 modules, 8 assignments, 4 discussions, 6 outcomes.\n\n         ## Import Quality Triage\n\n         Found 4 flags during import:\n         ⚠ 12 modules, only 4 have stated learning objectives\n         ⚠ All 8 assessments are auto-graded quizzes (no rubrics)\n           [Assessment-8] [T1] — elaborated feedback produces larger\n           learning gains than correctness-only\n         ⚠ No collaborative activities beyond discussion forums\n           [Online-15] [T2] — low social presence predicts weaker outcomes\n         ⚠ No accessibility information for video content\n\n         6 objectives pre-classified with Bloom's taxonomy.\n         12 modules mapped to task analysis.\n\n         Manifest saved to .idstack/project.json.\n         Run /idstack:course-quality-review for a full evidence-based audit.\n\nYou:    /idstack:course-quality-review\n\nidstack: Reading your manifest... I have 12 modules, 6 objectives,\n         and 8 assessments from your Canvas import.\n\n         ## Course Quality Review\n\n         **Overall Score: 62/100**\n\n         ### QM Structural Review\n         | Standard              | Status | Finding                    |\n         |-----------------------|--------|----------------------------|\n         | Course Overview       | pass   | Clear syllabus, nav set    |\n         | Learning Objectives   | flag   | 8 modules lack objectives  |\n         | Assessment            | flag   | No rubrics, no alignment   |\n         | Instructional Materials| pass   | Materials current           |\n         | Learning Activities   | flag   | No active learning design  |\n         | Course Technology     | pass   | Tools used purposefully    |\n         | Learner Support       | flag   | No support section found   |\n         | Accessibility         | flag   | No alt formats for video   |\n\n         ### Community of Inquiry Presence\n         - Teaching Presence:  7/10 — strong content, weak facilitation\n         - Social Presence:    3/10 — no group work, minimal peer interaction\n         - Cognitive Presence: 5/10 — surface-level activities, no inquiry cycle\n\n         This course meets 3 of 8 QM standards but scores 3/10 on social\n         presence. Courses with low social presence show weaker learning\n         outcomes in online settings [Online-15] [T2].\n\n         ### Top 3 Recommendations\n         1. Add rubrics to all assessments with elaborated feedback\n            [Assessment-8] [T1] — Run /idstack:learning-objectives\n         2. Design collaborative activities for at least 4 modules\n            [Online-15] [T2]\n         3. Add learner support section with office hours, tutoring,\n            and technical help resources\n```\n\nYou had a course in Canvas. Now you have an evidence-based audit with specific recommendations, evidence tiers, and cross-references to the skills that fix each issue. Two commands. Or just run `/idstack:pipeline` and it chains the 8-skill linear pipeline automatically (`course-import` branches in for existing courses; `learn` is a separate cross-project memory utility — those two sit outside the linear chain, which is why pipeline runs 8 of the 11 skills).\n\n## Install (30 seconds)\n\n**Requirement:** [Claude Code](https://claude.ai/code) — desktop app, web app, or CLI.\n\nPaste this into your terminal:\n\n```bash\ngit clone https://github.com/savvides/idstack.git\ncd idstack\n./setup\n```\n\n`./setup` registers the repo as a Claude Code plugin marketplace and installs it. Restart Claude Code if it was already running — plugins load at session start. You should see `/idstack:<skill>` commands in the slash picker.\n\n### Alternative install methods\n\n<details>\n<summary>Let Claude Code do it for you</summary>\n\nIf you'd rather not touch the terminal, paste this into Claude Code:\n\n> Install idstack: run `git clone https://github.com/savvides/idstack.git && cd idstack && ./setup`, then tell me it's installed and show me the available skills.\n\nClaude clones the repo, runs setup, and confirms the skills are registered.\n</details>\n\n<details>\n<summary>Download ZIP (no git required)</summary>\n\n1. Click the green \"Code\" button on GitHub, then \"Download ZIP\"\n2. Unzip the file\n3. Open a bash shell: Terminal on macOS or Linux; WSL or Git Bash on Windows.\n   `./setup` is a bash script, so PowerShell and `cmd` cannot run it.\n4. Navigate to the folder: `cd path/to/idstack`\n5. Run: `./setup`\n</details>\n\n<details>\n<summary>Project-scoped install (one project only)</summary>\n\n```bash\n./setup --local\n```\n</details>\n\n<details>\n<summary>All setup flags</summary>\n\n```bash\n./setup                # Register the plugin with Claude Code at user scope\n./setup --local        # Install at project scope (./.claude/) instead of user scope\n./setup --keep-legacy  # Leave pre-v2.0.1.0 installs in place instead of removing them\n```\n\nSetup is idempotent — re-run it any time.\n</details>\n\nYou should see:\n```\n  regenerated skill files\nInstalling idstack (user)...\n  source: /path/to/idstack\n\nidstack installed (Claude Code) — scope: user.\n\n  If Claude Code is already running, restart it (plugins load at session start).\n\n  Usage: /idstack:<skill>\n\n  Have an existing course?\n    /idstack:course-import -> /idstack:course-quality-review\n\n  Starting fresh?\n    /idstack:needs-analysis\n\n  Run the full pipeline:\n    /idstack:pipeline\n\n  All skills: needs-analysis, learning-objectives, assessment-design,\n    course-builder, course-quality-review, accessibility-review,\n    red-team, course-export, course-import, pipeline, learn\n\n  More info: https://idstack.org\n```\n\n### Chrome Extension (No-Terminal Mode)\n\n[![Available in the Chrome Web Store](https://img.shields.io/badge/Chrome_Web_Store-idstack-4285F4?logo=googlechrome&logoColor=white)](https://chromewebstore.google.com/detail/eclnhfehloplcnidkkopphamllnlhinm)\n\nIf you or your instructional designers don't use the terminal, idstack is available as a native Chrome Side Panel extension in the [Chrome Web Store](https://chromewebstore.google.com/detail/eclnhfehloplcnidkkopphamllnlhinm):\n\n1. Install [idstack from the Chrome Web Store](https://chromewebstore.google.com/detail/eclnhfehloplcnidkkopphamllnlhinm).\n2. Pin the extension to your Chrome toolbar.\n3. Navigate to any Canvas assignment, syllabus, or Google Doc and click the idstack icon to open the Side Panel.\n4. Click **\"Audit Page with Evidence\"** for instant Bloom's classification, constructive alignment reviews, and 1-click improved rubrics.\n\n#### Loading Unpacked (Local Development)\n\nIf developing or modifying the extension locally:\n1. Open Chrome and navigate to `chrome://extensions/`.\n2. Enable **Developer mode** in the top-right corner.\n3. Click **Load unpacked** and select the `extension/` directory from this repo.\n\n#### Full Course Audit (Canvas LMS)\n\nWhen viewing any Canvas course homepage or modules list (`/courses/:id`), idstack automatically detects the course environment and presents an **\"Audit Entire Course\"** button:\n- **Zero Developer Tokens Required:** Crawls published syllabus items, modules, assignments, discussions, and quizzes in the background using your active browser session. No Canvas API keys, LMS admin setup, or command line required.\n- **Course Quality Matrix:** Synthesizes findings across all modules into an interactive course health dashboard, highlighting cognitive process distribution across Bloom's levels, constructive alignment gaps, and prioritized action items.\n- **Export Ready:** Download the full synthesized course audit as JSON or Markdown to share with instructional design teams and faculty stakeholders.\n\n#### Multi-Page Course Dossier & Markdown Export\n\nAudit multiple pages across a course or syllabus and accumulate findings into a structured institutional deliverable:\n- **Incremental Dossier Accumulation:** Click **\"Add to Dossier\"** on any page audit (assignments, quizzes, syllabi, Google Docs). The header dossier badge tracks your collected course components across browsing sessions.\n- **1-Click Compiled Markdown Export (`.md`):** Open the Dossier drawer to download a synthesized multi-page Markdown report (`idstack-course-dossier-<title>.md`) containing executive summaries, cognitive demand tables, itemized empirical citations (T1–T5), and improved rubric drafts.\n- **Clipboard Ready:** Copy the compiled Markdown report directly to your clipboard for pasting into LMS course notes, Google Docs, Notion, or faculty review tickets.\n\n#### Free Google AI Studio API Key Setup\n\nidstack includes a rich built-in simulation fallback mode for instant demonstration without API keys. To connect live LLM inference:\n1. Obtain a free API key from [Google AI Studio](https://aistudio.google.com/app/apikey).\n2. In the idstack Side Panel, click the **Settings** (gear) icon in the top header.\n3. Paste your API key into the input field and click **Save Settings**.\n4. All prompts execute client-side directly against Google's API (`gemini-2.5-flash`). Zero student PII or course content is stored or transmitted to external intermediary servers. <!-- IDSTACK_CLI_LEAK_ALLOW -->\n\n#### Packaging for Chrome Web Store\n\nTo create a distribution bundle:\n```bash\n./bin/package-extension.sh\n```\nProduces `build/idstack-chrome-extension-v1.0.0.zip` ready for submission to the Chrome Web Store Developer Console.\n\n\n## Your design team\n\nidstack turns Claude Code into an evidence-based instructional design team. Each skill is a specialist. All invoked via `/idstack:<skill>`.\n\n| Skill | Your specialist | What they do |\n|-------|----------------|--------------|\n| `/idstack:needs-analysis` | **Needs Analyst** | Three-level assessment before you build anything. Organizational analysis (is training even the right intervention?), task analysis (what must learners do?), learner profiling (prior knowledge, not learning styles). Creates the project manifest. Auto-detects imported courses and runs a design-fit check instead of the training-decision gate. Writes `.idstack/exports/<course-slug>/needs-analysis.html`. |\n| `/idstack:learning-objectives` | **Curriculum Designer** | Writes measurable objectives with revised Bloom's taxonomy. Classifies on two dimensions (knowledge type + cognitive process). Bidirectional alignment check: does each objective have a matching activity AND assessment? Flags gaps. Writes `.idstack/exports/<course-slug>/learning-objectives.html`. |\n| `/idstack:assessment-design` | **Assessment Architect** | Designs assessments aligned to Bloom's levels with evidence-based rubrics and feedback strategies. Applies Nicol's 7 principles of good feedback. Builds formative checkpoints before summative assessments. For imported courses, switches to audit mode: classifies existing rubric criteria on Bloom's, compares to ILOs, and surfaces alignment gaps without proposing new assessments. Writes `.idstack/exports/<course-slug>/assessment-design.html`. |\n| `/idstack:course-import` | **LMS Bridge** | Imports your course from any LMS or authoring tool. Five input methods: IMS Common Cartridge, pasted documents, Canvas API, PDF upload (Articulate Rise, Storyline), or SCORM package. Quick-scan quality flags, auto-maps modules to task analysis, pre-classifies objectives with Bloom's. Writes `.idstack/exports/<course-slug>/course-import.html`. |\n| `/idstack:course-builder` | **Content Generator** | Generates complete course content from the manifest: syllabus, module pages, assignment descriptions, and rubric documents. Content follows cognitive load principles. Includes adversarial spec review (auto-validates alignment). For imported courses, switches to gap-fill mode: generates only the artifacts upstream skills flagged as missing, instead of regenerating what already exists in the cartridge. Writes `.idstack/exports/<course-slug>/course-builder.html`. |\n| `/idstack:course-export` | **LMS Publisher** | Exports to any LMS. Generates IMS Common Cartridge (.imscc), SCORM 1.2 packages, or pushes directly to Canvas via API. Shows readiness dashboard before export. The output IS the course. |\n| `/idstack:course-quality-review` | **Quality Auditor** | Full QM-aligned audit plus Community of Inquiry presence layer. 8 structural standards, 3 presence dimensions (teaching, social, cognitive), constructive alignment audit. Parallel sub-agents on Claude Code for speed. Writes `.idstack/exports/<course-slug>/course-quality-review.html`. |\n| `/idstack:accessibility-review` | **Accessibility Reviewer** | WCAG 2.1 AA compliance audit plus Universal Design for Learning (UDL 3.0) enhancement review. Two-tier output: \"Must Fix\" for accessibility violations, \"Should Improve\" for UDL recommendations. Parallel sub-agents for WCAG and UDL. Writes `.idstack/exports/<course-slug>/accessibility-review.html`. |\n| `/idstack:red-team` | **Adversarial Auditor** | Assumes your course is broken and tries to prove it. Runs in a clean-context sub-agent so the audit can't inherit build-bias from the parent. Five dimensions in parallel: alignment stress test, evidence verification, cognitive load analysis, learner persona simulation, prerequisite chain integrity. Writes `.idstack/exports/<course-slug>/red-team.html` and returns to the parent for a triage-and-fix loop (Critical / Critical+High / All / Skip). Produces a confidence score. |\n| `/idstack:pipeline` | **Orchestrator** | Chains the 8-skill linear pipeline automatically. Auto-skips completed skills. Shows pipeline status. Pause anytime, resume later. Produces `.idstack/exports/<course-slug>/index.html`, a branded course dashboard linking to every per-skill report, with readiness scores, top recurring issues, evidence themes, and where to start. Open in any browser. |\n| `/idstack:learn` | **Memory Manager** | Search, list, delete, promote, and export project learnings. Supports cross-project intelligence. |\n\n## The workflow\n\nEach skill feeds into the next. The project manifest is the thread.\n\nSkill names in the diagram below are shown unprefixed to keep the columns readable. To run a skill, use the namespaced form: `/idstack:<skill>`.\n\n```\nEXISTING COURSE                           NEW COURSE\n\n/course-import                            /needs-analysis\n  IMS Cartridge, SCORM, PDF, Canvas API     Three-level needs assessment\n  Quick-scan quality flags                  Is training the right intervention?\n  Pre-classify objectives                   Task analysis + learner profile\n        │                                          │\n        └──────────────┬───────────────────────────┘\n                       │\n                       ▼\n              /learning-objectives\n                Write measurable ILOs\n                Bloom's classification\n                Alignment check\n                       │\n                       ▼\n              /assessment-design\n                Design assessments per Bloom's level\n                Evidence-based rubrics + feedback\n                Formative checkpoints\n                       │\n                       ▼\n              /course-builder\n                Generate syllabus, modules, assignments\n                Content adapts to learner expertise\n                       │\n                       ▼\n             /course-quality-review\n                QM structural audit (8 standards)\n                CoI presence analysis\n                Evidence-tiered recommendations\n                       │\n                       ▼\n             /accessibility-review\n                WCAG 2.1 AA compliance\n                UDL 3.0 enhancement\n                Accessibility score (0-100)\n                       │\n                       ▼\n                  /red-team\n                Adversarial stress test\n                Persona simulation\n                Confidence score (0-100)\n                       │\n                       ▼\n              /course-export\n                IMS Common Cartridge (.imscc)\n                SCORM 1.2 package\n                or Canvas API push\n```\n\nAny skill works independently. Run `/idstack:pipeline` to chain them all, or invoke any skill directly. The pipeline adds context but isn't required.\n\n## Architecture\n\n```\n+-------------------------------------------------------+\n|                     Claude Code                        |\n|                                                        |\n|  +-----------------------------------------------+    |\n|  |                 11 Skills (plugin)              |    |\n|  |   Each: SKILL.md.tmpl -> SKILL.md              |    |\n|  |   (YAML frontmatter + shared preamble +        |    |\n|  |    evidence-based conversational workflow)      |    |\n|  +------+----------------+----------------+------+    |\n|         |                |                |           |\n|   reads/writes      reads on start     cites          |\n|         |                |                |           |\n|  +------v------+  +-----v---------+  +---v--------+  |\n|  | .idstack/   |  | .idstack/     |  | evidence/  |  |\n|  | project.json|  | timeline.jsonl|  | references |  |\n|  | (manifest)  |  | learnings.jsonl  | (T1-T5)    |  |\n|  +-------------+  +---------------+  +------------+  |\n|                                                        |\n|  +-------------------------------------------+        |\n|  | .idstack/exports/<course-slug>/           |        |\n|  |   index.html              (dashboard)     |        |\n|  |   <skill>.html            (per-skill)     |        |\n|  |   assets/idstack.css      (brand)         |        |\n|  |   course-export.imscc     (LMS package)   |        |\n|  |   scorm-export.zip        (LMS package)   |        |\n|  | Visual contract: templates/report.html.tmpl       |\n|  | Content contract: templates/report-format.md      |\n|  +-------------------------------------------+        |\n|                                                        |\n|  templates/preamble.md  templates/report-format.md    |\n|  templates/report.html.tmpl  templates/index.html.tmpl|\n|  templates/assets/idstack.css                          |\n|  bin/idstack-gen-skills  bin/idstack-manifest-merge   |\n|  bin/idstack-migrate  bin/idstack-timeline-log        |\n|  bin/idstack-learnings-log  bin/idstack-status        |\n|  bin/idstack-slugify  bin/idstack-update-check        |\n|  bin/idstack-doctor  bin/lib/version-classify.sh      |\n|  bin/lib/plugin-status.sh                             |\n+-------------------------------------------------------+\n```\n\nSkills are plain Markdown files generated from templates. No build step for users, no dependencies. `./setup` registers the repo as a Claude Code plugin marketplace and installs it, which is what gives the namespaced `/idstack:<skill>` commands. Users invoke skills via `/idstack:<skill>`. Each skill reads the shared manifest and session history, runs its evidence-based workflow, writes back its section, and logs the session to the timeline. The pipeline adds context but every skill also works standalone.\n\n## How it works\n\n### The project manifest\nidstack saves your design decisions in `.idstack/project.json` so each skill remembers your course context. You never edit this file directly. The skills manage it.\n\nWhen you run `/idstack:course-import`, it creates the manifest with your course structure. When you run `/idstack:learning-objectives`, it reads the manifest and extends it with objectives and alignment data. `/idstack:assessment-design` adds rubrics and feedback strategies. `/idstack:course-builder` generates the actual content. `/idstack:course-quality-review` audits the full chain. `/idstack:course-export` packages it for your LMS. Each skill reads what came before and adds its layer. Or run `/idstack:pipeline` and it chains them all automatically.\n\n### How idstack reports back to you\nidstack functions as a design partner rather than an automated content generator. When a skill finishes, it produces two artifacts:\n\n- **Branded HTML report** at `.idstack/exports/<course-slug>/<skill>.html` — the human view. Open it in any browser. Every finding follows the same structure: *what we saw* in your course, *what the evidence says* (with a citation tag like `[Assessment-8] [T1]`), *why it matters* for learners, and *what to consider* changing. Suggestions, not directives: the designer owns the course, while idstack provides the analytical review.\n- **Manifest section** at `.idstack/project.json` — the system view. Same findings in JSON so other skills can read and act on them.\n\nThe visual contract lives in [`templates/report.html.tmpl`](templates/report.html.tmpl) (the HTML skeleton) and [`templates/assets/idstack.css`](templates/assets/idstack.css) (the branded stylesheet). The content contract is in [`templates/report-format.md`](templates/report-format.md). Re-running a skill overwrites its report; the timeline at `.idstack/timeline.jsonl` carries the run history.\n\nEvery per-course artifact — every per-skill report, the pipeline dashboard, and any LMS packages — lands in the same self-describing folder: `.idstack/exports/<course-slug>/`. The `<course-slug>` is derived from your course's `project_name` (lowercased, kebab-cased). Zip the folder to hand the whole deliverable to a stakeholder.\n\nWhen you run `/idstack:pipeline`, it also produces a course dashboard at `.idstack/exports/<course-slug>/index.html` — readiness scores, links to every per-skill report, top issues that recur across multiple stages, evidence themes, and where to start. Open this first if you've run multiple skills and want one entry point that synthesizes the whole audit.\n\n### Course memory\nidstack remembers your design sessions. Each skill logs what it did to `.idstack/timeline.jsonl`, and project-specific discoveries (LMS quirks, format issues, course patterns) are stored in `.idstack/learnings.jsonl`. When you start a new session, idstack tells you where you left off: quality score trends, which skills have been completed, and what the next step is. Run `bin/idstack-status` anytime to see your course health dashboard.\n\n### Evidence tiers\nEvery recommendation includes an evidence tier so you know how strong the backing is:\n\n| Tier | What it means | Example |\n|------|--------------|---------|\n| **T1** | Meta-analyses and randomized controlled trials | \"Elaborated feedback improves learning\" (Wisniewski et al., 2020) |\n| **T2** | Quasi-experimental studies with controls | \"QM + CoI combination improves outcomes\" (Swan et al., 2012) |\n| **T3** | Systematic reviews of mixed evidence | \"Multi-level needs analysis is necessary\" (Ferreira & Abbad, 2013) |\n| **T4** | Observational studies without comparison groups | \"QM peer review improves course quality\" (Zimmerman et al., 2020) |\n| **T5** | Expert opinion and theoretical frameworks | \"Constructive alignment improves learning\" (Biggs, 1996) |\n\nWhen the skill says \"add elaborated feedback to your quizzes,\" it references T1 evidence from multiple meta-analyses rather than unverified opinion.\n\n### Using skills independently\nAny skill works on its own. `/idstack:course-quality-review` works without a manifest by asking you questions directly. `/idstack:learning-objectives` works without a needs analysis. The pipeline adds context and makes recommendations sharper, but every skill is self-contained.\n\n## The evidence base\n\nidstack encodes findings from a literature synthesis spanning 11 domains of instructional design research. The full citation list (all 11 domains, 5 evidence tiers) is in [evidence/references.md](evidence/references.md). A selection:\n\n| Domain | Evidence Strength | Key Finding |\n|--------|------------------|-------------|\n| Cognitive Load Theory | Very strong (T1) | Manage working memory load through sequencing, segmenting, and integration |\n| Multimedia Learning | Very strong (T1) | Spatial contiguity, signaling, and coherence reliably improve learning |\n| Formative Assessment | Strong (T1) | Feedback that explains what to do next outperforms correctness-only feedback |\n| Constructive Alignment | Moderate-Strong (T2) | Objectives, activities, and assessments must form a coherent chain |\n| Online Course Quality | Moderate (T2-T4) | QM standards + CoI presence predicts outcomes beyond compliance |\n| Needs Analysis | Weak-Moderate (T3) | Multi-level analysis is necessary but rarely done |\n| Accessibility & UDL | Moderate (T2-T3) | WCAG 2.1 AA is the legal baseline; UDL 3.0 extends to design for learner variation |\n\n**Cross-domain principles** (appear in 3+ domains):\n1. Alignment is non-negotiable\n2. Expertise level changes which instructional moves help and which backfire\n3. Feedback quality matters more than feedback quantity\n4. Cognitive load is the central design constraint\n5. Context determines model selection (no universal \"best\" approach)\n\n## FAQ\n\n**Do I need to know how to code?**\nNo. You interact with idstack through conversation in Claude Code. It's a chat interface.\n\n**What is Claude Code?**\nClaude Code is Anthropic's coding tool. It's available as a [desktop app, web app, and CLI](https://claude.ai/code). You type `/idstack:needs-analysis` and have a conversation. No programming required.\n\n**Can I use this with Canvas?**\nYes. `/idstack:course-import` connects to Canvas via API or reads Canvas course exports (.imscc files). It also works with Blackboard, Moodle, and D2L through the IMS Common Cartridge format.\n\n**Can I use this with Articulate Rise?**\nYes. Export your Rise course as a PDF (hover over the course card > `...` > Download as PDF), then run `/idstack:course-import` and choose \"PDF or document file.\" Give it the file path and it reads the PDF directly, extracts the course structure, and maps it to the project manifest. From there, every skill works: quality review, accessibility audit, red team, everything. Note: interactive elements like Storyline blocks and flashcards don't render in PDFs, but course structure, objectives, and assessment descriptions come through fine.\n\n**What if I only want to run the quality review?**\nThat works. `/idstack:course-quality-review` asks you about your course directly if there's no manifest.\n\n**How do I check my course health without re-running a skill?**\nRun `bin/idstack-status` from your project directory for the dashboard (quality score trends, dimensions, what skills have run, paths to every report under `.idstack/exports/<course-slug>/`). Add `--readiness` to get the pre-export readiness gate only (quality ≥ 70, accessibility ≥ 80, zero critical red-team findings, zero WCAG Level-A violations).\n\n**Do I need python3?**\npython3 is recommended but not required. With python3, you get quality score trends, dimension analysis, search filtering, and safe JSON serialization. Without it, basic timeline logging and learnings still work via bash fallback, but score trends and search filtering are unavailable. Most systems have python3 pre-installed.\n\n**Is my data safe?**\nidstack runs locally on your machine. Course data stays in your project folder (`.idstack/project.json`). Session history (`.idstack/timeline.jsonl`) and learnings (`.idstack/learnings.jsonl`) are also local. Course data reaches external servers only when you explicitly invoke integration skills (such as Canvas API calls via `/idstack:course-import` or `/idstack:course-export`) or perform hourly update checks via `git fetch`. Claude Code's own privacy policy applies to the AI conversation.\n\n**Can I edit the project manifest directly?**\nYou can, but let the skills manage it. If you do edit it, keep the JSON valid.\n\n**How do I update idstack?**\nidstack checks for updates when you run any skill. If a newer version is available, you'll see a notification. Update manually: `cd <your idstack clone> && git pull && ./setup`\nIf you downloaded ZIP: download the latest version and run `./setup` again.\n\n**How do I request a feature or report a bug?**\n[Fill out this form](https://forms.gle/6LDgDD1M6WWyYvME8). No GitHub account needed. If you have a GitHub account, you can also [open an issue](https://github.com/savvides/idstack/issues).\n\n**Does idstack work offline?**\nidstack itself is just text files. But it runs inside Claude Code, which requires an internet connection.\n\n## Troubleshooting\n\n**Skill not showing up?** Claude Code loads skills at session start. If you installed while Claude Code was running, restart it (close and reopen). If that doesn't help, run setup again:\n```bash\ncd <your idstack clone> && ./setup\n```\n\n**Can't import a .imscc cartridge?** Make sure the file is a valid ZIP. Try re-exporting from your LMS with \"Course\" selected (not just content).\n\n**Canvas API says \"token rejected\"?** Generate a fresh token: Canvas -> Account -> Settings -> New Access Token. Tokens expire.\n\n**Claude says it can't find idstack skills?** Make sure you've run `./setup` after cloning. Setup registers the repo as a plugin marketplace and installs it so Claude Code discovers the namespaced `/idstack:<skill>` commands. Restart Claude Code after install — plugins load at session start.\n\n**Upgrading from v2.0?** v2.0 installed under `~/.claude/skills/idstack`, which only exposed `/idstack` (the dispatcher) — never the 11 namespaced sub-skills. Clone fresh and run setup: `git clone https://github.com/savvides/idstack.git && cd idstack && ./setup`. Setup now detects and removes any pre-v2.0.1.0 install at `~/.claude/skills/idstack` (symlink *or* real directory). If you ran an older setup that only warned, run `./setup` once more — or remove it manually with `rm -rf ~/.claude/skills/idstack`.\n\n**`/idstack:<skill>` won't autocomplete or returns \"Unknown skill\"?** Run `bin/idstack-doctor` from your idstack clone. It checks the plugin + marketplace manifests, the Claude Code install state, all 11 SKILL.md files, and detects legacy-install conflicts — printing the exact remediation command for whatever it finds.\n\n## Contributing\n\nHave feedback or a feature request? [Fill out this form](https://forms.gle/6LDgDD1M6WWyYvME8) — no GitHub account needed.\n\nFound a bug? You can also [open an issue on GitHub](https://github.com/savvides/idstack/issues).\n\nWant to add a new skill? See [CONTRIBUTING.md](CONTRIBUTING.md) for the full guide. The architecture is simple: create a directory with a `SKILL.md.tmpl` template, run `bin/idstack-gen-skills` to generate its `SKILL.md`, then `./setup`.\n\n## More\n\n- [idstack.org](https://idstack.org) — landing page\n- [CHANGELOG.md](CHANGELOG.md) — full version history\n- [ROADMAP.md](ROADMAP.md) — what's coming next\n- [PRIVACY.md](PRIVACY.md) — privacy policy (idstack collects nothing)\n- [Why AI-native?](docs/why-ai-native.md) — why idstack is built this way\n\n## License\n\nMIT License. Free and open source.\n",
  "bytes": 32671,
  "sha": "73a9972bfba60443df08960ca7dafaef94283843fd756d53ff029e8cc8758c91",
  "repo_slug": "savvides/idstack",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_savvides_idstack_idstack_a5407145/readme"
}