alterlab-syllabus-ai-policy

$npx mdskill add AlterLab-IEU/AlterLab-Academic-Skills/alterlab-syllabus-ai-policy

Drafts course-level generative-AI use policies and syllabus statements.

  • Assigns each graded task a permitted/restricted/prohibited AI tier.
  • Uses local templates and scripts via Python; no API key required.
  • Follows Cornell's framework and institution's academic-integrity code.
  • Emits paste-ready policy text and flags vague or contradictory drafts.

SKILL.md

.github/skills/alterlab-syllabus-ai-policyView on GitHub ↗
---
name: alterlab-syllabus-ai-policy
description: "Drafts course-level generative-AI use policies and syllabus statements: assigns each graded task a permitted/restricted/prohibited tier (modeled on Cornell's prohibit/allow-with-attribution/encourage framework), writes the disclosure clause with a verbatim APA (OpenAI, 2023) or MLA Works Cited citation template for ChatGPT, and adds assessment-integrity, accessibility, and equity language bound to the institution's own academic-integrity code. Ships scripts/policy_builder.py to emit a paste-ready statement and scripts/policy_lint.py to flag a vague or self-contradicting draft. Use when the request mentions a syllabus AI policy, a course statement on ChatGPT or generative AI, an academic-integrity clause for AI tools, an AI-disclosure rule, or per-assignment permitted/prohibited AI tiers. For full course/backward design, syllabus, or rubrics use alterlab-teaching-design; for human-subjects AI-tool ethics use alterlab-research-ethics. Part of the AlterLab Academic Skills suite."
license: MIT
allowed-tools: Read Write Edit Bash(python:*) WebFetch
compatibility: No API key or network required — emits institution-parameterized policy text from local templates via `uv run python`; WebFetch is used only to read a linked institutional academic-integrity code when the user supplies its URL
metadata:
  skill-author: AlterLab
  version: "1.0.0"
  last_updated: "2026-06-06"
  depends_on: "alterlab-teaching-design (owns full syllabus/backward design; this is the focused AI-policy add-on)"
---

# Syllabus AI-Use Policy Drafter — Per-Course, Per-Assignment GenAI Statements

The focused add-on that turns "what's my AI policy?" into a concrete, paste-ready
syllabus statement. It does **one thing well**: given a course and its graded
tasks, it assigns each task an explicit **permitted / restricted / prohibited**
tier, writes the matching disclosure and attribution clause, and binds the whole
statement to the institution's own academic-integrity code — so the policy is
enforceable, not aspirational. It deliberately does **not** author the rest of
the syllabus, learning outcomes, or rubrics; that is `alterlab-teaching-design`.

## When to Use This Skill

Use it when the request is about the **AI-use rules of a course or assignment**:

```
Draft an AI-use policy for my syllabus.
Write a course statement on ChatGPT / generative AI for students.
I need an academic-integrity clause that covers AI tools.
Give me per-assignment rules: where can students use AI, where not?
How should students disclose and cite AI they used in an essay?
Make my AI policy consistent with our university's integrity code.
```

