mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-10 16:14:54 +03:00
27ecfb707d
BOM before `---` makes Codex's strict frontmatter parser reject every
SKILL.md ("Skipped loading 66 skill(s)"). Without BOM the skills load
and execute correctly; the only remaining issue is mojibake display of
Cyrillic in SKILL.md previews — that's a Codex rendering bug, not ours.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
225 lines
7.4 KiB
YAML
225 lines
7.4 KiB
YAML
name: Build port branches
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- '.claude/skills/**'
|
|
- 'scripts/switch.py'
|
|
- '.github/templates/README.port.md.tmpl'
|
|
- '.github/templates/codex-plugin.json.tmpl'
|
|
- '.github/templates/claude-plugin.json.tmpl'
|
|
- '.github/workflows/build-ports.yml'
|
|
- 'LICENSE'
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- platform: claude-code
|
|
runtime: python
|
|
branch: port-claude-code-py
|
|
label: Claude Code
|
|
target_dir: .claude/skills
|
|
- platform: cursor
|
|
runtime: powershell
|
|
branch: port-cursor
|
|
label: Cursor
|
|
target_dir: .cursor/skills
|
|
- platform: cursor
|
|
runtime: python
|
|
branch: port-cursor-py
|
|
label: Cursor
|
|
target_dir: .cursor/skills
|
|
- platform: codex
|
|
runtime: powershell
|
|
branch: port-codex
|
|
label: Codex
|
|
target_dir: .codex/skills
|
|
- platform: codex
|
|
runtime: python
|
|
branch: port-codex-py
|
|
label: Codex
|
|
target_dir: .codex/skills
|
|
- platform: copilot
|
|
runtime: powershell
|
|
branch: port-copilot
|
|
label: GitHub Copilot
|
|
target_dir: .github/skills
|
|
- platform: copilot
|
|
runtime: python
|
|
branch: port-copilot-py
|
|
label: GitHub Copilot
|
|
target_dir: .github/skills
|
|
- platform: augment
|
|
runtime: powershell
|
|
branch: port-augment
|
|
label: Augment
|
|
target_dir: .augment/skills
|
|
- platform: augment
|
|
runtime: python
|
|
branch: port-augment-py
|
|
label: Augment
|
|
target_dir: .augment/skills
|
|
- platform: cline
|
|
runtime: powershell
|
|
branch: port-cline
|
|
label: Cline
|
|
target_dir: .cline/skills
|
|
- platform: cline
|
|
runtime: python
|
|
branch: port-cline-py
|
|
label: Cline
|
|
target_dir: .cline/skills
|
|
- platform: kilo
|
|
runtime: powershell
|
|
branch: port-kilo
|
|
label: Kilo Code
|
|
target_dir: .kilocode/skills
|
|
- platform: kilo
|
|
runtime: python
|
|
branch: port-kilo-py
|
|
label: Kilo Code
|
|
target_dir: .kilocode/skills
|
|
- platform: kiro
|
|
runtime: powershell
|
|
branch: port-kiro
|
|
label: Kiro
|
|
target_dir: .kiro/skills
|
|
- platform: kiro
|
|
runtime: python
|
|
branch: port-kiro-py
|
|
label: Kiro
|
|
target_dir: .kiro/skills
|
|
- platform: gemini
|
|
runtime: powershell
|
|
branch: port-gemini
|
|
label: Gemini CLI
|
|
target_dir: .gemini/skills
|
|
- platform: gemini
|
|
runtime: python
|
|
branch: port-gemini-py
|
|
label: Gemini CLI
|
|
target_dir: .gemini/skills
|
|
- platform: opencode
|
|
runtime: powershell
|
|
branch: port-opencode
|
|
label: OpenCode
|
|
target_dir: .opencode/skills
|
|
- platform: opencode
|
|
runtime: python
|
|
branch: port-opencode-py
|
|
label: OpenCode
|
|
target_dir: .opencode/skills
|
|
- platform: roo
|
|
runtime: powershell
|
|
branch: port-roo
|
|
label: Roo Code
|
|
target_dir: .roo/skills
|
|
- platform: roo
|
|
runtime: python
|
|
branch: port-roo-py
|
|
label: Roo Code
|
|
target_dir: .roo/skills
|
|
- platform: windsurf
|
|
runtime: powershell
|
|
branch: port-windsurf
|
|
label: Windsurf
|
|
target_dir: .windsurf/skills
|
|
- platform: windsurf
|
|
runtime: python
|
|
branch: port-windsurf-py
|
|
label: Windsurf
|
|
target_dir: .windsurf/skills
|
|
- platform: agents
|
|
runtime: powershell
|
|
branch: port-agents
|
|
label: Agent Skills
|
|
target_dir: .agents/skills
|
|
- platform: agents
|
|
runtime: python
|
|
branch: port-agents-py
|
|
label: Agent Skills
|
|
target_dir: .agents/skills
|
|
|
|
steps:
|
|
- name: Checkout main
|
|
uses: actions/checkout@v5
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '3.11'
|
|
|
|
- name: Build skills tree for ${{ matrix.platform }} (${{ matrix.runtime }})
|
|
run: |
|
|
python scripts/switch.py "${{ matrix.platform }}" \
|
|
--project-dir build \
|
|
--runtime "${{ matrix.runtime }}"
|
|
|
|
- name: Render port README
|
|
env:
|
|
PLATFORM_LABEL: ${{ matrix.label }}
|
|
PLATFORM_DIR: ${{ matrix.target_dir }}
|
|
RUNTIME_LABEL: ${{ matrix.runtime == 'powershell' && 'PowerShell' || 'Python' }}
|
|
COMMIT_SHA: ${{ github.sha }}
|
|
MAIN_REPO_URL: https://github.com/${{ github.repository }}
|
|
run: |
|
|
sed \
|
|
-e "s|{{PLATFORM_LABEL}}|${PLATFORM_LABEL}|g" \
|
|
-e "s|{{PLATFORM_DIR}}|${PLATFORM_DIR}|g" \
|
|
-e "s|{{RUNTIME_LABEL}}|${RUNTIME_LABEL}|g" \
|
|
-e "s|{{COMMIT_SHA}}|${COMMIT_SHA}|g" \
|
|
-e "s|{{MAIN_REPO_URL}}|${MAIN_REPO_URL}|g" \
|
|
.github/templates/README.port.md.tmpl > build/README.md
|
|
|
|
- name: Render Codex plugin manifest
|
|
if: matrix.platform == 'codex'
|
|
env:
|
|
PLUGIN_NAME: ${{ matrix.runtime == 'python' && '1c-skills-py' || '1c-skills' }}
|
|
RUNTIME_LABEL: ${{ matrix.runtime == 'powershell' && 'PowerShell' || 'Python' }}
|
|
SHORT_DESCRIPTION: ${{ matrix.runtime == 'python' && 'Python runtime (Linux/Mac/Windows)' || 'PowerShell runtime (Windows-first)' }}
|
|
COMMIT_SHA: ${{ github.sha }}
|
|
run: |
|
|
VERSION="$(date -u +%Y.%-m.%-d)+${COMMIT_SHA::7}"
|
|
mkdir -p build/.codex-plugin
|
|
sed \
|
|
-e "s|{{PLUGIN_NAME}}|${PLUGIN_NAME}|g" \
|
|
-e "s|{{VERSION}}|${VERSION}|g" \
|
|
-e "s|{{RUNTIME_LABEL}}|${RUNTIME_LABEL}|g" \
|
|
-e "s|{{SHORT_DESCRIPTION}}|${SHORT_DESCRIPTION}|g" \
|
|
.github/templates/codex-plugin.json.tmpl > build/.codex-plugin/plugin.json
|
|
|
|
- name: Render Claude plugin manifest (Py variant)
|
|
if: matrix.platform == 'claude-code' && matrix.runtime == 'python'
|
|
env:
|
|
PLUGIN_NAME: 1c-skills-py
|
|
run: |
|
|
mkdir -p build/.claude-plugin
|
|
sed -e "s|{{PLUGIN_NAME}}|${PLUGIN_NAME}|g" \
|
|
.github/templates/claude-plugin.json.tmpl > build/.claude-plugin/plugin.json
|
|
|
|
- name: Copy LICENSE
|
|
run: cp LICENSE build/LICENSE
|
|
|
|
- name: Force-push orphan snapshot to ${{ matrix.branch }}
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
cd build
|
|
git init -q -b master
|
|
git config user.name "github-actions[bot]"
|
|
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
git add -A
|
|
git commit -q -m "Auto-build: ${{ matrix.platform }} (${{ matrix.runtime }}) from ${GITHUB_SHA::7}"
|
|
git push --force \
|
|
"https://x-access-token:${GH_TOKEN}@github.com/${{ github.repository }}.git" \
|
|
"master:${{ matrix.branch }}"
|