This repository has been archived on 2026-08-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
openclaw/skills/gsd-openclaw/.planning/phases/02-integration-layer/02-01-PLAN.md
T

5.8 KiB

phase, plan, type, wave, depends_on, files_modified, autonomous, requirements, must_haves
phase plan type wave depends_on files_modified autonomous requirements must_haves
02-integration-layer 01 execute 1
skill/SKILL.md
tests/test_skill_md.py
true
OCLW-01
OCLW-02
truths artifacts key_links
SKILL.md has valid YAML frontmatter with name and description fields
OpenClaw can load the skill successfully
Skill triggers on /gsd:* command patterns
path provides min_lines contains
skill/SKILL.md OpenClaw skill definition and trigger patterns 20 ---
path provides exports
tests/test_skill_md.py Tests for SKILL.md validation
TestSkillMd
from to via pattern
skill/SKILL.md OpenClaw Gateway skill loading name:.*description:
Create SKILL.md with valid frontmatter that OpenClaw can load and triggers on /gsd:* commands.

Purpose: Define the skill entry point for OpenClaw's skill registry. The SKILL.md file is the "face" of the gsd-openclaw skill that OpenClaw loads to understand when to invoke this skill.

Output:

  • skill/SKILL.md - OpenClaw skill definition
  • tests/test_skill_md.py - Validation tests

<execution_context> @/home/starmen1265/.claude/get-shit-done/workflows/execute-plan.md @/home/starmen1265/.claude/get-shit-done/templates/summary.md </execution_context>

@.planning/PROJECT.md @.planning/ROADMAP.md @.planning/STATE.md @.planning/phases/02-integration-layer/02-CONTEXT.md @.planning/phases/02-integration-layer/02-RESEARCH.md

Example frontmatter format:

---
name: gsd-openclaw
description: GSD project management via /gsd:* commands. Triggers on /gsd:new-project, /gsd:plan, /gsd:status, /gsd:use and other GSD slash commands.
---
Task 1: Create test scaffold for SKILL.md validation tests/test_skill_md.py - Test 1: SKILL.md file exists at skill/SKILL.md - Test 2: SKILL.md has valid YAML frontmatter between --- delimiters - Test 3: SKILL.md frontmatter contains `name` field - Test 4: SKILL.md frontmatter contains `description` field - Test 5: description field contains /gsd: pattern for triggering Create tests/test_skill_md.py with test class TestSkillMd containing:
1. test_skill_md_exists():
   - Assert skill/SKILL.md file exists
   - Use Path(__file__).parent.parent / "skill" / "SKILL.md"

2. test_skill_md_has_valid_frontmatter():
   - Read file content
   - Assert content starts with "---\n"
   - Assert second "---" delimiter exists
   - Use yaml.safe_load() to parse frontmatter (import yaml)

3. test_skill_md_has_name_field():
   - Parse frontmatter
   - Assert "name" key exists
   - Assert name is non-empty string

4. test_skill_md_has_description_field():
   - Parse frontmatter
   - Assert "description" key exists
   - Assert description is non-empty string

5. test_skill_md_description_contains_gsd_pattern():
   - Parse frontmatter
   - Assert "/gsd:" appears in description (for trigger matching)

Follow test pattern from tests/test_state_manager.py (class-based, clear docstrings).
Add yaml to test dependencies if needed (should be available via pytest).
pytest tests/test_skill_md.py -v - tests/test_skill_md.py exists with 5 passing tests - All tests fail initially (no SKILL.md yet) Task 2: Create SKILL.md with valid frontmatter skill/SKILL.md - Test: All tests in test_skill_md.py pass Create skill/SKILL.md with:
1. YAML frontmatter (between --- delimiters):
   - name: gsd-openclaw
   - description: GSD project management via /gsd:* commands. Triggers on /gsd:new-project, /gsd:plan, /gsd:status, /gsd:use and other GSD slash commands.

2. Markdown content body (after frontmatter):
   - Title: # GSD-OpenClaw Skill
   - "## When to Use" section explaining trigger patterns
   - "## Commands" table with supported /gsd:* commands
   - "## Project Context" section explaining /gsd:use command

User decision (LOCKED): Only /gsd:* command triggers, no natural language.

Commands to document in table:
| Command | Description |
| /gsd:new-project &lt;name&gt; | Create a new GSD project |
| /gsd:use &lt;project&gt; | Switch to a project context |
| /gsd:status | Show current project status |
| /gsd:plan | Run planning phase |
| /gsd:ship | Ship the current phase |
| /gsd:help | Show available commands |

Follow dev-workflow/SKILL.md structure as reference.
pytest tests/test_skill_md.py -v - skill/SKILL.md exists with valid YAML frontmatter - All 5 tests in test_skill_md.py pass - SKILL.md has name, description fields with /gsd: trigger pattern - Run pytest tests/test_skill_md.py -v (all tests pass) - Verify SKILL.md can be parsed as valid YAML - Verify description contains /gsd: pattern for OpenClaw trigger matching

<success_criteria>

  1. skill/SKILL.md exists with valid YAML frontmatter
  2. Frontmatter contains name: gsd-openclaw
  3. Frontmatter contains description with /gsd:* pattern
  4. All 5 tests in tests/test_skill_md.py pass </success_criteria>
After completion, create `.planning/phases/02-integration-layer/02-01-SUMMARY.md`