Skip to content

Commit b9c1536

Browse files
committed
ci: Add Tessl tile publishing workflow and PKL generation
Add automated publishing of SCE skills as Tessl tiles via GitHub Actions
1 parent cfb652f commit b9c1536

File tree

62 files changed

+458
-39
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+458
-39
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Publish Tessl tiles
2+
3+
permissions:
4+
id-token: write
5+
contents: read
6+
7+
on:
8+
push:
9+
branches:
10+
- main
11+
paths:
12+
- "config/.opencode/skills/**"
13+
- "config/.claude/skills/**"
14+
- ".github/workflows/publish-tiles.yml"
15+
- ".version"
16+
workflow_dispatch:
17+
18+
jobs:
19+
publish:
20+
runs-on: ubuntu-latest
21+
strategy:
22+
fail-fast: false
23+
matrix:
24+
path:
25+
- config/.opencode/skills/sce-atomic-commit
26+
- config/.claude/skills/sce-atomic-commit
27+
- config/.opencode/skills/sce-bootstrap-context
28+
- config/.claude/skills/sce-bootstrap-context
29+
- config/.opencode/skills/sce-context-sync
30+
- config/.claude/skills/sce-context-sync
31+
- config/.opencode/skills/sce-drift-analyzer
32+
- config/.claude/skills/sce-drift-analyzer
33+
- config/.opencode/skills/sce-drift-fixer
34+
- config/.claude/skills/sce-drift-fixer
35+
- config/.opencode/skills/sce-handover-writer
36+
- config/.claude/skills/sce-handover-writer
37+
- config/.opencode/skills/sce-plan-authoring
38+
- config/.claude/skills/sce-plan-authoring
39+
- config/.opencode/skills/sce-plan-review
40+
- config/.claude/skills/sce-plan-review
41+
- config/.opencode/skills/sce-task-execution
42+
- config/.claude/skills/sce-task-execution
43+
- config/.opencode/skills/sce-validation
44+
- config/.claude/skills/sce-validation
45+
steps:
46+
- name: Check out repository
47+
uses: actions/checkout@v6
48+
49+
- name: Publish tile
50+
if: ${{ hashFiles(format('{0}/tile.json', matrix.path)) != '' }}
51+
uses: tesslio/publish@main
52+
with:
53+
token: ${{ secrets.TESSL_API_TOKEN }}
54+
path: ${{ matrix.path }}

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,17 @@ Use the [WIP] sce cli at `cli/`. See `cli/README.md` for current behavior and us
1212
- [Getting Started](https://sce.crocoder.dev/docs/getting-started)
1313
- [Motivation](https://sce.crocoder.dev/docs/motivation)
1414

15+
## Tessl skills
16+
17+
The publish workflow at `.github/workflows/publish-tiles.yml` treats each skill directory under `config/.opencode/skills/` and `config/.claude/skills/` as its own Tessl tile.
18+
19+
Before GitHub Actions can publish a tile, generate a `tile.json` inside each skill directory you want to publish:
20+
21+
```sh
22+
tessl skill import ./config/.opencode/skills/sce-plan-authoring --workspace <myworkspace>
23+
tessl skill import ./config/.claude/skills/sce-plan-authoring --workspace <myworkspace>
24+
```
25+
26+
Repeat that for any other skill folders you want Tessl to manage, then add the `TESSL_API_TOKEN` repository secret described in the Tessl publishing docs.
27+
1528
Built by [CroCoder](https://www.crocoder.dev/)

config/.claude/skills/sce-atomic-commit/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: sce-atomic-commit
3-
description: Write atomic, repo-style git commits from a change summary or diff. Use when preparing commit messages, splitting work into coherent commits, or reviewing whether a commit is too broad.
3+
description: "Write atomic, repo-style git commits from a change summary or diff. Use when preparing commit messages, splitting work into coherent commits, or reviewing whether a commit is too broad."
44
compatibility: claude
55
---
66

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"name": "crocoder-dev/sce-atomic-commit",
3+
"version": "0.1.0",
4+
"summary": "Write atomic, repo-style git commits from a change summary or diff.",
5+
"private": false,
6+
"skills": {
7+
"sce-atomic-commit": {
8+
"path": "SKILL.md"
9+
}
10+
}
11+
}

config/.claude/skills/sce-bootstrap-context/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: sce-bootstrap-context
3-
description: Creates the SCE (Shared Context Engineering) baseline `context/` directory structure — a set of markdown files and sub-folders used as shared project memory (overview, architecture, patterns, glossary, decisions, plans, handovers, and a temporary scratch space). Use when the `context/` folder is missing from the repository, when a user asks to initialise the project context, set up context, create baseline documentation structure, or when shared configuration files for project memory are absent.
3+
description: "Creates the SCE (Shared Context Engineering) baseline `context/` directory structure — a set of markdown files and sub-folders used as shared project memory (overview, architecture, patterns, glossary, decisions, plans, handovers, and a temporary scratch space). Use when the `context/` folder is missing from the repository, when a user asks to initialise the project context, set up context, create baseline documentation structure, or when shared configuration files for project memory are absent."
44
compatibility: claude
55
---
66

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"name": "crocoder-dev/sce-bootstrap-context",
3+
"version": "0.1.0",
4+
"summary": "Create the baseline Shared Context Engineering context directory structure.",
5+
"private": false,
6+
"skills": {
7+
"sce-bootstrap-context": {
8+
"path": "SKILL.md"
9+
}
10+
}
11+
}

config/.claude/skills/sce-context-sync/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: sce-context-sync
3-
description: Use when user wants to update project documentation to reflect code changes, sync docs with code, refresh project context, or keep AI memory files accurate after completing an implementation task. Scans modified code, classifies the change significance, then updates or verifies Markdown context files under `context/` (overview, architecture, glossary, patterns, context-map, and domain files) so that durable AI memory stays aligned with current code truth.
3+
description: "Use when user wants to update project documentation to reflect code changes, sync docs with code, refresh project context, or keep AI memory files accurate after completing an implementation task. Scans modified code, classifies the change significance, then updates or verifies Markdown context files under `context/` (overview, architecture, glossary, patterns, context-map, and domain files) so that durable AI memory stays aligned with current code truth."
44
compatibility: claude
55
---
66

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"name": "crocoder-dev/sce-context-sync",
3+
"version": "0.1.0",
4+
"summary": "Sync Shared Context Engineering context files with implemented code changes.",
5+
"private": false,
6+
"skills": {
7+
"sce-context-sync": {
8+
"path": "SKILL.md"
9+
}
10+
}
11+
}

