---
namespace: aiwg
name: grade-on-ingest
platforms: [all]
description: Trigger GRADE quality assessment automatically when new research sources or findings enter the corpus

---

# GRADE-on-Ingest

Automatically triggers GRADE quality assessment when new research sources or findings are added to the corpus.

## Triggers


Alternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):

- "GRADE" → evidence quality rating framework
- "quality of evidence" → GRADE assessment
- "evidence level" → source quality grading

## Purpose

Ensures every research source entering the corpus receives a GRADE quality assessment at ingestion time, preventing unassessed sources from being cited without quality context. Implements the "assess at entry" pattern to maintain corpus-wide quality visibility.

## Activation Conditions

This skill activates when:

1. **New file created** in `.aiwg/research/sources/` or `.aiwg/research/findings/`
2. **File pattern matches**: `REF-*.md`, `*.pdf` added to research directories
3. **Agent activity**: Any agent writes to research corpus directories
4. **Manual trigger**: User requests source assessment

### Skip Conditions

- File is in `.aiwg/research/quality-assessments/` (already an assessment)
- File is `INDEX.md` or `README.md`
- File is a schema or template (`*.yaml` in schemas/)
- Assessment already exists for this REF-ID

## Behavior

When a new research source is detected:

1. **Extract metadata**
   - Parse YAML frontmatter from source document
   - Extract `ref_id`, `title`, `authors`, `year`, `source_type`
   - If frontmatter missing, prompt agent to add it

2. **Determine baseline quality**
   - Map source type to GRADE baseline:
     - `peer_reviewed_journal` -> HIGH
     - `peer_reviewed_conference` -> HIGH
     - `preprint` -> MODERATE
     - `technical_report` -> MODERATE
     - `industry_whitepaper` -> LOW
     - `blog_post` -> VERY LOW
     - `forum_discussion` -> VERY LOW

3. **Invoke Quality Assessor**
   - Delegate to Quality Assessor agent for full GRADE assessment
   - Pass source metadata and content
   - Request assessment in YAML format

4. **Store assessment**
   - Save to `.aiwg/research/quality-assessments/{ref-id}-assessment.yaml`
   - Update source frontmatter with `grade_level` field (if `--update-frontmatter`)

5. **Update corpus index**
   - Add entry to quality assessment index
   - Update GRADE distribution statistics
   - Flag if corpus has > 30% unassessed sources

6. **Report**
   - Display assessment summary to user
   - Include hedging language recommendations
   - Warn if source quality is LOW or VERY LOW

## Agent Orchestration

- **Primary**: Quality Assessor (performs the assessment)
- **Supporting**: Citation Verifier (validates existing citations of this source after assessment)
- **Notification**: Technical Writer, Documentation Synthesizer (if source is cited in existing docs, notify of GRADE level)

## Integration

### With Citation Guard

After assessment completes, Citation Guard uses the GRADE level to enforce hedging:

```yaml
integration:
  citation_guard:
    action: update_grade_cache
    data: new_assessment
```

### With Research Metadata

Assessment populates fields required by research metadata rules:

```yaml
integration:
  research_metadata:
    fields_populated:
      - quality_assessment.grade_level
      - quality_assessment.baseline
      - quality_assessment.downgrade_factors
      - quality_assessment.upgrade_factors
```

### With Provenance Tracking

Assessment activity recorded in provenance chain:

```yaml
integration:
  provenance:
    activity_type: quality_assessment
    agent: quality-assessor
```

## Configuration

```yaml
skill:
  name: grade-on-ingest
  type: passive
  always_active_for:
    - quality-assessor
    - technical-researcher
    - citation-verifier
  file_triggers:
    - pattern: ".aiwg/research/sources/REF-*.md"
    - pattern: ".aiwg/research/findings/REF-*.md"
  auto_assess: true
  update_frontmatter: false  # Requires --update-frontmatter flag
  notify_on_low_quality: true
  block_on_missing_frontmatter: false
```

## Output Locations

- Assessment: `.aiwg/research/quality-assessments/{ref-id}-assessment.yaml`
- Updated frontmatter: Source document (if `--update-frontmatter`)
- Index update: `.aiwg/research/quality-assessments/INDEX.md`

## References

- @$AIWG_ROOT/agentic/code/frameworks/sdlc-complete/agents/quality-assessor.md - Assessment agent
- @.aiwg/research/docs/grade-assessment-guide.md - GRADE methodology
- @$AIWG_ROOT/agentic/code/frameworks/sdlc-complete/schemas/research/quality-dimensions.yaml - Quality schema
- @$AIWG_ROOT/agentic/code/frameworks/sdlc-complete/rules/research-metadata.md - Metadata requirements
- @$AIWG_ROOT/agentic/code/frameworks/sdlc-complete/rules/citation-policy.md - Citation policy
- @$AIWG_ROOT/agentic/code/frameworks/sdlc-complete/skills/citation-guard/SKILL.md - Citation guard