→ Gather the course context (level, discipline, the list of graded tasks, the
institution's integrity-code reference), assign each task a tier, then run
`scripts/policy_builder.py` to emit the statement and `scripts/policy_lint.py`
to catch contradictions before you hand it back.

### Does NOT Trigger

This skill is a narrow add-on. Route adjacent asks to the right sibling:

| The ask is really about… | Route to | Why not here |
|--------------------------|----------|--------------|
| Designing the whole course / syllabus, learning outcomes, rubrics, lesson plans, backward design | `alterlab-teaching-design` | Owns full course/backward design; this skill only writes the AI-policy section |
| Ethics of using an AI tool on **human-subjects data** (IRB, consent, de-identification) | `alterlab-research-ethics` | Research-ethics / IRB territory, not a teaching policy |
| Whether a *student submission* was AI-generated; running a detector | `alterlab-teaching-design` (assessment) | This skill writes policy; it does **not** adjudicate or detect individual cases |
| Verifying that *citations* a student or author produced actually exist | `alterlab-citation-verifier` | Citation existence-checking, not policy drafting |
| Turkish-system integrity/ethics process (ÜAK, YÖK etik kurul) | `alterlab-tr-research-ethics` | Turkey-specific ethics workflow, parameterized differently |
| Institutional accreditation / assurance-of-learning reporting | `alterlab-accreditation-aol` | Program-level AoL, not a course AI clause |

If the request mixes "design my course" **and** "write my AI policy", do the AI
policy here and hand the rest to `alterlab-teaching-design`.

---

## The Tier Model

Every graded task is assigned exactly one tier. The three-tier shape mirrors the
Cornell University faculty-committee framework (prohibit / allow-with-attribution
/ encourage) — a published, citable model — but the **wording is yours** and is
bound to your institution's integrity code, never invented.

| Tier | Meaning | Student obligation |
|------|---------|--------------------|
| **Prohibited** | No generative-AI use; the task measures a skill AI would substitute for | None permitted; use is an integrity violation under the cited code |
| **Restricted** | AI permitted for *named* sub-tasks only (e.g. brainstorming, grammar), not for the assessed deliverable | Disclose what tool was used, for what, and how — see the disclosure clause |
| **Permitted** | AI use is allowed and may be encouraged (e.g. as a tutor, for accessibility) | Disclose and attribute per the citation template; remain responsible for accuracy |

**Default-deny when unstated.** If the course gives no tier for a task, the
statement says the task is *Prohibited* until the instructor decides — never
silently "anything goes". A vague "students may use AI responsibly" line is the
single most common failure and `policy_lint.py` flags it.

See `references/tier_framework.md` for the full decision tree (which tier fits
which assessment type), worked per-discipline examples, and the verbatim Cornell
tier definitions this is modeled on.

---

## The Disclosure & Attribution Clause

A tier alone is not a policy. Restricted and Permitted tasks require students to
**disclose and cite** AI use, and the statement must hand them an exact citation
format — not "cite it appropriately". Use the documentation standard the course
already uses:

- **APA 7** — reference-list entry credits the maker, not the tool as author:
  `OpenAI. (2023). ChatGPT (Mar 14 version) [Large language model]. https://chat.openai.com/chat`,
  with in-text `(OpenAI, 2023)`; reproduce the prompt and output in an appendix
  or the Methods section. (APA Style, *How to cite ChatGPT*.)
- **MLA 9** — Works Cited via the template-of-core-elements, treating the tool as
  the container, **not** the author:
  `"<prompt>" prompt. ChatGPT, <version>, OpenAI, <date>, <URL>.`
  MLA also requires acknowledging *functional* uses (editing, translation) in a
  note. (MLA Style Center, *How do I cite generative AI in MLA style?*.)

`references/disclosure_and_citation.md` carries both verbatim templates, a
Chicago-style note option, and a ready-made student "AI-use declaration" block
the statement can append to each submission.

---

## Assessment-Integrity, Accessibility & Equity Language

Three clauses every statement should carry, all parameterized — never asserted as
fact about a specific tool:

1. **Integrity binding** — one sentence tying prohibited-tier misuse to the named
   institutional code (e.g. "violations are handled under <CODE_REF>"). This is
   what makes the policy enforceable; leave `<CODE_REF>` as a fill-in if the user
   has not supplied it, and say so.
2. **Accessibility / equity** — note that some students rely on AI assistive tools
   and that not all students have paid-tier access, so required AI use should be
   free-tier-achievable or provided. Do **not** claim a specific tool is
   accessible/compliant unless the user supplies that fact.
3. **No-detector-as-proof** — if the user asks the policy to lean on an "AI
   detector", flag that detector outputs are probabilistic and should not be the
   sole basis of an integrity finding; the policy states *process*, it does not
   adjudicate. (Adjudicating an individual case is out of scope — see the routing
   table.)

Detail, sample wording, and the equity checklist live in
`references/integrity_accessibility.md`.

---

## How to Run It

### 1. Build a statement from course context

```bash
uv run python skills/faculty-life/alterlab-syllabus-ai-policy/scripts/policy_builder.py \
    --course "PSY 201 Research Methods" --level undergraduate \
    --doc-standard apa \
    --integrity-code "IEU Student Disciplinary Regulation" \
    --task "Literature review essay=restricted:brainstorming and outlining only" \
    --task "In-class exam=prohibited" \
    --task "Data-analysis report=permitted:as a coding tutor" \
    --out ai_policy.md
```

- `--task "<name>=<tier>[:<scope/notes>]"` — repeatable; tier ∈
  `prohibited|restricted|permitted`. A task with no tier is emitted as
  `prohibited` with a visible "instructor to confirm" note.
- `--doc-standard apa|mla|chicago|none` selects the citation template block.
- `--integrity-code "<ref>"` is inserted verbatim; omit it and the output keeps a
  `<CODE_REF>` placeholder plus a warning.
- Omit `--out` to print the Markdown statement to stdout.

The script is **stdlib-only** (no network, no keys): it fills local templates and
never invents an integrity code, a tool capability, or a citation URL.

### 2. Lint a draft (yours or the generated one)

```bash
uv run python skills/faculty-life/alterlab-syllabus-ai-policy/scripts/policy_lint.py ai_policy.md
```

`policy_lint.py` flags the common failure modes: a vague catch-all ("use AI
responsibly") with no per-task tier, a Restricted/Permitted tier with **no**
disclosure clause, a missing or placeholder integrity-code reference, a citation
instruction with no concrete template, and "prohibited" language that
contradicts a "permitted" line for the same task. It exits non-zero on any
`error`-level finding so it can gate a CI or a pre-handoff check.

### 3. Read back and hand off

Present the statement, the lint verdict, and **every unresolved placeholder**
(`<CODE_REF>`, unconfirmed tool claims). If the user also wants the surrounding
syllabus, outcomes, or a rubric, hand off to `alterlab-teaching-design` rather
than improvising them here.

---

## Self-Check Before Returning a Policy

- Does **every** graded task have an explicit tier, with unstated tasks defaulted
  to Prohibited (not "responsible use")?
- Does every Restricted/Permitted task carry a disclosure clause **and** a
  concrete citation template (not "cite appropriately")?
- Is the integrity-code reference real (user-supplied) or a clearly-marked
  placeholder — never an invented regulation name?
- Did you avoid asserting that a specific tool is accurate, compliant, or
  accessible unless the user gave you that fact?
- Did `policy_lint.py` pass (no `error` findings)?

---

## References

- `references/tier_framework.md` — the prohibit/restrict/permit decision tree,
  per-assessment-type guidance, worked examples, and the verbatim Cornell
  faculty-committee tier definitions this models.
- `references/disclosure_and_citation.md` — APA 7, MLA 9, and Chicago AI-citation
  templates (verbatim), plus a student AI-use declaration block.
- `references/integrity_accessibility.md` — integrity-binding wording,
  accessibility/equity checklist, and the detector-as-evidence caution.

### Sources (verified)

- Cornell University, *Report of the Committee on Generative Artificial
  Intelligence in Education* — prohibit / allow-with-attribution / encourage
  course-policy framework. teaching.cornell.edu.
- APA Style, *How to cite ChatGPT* — `OpenAI. (2023). ChatGPT (… version) [Large
  language model]. https://chat.openai.com/chat`. apastyle.apa.org.
- MLA Style Center, *How do I cite generative AI in MLA style?* — tool-as-container
  Works Cited template; do not treat the tool as author. style.mla.org.

Part of the AlterLab Academic Skills suite.

More from AlterLab-IEU/AlterLab-Academic-Skills

SkillDescription
alterlab-abm-mesaBuilds agent-based models of social systems with Mesa 3 — the current AgentSet API (model.agents.shuffle_do('step'), auto-assigned unique_id, mandatory super().__init__(seed=...)), cell spaces (mesa.discrete_space OrthogonalMooreGrid / classic mesa.space grids), the DataCollector, batch_run parameter sweeps, and SolaraViz — for emergence, segregation, diffusion, opinion dynamics, and cooperation models. It uses the Mesa 3.x API (the old mesa.time schedulers like RandomActivation are removed) and treats the model as a generative theory to be validated, not just run. Use when the request mentions an agent-based model, Mesa, simulating interacting agents, or emergent macro behavior from micro rules. For discrete-event (queueing/process) simulation prefer alterlab-simpy; for reinforcement learning prefer alterlab-stable-baselines3. Part of the AlterLab Academic Skills suite.
alterlab-academic-careerPrepares academic career documents and professional-development materials for faculty and researchers. Use when drafting academic CVs, research statements, teaching philosophies, diversity statements, faculty-position cover letters, tenure dossiers, promotion narratives, academic portfolios, or mentorship statements, and when planning conference-networking strategy, building academic web presence, setting up ORCID profiles, or understanding impact metrics. Part of the AlterLab Academic Skills suite.
alterlab-accreditation-aolScaffolds program-level Assurance-of-Learning (AoL) documentation for AACSB (2020 Standard 5) and ABET (Criterion 3 Student Outcomes, Criterion 4 Continuous Improvement) accreditation — program learning outcomes / competency goals, curriculum-to-outcome mapping matrices, direct- and indirect-assessment plans, rubric design, and closing-the-loop continuous-improvement narratives — and validates the structure of an outcome-mapping matrix with scripts/aol_matrix.py. Use when the user needs AACSB or ABET assurance-of-learning material, a program-learning-outcomes set, a curriculum/outcome map or coverage matrix, a direct/indirect assessment plan, a closing-the-loop report, or accreditation self-study text. For single-course design or course rubrics prefer alterlab-teaching-design; for post-award grant reports prefer alterlab-grant-reporting. Part of the AlterLab Academic Skills suite.
alterlab-adaptyvSubmits and tracks protein-testing experiments on the Adaptyv Bio Foundry cloud lab (wet-lab validation), and optimizes protein sequences before submission with computational tools (NetSolP, SoluProt, SolubleMPNN, ESM). Use when designing proteins that need wet-lab validation - binding/affinity screening, expression testing, thermostability, or fluorescence assays - or when submitting experiments to the Foundry API, browsing the target catalog, tracking experiment status, retrieving results, or pre-screening sequences for solubility/expression. Triggers on "Adaptyv", "Foundry API", "cloud lab", "biolayer interferometry / BLI", "wet-lab validation". Part of the AlterLab Academic Skills suite.
alterlab-aeonRuns time series machine learning with the aeon library — classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search via scikit-learn compatible APIs. Use when working with temporal data, sequential patterns, or time-indexed observations (univariate or multivariate) that need specialized algorithms beyond standard ML approaches. Part of the AlterLab Academic Skills suite.
alterlab-akademik-tesvikComputes the annual Turkish academic-incentive (akademik teşvik) score for Devlet (state) university öğretim elemanı (academic staff) from a classified activity list, applying the verified Akademik Teşvik Ödeneği Yönetmeliği (2018/11834) Faaliyet Hesaplama Tablosu headline puanları (Proje 20, Araştırma 15, Yayın 30, Patent 30, Atıf 30, Tebliğ 20, Ödül 20) with the k (author-count), p (Q1 1/Q2 0.8/Q3 0.5/Q4 0.25), and r (project-role) coefficients via türü puanı = Σ(faaliyet oranları) × headline (MADDE 8/2), then enforcing the per-type headline ceilings, the 100 cap (MADDE 8/3), and the net-30 payment gate (MADDE 10/3) in a deterministic scripts/tesvik_score.py. Use when the user wants to calculate akademik teşvik puanı, check the en az 30 (net-30) threshold, apply TABLO 4 ceilings, or estimate teşvik eligibility; keeps its coefficients separate from doçentlik scoring. For doçentlik point eligibility prefer alterlab-docentlik-eligibility. Part of the AlterLab Academic Skills suite.
alterlab-alpha-vantageAccesses real-time and historical stock market data, forex rates, cryptocurrency prices, commodities, economic indicators, and 50+ technical indicators via the Alpha Vantage API (requires a free API key from alphavantage.co). Use when fetching stock prices (OHLCV), company fundamentals (income statement, balance sheet, cash flow), earnings, options data, market news/sentiment, insider transactions, GDP, CPI, treasury yields, gold/silver/oil prices, Bitcoin/crypto prices, forex exchange rates, or calculating technical indicators (SMA, EMA, MACD, RSI, Bollinger Bands). Part of the AlterLab Academic Skills suite.
alterlab-alphafoldPredict protein 3D structures with AlphaFold2 via ColabFold — MMseqs2-accelerated MSAs, monomer and AlphaFold2-Multimer complex folding, and confidence-based validation (pLDDT, pTM/ipTM, PAE). Use when folding a protein sequence or complex from FASTA, generating a predicted structure with confidence metrics, ranking models, or checking self-consistency of a design. For co-folding a protein WITH a small-molecule ligand or predicting binding affinity prefer alterlab-boltz; for antibody–antigen or one-FASTA multi-entity complexes prefer alterlab-chai; to LOOK UP an already-computed structure prefer alterlab-alphafold-db; for ESM embeddings or inverse folding prefer alterlab-esm. Part of the AlterLab Academic Skills suite.
alterlab-alphafold-dbAccess the AlphaFold DB of 200M+ AI-PREDICTED protein structures — retrieve models by UniProt accession, download PDB/mmCIF files, and analyze prediction confidence metrics (pLDDT, PAE). Use when a UniProt ID needs a computationally predicted 3D structure or when no experimental structure exists, for homology modeling, protein engineering, or structure-based drug discovery; for EXPERIMENTALLY determined structures (X-ray, cryo-EM, NMR) prefer alterlab-pdb, and for protein sequences, annotations, or accession ID mapping prefer alterlab-uniprot instead. Part of the AlterLab Academic Skills suite.
alterlab-anndataBuild, slice, concatenate, read, and write AnnData annotated data matrices (obs, var, X, layers, obsm, uns) — the scverse data STRUCTURE, not an analysis pipeline. Use when creating or wrangling .h5ad/zarr files, managing cell and gene annotations, concatenating batches, or handling layers/obsm/backed-mode; for the QC, normalization, clustering, UMAP, and differential-expression analysis pipeline prefer alterlab-scanpy instead, and for RNA velocity from spliced/unspliced layers prefer alterlab-scvelo instead. Part of the AlterLab Academic Skills suite.