Skills

Skillshare Implement Feature

Implement a feature from a spec file or description using TDD workflow.

Install

npx skills add runkids/skillshare --skill skillshare-implement-feature -g -a claude-code -y
Repository
runkids/skillshare2.9k
Category
Testing
Updated
3d ago
License
MIT
Context cost
Mediumabout 1,781 tokens
Runs scripts
No, instructions only

What it does

Implement a feature from a spec file or description using TDD workflow. Use this skill whenever the user asks to: add a new CLI command, implement a feature from a spec, build new functionality, add a flag, create a new internal package, or write Go code for skillshare. This skill enforces test-first development, proper handler split conventions, oplog instrumentation, and dual-mode (global/project) patterns. If the request involves writing Go code and tests, use this skill, even if the user doesn't explicitly say "implement".

Implement a feature following TDD workflow. $ARGUMENTS is a spec file path (e.g., specs/my-feature.md) or a plain-text feature description.

Scope: This skill writes Go code and tests. It does NOT update website docs (use update-docs after) or CHANGELOG (use changelog after).

Before acting, run python3 scripts/ai-context.py cli-development testing. Those topics are the source of truth for repository patterns, execution boundaries and verification; this skill retains the TDD orchestration.

Workflow

Step 1: Understand Requirements

If $ARGUMENTS is a file path:

  1. Read the spec file
  2. Extract acceptance criteria and edge cases
  3. Identify affected packages

If $ARGUMENTS is a description:

  1. Search existing code for related functionality
  2. Identify the right package to extend
  3. Ask the user only if ambiguity would materially change scope or public interfaces

Step 2: Identify Affected Files

List all files that will be created or modified:

# Typical pattern for a new command
cmd/skillshare/<command>.go          # Command handler
cmd/skillshare/<command>_project.go  # Project-mode handler (if dual-mode)
internal/<package>/<feature>.go      # Core logic
tests/integration/<command>_test.go  # Integration test

Display the file list and continue.

Step 3: Write Failing Tests First (RED)

Write integration tests using testutil.Sandbox:

func TestFeature_BasicCase(t *testing.T) {
    sb := testutil.NewSandbox(t)
    defer sb.Cleanup()

    // Setup
    sb.CreateSkill("test-skill", map[string]string{
        "SKILL.md": "---\nname: test-skill\n---\n# Content",
    })

    // Act
    result := sb.RunCLI("command", "args...")

    // Assert
    result.AssertSuccess(t)
    result.AssertOutputContains(t, "expected output")
}
Read the whole SKILL.md on GitHub

More in Testing