Back to skills
SkillHub ClubWrite Technical DocsFull StackTech WriterTesting

implementation

Use when implementing features from feature-list.json, writing code following project patterns, or using MCP tools efficiently. Load in IMPLEMENT state. Covers coding patterns, test writing, health checks, and token-efficient MCP usage (defer_loading for 85% savings).

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
7
Hot score
83
Updated
March 20, 2026
Overall rating
C2.3
Composite score
2.3
Best-practice grade
N/A

Install command

npx @skill-hub/cli install ingpoc-skills-implementation
codingtestingautomationgitmcp

Repository

ingpoc/SKILLS

Skill path: implementation

Use when implementing features from feature-list.json, writing code following project patterns, or using MCP tools efficiently. Load in IMPLEMENT state. Covers coding patterns, test writing, health checks, and token-efficient MCP usage (defer_loading for 85% savings).

Open repository

Best for

Primary workflow: Write Technical Docs.

Technical facets: Full Stack, Tech Writer, Testing, Integration.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: ingpoc.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install implementation into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/ingpoc/SKILLS before adding implementation to shared team environments
  • Use implementation for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: implementation
description: "Use when implementing features from feature-list.json, writing code following project patterns, or using MCP tools efficiently. Load in IMPLEMENT state. Covers coding patterns, test writing, health checks, and token-efficient MCP usage (defer_loading for 85% savings)."
keywords: implement, code, develop, mcp, patterns, health-check
---

# Implementation

Feature development for IMPLEMENT state.

## Instructions

1. Get current feature: `scripts/get-current-feature.sh`
2. Query context graph for similar work
3. Implement following project patterns (see references/)
4. Write tests alongside code
5. Run health check: `scripts/health-check.sh`
6. **Git commit**: `scripts/feature-commit.sh <feature-id>`
7. Mark complete: `scripts/mark-feature-complete.sh`

## Exit Criteria (Code Verified)

```bash
# All must pass
scripts/health-check.sh && echo "Health OK"
[ -f "tests/test_*.py" ] || [ -f "*.test.ts" ]
[ -z "$(git status --porcelain)" ] && echo "Changes committed"
jq '.features[] | select(.id=="'$FEATURE_ID'") | .status == "implemented"' .claude/progress/feature-list.json
```

## Scripts

| Script | Purpose |
|--------|---------|
| `scripts/feature-commit.sh` | Commit with feature ID message |
| `scripts/session-commit.sh` | Checkpoint commit at session end |

## References

| File | Load When |
|------|-----------|
| references/coding-patterns.md | Writing implementation code |
| references/mcp-usage.md | Using MCP tools efficiently |
| references/health-checks.md | Verifying implementation |
| references/async-parallel-operations.md | Running independent operations in parallel |


---

## Referenced Files

> The following files are referenced in this skill and included for context.

### scripts/health-check.sh

```bash
#!/bin/bash
# Run health check for dev server
# Exit: 0 = healthy, 1 = unhealthy
# Config: .claude/config/project.json → health_check, dev_server_port

# ─────────────────────────────────────────────────────────────────
# Config helper (self-contained)
# ─────────────────────────────────────────────────────────────────
CONFIG="$PWD/.claude/config/project.json"
get_config() { jq -r ".$1 // empty" "$CONFIG" 2>/dev/null || echo "$2"; }

# ─────────────────────────────────────────────────────────────────
# Get health check command from config
# ─────────────────────────────────────────────────────────────────
PORT=$(get_config "dev_server_port" "3000")
HEALTH_CMD=$(get_config "health_check" "")

if [ -z "$HEALTH_CMD" ]; then
    # Default: try /health then /
    HEALTH_CMD="curl -sf http://localhost:$PORT/health || curl -sf http://localhost:$PORT/"
fi

# ─────────────────────────────────────────────────────────────────
# Run health check
# ─────────────────────────────────────────────────────────────────
echo "=== Health Check ==="
echo "Command: $HEALTH_CMD"

if eval "$HEALTH_CMD" > /dev/null 2>&1; then
    echo "✓ Server healthy on port $PORT"
    exit 0
else
    echo "✗ Server not responding on port $PORT"
    exit 1
fi

```

### scripts/get-current-feature.sh

```bash
#!/bin/bash
# Get current feature from state or find next pending
# Output: JSON with feature details

STATE_FILE=".claude/progress/state.json"
FEATURE_FILE=".claude/progress/feature-list.json"

# Check if we have a current feature in state
if [ -f "$STATE_FILE" ]; then
    FEATURE_ID=$(jq -r '.feature_id // empty' "$STATE_FILE")
    if [ -n "$FEATURE_ID" ] && [ "$FEATURE_ID" != "null" ]; then
        jq '.features[] | select(.id == "'$FEATURE_ID'")' "$FEATURE_FILE"
        exit 0
    fi
fi

# Otherwise get first pending feature
if [ -f "$FEATURE_FILE" ]; then
    jq '.features[] | select(.status == "pending") | first' "$FEATURE_FILE"
else
    echo '{"error": "No feature-list.json found"}'
    exit 1
fi

```

### scripts/feature-commit.sh

