Skip to main content
AI/MLjmagly

auto-provenance

Generate W3C PROV-compliant provenance records automatically when agents create or modify artifacts

Stars
141
Source
jmagly/aiwg
Updated
2026-05-31
Slug
jmagly--aiwg--auto-provenance
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/jmagly/aiwg/HEAD/agentic/code/frameworks/sdlc-complete/skills/auto-provenance/SKILL.md -o .claude/skills/auto-provenance.md

Drops the SKILL.md into .claude/skills/auto-provenance.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

Auto-Provenance

Automatically generates W3C PROV-compliant provenance records when agents create or modify artifacts.

Triggers

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

  • "W3C PROV" → provenance standard reference
  • "lineage" → data/artifact lineage tracking
  • "provenance for [artifact]" → specific artifact provenance

Purpose

Ensures every artifact created by AIWG agents has a provenance record, maintaining an auditable chain of derivation from requirements through implementation. Implements the W3C PROV-DM Entity-Activity-Agent model automatically, without requiring agents to manually create records.

Activation Conditions

This skill activates when:

  1. New artifact creation - Agent writes a new file to .aiwg/ or src/ directories
  2. Artifact modification - Agent modifies an existing tracked artifact
  3. Content with @-mentions - Written content contains derivation @-mentions
  4. Manual trigger - User explicitly requests provenance tracking

Skip Conditions

  • File is in .aiwg/working/ (temporary files)
  • File is in .aiwg/ralph/ (loop state, not artifacts)
  • File is in .aiwg/research/provenance/records/ (provenance about provenance would be circular)
  • File is node_modules/, .git/, or build output
  • File is a provenance record itself (.prov.yaml)

Behavior

When a tracked artifact is created or modified:

  1. Detect artifact event

    • Monitor file writes in tracked directories
    • Classify as generation (new) or modification (existing)
    • Extract agent identity from context
  2. Extract derivation sources

    • Parse @-mentions in the written content
    • Classify relationship types:
      • @implements -> derivation_type: implements
      • @tests -> derivation_type: tests
      • @extends -> derivation_type: extends
      • @depends -> derivation_type: depends
      • Generic @path -> derivation_type: derives_from
  3. Generate provenance record

    • Create Entity with URN ID and content hash
    • Create Activity with type, timestamps
    • Create Agent with name, type, tool version
    • Create Relationships (wasGeneratedBy, wasAssociatedWith, wasDerivedFrom)
  4. Validate and save

    • Validate against @$AIWG_ROOT/agentic/code/frameworks/sdlc-complete/schemas/provenance/prov-record.yaml
    • Save to .aiwg/research/provenance/records/<artifact-name>.prov.yaml
    • Update provenance index
  5. Report

    • Brief confirmation: "Provenance record created for "
    • Warning if derivation sources could not be resolved

Agent Orchestration

  • Primary: Provenance Manager (handles record creation and validation)
  • Passive participants: All artifact-generating agents (Software Implementer, Test Engineer, Requirements Analyst, Architecture Designer, Technical Writer, Documentation Synthesizer, Security Auditor, API Designer)

Integration

With Mention Wiring

@-mentions serve as the primary source of derivation relationships:

integration:
  mention_wiring:
    source: "@-mentions in artifact content"
    target: "wasDerivedFrom relationships in provenance record"
    mapping:
      "@implements": "implements"
      "@tests": "tests"
      "@extends": "extends"
      "@depends": "depends"
      "@source": "derives_from"

With Qualified References

Qualified @-mentions provide relationship type information:

integration:
  qualified_references:
    source: "qualified @-mentions (@implements @path)"
    target: "typed derivation relationships"

With HITL Gates

Phase transitions trigger provenance completeness checks:

integration:
  hitl_gates:
    action: validate_provenance_coverage
    trigger: phase_transition

Configuration

skill:
  name: auto-provenance
  type: passive
  always_active_for:
    - provenance-manager
    - software-implementer
    - test-engineer
    - requirements-analyst
    - architecture-designer
    - technical-writer
    - documentation-synthesizer
    - security-auditor
    - api-designer
  file_triggers:
    - pattern: ".aiwg/**/*.md"
    - pattern: ".aiwg/**/*.yaml"
    - pattern: "src/**/*.ts"
    - pattern: "src/**/*.js"
    - pattern: "test/**/*.ts"
    - pattern: "test/**/*.js"
  exclude:
    - pattern: ".aiwg/working/**"
    - pattern: ".aiwg/ralph/**"
    - pattern: ".aiwg/research/provenance/records/**"
    - pattern: "**/*.prov.yaml"
  auto_create: true
  auto_update: true
  validate_on_create: true

Output Locations

  • Provenance records: .aiwg/research/provenance/records/<name>.prov.yaml
  • Provenance index: .aiwg/research/provenance/index.yaml
  • Validation reports: .aiwg/reports/provenance-report.md

References

  • @$AIWG_ROOT/agentic/code/frameworks/sdlc-complete/agents/provenance-manager.md - Provenance Manager agent
  • @$AIWG_ROOT/agentic/code/frameworks/sdlc-complete/schemas/provenance/prov-record.yaml - PROV record schema
  • @.aiwg/research/provenance/docs/provenance-guide.md - Provenance guide
  • @$AIWG_ROOT/agentic/code/frameworks/sdlc-complete/rules/provenance-tracking.md - Provenance tracking rules
  • @$AIWG_ROOT/agentic/code/frameworks/sdlc-complete/rules/mention-wiring.md - @-mention wiring patterns
  • @$AIWG_ROOT/agentic/code/frameworks/sdlc-complete/rules/qualified-references.md - Qualified reference rules