config/.claude/skills/sce-drift-analyzer/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: sce-drift-analyzer
3-
description: Compares project documentation against actual code implementation to identify outdated, missing, or mismatched content — then produces a prioritized report with actionable fixes. Use when the user says docs are out of date, wants to sync documentation with code, suspects the spec no longer matches implementation, notices code comments or context files are stale, or asks whether documentation reflects the current codebase. Third-person: analyzes documentation-vs-implementation alignment using JavaScript collectors, writes a structured drift report, and asks the user before applying any changes.
3+
description: "Compares project documentation against actual code implementation to identify outdated, missing, or mismatched content — then produces a prioritized report with actionable fixes. Use when the user says docs are out of date, wants to sync documentation with code, suspects the spec no longer matches implementation, notices code comments or context files are stale, or asks whether documentation reflects the current codebase. Third-person: analyzes documentation-vs-implementation alignment using JavaScript collectors, writes a structured drift report, and asks the user before applying any changes."
44
compatibility: claude
55
---
66

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"name": "crocoder-dev/sce-drift-analyzer",
3+
"version": "0.1.0",
4+
"summary": "Analyze drift between project context documentation and actual code.",
5+
"private": false,
6+
"skills": {
7+
"sce-drift-analyzer": {
8+
"path": "SKILL.md"
9+
}
10+
}
11+
}

0 commit comments

Comments
 (0)