# Gnommo Content Skills

Skills for generating content for the Gnommo/Glitch.University learning platform.

## Available Skills

| Skill | File | Purpose |
|-------|------|---------|
| DEGLITCH Gates | `deglitch-gate-generator.md` | Generate quiz questions from manuscripts |
| Slide Content | `slide-content-generator.md` | Generate image prompts & text for slides |

---

# DEGLITCH Gate Generator

Generate quiz questions from manuscript content for the Gnommo learning platform.

## Quick Start

1. Read `manuscript.txt` (or specified file)
2. Identify 3-7 key concepts
3. Create 1-2 questions per concept
4. Output JSON or submit via API

## Project Structure

Each video project has:
- `manuscript.txt` - The narration script with `[SX]` slide markers
- `project.json` - Contains `coursecode` to identify the tech on the server

## API Configuration

```
Base URL: ${GNOMMO_API_URL:-http://localhost:3001}
Auth: Authorization: Bearer ${CONTENT_API_KEY}
```

## Endpoints

- `GET /api/content/techs/available` - Find tech_id to link
- `POST /api/content/deglitch-gates` - Create gate
- `GET /api/content/deglitch-gates` - List gates
- `PUT /api/content/deglitch-gates/:id` - Update gate

## Question JSON Structure

```json
{
  "tech_id": null,
  "title": "Gate Title",
  "description": "What this tests",
  "passing_score": 0.8,
  "shuffle_questions": true,
  "shuffle_options": true,
  "questions": [
    {
      "question_type": "radio",
      "text": "Question?",
      "sort_order": 0,
      "options": {
        "a": { "answer": "Wrong", "correct": false, "why": "Explanation" },
        "b": { "answer": "Right", "correct": true, "why": "Explanation" },
        "c": { "answer": "Wrong", "correct": false, "why": "Explanation" },
        "d": { "answer": "Wrong", "correct": false, "why": "Explanation" }
      }
    }
  ]
}
```

## Question Types
- `radio` - Single answer (most common)
- `checkbox` - Multiple answers
- `llm` - Free text (AI evaluated)

## Quality Guidelines

- Test understanding, not memorization
- One clear correct answer per radio question
- Plausible wrong answers with educational "why"
- Concise questions, avoid trick questions
- Vary difficulty across questions

## Workflow with API Key

```bash
# 1. Read project.json to get coursecode
cat /path/to/video/project.json | jq '.coursecode'

# 2. Find tech_id by matching coursecode
curl -H "Authorization: Bearer $CONTENT_API_KEY" \
  $GNOMMO_API_URL/api/content/techs

# 3. Create gate with matched tech_id
curl -X POST -H "Authorization: Bearer $CONTENT_API_KEY" \
  -H "Content-Type: application/json" \
  $GNOMMO_API_URL/api/content/deglitch-gates \
  -d '{"tech_id": 1, "title":"...","questions":[...]}'
```

## Matching Coursecode to Tech

The `coursecode` in `project.json` matches the `code` field in the server's tech list:
- `♟️_#1.0` → Lightlane series, Video 1
- `♟️_#2.0` → Lightlane series, Video 2
- `WTF_#1` → What is Glitch University series, Video 1

## Workflow without API Key

Output the complete JSON for manual entry or later API submission.
