agentic-team-templates 0.14.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/index.js +76 -11
- package/src/index.test.js +91 -1
- package/templates/educator/.cursorrules/accessibility.md +266 -0
- package/templates/educator/.cursorrules/assessment.md +215 -0
- package/templates/educator/.cursorrules/curriculum.md +286 -0
- package/templates/educator/.cursorrules/engagement.md +243 -0
- package/templates/educator/.cursorrules/instructional-design.md +235 -0
- package/templates/educator/.cursorrules/overview.md +91 -0
- package/templates/educator/.cursorrules/retention.md +235 -0
- package/templates/educator/CLAUDE.md +338 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentic-team-templates",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "AI coding assistant templates for Cursor IDE. Pre-configured rules and guidelines that help AI assistants write better code. - use at your own risk",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cursor",
|
package/src/index.js
CHANGED
|
@@ -48,6 +48,10 @@ const TEMPLATES = {
|
|
|
48
48
|
description: 'Technical documentation standards (READMEs, API docs, ADRs, code comments)',
|
|
49
49
|
rules: ['adr.md', 'api-documentation.md', 'code-comments.md', 'maintenance.md', 'overview.md', 'readme-standards.md']
|
|
50
50
|
},
|
|
51
|
+
'educator': {
|
|
52
|
+
description: 'World-class pedagogy with evidence-based teaching, learning retention, gamification, and assessment design',
|
|
53
|
+
rules: ['accessibility.md', 'assessment.md', 'curriculum.md', 'engagement.md', 'instructional-design.md', 'overview.md', 'retention.md']
|
|
54
|
+
},
|
|
51
55
|
'fullstack': {
|
|
52
56
|
description: 'Full-stack web applications (Next.js, Nuxt, SvelteKit, Remix)',
|
|
53
57
|
rules: ['api-contracts.md', 'architecture.md', 'overview.md', 'shared-types.md', 'testing.md']
|
|
@@ -118,6 +122,38 @@ const TEMPLATES = {
|
|
|
118
122
|
}
|
|
119
123
|
};
|
|
120
124
|
|
|
125
|
+
// Shorthand aliases for language expert templates
|
|
126
|
+
const TEMPLATE_ALIASES = {
|
|
127
|
+
'js': 'javascript-expert',
|
|
128
|
+
'javascript': 'javascript-expert',
|
|
129
|
+
'ts': 'javascript-expert',
|
|
130
|
+
'typescript': 'javascript-expert',
|
|
131
|
+
'go': 'golang-expert',
|
|
132
|
+
'golang': 'golang-expert',
|
|
133
|
+
'py': 'python-expert',
|
|
134
|
+
'python': 'python-expert',
|
|
135
|
+
'rs': 'rust-expert',
|
|
136
|
+
'rust': 'rust-expert',
|
|
137
|
+
'swift': 'swift-expert',
|
|
138
|
+
'kotlin': 'kotlin-expert',
|
|
139
|
+
'kt': 'kotlin-expert',
|
|
140
|
+
'java': 'java-expert',
|
|
141
|
+
'cpp': 'cpp-expert',
|
|
142
|
+
'csharp': 'csharp-expert',
|
|
143
|
+
'cs': 'csharp-expert',
|
|
144
|
+
'teach': 'educator',
|
|
145
|
+
'teacher': 'educator',
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Resolve a template alias to its canonical name
|
|
150
|
+
* @param {string} name - Template name or alias
|
|
151
|
+
* @returns {string} Canonical template name
|
|
152
|
+
*/
|
|
153
|
+
function resolveTemplateAlias(name) {
|
|
154
|
+
return TEMPLATE_ALIASES[name] || name;
|
|
155
|
+
}
|
|
156
|
+
|
|
121
157
|
const SHARED_RULES = [
|
|
122
158
|
'code-quality.md',
|
|
123
159
|
'communication.md',
|
|
@@ -215,7 +251,20 @@ ${colors.yellow('IDE Targets:')}
|
|
|
215
251
|
claude CLAUDE.md file (Claude Code, Cursor with Claude)
|
|
216
252
|
codex .github/copilot-instructions.md (GitHub Copilot)
|
|
217
253
|
|
|
254
|
+
${colors.yellow('Shorthand Aliases:')}
|
|
255
|
+
js, ts, javascript, typescript → javascript-expert
|
|
256
|
+
go, golang → golang-expert
|
|
257
|
+
py, python → python-expert
|
|
258
|
+
rs, rust → rust-expert
|
|
259
|
+
swift → swift-expert
|
|
260
|
+
kotlin, kt → kotlin-expert
|
|
261
|
+
java → java-expert
|
|
262
|
+
cpp → cpp-expert
|
|
263
|
+
csharp, cs → csharp-expert
|
|
264
|
+
teach, teacher → educator
|
|
265
|
+
|
|
218
266
|
${colors.yellow('Examples:')}
|
|
267
|
+
npx cursor-templates js
|
|
219
268
|
npx cursor-templates web-frontend
|
|
220
269
|
npx cursor-templates web-frontend --ide=cursor
|
|
221
270
|
npx cursor-templates web-frontend --ide=claude --ide=codex
|
|
@@ -237,13 +286,24 @@ ${colors.dim('CLAUDE.md: missing sections are intelligently merged (not overwrit
|
|
|
237
286
|
}
|
|
238
287
|
|
|
239
288
|
function printTemplates() {
|
|
289
|
+
// Build reverse map: canonical name -> list of aliases
|
|
290
|
+
const aliasesByTemplate = {};
|
|
291
|
+
for (const [alias, canonical] of Object.entries(TEMPLATE_ALIASES)) {
|
|
292
|
+
if (!aliasesByTemplate[canonical]) {
|
|
293
|
+
aliasesByTemplate[canonical] = [];
|
|
294
|
+
}
|
|
295
|
+
aliasesByTemplate[canonical].push(alias);
|
|
296
|
+
}
|
|
297
|
+
|
|
240
298
|
console.log(colors.yellow('Available Templates:\n'));
|
|
241
|
-
|
|
299
|
+
|
|
242
300
|
for (const [name, info] of Object.entries(TEMPLATES)) {
|
|
243
|
-
|
|
301
|
+
const aliases = aliasesByTemplate[name];
|
|
302
|
+
const aliasSuffix = aliases ? ` ${colors.dim(`(aliases: ${aliases.join(', ')})`)}` : '';
|
|
303
|
+
console.log(` ${colors.green(name)}${aliasSuffix}`);
|
|
244
304
|
console.log(` ${info.description}\n`);
|
|
245
305
|
}
|
|
246
|
-
|
|
306
|
+
|
|
247
307
|
console.log(colors.blue('Shared rules (always included):'));
|
|
248
308
|
for (const rule of SHARED_RULES) {
|
|
249
309
|
console.log(` - ${rule.replace('.md', '')}`);
|
|
@@ -1378,10 +1438,13 @@ export async function run(args) {
|
|
|
1378
1438
|
}
|
|
1379
1439
|
|
|
1380
1440
|
printBanner();
|
|
1381
|
-
|
|
1441
|
+
|
|
1382
1442
|
// Check for updates (non-blocking, fails silently)
|
|
1383
1443
|
await checkForUpdates();
|
|
1384
1444
|
|
|
1445
|
+
// Resolve template aliases to canonical names
|
|
1446
|
+
const resolvedTemplates = templates.map(resolveTemplateAlias);
|
|
1447
|
+
|
|
1385
1448
|
// Use default IDEs if none specified
|
|
1386
1449
|
const targetIdes = ides.length > 0 ? ides : DEFAULT_IDES;
|
|
1387
1450
|
|
|
@@ -1391,7 +1454,7 @@ export async function run(args) {
|
|
|
1391
1454
|
console.error(colors.red('Error: Cannot use --remove and --reset together\n'));
|
|
1392
1455
|
process.exit(1);
|
|
1393
1456
|
}
|
|
1394
|
-
if (
|
|
1457
|
+
if (resolvedTemplates.length > 0) {
|
|
1395
1458
|
console.error(colors.red('Error: --reset does not accept template arguments\n'));
|
|
1396
1459
|
console.error(colors.dim('Use --remove <templates...> to remove specific templates.\n'));
|
|
1397
1460
|
process.exit(1);
|
|
@@ -1410,14 +1473,14 @@ export async function run(args) {
|
|
|
1410
1473
|
|
|
1411
1474
|
// Handle remove mode
|
|
1412
1475
|
if (removeMode) {
|
|
1413
|
-
if (
|
|
1476
|
+
if (resolvedTemplates.length === 0) {
|
|
1414
1477
|
console.error(colors.red('Error: No templates specified for removal\n'));
|
|
1415
1478
|
console.error(colors.dim('Usage: npx cursor-templates --remove <templates...>\n'));
|
|
1416
1479
|
printTemplates();
|
|
1417
1480
|
process.exit(1);
|
|
1418
1481
|
}
|
|
1419
1482
|
|
|
1420
|
-
for (const template of
|
|
1483
|
+
for (const template of resolvedTemplates) {
|
|
1421
1484
|
if (!TEMPLATES[template]) {
|
|
1422
1485
|
console.error(colors.red(`Error: Unknown template '${template}'\n`));
|
|
1423
1486
|
printTemplates();
|
|
@@ -1432,18 +1495,18 @@ export async function run(args) {
|
|
|
1432
1495
|
console.log(colors.yellow('FORCE MODE - Modified files will be removed\n'));
|
|
1433
1496
|
}
|
|
1434
1497
|
|
|
1435
|
-
await remove(process.cwd(),
|
|
1498
|
+
await remove(process.cwd(), resolvedTemplates, dryRun, force, skipConfirm, targetIdes);
|
|
1436
1499
|
return;
|
|
1437
1500
|
}
|
|
1438
1501
|
|
|
1439
1502
|
// Install mode (default)
|
|
1440
|
-
if (
|
|
1503
|
+
if (resolvedTemplates.length === 0) {
|
|
1441
1504
|
console.error(colors.red('Error: No templates specified\n'));
|
|
1442
1505
|
printHelp();
|
|
1443
1506
|
process.exit(1);
|
|
1444
1507
|
}
|
|
1445
1508
|
|
|
1446
|
-
for (const template of
|
|
1509
|
+
for (const template of resolvedTemplates) {
|
|
1447
1510
|
if (!TEMPLATES[template]) {
|
|
1448
1511
|
console.error(colors.red(`Error: Unknown template '${template}'\n`));
|
|
1449
1512
|
printTemplates();
|
|
@@ -1460,7 +1523,7 @@ export async function run(args) {
|
|
|
1460
1523
|
}
|
|
1461
1524
|
|
|
1462
1525
|
// Install to current directory
|
|
1463
|
-
install(process.cwd(),
|
|
1526
|
+
install(process.cwd(), resolvedTemplates, dryRun, force, targetIdes);
|
|
1464
1527
|
}
|
|
1465
1528
|
|
|
1466
1529
|
// Export internals for testing
|
|
@@ -1470,11 +1533,13 @@ export const _internals = {
|
|
|
1470
1533
|
REPO_URL,
|
|
1471
1534
|
CHANGELOG_URL,
|
|
1472
1535
|
TEMPLATES,
|
|
1536
|
+
TEMPLATE_ALIASES,
|
|
1473
1537
|
SHARED_RULES,
|
|
1474
1538
|
SUPPORTED_IDES,
|
|
1475
1539
|
DEFAULT_IDES,
|
|
1476
1540
|
compareVersions,
|
|
1477
1541
|
checkForUpdates,
|
|
1542
|
+
resolveTemplateAlias,
|
|
1478
1543
|
filesMatch,
|
|
1479
1544
|
parseMarkdownSections,
|
|
1480
1545
|
generateSectionSignature,
|
package/src/index.test.js
CHANGED
|
@@ -8,10 +8,12 @@ const {
|
|
|
8
8
|
PACKAGE_NAME,
|
|
9
9
|
CURRENT_VERSION,
|
|
10
10
|
TEMPLATES,
|
|
11
|
+
TEMPLATE_ALIASES,
|
|
11
12
|
SHARED_RULES,
|
|
12
13
|
SUPPORTED_IDES,
|
|
13
14
|
DEFAULT_IDES,
|
|
14
15
|
compareVersions,
|
|
16
|
+
resolveTemplateAlias,
|
|
15
17
|
filesMatch,
|
|
16
18
|
parseMarkdownSections,
|
|
17
19
|
generateSectionSignature,
|
|
@@ -80,6 +82,7 @@ describe('Constants', () => {
|
|
|
80
82
|
'data-engineering',
|
|
81
83
|
'devops-sre',
|
|
82
84
|
'documentation',
|
|
85
|
+
'educator',
|
|
83
86
|
'fullstack',
|
|
84
87
|
'golang-expert',
|
|
85
88
|
'java-expert',
|
|
@@ -150,6 +153,50 @@ describe('Constants', () => {
|
|
|
150
153
|
expect(DEFAULT_IDES).toEqual(SUPPORTED_IDES);
|
|
151
154
|
});
|
|
152
155
|
});
|
|
156
|
+
|
|
157
|
+
describe('TEMPLATE_ALIASES', () => {
|
|
158
|
+
it('all alias values should be valid TEMPLATES keys', () => {
|
|
159
|
+
for (const [alias, canonical] of Object.entries(TEMPLATE_ALIASES)) {
|
|
160
|
+
expect(TEMPLATES).toHaveProperty(canonical,
|
|
161
|
+
expect.anything(),
|
|
162
|
+
);
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
it('should include expected shorthand aliases', () => {
|
|
167
|
+
expect(TEMPLATE_ALIASES['js']).toBe('javascript-expert');
|
|
168
|
+
expect(TEMPLATE_ALIASES['ts']).toBe('javascript-expert');
|
|
169
|
+
expect(TEMPLATE_ALIASES['go']).toBe('golang-expert');
|
|
170
|
+
expect(TEMPLATE_ALIASES['py']).toBe('python-expert');
|
|
171
|
+
expect(TEMPLATE_ALIASES['rs']).toBe('rust-expert');
|
|
172
|
+
expect(TEMPLATE_ALIASES['kt']).toBe('kotlin-expert');
|
|
173
|
+
});
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
describe('resolveTemplateAlias', () => {
|
|
177
|
+
it('should resolve known aliases to canonical names', () => {
|
|
178
|
+
expect(resolveTemplateAlias('js')).toBe('javascript-expert');
|
|
179
|
+
expect(resolveTemplateAlias('typescript')).toBe('javascript-expert');
|
|
180
|
+
expect(resolveTemplateAlias('go')).toBe('golang-expert');
|
|
181
|
+
expect(resolveTemplateAlias('golang')).toBe('golang-expert');
|
|
182
|
+
expect(resolveTemplateAlias('py')).toBe('python-expert');
|
|
183
|
+
expect(resolveTemplateAlias('rs')).toBe('rust-expert');
|
|
184
|
+
expect(resolveTemplateAlias('kotlin')).toBe('kotlin-expert');
|
|
185
|
+
expect(resolveTemplateAlias('kt')).toBe('kotlin-expert');
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
it('should pass through unknown names unchanged', () => {
|
|
189
|
+
expect(resolveTemplateAlias('web-frontend')).toBe('web-frontend');
|
|
190
|
+
expect(resolveTemplateAlias('blockchain')).toBe('blockchain');
|
|
191
|
+
expect(resolveTemplateAlias('nonexistent')).toBe('nonexistent');
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
it('should pass through canonical template names unchanged', () => {
|
|
195
|
+
expect(resolveTemplateAlias('javascript-expert')).toBe('javascript-expert');
|
|
196
|
+
expect(resolveTemplateAlias('golang-expert')).toBe('golang-expert');
|
|
197
|
+
expect(resolveTemplateAlias('python-expert')).toBe('python-expert');
|
|
198
|
+
});
|
|
199
|
+
});
|
|
153
200
|
});
|
|
154
201
|
|
|
155
202
|
// ============================================================================
|
|
@@ -1019,7 +1066,50 @@ describe('CLI Argument Parsing', () => {
|
|
|
1019
1066
|
it('should accept -y shorthand for yes', async () => {
|
|
1020
1067
|
await run(['web-frontend']);
|
|
1021
1068
|
await run(['--reset', '-y']);
|
|
1022
|
-
|
|
1069
|
+
|
|
1070
|
+
expect(exitSpy).not.toHaveBeenCalled();
|
|
1071
|
+
});
|
|
1072
|
+
|
|
1073
|
+
it('should resolve shorthand alias "js" to javascript-expert', async () => {
|
|
1074
|
+
await run(['js', '--dry-run']);
|
|
1075
|
+
|
|
1076
|
+
expect(exitSpy).not.toHaveBeenCalled();
|
|
1077
|
+
});
|
|
1078
|
+
|
|
1079
|
+
it('should resolve shorthand alias "go" to golang-expert', async () => {
|
|
1080
|
+
await run(['go', '--dry-run']);
|
|
1081
|
+
|
|
1082
|
+
expect(exitSpy).not.toHaveBeenCalled();
|
|
1083
|
+
});
|
|
1084
|
+
|
|
1085
|
+
it('should resolve shorthand alias "py" to python-expert', async () => {
|
|
1086
|
+
await run(['py', '--dry-run']);
|
|
1087
|
+
|
|
1088
|
+
expect(exitSpy).not.toHaveBeenCalled();
|
|
1089
|
+
});
|
|
1090
|
+
|
|
1091
|
+
it('should resolve shorthand alias "rs" to rust-expert', async () => {
|
|
1092
|
+
await run(['rs', '--dry-run']);
|
|
1093
|
+
|
|
1094
|
+
expect(exitSpy).not.toHaveBeenCalled();
|
|
1095
|
+
});
|
|
1096
|
+
|
|
1097
|
+
it('should resolve shorthand alias "kt" to kotlin-expert', async () => {
|
|
1098
|
+
await run(['kt', '--dry-run']);
|
|
1099
|
+
|
|
1100
|
+
expect(exitSpy).not.toHaveBeenCalled();
|
|
1101
|
+
});
|
|
1102
|
+
|
|
1103
|
+
it('should resolve aliases in --remove mode', async () => {
|
|
1104
|
+
await run(['go']);
|
|
1105
|
+
await run(['--remove', 'go', '--yes']);
|
|
1106
|
+
|
|
1107
|
+
expect(exitSpy).not.toHaveBeenCalled();
|
|
1108
|
+
});
|
|
1109
|
+
|
|
1110
|
+
it('should still accept canonical template names', async () => {
|
|
1111
|
+
await run(['javascript-expert', '--dry-run']);
|
|
1112
|
+
|
|
1023
1113
|
expect(exitSpy).not.toHaveBeenCalled();
|
|
1024
1114
|
});
|
|
1025
1115
|
});
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
# Accessibility and Inclusive Education
|
|
2
|
+
|
|
3
|
+
Universal Design for Learning and evidence-based practices for reaching every learner.
|
|
4
|
+
|
|
5
|
+
## Universal Design for Learning (CAST)
|
|
6
|
+
|
|
7
|
+
### Three UDL Principles
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
UDL Framework
|
|
11
|
+
├── Principle I: Multiple Means of REPRESENTATION (the "what" of learning)
|
|
12
|
+
│ ├── Provide options for perception
|
|
13
|
+
│ ├── Provide options for language and symbols
|
|
14
|
+
│ └── Provide options for comprehension
|
|
15
|
+
│
|
|
16
|
+
├── Principle II: Multiple Means of ACTION & EXPRESSION (the "how" of learning)
|
|
17
|
+
│ ├── Provide options for physical action
|
|
18
|
+
│ ├── Provide options for expression and communication
|
|
19
|
+
│ └── Provide options for executive functions
|
|
20
|
+
│
|
|
21
|
+
└── Principle III: Multiple Means of ENGAGEMENT (the "why" of learning)
|
|
22
|
+
├── Provide options for recruiting interest
|
|
23
|
+
├── Provide options for sustaining effort and persistence
|
|
24
|
+
└── Provide options for self-regulation
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### UDL Implementation Guide
|
|
28
|
+
|
|
29
|
+
| Principle | Guideline | Practical Example |
|
|
30
|
+
|-----------|-----------|-------------------|
|
|
31
|
+
| Representation | Offer alternatives for visual info | Provide text descriptions for images, transcripts for videos |
|
|
32
|
+
| Representation | Clarify vocabulary and symbols | Define key terms, provide glossaries, use consistent notation |
|
|
33
|
+
| Representation | Activate prior knowledge | Start lessons with connections to what learners already know |
|
|
34
|
+
| Action & Expression | Vary methods for response | Allow written, verbal, visual, or multimedia submissions |
|
|
35
|
+
| Action & Expression | Support planning and strategy | Provide checklists, graphic organizers, project timelines |
|
|
36
|
+
| Action & Expression | Facilitate managing information | Offer templates, note-taking guides, categorization tools |
|
|
37
|
+
| Engagement | Optimize individual choice | Let learners choose topics, tools, or assessment formats |
|
|
38
|
+
| Engagement | Foster collaboration | Structured group work with clear roles and accountability |
|
|
39
|
+
| Engagement | Develop self-assessment | Teach learners to use rubrics to evaluate their own work |
|
|
40
|
+
|
|
41
|
+
### UDL Checkpoint: Lesson Review
|
|
42
|
+
|
|
43
|
+
```markdown
|
|
44
|
+
Before delivering a lesson, check:
|
|
45
|
+
|
|
46
|
+
Representation:
|
|
47
|
+
- [ ] Content is available in at least 2 formats (text + visual, audio + text)
|
|
48
|
+
- [ ] Key vocabulary is explicitly defined
|
|
49
|
+
- [ ] Background knowledge is activated
|
|
50
|
+
|
|
51
|
+
Action & Expression:
|
|
52
|
+
- [ ] Learners have more than one way to demonstrate understanding
|
|
53
|
+
- [ ] Scaffolds are available (templates, graphic organizers, exemplars)
|
|
54
|
+
- [ ] Technology options are flexible and accessible
|
|
55
|
+
|
|
56
|
+
Engagement:
|
|
57
|
+
- [ ] Learners have meaningful choices
|
|
58
|
+
- [ ] Goals are clear and relevant to learners
|
|
59
|
+
- [ ] Collaboration is structured with clear expectations
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Differentiated Instruction
|
|
63
|
+
|
|
64
|
+
### Differentiation Model (Tomlinson)
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
Differentiate by:
|
|
68
|
+
├── Content: WHAT learners study
|
|
69
|
+
│ └── Same concept, different complexity or resources
|
|
70
|
+
├── Process: HOW learners make sense of it
|
|
71
|
+
│ └── Same goal, different activities or scaffolding
|
|
72
|
+
├── Product: HOW learners demonstrate learning
|
|
73
|
+
│ └── Same objectives, different output formats
|
|
74
|
+
└── Environment: WHERE and WITH WHOM learners work
|
|
75
|
+
└── Same classroom, different grouping and settings
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Differentiation Strategies
|
|
79
|
+
|
|
80
|
+
| Strategy | Description | Example |
|
|
81
|
+
|----------|-------------|---------|
|
|
82
|
+
| Tiered assignments | Same objective, varying complexity | All students analyze a text; Tier 1 guided questions, Tier 2 open analysis, Tier 3 comparative analysis |
|
|
83
|
+
| Flexible grouping | Group by readiness, interest, or learning preference | Readiness groups for skill practice; mixed groups for projects |
|
|
84
|
+
| Learning menus | Choice board of activities aligned to objectives | "Choose 3 from this menu to demonstrate your understanding" |
|
|
85
|
+
| Anchor activities | Meaningful work for early finishers | Extension problems, enrichment readings, peer tutoring |
|
|
86
|
+
| Compacting | Pre-test to skip mastered content | Students who demonstrate mastery work on extension projects |
|
|
87
|
+
|
|
88
|
+
### Tiered Assignment Template
|
|
89
|
+
|
|
90
|
+
```markdown
|
|
91
|
+
Objective: [Same for all tiers]
|
|
92
|
+
|
|
93
|
+
Tier 1 (Approaching):
|
|
94
|
+
- Scaffolded task with guided steps
|
|
95
|
+
- Graphic organizer provided
|
|
96
|
+
- Worked example available for reference
|
|
97
|
+
|
|
98
|
+
Tier 2 (Meeting):
|
|
99
|
+
- Standard task with minimal scaffolding
|
|
100
|
+
- Choice of graphic organizer (optional)
|
|
101
|
+
- Peer collaboration encouraged
|
|
102
|
+
|
|
103
|
+
Tier 3 (Exceeding):
|
|
104
|
+
- Extended task requiring transfer to new context
|
|
105
|
+
- Open-ended approach
|
|
106
|
+
- Independent or mentoring others
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Learning Styles: The Myth
|
|
110
|
+
|
|
111
|
+
### What the Research Says
|
|
112
|
+
|
|
113
|
+
```markdown
|
|
114
|
+
IMPORTANT: The "learning styles" model (visual, auditory, kinesthetic)
|
|
115
|
+
is NOT supported by research evidence.
|
|
116
|
+
|
|
117
|
+
The "meshing hypothesis" — that matching instruction to preferred
|
|
118
|
+
learning style improves outcomes — has been tested repeatedly
|
|
119
|
+
and consistently fails to show benefits.
|
|
120
|
+
|
|
121
|
+
Key studies:
|
|
122
|
+
- Pashler et al. (2008): Comprehensive review found no credible evidence
|
|
123
|
+
- Rogowsky et al. (2015): No interaction between style and instruction format
|
|
124
|
+
- Husmann & O'Loughlin (2019): Students didn't even study in their "preferred" style
|
|
125
|
+
|
|
126
|
+
What DOES work:
|
|
127
|
+
- Multiple representations of content (UDL) — benefits ALL learners
|
|
128
|
+
- Matching modality to CONTENT type (diagrams for spatial, text for verbal)
|
|
129
|
+
- Active learning strategies regardless of supposed "style"
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### What to Do Instead
|
|
133
|
+
|
|
134
|
+
```markdown
|
|
135
|
+
❌ "This student is a visual learner, so only use diagrams"
|
|
136
|
+
✅ "All students benefit from multiple representations (UDL Principle I)"
|
|
137
|
+
|
|
138
|
+
❌ Assess students' learning styles and customize per student
|
|
139
|
+
✅ Provide content in multiple formats for everyone
|
|
140
|
+
|
|
141
|
+
The goal is not matching to preference; it is matching to content:
|
|
142
|
+
- Geography → maps (visual makes sense for the CONTENT)
|
|
143
|
+
- Music → audio (auditory makes sense for the CONTENT)
|
|
144
|
+
- Vocabulary → verbal definitions + visual examples (dual coding helps ALL)
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Inclusive Content Design
|
|
148
|
+
|
|
149
|
+
### Language and Representation
|
|
150
|
+
|
|
151
|
+
```markdown
|
|
152
|
+
Inclusive practices:
|
|
153
|
+
- Use diverse names, contexts, and scenarios in examples
|
|
154
|
+
- Avoid stereotypes in case studies and problem contexts
|
|
155
|
+
- Represent multiple cultures, backgrounds, and perspectives
|
|
156
|
+
- Use gender-inclusive language
|
|
157
|
+
- Present multiple viewpoints on complex topics
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Culturally Responsive Teaching
|
|
161
|
+
|
|
162
|
+
| Principle | Practice |
|
|
163
|
+
|-----------|----------|
|
|
164
|
+
| High expectations for all | Hold rigorous standards while providing support to meet them |
|
|
165
|
+
| Cultural competence | Learn about students' backgrounds; incorporate into instruction |
|
|
166
|
+
| Critical consciousness | Connect learning to real-world issues students care about |
|
|
167
|
+
| Student voice | Create space for students to share perspectives and experiences |
|
|
168
|
+
| Asset-based framing | Focus on what students bring, not what they lack |
|
|
169
|
+
|
|
170
|
+
### Accessible Materials Checklist
|
|
171
|
+
|
|
172
|
+
```markdown
|
|
173
|
+
Text:
|
|
174
|
+
- [ ] Sans-serif font, minimum 12pt (14pt preferred)
|
|
175
|
+
- [ ] High contrast (minimum 4.5:1 ratio)
|
|
176
|
+
- [ ] Left-aligned (not justified)
|
|
177
|
+
- [ ] 1.5 line spacing minimum
|
|
178
|
+
- [ ] Clear heading hierarchy (H1, H2, H3)
|
|
179
|
+
|
|
180
|
+
Images:
|
|
181
|
+
- [ ] Alt text for all meaningful images
|
|
182
|
+
- [ ] Decorative images marked as decorative
|
|
183
|
+
- [ ] No information conveyed by color alone
|
|
184
|
+
|
|
185
|
+
Video:
|
|
186
|
+
- [ ] Captions for all spoken content
|
|
187
|
+
- [ ] Audio descriptions for visual-only content
|
|
188
|
+
- [ ] Transcript available
|
|
189
|
+
|
|
190
|
+
Documents:
|
|
191
|
+
- [ ] Proper heading structure (not just bold/large text)
|
|
192
|
+
- [ ] Tables have header rows
|
|
193
|
+
- [ ] Links have descriptive text (not "click here")
|
|
194
|
+
- [ ] Reading order is logical for screen readers
|
|
195
|
+
|
|
196
|
+
Assessment:
|
|
197
|
+
- [ ] Extended time available when appropriate
|
|
198
|
+
- [ ] Alternative formats offered (oral, written, visual)
|
|
199
|
+
- [ ] Instructions are clear and unambiguous
|
|
200
|
+
- [ ] Examples are provided for unfamiliar formats
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## Supporting Diverse Learners
|
|
204
|
+
|
|
205
|
+
### English Language Learners
|
|
206
|
+
|
|
207
|
+
| Strategy | Description |
|
|
208
|
+
|----------|-------------|
|
|
209
|
+
| Visual supports | Pair text with images, diagrams, and real objects |
|
|
210
|
+
| Sentence frames | Provide structured templates for academic language |
|
|
211
|
+
| Word walls | Display key vocabulary with definitions and visuals |
|
|
212
|
+
| Wait time | Allow extra processing time (7-10 seconds) |
|
|
213
|
+
| Preview/review | Introduce key concepts before, review after |
|
|
214
|
+
| Collaborative structures | Pair with bilingual peers for support |
|
|
215
|
+
|
|
216
|
+
### Learners with Disabilities
|
|
217
|
+
|
|
218
|
+
```markdown
|
|
219
|
+
Focus on BARRIERS, not deficits:
|
|
220
|
+
|
|
221
|
+
❌ "This student can't learn because of their disability"
|
|
222
|
+
✅ "What barriers in the learning environment can we remove?"
|
|
223
|
+
|
|
224
|
+
Universal design removes barriers proactively:
|
|
225
|
+
- Flexible materials (digital text that can be resized, read aloud)
|
|
226
|
+
- Multiple means of expression (don't require handwriting if typing works)
|
|
227
|
+
- Flexible timing (mastery matters more than speed)
|
|
228
|
+
- Accessible technology (screen readers, speech-to-text, magnification)
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### Gifted and Advanced Learners
|
|
232
|
+
|
|
233
|
+
| Strategy | Description |
|
|
234
|
+
|----------|-------------|
|
|
235
|
+
| Curriculum compacting | Pre-test and skip mastered content |
|
|
236
|
+
| Depth and complexity | Add layers of analysis, not just more work |
|
|
237
|
+
| Independent study | Self-directed projects on topics of interest |
|
|
238
|
+
| Mentorship | Connect with experts in areas of passion |
|
|
239
|
+
| Acceleration | Move faster through content when mastery is demonstrated |
|
|
240
|
+
|
|
241
|
+
```markdown
|
|
242
|
+
❌ "You finished early? Do 10 more problems" (busywork)
|
|
243
|
+
✅ "You've mastered this. Here's a challenge that extends the concept
|
|
244
|
+
to a new context" (depth, not volume)
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
## Trauma-Informed Practices
|
|
248
|
+
|
|
249
|
+
### Core Principles
|
|
250
|
+
|
|
251
|
+
```markdown
|
|
252
|
+
1. Safety: Create physically and emotionally safe spaces
|
|
253
|
+
2. Trustworthiness: Be consistent, transparent, and follow through
|
|
254
|
+
3. Choice: Offer control wherever possible
|
|
255
|
+
4. Collaboration: Work WITH students, not ON them
|
|
256
|
+
5. Empowerment: Build on strengths; foster resilience
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
### Classroom Strategies
|
|
260
|
+
|
|
261
|
+
- Establish predictable routines
|
|
262
|
+
- Provide advance notice of changes
|
|
263
|
+
- Offer quiet spaces for self-regulation
|
|
264
|
+
- Use calm, regulated tone
|
|
265
|
+
- Avoid public shaming or confrontation
|
|
266
|
+
- Build relationships before demanding compliance
|