docs: major documentation overhaul - leaderboard-first homepage and streamlined user guide #200
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Continuous Learning - Extract Skills | ||
| on: | ||
| # Manual trigger | ||
| workflow_dispatch: | ||
| inputs: | ||
| output_format: | ||
| description: 'Output format for skills' | ||
| required: true | ||
| default: 'github-issues' | ||
| type: choice | ||
| options: | ||
| - github-issues | ||
| - skill-files | ||
| - both | ||
| # Automatic on new releases | ||
| release: | ||
| types: [published] | ||
| # Weekly analysis on Sundays at midnight UTC | ||
| schedule: | ||
| - cron: '0 0 * * 0' | ||
| jobs: | ||
| extract-skills: | ||
| runs-on: ubuntu-latest | ||
| permissions: | ||
| contents: write | ||
| issues: write | ||
| pull-requests: write | ||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
| - name: Setup Python | ||
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: '3.12' | ||
| - name: Install uv | ||
| uses: astral-sh/setup-uv@v3 | ||
| - name: Install AgentReady | ||
| run: | | ||
| uv venv | ||
| uv pip install -e . | ||
| - name: Run self-assessment | ||
| run: | | ||
| uv run agentready assess . --output-dir .agentready | ||
| - name: Extract learnings | ||
| id: learn | ||
| run: | | ||
| uv run agentready learn . --output-format json > .skills-proposals/discovered-skills.json | ||
| echo "skill_count=$(jq '.skill_count' .skills-proposals/discovered-skills.json)" >> $GITHUB_OUTPUT | ||
| - name: Generate skill proposals | ||
| if: steps.learn.outputs.skill_count > 0 | ||
| run: | | ||
| uv run agentready learn . --output-format all --output-dir .skills-proposals | ||
| - name: Create GitHub issues for each skill | ||
| if: (inputs.output_format == 'github-issues' || inputs.output_format == 'both') && steps.learn.outputs.skill_count > 0 | ||
| env: | ||
| GH_TOKEN: ${{ github.token }} | ||
| run: | | ||
| for skill_file in .skills-proposals/skill-*.md; do | ||
| if [ -f "$skill_file" ]; then | ||
| # Extract skill name from filename | ||
| skill_name=$(basename "$skill_file" .md | sed 's/^skill-//' | sed 's/-/ /g') | ||
| # Create issue with skill proposal | ||
| gh issue create \ | ||
| --title "Skill Proposal: ${skill_name}" \ | ||
| --label "skill-proposal,enhancement,ai-agent" \ | ||
| --body-file "$skill_file" | ||
| echo "Created issue for: $skill_name" | ||
| fi | ||
| done | ||
| - name: Create PR with skill files | ||
| if: (inputs.output_format == 'skill-files' || inputs.output_format == 'both') && steps.learn.outputs.skill_count > 0 | ||
| run: | | ||
| # Configure git | ||
| git config user.name "github-actions[bot]" | ||
| git config user.email "github-actions[bot]@users.noreply.github.com" | ||
| # Create new branch | ||
| BRANCH_NAME="skills/auto-$(date +%Y%m%d-%H%M%S)" | ||
| git checkout -b "$BRANCH_NAME" | ||
| # Copy SKILL.md files to .claude/skills | ||
| mkdir -p .claude/skills | ||
| for skill_dir in .skills-proposals/*/; do | ||
| if [ -d "$skill_dir" ] && [ -f "${skill_dir}SKILL.md" ]; then | ||
| skill_id=$(basename "$skill_dir") | ||
| mkdir -p ".claude/skills/$skill_id" | ||
| cp "${skill_dir}SKILL.md" ".claude/skills/$skill_id/" | ||
| echo "Copied skill: $skill_id" | ||
| fi | ||
| done | ||
| # Commit and push | ||
| git add .claude/skills | ||
| git commit -m "feat: add discovered skills from continuous learning | ||
| Automatically extracted skills from latest assessment. | ||
| 🤖 Generated with Claude Code | ||
| Co-Authored-By: Claude <noreply@anthropic.com>" | ||
| git push origin "$BRANCH_NAME" | ||
| # Create PR | ||
| gh pr create \ | ||
| --title "Add discovered skills from continuous learning" \ | ||
| --body "Automatically discovered new Claude Code skills from AgentReady assessment. Review and merge to make available." | ||
| - name: Upload skill proposals as artifacts | ||
| if: steps.learn.outputs.skill_count > 0 | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: skill-proposals-${{ github.run_number }} | ||
| path: .skills-proposals/ | ||
| retention-days: 90 | ||
| - name: Summary | ||
| if: steps.learn.outputs.skill_count > 0 | ||
| run: | | ||
| echo "✅ Discovered ${{ steps.learn.outputs.skill_count }} skills with confidence ≥70%" | ||
| echo "📁 Artifacts uploaded for review" | ||