```bash
#!/bin/bash
# Auto-commit with feature ID message
# Usage: ./feature-commit.sh <feature-id> [message]
# Example: ./feature-commit.sh feat-001 "Implement user login"

set -e

FEATURE_ID="${1:-}"
MESSAGE="${2:-}"

if [ -z "$FEATURE_ID" ]; then
    echo "Usage: ./feature-commit.sh <feature-id> [message]"
    echo "Example: ./feature-commit.sh feat-001 'Implement user login'"
    exit 1
fi

# Check if in git repo
if [ ! -d ".git" ]; then
    echo "ERROR: Not a git repository"
    exit 1
fi

# Check for uncommitted changes
if [ -z "$(git status --porcelain)" ]; then
    echo "No changes to commit"
    exit 0
fi

# Get feature details from feature-list.json if no message provided
if [ -z "$MESSAGE" ]; then
    if [ -f ".claude/progress/feature-list.json" ]; then
        FEATURE_NAME=$(jq -r --arg id "$FEATURE_ID" '.features[] | select(.id == $id) | .name // .description // "Feature implementation"' .claude/progress/feature-list.json 2>/dev/null)
        if [ -n "$FEATURE_NAME" ] && [ "$FEATURE_NAME" != "null" ]; then
            MESSAGE="$FEATURE_NAME"
        else
            MESSAGE="Implement $FEATURE_ID"
        fi
    else
        MESSAGE="Implement $FEATURE_ID"
    fi
fi

# Stage all changes
git add -A

# Create commit with standardized format
COMMIT_MSG="[$FEATURE_ID] $MESSAGE"

git commit -m "$COMMIT_MSG"

# Output commit hash for tracking
COMMIT_HASH=$(git rev-parse --short HEAD)
echo ""
echo "Committed: $COMMIT_HASH - $COMMIT_MSG"

# Update feature-list.json with commit hash
if [ -f ".claude/progress/feature-list.json" ]; then
    jq --arg id "$FEATURE_ID" --arg hash "$COMMIT_HASH" \
        '(.features[] | select(.id == $id)) += {"last_commit": $hash}' \
        .claude/progress/feature-list.json > /tmp/feature-list.tmp && \
        mv /tmp/feature-list.tmp .claude/progress/feature-list.json
    echo "Updated feature-list.json with commit hash"
fi

# Output JSON for programmatic use
cat << EOF
{
  "feature_id": "$FEATURE_ID",
  "commit_hash": "$COMMIT_HASH",
  "message": "$COMMIT_MSG"
}
EOF

```

### scripts/mark-feature-complete.sh

```bash
#!/bin/bash
# Mark current feature as implemented
# Usage: mark-feature-complete.sh [FEATURE_ID]

FEATURE_ID=${1:-$(jq -r '.feature_id' .claude/progress/state.json)}
FEATURE_FILE=".claude/progress/feature-list.json"

if [ -z "$FEATURE_ID" ] || [ "$FEATURE_ID" = "null" ]; then
    echo "ERROR: No feature ID specified"
    exit 1
fi

if [ ! -f "$FEATURE_FILE" ]; then
    echo "ERROR: feature-list.json not found"
    exit 1
fi

# Update feature status
jq '(.features[] | select(.id == "'$FEATURE_ID'")).status = "implemented"' "$FEATURE_FILE" > /tmp/features.tmp && \
mv /tmp/features.tmp "$FEATURE_FILE"

# Update metadata
TOTAL=$(jq '.features | length' "$FEATURE_FILE")
COMPLETED=$(jq '[.features[] | select(.status == "implemented" or .status == "tested")] | length' "$FEATURE_FILE")

jq '.metadata.total = '$TOTAL' | .metadata.completed = '$COMPLETED'' "$FEATURE_FILE" > /tmp/features.tmp && \
mv /tmp/features.tmp "$FEATURE_FILE"

echo "Feature $FEATURE_ID marked as implemented"
jq '.features[] | select(.id == "'$FEATURE_ID'")' "$FEATURE_FILE"

```

### scripts/session-commit.sh

```bash
#!/bin/bash
# Session checkpoint commit
# Usage: ./session-commit.sh [message]
# Creates a checkpoint commit at session end

set -e

MESSAGE="${1:-Session checkpoint}"

# Check if in git repo
if [ ! -d ".git" ]; then
    echo "Not a git repository, skipping commit"
    exit 0
fi

# Check for uncommitted changes
if [ -z "$(git status --porcelain)" ]; then
    echo "No changes to commit"
    exit 0
fi

# Get session info
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
STATE="UNKNOWN"
if [ -f ".claude/progress/state.json" ]; then
    STATE=$(jq -r '.state // "UNKNOWN"' .claude/progress/state.json)
fi

# Count completed features
COMPLETED=0
TOTAL=0
if [ -f ".claude/progress/feature-list.json" ]; then
    COMPLETED=$(jq '[.features[] | select(.status == "tested" or .status == "completed")] | length' .claude/progress/feature-list.json 2>/dev/null || echo 0)
    TOTAL=$(jq '.features | length' .claude/progress/feature-list.json 2>/dev/null || echo 0)
fi

# Stage all changes
git add -A

# Create commit with session info
COMMIT_MSG="[session] $MESSAGE

State: $STATE
Features: $COMPLETED/$TOTAL completed
Timestamp: $TIMESTAMP"

git commit -m "$COMMIT_MSG"

# Output commit hash
COMMIT_HASH=$(git rev-parse --short HEAD)
echo ""
echo "Session commit: $COMMIT_HASH"
echo "State: $STATE, Features: $COMPLETED/$TOTAL"

# Output JSON
cat << EOF
{
  "type": "session",
  "commit_hash": "$COMMIT_HASH",
  "state": "$STATE",
  "features_completed": $COMPLETED,
  "features_total": $TOTAL,
  "timestamp": "$TIMESTAMP"
}
EOF

```