Dev (#218)
* Improve senior-fullstack skill description and workflow validation - Expand frontmatter description with concrete actions and trigger clauses - Add validation steps to scaffolding workflow (verify scaffold succeeded) - Add re-run verification step to audit workflow (confirm P0 fixes) * chore: sync codex skills symlinks [automated] * fix(skill): normalize senior-fullstack frontmatter to inline format Normalize YAML description from block scalar (>) to inline single-line format matching all other 50+ skills. Align frontmatter trigger phrases with the body's Trigger Phrases section to eliminate duplication. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(ci): add GITHUB_TOKEN to checkout + restore corrupted skill descriptions - Add token: ${{ secrets.GITHUB_TOKEN }} to actions/checkout@v4 in sync-codex-skills.yml so git-auto-commit-action can push back to branch (fixes: fatal: could not read Username, exit 128) - Restore correct description for incident-commander (was: 'Skill from engineering-team') - Restore correct description for senior-fullstack (was: '>') * fix(ci): pass PROJECTS_TOKEN to fix automated commits + remove duplicate checkout Fixes PROJECTS_TOKEN passthrough for git-auto-commit-action and removes duplicate checkout step in pr-issue-auto-close workflow. * fix(ci): remove stray merge conflict marker in sync-codex-skills.yml (#221) Co-authored-by: Leo <leo@leo-agent-server> * fix(ci): fix workflow errors + add OpenClaw support (#222) --------- Co-authored-by: Baptiste Fernandez <fernandez.baptiste1@gmail.com> Co-authored-by: alirezarezvani <5697919+alirezarezvani@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Leo <leo@leo-agent-server>
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
"name": "claude-code-skills",
|
||||
"description": "Production-ready skill packages for AI agents - Marketing, Engineering, Product, C-Level, PM, and RA/QM",
|
||||
"repository": "https://github.com/alirezarezvani/claude-skills",
|
||||
"total_skills": 65,
|
||||
"total_skills": 54,
|
||||
"skills": [
|
||||
{
|
||||
"name": "customer-success-manager",
|
||||
@@ -53,30 +53,6 @@
|
||||
"category": "engineering",
|
||||
"description": "Incident response playbook with severity classification, timeline reconstruction, and post-incident review generation. Includes automated severity classification, timeline reconstruction from logs, PIR generation with RCA frameworks, and communication templates for stakeholder updates."
|
||||
},
|
||||
{
|
||||
"name": "tech-debt-tracker",
|
||||
"source": "../../engineering/tech-debt-tracker",
|
||||
"category": "engineering",
|
||||
"description": "Codebase debt analysis with AST parsing, prioritization frameworks, and trend dashboards. Automatically identifies tech debt signals, analyzes cost-of-delay, and tracks debt trends over time with executive reporting capabilities."
|
||||
},
|
||||
{
|
||||
"name": "api-design-reviewer",
|
||||
"source": "../../engineering/api-design-reviewer",
|
||||
"category": "engineering",
|
||||
"description": "REST/OpenAPI linting, breaking change detection, and API design scorecards. Validates API conventions, detects compatibility issues, scores design quality, and ensures security best practices for REST APIs."
|
||||
},
|
||||
{
|
||||
"name": "interview-system-designer",
|
||||
"source": "../../engineering/interview-system-designer",
|
||||
"category": "engineering",
|
||||
"description": "Calibrated interview loops, question banks, and hiring calibration analysis. Designs role-specific interview processes, generates competency-based questions, and provides bias analysis with standardized evaluation frameworks."
|
||||
},
|
||||
{
|
||||
"name": "migration-architect",
|
||||
"source": "../../engineering/migration-architect",
|
||||
"category": "engineering",
|
||||
"description": "Zero-downtime migration planning, compatibility checking, and rollback generation. Plans phased migrations, validates schema compatibility, generates rollback procedures, and provides risk assessment for complex system migrations."
|
||||
},
|
||||
{
|
||||
"name": "ms365-tenant-manager",
|
||||
"source": "../../engineering-team/ms365-tenant-manager",
|
||||
@@ -352,56 +328,6 @@
|
||||
"source": "../../ra-qm-team/risk-management-specialist",
|
||||
"category": "ra-qm",
|
||||
"description": "Medical device risk management specialist implementing ISO 14971 throughout product lifecycle. Provides risk analysis, risk evaluation, risk control, and post-production information analysis."
|
||||
},
|
||||
{
|
||||
"name": "observability-designer",
|
||||
"path": "engineering/observability-designer",
|
||||
"category": "engineering",
|
||||
"tier": "POWERFUL",
|
||||
"description": "SLI/SLO frameworks, alert optimization, and dashboard generation for production observability.",
|
||||
"scripts": [
|
||||
"slo_designer.py",
|
||||
"alert_optimizer.py",
|
||||
"dashboard_generator.py"
|
||||
],
|
||||
"references": true,
|
||||
"assets": true
|
||||
},
|
||||
{
|
||||
"name": "dependency-auditor",
|
||||
"source": "../../engineering/dependency-auditor",
|
||||
"category": "engineering",
|
||||
"description": "Multi-language dependency scanning, license compliance, and upgrade planning for modern software projects"
|
||||
},
|
||||
{
|
||||
"name": "release-manager",
|
||||
"source": "../../engineering/release-manager",
|
||||
"category": "engineering",
|
||||
"description": "Automated changelog generation, semantic version bumping, and release readiness planning for production deployments"
|
||||
},
|
||||
{
|
||||
"name": "database-designer",
|
||||
"source": "../../engineering/database-designer",
|
||||
"category": "engineering",
|
||||
"description": "Schema analysis with ERD generation, index optimization, and migration generation for database architecture"
|
||||
},
|
||||
{
|
||||
"name": "rag-architect",
|
||||
"source": "../../engineering/rag-architect",
|
||||
"category": "engineering",
|
||||
"description": "RAG pipeline design with chunking optimization, retrieval evaluation, and architecture generation for AI systems"
|
||||
},
|
||||
{
|
||||
"name": "agent-designer",
|
||||
"source": "../../engineering/agent-designer",
|
||||
"category": "engineering",
|
||||
"description": "Multi-agent system architecture, tool schema generation, and agent performance evaluation for agentic AI"
|
||||
},
|
||||
{
|
||||
"name": "skill-tester",
|
||||
"source": "../../engineering/skill-tester",
|
||||
"category": "engineering",
|
||||
"description": "Meta-skill for automated skill validation, script testing, and quality scoring for skill development workflows"
|
||||
}
|
||||
],
|
||||
"categories": {
|
||||
@@ -416,7 +342,7 @@
|
||||
"description": "Executive leadership and advisory skills"
|
||||
},
|
||||
"engineering": {
|
||||
"count": 25,
|
||||
"count": 19,
|
||||
"source": "../../engineering-team",
|
||||
"description": "Software engineering and technical skills"
|
||||
},
|
||||
@@ -445,6 +371,5 @@
|
||||
"source": "../../ra-qm-team",
|
||||
"description": "Regulatory affairs and quality management skills"
|
||||
}
|
||||
},
|
||||
"total": 65
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
12
.github/workflows/pr-issue-auto-close.yml
vendored
12
.github/workflows/pr-issue-auto-close.yml
vendored
@@ -29,8 +29,6 @@ jobs:
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Extract linked issues from PR body
|
||||
id: extract_issues
|
||||
@@ -123,15 +121,7 @@ jobs:
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: parseInt(issueNumber),
|
||||
body: `Completed via PR #${prNumber}
|
||||
|
||||
PR: ${prTitle}
|
||||
URL: ${prUrl}
|
||||
Merged by: ${merger}
|
||||
|
||||
This issue has been resolved and the changes have been merged into main.
|
||||
|
||||
Automatically closed via PR merge automation`
|
||||
body: `Completed via PR #${prNumber}\n\nPR: ${prTitle}\nURL: ${prUrl}\nMerged by: ${merger}\n\nThis issue has been resolved and the changes have been merged into main.\n\nAutomatically closed via PR merge automation`
|
||||
});
|
||||
|
||||
// Close the issue
|
||||
|
||||
14
.github/workflows/smart-sync.yml
vendored
14
.github/workflows/smart-sync.yml
vendored
@@ -4,12 +4,10 @@ name: Smart Bidirectional Sync
|
||||
'on':
|
||||
issues:
|
||||
types: [labeled, closed, reopened]
|
||||
projects_v2_item:
|
||||
types: [edited]
|
||||
|
||||
# Prevent sync loops with debouncing
|
||||
concurrency:
|
||||
group: smart-sync-${{ github.event.issue.number || github.event.projects_v2_item.node_id }}
|
||||
group: smart-sync-${{ github.event.issue.number }}
|
||||
cancel-in-progress: true # Cancel pending runs (debouncing effect)
|
||||
|
||||
jobs:
|
||||
@@ -59,12 +57,6 @@ jobs:
|
||||
echo "⏭️ Skipping: Not a status change or state change"
|
||||
fi
|
||||
|
||||
elif [ "${{ github.event_name }}" = "projects_v2_item" ]; then
|
||||
# Project event → sync to issue
|
||||
echo "direction=project-to-issue" >> $GITHUB_OUTPUT
|
||||
echo "should_sync=true" >> $GITHUB_OUTPUT
|
||||
echo "✅ Will sync: Project Board → Issue"
|
||||
|
||||
else
|
||||
echo "should_sync=false" >> $GITHUB_OUTPUT
|
||||
echo "⚠️ Unknown event type"
|
||||
@@ -147,9 +139,10 @@ jobs:
|
||||
- name: Sync Issue to Project Board
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.PROJECTS_TOKEN }}
|
||||
ISSUE_TITLE: ${{ github.event.issue.title }}
|
||||
run: |
|
||||
echo "# Issue → Project Board Sync"
|
||||
echo "**Issue**: #${{ github.event.issue.number }} \"${{ github.event.issue.title }}\""
|
||||
echo "**Issue**: #${{ github.event.issue.number }} \"$ISSUE_TITLE\""
|
||||
echo "**State**: ${{ github.event.issue.state }}"
|
||||
echo "**Action**: ${{ github.event.action }}"
|
||||
|
||||
@@ -288,6 +281,7 @@ jobs:
|
||||
- name: Sync Project Board to Issue
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.PROJECTS_TOKEN }}
|
||||
ISSUE_TITLE: ${{ github.event.issue.title }}
|
||||
run: |
|
||||
echo "# Project Board → Issue Sync"
|
||||
echo "**Project Item**: ${{ github.event.projects_v2_item.node_id }}"
|
||||
|
||||
2
.github/workflows/sync-codex-skills.yml
vendored
2
.github/workflows/sync-codex-skills.yml
vendored
@@ -28,6 +28,7 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
token: ${{ secrets.PROJECTS_TOKEN }}
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
@@ -61,6 +62,7 @@ jobs:
|
||||
file_pattern: ".codex/*"
|
||||
commit_user_name: "github-actions[bot]"
|
||||
commit_user_email: "github-actions[bot]@users.noreply.github.com"
|
||||
token: ${{ secrets.PROJECTS_TOKEN }}
|
||||
|
||||
- name: Warn if main has drift
|
||||
if: steps.check_changes.outputs.has_changes == 'true' && github.ref == 'refs/heads/main'
|
||||
|
||||
33
README.md
33
README.md
@@ -72,6 +72,39 @@ cd claude-skills
|
||||
|
||||
**See:** [How to Use with OpenAI Codex](#-how-to-use-with-openai-codex) for detailed guide.
|
||||
|
||||
|
||||
---
|
||||
|
||||
### Method 3: OpenClaw Installation
|
||||
|
||||
For [OpenClaw](https://openclaw.ai) users — skills use the same `SKILL.md` format, so all 66 skills work out of the box.
|
||||
|
||||
```bash
|
||||
# Clone the repo
|
||||
git clone https://github.com/alirezarezvani/claude-skills.git
|
||||
cd claude-skills
|
||||
|
||||
# Run the OpenClaw installer (symlinks all skills into ~/.openclaw/workspace/skills/)
|
||||
./scripts/openclaw-install.sh
|
||||
|
||||
# Restart the gateway to pick up new skills
|
||||
openclaw gateway restart
|
||||
```
|
||||
|
||||
Or preview first with `--dry-run`:
|
||||
|
||||
```bash
|
||||
./scripts/openclaw-install.sh --dry-run
|
||||
```
|
||||
|
||||
**Benefits:**
|
||||
- ✅ All 66 skills instantly available in OpenClaw
|
||||
- ✅ Live-linked — `git pull` updates skills automatically
|
||||
- ✅ No manual copying needed
|
||||
- ✅ Skills appear in `/skills list` immediately after gateway restart
|
||||
|
||||
> **Also available on [clawhub.com](https://clawhub.com)** — search for `alirezarezvani` to install individual skills via the ClawHub CLI (`openclaw skill install <name>`).
|
||||
|
||||
---
|
||||
|
||||
### Method 3: Universal Installer (Works across all agents)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: senior-fullstack
|
||||
description: Fullstack development toolkit with project scaffolding for Next.js/FastAPI/MERN/Django stacks and code quality analysis. Use when scaffolding new projects, analyzing codebase quality, or implementing fullstack architecture patterns.
|
||||
description: Fullstack development toolkit with project scaffolding for Next.js, FastAPI, MERN, and Django stacks, code quality analysis with security and complexity scoring, and stack selection guidance. Use when the user asks to "scaffold a new project", "create a Next.js app", "set up FastAPI with React", "analyze code quality", "audit my codebase", "what stack should I use", "generate project boilerplate", or mentions fullstack development, project setup, or tech stack comparison.
|
||||
---
|
||||
|
||||
# Senior Fullstack
|
||||
@@ -169,35 +169,39 @@ Total Lines: 12,500
|
||||
|
||||
### Workflow 1: Start New Project
|
||||
|
||||
1. Choose appropriate stack based on requirements
|
||||
1. Choose appropriate stack based on requirements (see Stack Decision Matrix)
|
||||
2. Scaffold project structure
|
||||
3. Run initial quality check
|
||||
4. Set up development environment
|
||||
3. Verify scaffold: confirm `package.json` (or `requirements.txt`) exists
|
||||
4. Run initial quality check — address any P0 issues before proceeding
|
||||
5. Set up development environment
|
||||
|
||||
```bash
|
||||
# 1. Scaffold project
|
||||
python scripts/project_scaffolder.py nextjs my-saas-app
|
||||
|
||||
# 2. Navigate and install
|
||||
# 2. Verify scaffold succeeded
|
||||
ls my-saas-app/package.json
|
||||
|
||||
# 3. Navigate and install
|
||||
cd my-saas-app
|
||||
npm install
|
||||
|
||||
# 3. Configure environment
|
||||
# 4. Configure environment
|
||||
cp .env.example .env.local
|
||||
|
||||
# 4. Run quality check
|
||||
# 5. Run quality check
|
||||
python ../scripts/code_quality_analyzer.py .
|
||||
|
||||
# 5. Start development
|
||||
# 6. Start development
|
||||
npm run dev
|
||||
```
|
||||
|
||||
### Workflow 2: Audit Existing Codebase
|
||||
|
||||
1. Run code quality analysis
|
||||
2. Review security findings
|
||||
3. Address critical issues first
|
||||
4. Plan improvements
|
||||
2. Review security findings — fix all P0 (critical) issues immediately
|
||||
3. Re-run analyzer to confirm P0 issues are resolved
|
||||
4. Create tickets for P1/P2 issues
|
||||
|
||||
```bash
|
||||
# 1. Full analysis
|
||||
@@ -206,8 +210,8 @@ python scripts/code_quality_analyzer.py /path/to/project --verbose
|
||||
# 2. Generate detailed report
|
||||
python scripts/code_quality_analyzer.py /path/to/project --json --output audit.json
|
||||
|
||||
# 3. Address P0 issues immediately
|
||||
# 4. Create tickets for P1/P2 issues
|
||||
# 3. After fixing P0 issues, re-run to verify
|
||||
python scripts/code_quality_analyzer.py /path/to/project --verbose
|
||||
```
|
||||
|
||||
### Workflow 3: Stack Selection
|
||||
|
||||
44
scripts/openclaw-install.sh
Executable file
44
scripts/openclaw-install.sh
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
# Install claude-skills into OpenClaw's workspace skills directory
|
||||
# Usage: ./scripts/openclaw-install.sh [--dry-run]
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SKILLS_DIR="${HOME}/.openclaw/workspace/skills"
|
||||
REPO_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
DRY_RUN=false
|
||||
|
||||
[[ "${1:-}" == "--dry-run" ]] && DRY_RUN=true
|
||||
|
||||
# Find all SKILL.md files and install each skill
|
||||
installed=0
|
||||
skipped=0
|
||||
|
||||
while IFS= read -r skill_md; do
|
||||
skill_dir="$(dirname "$skill_md")"
|
||||
skill_name="$(basename "$skill_dir")"
|
||||
target="${SKILLS_DIR}/${skill_name}"
|
||||
|
||||
if [[ -e "$target" ]]; then
|
||||
skipped=$((skipped + 1))
|
||||
continue
|
||||
fi
|
||||
|
||||
if $DRY_RUN; then
|
||||
echo " [dry-run] would install: $skill_name"
|
||||
else
|
||||
mkdir -p "$SKILLS_DIR"
|
||||
ln -sf "$skill_dir" "$target"
|
||||
echo " ✅ installed: $skill_name"
|
||||
fi
|
||||
installed=$((installed + 1))
|
||||
done < <(find "$REPO_DIR" -name "SKILL.md" -not -path "*/.git/*")
|
||||
|
||||
if $DRY_RUN; then
|
||||
echo ""
|
||||
echo "Dry run complete. Would install $installed skill(s). ($skipped already exist)"
|
||||
else
|
||||
echo ""
|
||||
echo "Done. Installed $installed skill(s). ($skipped already existed)"
|
||||
echo "Restart OpenClaw (openclaw gateway restart) to pick up new skills."
|
||||
fi
|
||||
Reference in New Issue
Block a user