Skip to content

Add SSL Skill Normalizer and convert reporting, error-messages, jqschema to SSL JSON#32911

Draft
Copilot wants to merge 5 commits into
mainfrom
copilot/ssl-skill-normalizer
Draft

Add SSL Skill Normalizer and convert reporting, error-messages, jqschema to SSL JSON#32911
Copilot wants to merge 5 commits into
mainfrom
copilot/ssl-skill-normalizer

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 17, 2026

Introduces the Scheduling-Structural-Logical (SSL) representation format for skill artifacts and applies it to three existing skills.

New: .github/skills/ssl/SKILL.md

Reusable meta-skill defining the four-pass SSL normalization pipeline:

  • Pass 1 – scheduling extraction (id, goal, intent signature, I/O, dependencies, entry scene)
  • Pass 2 – scene decomposition with restricted type enum: PREPARE | ACQUIRE | REASON | ACT | VERIFY | RECOVER | FINALIZE
  • Pass 3 – logic-step expansion with restricted action types (READ, WRITE, CALL_TOOL, …) and resource scopes (MEMORY, LOCAL_FS, PROCESS, …)
  • Pass 4 – validation: enum membership, graph integrity, transition targets, entry pointer validity

Frontmatter documents this as a meta-skill interface, not an executable gh-aw workflow.

Converted skills (ssl.json alongside each SKILL.md)

Skill Scene graph
reporting ACT → FINALIZE
error-messages REASON → ACT → VERIFY
jqschema PREPARE → ACQUIRE → ACT

Each file uses $-prefixed variable bindings for data flow and YIELD_SUCCESS/END_SUCCESS terminal targets per the SSL spec.

Copilot AI and others added 2 commits May 17, 2026 23:24
…to SSL JSON

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
…/SKILL.md frontmatter

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title Add SSL Skill Normalizer and convert three skills to SSL JSON Add SSL Skill Normalizer and convert reporting, error-messages, jqschema to SSL JSON May 17, 2026
Copilot AI requested a review from pelikhan May 17, 2026 23:25
@github-actions github-actions Bot mentioned this pull request May 18, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Hey @app/copilot-swe-agent 👋 — great work introducing the SSL (Scheduling-Structural-Logical) representation format and converting the first three skills (reporting, error-messages, jqschema) to ssl.json! The PR description is clear and thorough, and the scope is tightly focused.

One thing that would strengthen this before merge:

  • Add validation tests — the SSL spec defines a four-pass pipeline with strict enum membership, graph integrity checks, and transition-target validity rules (Pass 4). There are no test files in this diff. Even a lightweight Go test (or a JSON Schema + a small validator script) that asserts the three ssl.json files are well-formed against the spec would give reviewers confidence and catch regressions as more skills are converted.

If you'd like a hand with that, you can run this prompt on your coding agent:

Add validation tests for the SSL skill JSON files introduced in this PR.

The SSL spec (defined in .github/skills/ssl/SKILL.md) mandates:
1. Scene `type` values must be one of: PREPARE | ACQUIRE | REASON | ACT | VERIFY | RECOVER | FINALIZE
2. Logic-step `action` values must be one of: READ | WRITE | CALL_TOOL | ... (per the spec)
3. Every transition `target` must reference a scene `id` that exists in the same graph, or be YIELD_SUCCESS / END_SUCCESS
4. The `entry` pointer must reference a valid scene `id`

Write a Go test (or a small JSON Schema + test script) that loads each of the following files and asserts all four rules pass:
- .github/skills/error-messages/ssl.json
- .github/skills/jqschema/ssl.json
- .github/skills/reporting/ssl.json

Place the test alongside the existing test infrastructure in the `tests/` directory.

Generated by ✅ Contribution Check · ● 7.9M ·

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot reciew all comments

Copilot AI and others added 2 commits May 18, 2026 02:33
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
…ions, document repoRoot duplication

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 18, 2026

@copilot reciew all comments

The main actionable item from the Contribution Check bot was adding validation tests for the SSL JSON files. Done in this committests/ssl_validation_test.go adds TestSSLSkills_ValidateEnumsAndGraph which asserts all four SSL Pass-4 rules against the three converted skills (scene type enums, action type enums, transition target graph integrity, and entry pointer validity). A follow-up code review pass fixed the package name to ssl_validation_test, promoted entry-point assertions to require, and added a note explaining the local repoRoot helper.

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot update prompt to use ssl structure to improve skill. Review original article.

…l/ssl.json; extend test coverage

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 18, 2026

@copilot update prompt to use ssl structure to improve skill. Review original article.

Done. Two changes in the latest commit:

  1. ssl/SKILL.md updated from the original paper (arXiv:2604.24026 — Liang et al., "From Skill Text to Skill Structure"): reorganised the prompt around the paper's three named layers (Scheduling / Structural / Logical), added a Schank & Abelson theoretical grounding note, replaced bullet-list enums with meaning tables, expanded the Pass 4 validation table with all rule names, added a retry budget recommendation (≤ 3), and added the paper citation.

  2. Self-applied SSL: created ssl/ssl.json — the normalizer skill described by its own representation. It has 5 scenes (PREPARE → REASON → VERIFY → RECOVER → FINALIZE) capturing the retry loop via a RECOVER scene, and 10 logic steps. The validation test now covers this file too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants