Files
antigravity-skills-reference/docs/maintainers/skills-date-tracking.md
sck_0 45844de534 refactor: reorganize repo docs and tooling layout
Consolidate the repository into clearer apps, tools, and layered docs areas so contributors can navigate and maintain it more reliably. Align validation, metadata sync, and CI around the same canonical workflow to reduce drift across local checks and GitHub Actions.
2026-03-06 15:01:38 +01:00

229 lines
4.9 KiB
Markdown

# Skills Date Tracking Guide
This guide explains how to use the new `date_added` feature for tracking when skills were created or added to the collection.
## Overview
The `date_added` field in skill frontmatter allows you to track when each skill was created. This is useful for:
- **Versioning**: Understanding skill age and maturity
- **Changelog generation**: Tracking new skills over time
- **Reporting**: Analyzing skill collection growth
- **Organization**: Grouping skills by creation date
## Format
The `date_added` field uses ISO 8601 date format: **YYYY-MM-DD**
```yaml
---
name: my-skill-name
description: "Brief description"
date_added: "2024-01-15"
---
```
## Quick Start
### 1. View All Skills with Their Dates
```bash
python tools/scripts/manage_skill_dates.py list
```
Output example:
```
📅 Skills with Date Added (example):
============================================================
2025-02-26 │ recent-skill
2025-02-20 │ another-new-skill
2024-12-15 │ older-skill
...
⏳ Skills without Date Added (example):
============================================================
some-legacy-skill
undated-skill
...
📊 Coverage: example output only
```
### 2. Add Missing Dates
Add today's date to all skills that don't have a `date_added` field:
```bash
python tools/scripts/manage_skill_dates.py add-missing
```
Or specify a custom date:
```bash
python tools/scripts/manage_skill_dates.py add-missing --date 2026-03-06
```
### 3. Add/Update All Skills
Set a date for all skills at once:
```bash
python tools/scripts/manage_skill_dates.py add-all --date 2026-03-06
```
### 4. Update a Single Skill
Update a specific skill's date:
```bash
python tools/scripts/manage_skill_dates.py update my-skill-name 2026-03-06
```
### 5. Generate a Report
Generate a JSON report of all skills with their metadata:
```bash
python tools/scripts/generate_skills_report.py
```
Save to file:
```bash
python tools/scripts/generate_skills_report.py --output skills_report.json
```
Sort by name:
```bash
python tools/scripts/generate_skills_report.py --sort name --output sorted_skills.json
```
## Usage in Your Workflow
### When Creating a New Skill
Add the `date_added` field to your SKILL.md frontmatter:
```yaml
---
name: new-awesome-skill
description: "Does something awesome"
date_added: "2026-03-06"
---
```
### Automated Addition
When onboarding many skills, use:
```bash
python tools/scripts/manage_skill_dates.py add-missing --date 2026-03-06
```
This adds today's date to all skills that are missing the field.
### Validation
The validators now check `date_added` format:
```bash
# Run the operational validator
npm run validate
# Optional hardening pass
npm run validate:strict
# Reference validation
npm run validate:references
# Run smoke tests
npm test
```
These checks catch invalid dates, broken references, and related regressions.
## Generated Reports
The `generate_skills_report.py` script produces a JSON report with statistics:
```json
{
"generated_at": "2026-03-06T10:30:00.123456",
"total_skills": 1234,
"skills_with_dates": 1200,
"skills_without_dates": 34,
"coverage_percentage": 97.2,
"sorted_by": "date",
"skills": [
{
"id": "recent-skill",
"name": "recent-skill",
"description": "A newly added skill",
"date_added": "2026-03-06",
"source": "community",
"risk": "safe",
"category": "recent"
},
...
]
}
```
Use this for:
- Dashboard displays
- Growth metrics
- Automated reports
- Analytics
## Integration with CI/CD
Add to your pipeline:
```bash
# In pre-commit or CI pipeline
npm run validate
npm run validate:references
# Generate stats report
python tools/scripts/generate_skills_report.py --output reports/skills_report.json
```
## Best Practices
1. **Use consistent format**: Always use `YYYY-MM-DD`
2. **Use real dates**: Reflect actual skill creation dates when possible
3. **Update on creation**: Add the date when creating new skills
4. **Validate regularly**: Run validators to catch format errors
5. **Review reports**: Use generated reports to understand collection trends
## Troubleshooting
### "Invalid date_added format"
Make sure the date is in `YYYY-MM-DD` format:
- ✅ Correct: `2024-01-15`
- ❌ Wrong: `01/15/2024` or `2024-1-15`
### Script not found
Make sure you're running from the project root:
```bash
cd path/to/antigravity-awesome-skills
python tools/scripts/manage_skill_dates.py list
```
### Python not found
Install Python 3.x from [python.org](https://python.org/)
## Related Documentation
- [`../contributors/skill-anatomy.md`](../contributors/skill-anatomy.md) - Complete skill structure guide
- [`skills-update-guide.md`](skills-update-guide.md) - How to update the skill collection
- [`../contributors/examples.md`](../contributors/examples.md) - Example skills
## Questions or Issues?
See [CONTRIBUTING.md](../../CONTRIBUTING.md) for contribution guidelines.