Contribution Guide

The Open Activity Library is community-driven. There are several ways to contribute, from simple feedback votes to full exercise submissions.

Ways to Contribute

Chat with AI

Easiest

Ask the AI chat to create an exercise. It will draft a complete exercise with all metadata and route it through the review engine automatically.

  1. 1.Open the dashboard and use the AI chat
  2. 2.Describe the exercise you want to add
  3. 3.AI creates a draft with muscles, equipment, instructions, etc.
  4. 4.Review the draft and approve it
  5. 5.The exercise enters the library through the review pipeline

Suggest Edits

Easy

Found an issue with an existing exercise? Use the "Suggest Edit" button in the activity viewer to propose changes.

  1. 1.Open any exercise in the Activity Viewer
  2. 2.Click the lightbulb icon to open the suggestion modal
  3. 3.Select the fields you want to change
  4. 4.Provide your corrections and reasoning
  5. 5.The AI reviews your suggestion and applies if valid

YAML Edit & Paste

Intermediate

For power users. View the raw YAML of any exercise, copy it, edit in your preferred editor, and paste it back. The system computes the diff and routes changes through review.

  1. 1.Open any exercise in the Activity Viewer
  2. 2.Click the code icon to open the YAML viewer
  3. 3.Click "Copy" to copy the YAML to your clipboard
  4. 4.Edit the YAML in any text editor (VS Code, Vim, etc.)
  5. 5.Click "Edit & Suggest" and paste your modified YAML
  6. 6.Click "Submit Changes" — the system diffs and reviews

Validate Exercises

Easiest

No writing needed. When you encounter exercises with "pending validation" status, you'll see a subtle card asking if the data looks accurate. A quick thumbs up or down helps the library.

  1. 1.Browse exercises normally in the app
  2. 2.Look for amber feedback cards on pending exercises
  3. 3.Click thumbs up if the exercise data looks accurate
  4. 4.Click thumbs down if something seems wrong
  5. 5.Your feedback contributes to the confidence score

YAML Format Example

When using the YAML editor, exercises follow this format. Not all fields are required.

name: Nordic Hamstring Curl
description: >-
  Eccentric hamstring exercise. Kneel on a pad, lock ankles,
  lower your body forward under control using hamstring tension.
experienceLevelRecommended: intermediate
primaryMuscles:
  - hamstrings
secondaryMuscles:
  - glutes
  - core
equipment:
  - nordic curl bench
tags:
  - eccentric
  - injury prevention
  - posterior chain
modality: resistance
metValue: 4.5
unilateral: false
trackableMetrics:
  - key: reps
    label: Reps
    unit: count
    isPrimary: true
    category: movement
defaults:
  sets: 3
  reps: 6
instructions:
  - Kneel on a pad with ankles secured
  - Cross arms over chest or extend forward
  - Slowly lower torso toward the ground using hamstring control
  - Catch yourself with hands at the bottom
  - Push off hands and use hamstrings to return to start
safetyNotes: >-
  Start with partial range of motion. This exercise places high
  eccentric load on hamstrings — build up volume gradually.

Field Reference

FieldReqDescription
nameyesExercise name. Unique within the library.
descriptionyesClear description of the exercise movement.
primaryMusclesyesArray of primary muscle groups targeted.
secondaryMusclesnoArray of secondary/stabilizer muscles.
equipmentyesArray of required equipment. Use "bodyweight" if none.
tagsnoCategorization tags (compound, isolation, plyometric, etc.).
experienceLevelRecommendednobeginner, intermediate, or advanced.
modalitynoresistance, cardio, flexibility, etc.
metValuenoMetabolic equivalent. Used for calorie estimation.
unilateralnotrue if exercise is performed one side at a time.
trackableMetricsyesArray of metrics users can log (reps, weight, duration, etc.).
defaultsyesDefault values for sets, reps, weight, rest, etc.
instructionsnoStep-by-step instructions array.
safetyNotesnoSafety warnings and precautions.
muscleActivationMapnoMuscle → activation level mapping (0-100).

Submission Guidelines

Be specific — "Targets the long head of the triceps" is better than "works arms"

Use standard names — Check existing library entries for naming conventions

Include safety notes — Especially for advanced or high-risk exercises

Cite sources — Research papers, certified trainer resources, or anatomy references increase confidence

Don't submit duplicates — Search the library first. The AI checks too, but save everyone time

Don't guess anatomy — If you're unsure about muscle groups, leave them out. The AI will fill in or flag

Attribution

All contributions are tracked in the exercise's provenance record. Your user ID is added to the contributors list with the type of contribution (created, edited, reviewed) and timestamp. This data is visible on each exercise and exported to the public git repository.