DOJ-3829: Migrate 6 generic skills from dojo-academy (PR-B of DOJ-3709)#19
Conversation
Migrates the universal pedagogical skills (Bloom's, Kirkpatrick L1-L4,
Allen/SAM-aligned backward design, research methodology, slide-design
heuristics, teaching-context template) from dojo-academy/skills/ to IDT.
These six skills carry no Dojo voice — they encode methodology that any
course-authoring toolkit needs.
Two Dojo-specific skills (academy-philosophy, content-standards) remain
in dojo-academy and become overlay-protocol-compliant under DOJ-3710.
Files (10 total):
- skills/blooms-taxonomy/ (SKILL.md + references/verb-tables.md)
- skills/learning-evaluation/SKILL.md
- skills/research-methodology/ (SKILL.md + 3 resources)
- skills/ship-first-design/SKILL.md
- skills/slide-design/SKILL.md
- skills/teaching-context/SKILL.md
Migration follows the consumer-conventions pattern established in the
DOJ-3708/3828 chain: path conventions and brand tokens are framed as
"consumer-specific (e.g. dojo-academy uses X)", and cross-references
to migrated agents use ${CLAUDE_PLUGIN_ROOT}/agents/<name>.md per the
DOJ-3774 CI workflow contract. Cross-references to skills that remain
in dojo-academy (academy-philosophy, content-standards) are documented
as consumer-side overlay dependencies.
After this PR merges, DOJ-3709 parent chain is fully complete; DOJ-3710
(overlay conversion) and DOJ-3711 (cleanup in dojo-academy) are the
natural next moves.
DOJ-3774 CI workflow passes locally (frontmatter, agent references,
JSON schemas).
Created by Claude Code on behalf of @andres
Closes [DOJ-3829](https://linear.app/dojo-coding/issue/DOJ-3829)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
@greptileai review |
Greptile SummaryThis PR migrates 6 generic pedagogical skills \u2014 Two content correctness issues were found: Path to 5/5 Confidence
Confidence Score: 4/5Safe to merge after fixing the two content correctness issues; the rest of the migration is well-structured and follows established conventions. The research-template.md nested fence bug means every consumer who reads or renders that file gets a broken, unstructured template — the bottom two-thirds render as live Markdown rather than template code. The verb-table lookup gap for skills/research-methodology/resources/research-template.md (broken code fence) and skills/blooms-taxonomy/references/verb-tables.md (missing quick-lookup entry for
|
| Filename | Overview |
|---|---|
| skills/blooms-taxonomy/SKILL.md | New skill encoding Bloom's Taxonomy adapted for builder-first course design; well-structured with level details, progression tables, and validation checklists. No issues found. |
| skills/blooms-taxonomy/references/verb-tables.md | Action verb reference tables for all six Bloom's levels; the Quick Verb Lookup index is missing a launch (original) → Level 6 Ship entry despite launch appearing in both the Level 3 and Level 6 tables. |
| skills/learning-evaluation/SKILL.md | New skill encoding Kirkpatrick's 4-level evaluation model for online builder-first courses; complete with metrics, survey templates, and signal tables. No issues found. |
| skills/research-methodology/SKILL.md | New skill defining source quality hierarchy, research artifact standards, and framework extraction criteria. No issues found. |
| skills/research-methodology/resources/research-template.md | RESEARCH.md template with a nested triple-backtick fence inside the outer ```markdown block; the inner fence prematurely closes the outer block, causing ~80 lines to render outside the code block. |
| skills/research-methodology/resources/framework-extraction.md | Framework extraction methodology with 5-criterion test, type catalog, and 6-step extraction process. No issues found. |
| skills/research-methodology/resources/source-quality.md | Source quality tier system (S/A/B/C/D) with evaluation criteria and decision rules. No issues found. |
| skills/ship-first-design/SKILL.md | New skill encoding 3-stage backward design (Ship > Evidence > Content) with templates, checklists, and pitfall analysis. No issues found. |
| skills/slide-design/SKILL.md | Slide design system with 7 slide types and image generation workflow; Nano Banana Gemini extension is not framed as consumer-specific unlike every other dojo-academy artifact in this file. |
| skills/teaching-context/SKILL.md | New skill for generating per-course teaching-context.md files; template covers target student, anxieties, motivation, patience profile, AI positioning, and voice. No issues found. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Consumer invokes IDT skill] --> B{Skill type}
B --> C[blooms-taxonomy]
B --> D[learning-evaluation]
B --> E[research-methodology]
B --> F[ship-first-design]
B --> G[slide-design]
B --> H[teaching-context]
C --> C1[references/verb-tables.md]
E --> E1[resources/research-template.md]
E --> E2[resources/framework-extraction.md]
E --> E3[resources/source-quality.md]
F --> C
F --> D
C --> F
G --> G1[Consumer brand overlay]
H --> H1[Consumer course directory]
E1:::bug
C1:::bug
classDef bug fill:#f88,stroke:#c00,color:#000
Comments Outside Diff (1)
-
skills/slide-design/SKILL.md, line 1541-1584 (link)Nano Banana Gemini not framed as consumer-specific
The "Image Generation with Nano Banana Gemini" section treats the extension as if it is universally available, but it appears to be a dojo-academy-specific tool. The rest of the file correctly frames consumer-specific artifacts with "e.g. dojo-academy ships…" language. Consumers who don't have this extension will encounter a broken Option A workflow. Adding a framing note (e.g., "Consumer plugins may ship an image-generation extension — for example, dojo-academy ships Nano Banana Gemini") would align this section with the rest of the migration pattern.
Prompt To Fix With AI
This is a comment left during a code review. Path: skills/slide-design/SKILL.md Line: 1541-1584 Comment: **Nano Banana Gemini not framed as consumer-specific** The "Image Generation with Nano Banana Gemini" section treats the extension as if it is universally available, but it appears to be a dojo-academy-specific tool. The rest of the file correctly frames consumer-specific artifacts with "e.g. dojo-academy ships…" language. Consumers who don't have this extension will encounter a broken Option A workflow. Adding a framing note (e.g., "Consumer plugins may ship an image-generation extension — for example, dojo-academy ships Nano Banana Gemini") would align this section with the rest of the migration pattern. How can I resolve this? If you propose a fix, please make it concise.
Prompt To Fix All With AI
Fix the following 4 code review issues. Work through them one at a time, proposing concise fixes.
---
### Issue 1 of 4
skills/research-methodology/resources/research-template.md:5-24
The inner triple-backtick fence on line 22 terminates the outer ` ```markdown ` block prematurely. Most Markdown renderers will close the outer fence at the first unindented ` ``` `, so the `{ASCII diagram if applicable}` placeholder and everything after it (all 80+ remaining lines of the template) render outside the code block as live Markdown. The closing ` ``` ` on the final line then becomes an orphaned, unmatched fence. The fix is to use 4-backtick outer fences so inner 3-backtick fences are treated as literal content.
```suggestion
---
````markdown
# Research: {Topic Name}
> Researched on {YYYY-MM-DD}. Depth: {shallow|deep}. Sources: {N}.
## Summary
{2-3 sentences: what was researched, the most important finding, and what this means for course design.}
---
## Architecture
{How the technology/framework/platform works. Describe layers, components, and data flow. Use diagrams (ASCII) where helpful. This section answers "how does it work?" — not "what does it do?"}
```
{ASCII diagram if applicable}
```
```
### Issue 2 of 4
skills/research-methodology/resources/research-template.md:103-106
The closing fence of the outer ` ```markdown ` block also needs to be updated to 4 backticks to match the opening change above.
```suggestion
## Course Design Implications
{Based on this research, what should the course structure look like? Which topics are module-worthy? What's the natural learning progression? What can be skipped?}
````
```
### Issue 3 of 4
skills/blooms-taxonomy/references/verb-tables.md:190-192
The Quick Verb Lookup maps `launch` only to Level 3 - Build, but the Level 6 "Shipping" category table also lists `launch` as a Ship verb alongside `ship`, `deploy (original)`, `publish`, and `release`. The parallel verbs `deploy` and `create` are correctly disambiguated in the lookup via `(original)` qualifiers, but `launch` is missing its Level 6 entry. A course designer checking the lookup for `launch` will always be told it's Level 3, even when they mean "launch a product/SaaS publicly," which is a Ship-level act.
```suggestion
| label | 1 - Recognize |
| launch | 3 - Build |
| launch (original) | 6 - Ship |
| list | 1 - Recognize |
```
### Issue 4 of 4
skills/slide-design/SKILL.md:1541-1584
**Nano Banana Gemini not framed as consumer-specific**
The "Image Generation with Nano Banana Gemini" section treats the extension as if it is universally available, but it appears to be a dojo-academy-specific tool. The rest of the file correctly frames consumer-specific artifacts with "e.g. dojo-academy ships…" language. Consumers who don't have this extension will encounter a broken Option A workflow. Adding a framing note (e.g., "Consumer plugins may ship an image-generation extension — for example, dojo-academy ships Nano Banana Gemini") would align this section with the rest of the migration pattern.
Reviews (1): Last reviewed commit: "DOJ-3829: Migrate 6 generic skills from ..." | Re-trigger Greptile
| --- | ||
|
|
||
| ```markdown | ||
| # Research: {Topic Name} | ||
|
|
||
| > Researched on {YYYY-MM-DD}. Depth: {shallow|deep}. Sources: {N}. | ||
|
|
||
| ## Summary | ||
|
|
||
| {2-3 sentences: what was researched, the most important finding, and what this means for course design.} | ||
|
|
||
| --- | ||
|
|
||
| ## Architecture | ||
|
|
||
| {How the technology/framework/platform works. Describe layers, components, and data flow. Use diagrams (ASCII) where helpful. This section answers "how does it work?" — not "what does it do?"} | ||
|
|
||
| ``` | ||
| {ASCII diagram if applicable} | ||
| ``` |
There was a problem hiding this comment.
The inner triple-backtick fence on line 22 terminates the outer
```markdown block prematurely. Most Markdown renderers will close the outer fence at the first unindented ```, so the {ASCII diagram if applicable} placeholder and everything after it (all 80+ remaining lines of the template) render outside the code block as live Markdown. The closing ``` on the final line then becomes an orphaned, unmatched fence. The fix is to use 4-backtick outer fences so inner 3-backtick fences are treated as literal content.
| --- | |
| ```markdown | |
| # Research: {Topic Name} | |
| > Researched on {YYYY-MM-DD}. Depth: {shallow|deep}. Sources: {N}. | |
| ## Summary | |
| {2-3 sentences: what was researched, the most important finding, and what this means for course design.} | |
| --- | |
| ## Architecture | |
| {How the technology/framework/platform works. Describe layers, components, and data flow. Use diagrams (ASCII) where helpful. This section answers "how does it work?" — not "what does it do?"} | |
| ``` | |
| {ASCII diagram if applicable} | |
| ``` | |
| --- | |
| ````markdown | |
| # Research: {Topic Name} | |
| > Researched on {YYYY-MM-DD}. Depth: {shallow|deep}. Sources: {N}. | |
| ## Summary | |
| {2-3 sentences: what was researched, the most important finding, and what this means for course design.} | |
| --- | |
| ## Architecture | |
| {How the technology/framework/platform works. Describe layers, components, and data flow. Use diagrams (ASCII) where helpful. This section answers "how does it work?" — not "what does it do?"} | |
{ASCII diagram if applicable}
Prompt To Fix With AI
This is a comment left during a code review.
Path: skills/research-methodology/resources/research-template.md
Line: 5-24
Comment:
The inner triple-backtick fence on line 22 terminates the outer ` ```markdown ` block prematurely. Most Markdown renderers will close the outer fence at the first unindented ` ``` `, so the `{ASCII diagram if applicable}` placeholder and everything after it (all 80+ remaining lines of the template) render outside the code block as live Markdown. The closing ` ``` ` on the final line then becomes an orphaned, unmatched fence. The fix is to use 4-backtick outer fences so inner 3-backtick fences are treated as literal content.
```suggestion
---
````markdown
# Research: {Topic Name}
> Researched on {YYYY-MM-DD}. Depth: {shallow|deep}. Sources: {N}.
## Summary
{2-3 sentences: what was researched, the most important finding, and what this means for course design.}
---
## Architecture
{How the technology/framework/platform works. Describe layers, components, and data flow. Use diagrams (ASCII) where helpful. This section answers "how does it work?" — not "what does it do?"}
```
{ASCII diagram if applicable}
```
```
How can I resolve this? If you propose a fix, please make it concise.| ## Course Design Implications | ||
|
|
||
| {Based on this research, what should the course structure look like? Which topics are module-worthy? What's the natural learning progression? What can be skipped?} | ||
| ``` |
There was a problem hiding this comment.
The closing fence of the outer
```markdown block also needs to be updated to 4 backticks to match the opening change above.
| ## Course Design Implications | |
| {Based on this research, what should the course structure look like? Which topics are module-worthy? What's the natural learning progression? What can be skipped?} | |
| ``` | |
| ## Course Design Implications | |
| {Based on this research, what should the course structure look like? Which topics are module-worthy? What's the natural learning progression? What can be skipped?} |
<details><summary>Prompt To Fix With AI</summary>
`````markdown
This is a comment left during a code review.
Path: skills/research-methodology/resources/research-template.md
Line: 103-106
Comment:
The closing fence of the outer ` ```markdown ` block also needs to be updated to 4 backticks to match the opening change above.
```suggestion
## Course Design Implications
{Based on this research, what should the course structure look like? Which topics are module-worthy? What's the natural learning progression? What can be skipped?}
How can I resolve this? If you propose a fix, please make it concise.
| | label | 1 - Recognize | | ||
| | launch | 3 - Build | | ||
| | list | 1 - Recognize | |
There was a problem hiding this comment.
The Quick Verb Lookup maps
launch only to Level 3 - Build, but the Level 6 "Shipping" category table also lists launch as a Ship verb alongside ship, deploy (original), publish, and release. The parallel verbs deploy and create are correctly disambiguated in the lookup via (original) qualifiers, but launch is missing its Level 6 entry. A course designer checking the lookup for launch will always be told it's Level 3, even when they mean "launch a product/SaaS publicly," which is a Ship-level act.
| | label | 1 - Recognize | | |
| | launch | 3 - Build | | |
| | list | 1 - Recognize | | |
| | label | 1 - Recognize | | |
| | launch | 3 - Build | | |
| | launch (original) | 6 - Ship | | |
| | list | 1 - Recognize | |
Prompt To Fix With AI
This is a comment left during a code review.
Path: skills/blooms-taxonomy/references/verb-tables.md
Line: 190-192
Comment:
The Quick Verb Lookup maps `launch` only to Level 3 - Build, but the Level 6 "Shipping" category table also lists `launch` as a Ship verb alongside `ship`, `deploy (original)`, `publish`, and `release`. The parallel verbs `deploy` and `create` are correctly disambiguated in the lookup via `(original)` qualifiers, but `launch` is missing its Level 6 entry. A course designer checking the lookup for `launch` will always be told it's Level 3, even when they mean "launch a product/SaaS publicly," which is a Ship-level act.
```suggestion
| label | 1 - Recognize |
| launch | 3 - Build |
| launch (original) | 6 - Ship |
| list | 1 - Recognize |
```
How can I resolve this? If you propose a fix, please make it concise.Three findings, all inherited from dojo-academy source or framing inconsistencies introduced during migration: 1. research-template.md (P0, inherited): Outer ```markdown fence is broken by a nested ``` for the ASCII diagram block, causing ~80 lines to render outside the code block. Switched outer fence to four backticks so the inner three-backtick fence is treated as literal content. Same bug exists in dojo-academy source; cleanup there happens via DOJ-3711. 2. verb-tables.md (P1, inherited): Quick Verb Lookup was missing "launch (original) | 6 - Ship" despite "launch" appearing in both the Level 3 (Build) and Level 6 (Ship) category tables, and despite parallel verbs "deploy (original)" and "create (original)" being correctly disambiguated. Added the missing row. 3. slide-design/SKILL.md (P2, framing): Nano Banana Gemini section read as universally available, but the extension is dojo-academy- specific. Added a framing paragraph noting consumer plugins may ship their own image-generation pipeline (and Option B / direct Gemini API works without any extension), matching the consumer- convention pattern used elsewhere in the file. CI workflow: passes locally (frontmatter, agent references, JSON schemas). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
skills/blooms-taxonomy/references/andskills/research-methodology/resources/).academy-philosophy,content-standards) — convert to overlays via DOJ-3710.What changed
The six migrated skills carry no Dojo voice — they encode universal pedagogical methodology that any course-authoring toolkit needs:
skills/blooms-taxonomy/skills/learning-evaluation/skills/research-methodology/skills/ship-first-design/skills/slide-design/skills/teaching-context/Migration framing pattern
Follows the precedent set by DOJ-3771/3772/3773/3828:
consumer-specific (e.g. dojo-academy uses content/courses/{course-slug}/...)consumer's brand overlay (e.g. dojo-academy uses Lilac/Peach)${CLAUDE_PLUGIN_ROOT}/agents/<name>.md(validated by DOJ-3774 CI)academy-philosophy,content-standards) noted as consumer-side overlay dependencies — not as IDT-internal referencesTest plan
check_json_schemas.py,check_frontmatter.py,check_agent_references.pyall green — 64 frontmatter files valid, 19 agents indexed, all${CLAUDE_PLUGIN_ROOT}agent refs resolve).Out of scope
academy-philosophy+content-standardsconversion to overlays — DOJ-3710.Greptile findings (likely inherited)
The DOJ-3708/3828 chain has surfaced inherited bugs in every PR (6 / 3 / 2 / 3). Skills are smaller and more focused than agents, so 0-3 inherited findings are expected here. Any findings will be fixed in the IDT version with an inline note marking them as inherited from the dojo-academy source — dojo-academy is never modified by this PR (cleanup is DOJ-3711).
Closes DOJ-3829
Created by Claude Code on behalf of @andres