Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"name": "hamkit",
"name": "kit",
"description": "Community plugin & skills marketplace for Claude Code",
"repository": "https://github.com/hamsurang/hamkit",
"homepage": "https://github.com/hamsurang/hamkit",
"repository": "https://github.com/hamsurang/kit",
"homepage": "https://github.com/hamsurang/kit",
"skills": [
{
"name": "vitest",
Expand Down
30 changes: 18 additions & 12 deletions plugins/skill-review/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
## Installation

```bash
claude plugin install skill-review@hamsurang/hamkit
claude plugin install skill-review@hamsurang/kit
```

## What This Plugin Does
Expand All @@ -22,45 +22,51 @@ Use the skill with an explicit path or let it auto-discover:
```

Also activates when you say:

- "review this skill"
- "skill review"
- "check my SKILL.md"
- "review the skill at ..."

## What Gets Checked

| Category | Examples |
|---|---|
| Frontmatter | Name format, character limits, reserved words, no XML tags |
| Description quality | Third-person, "Use when..." form, specific triggers, no workflow summary |
| Naming conventions | Gerund preferred, not vague generics |
| Content quality | ≤500 lines, imperative form, no explaining basics, runnable examples |
| Progressive disclosure | Heavy reference in `references/`, one-level nesting, ToC for large files |
| Structure | Unix paths, no stale dates, descriptive file names |
| Scripts (if present) | Error handling, no magic numbers, documented dependencies, qualified MCP names |
| Plugin manifest (if present) | Required fields in `plugin.json` |
| Category | Examples |
| ---------------------------- | ------------------------------------------------------------------------------ |
| Frontmatter | Name format, character limits, reserved words, no XML tags |
| Description quality | Third-person, "Use when..." form, specific triggers, no workflow summary |
| Naming conventions | Gerund preferred, not vague generics |
| Content quality | ≤500 lines, imperative form, no explaining basics, runnable examples |
| Progressive disclosure | Heavy reference in `references/`, one-level nesting, ToC for large files |
| Structure | Unix paths, no stale dates, descriptive file names |
| Scripts (if present) | Error handling, no magic numbers, documented dependencies, qualified MCP names |
| Plugin manifest (if present) | Required fields in `plugin.json` |

## Output Format

```markdown
## Skill Review: [skill-name]

### Summary

**Status:** PASS / NEEDS WORK / FAIL
**Score:** N/N checks passed | N warnings | N errors

### ✅ Passed (N)

...

### ⚠️ Warnings (N)

- **[Check name]**: [finding] — [why it matters]

### ❌ Errors (N)

- **[Check name]**: [finding] — [why it must be fixed]

### 📋 Prioritized Recommendations

1. Most critical fix first
...
...
```

## Plugin Structure
Expand Down
22 changes: 11 additions & 11 deletions scripts/scaffold-plugin.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash
# scaffold-plugin.sh — Interactive plugin scaffolding for hamkit
# scaffold-plugin.sh — Interactive plugin scaffolding for kit
# Usage: bash scripts/scaffold-plugin.sh
# curl -sSL https://raw.githubusercontent.com/hamsurang/hamkit/main/scripts/scaffold-plugin.sh | bash
# curl -sSL https://raw.githubusercontent.com/hamsurang/kit/main/scripts/scaffold-plugin.sh | bash

set -euo pipefail

Expand Down Expand Up @@ -81,21 +81,21 @@ sanitize_text() {
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd || pwd)"
REPO_ROOT=""

# Check if we're in a hamkit repo
# Check if we're in a kit repo
if [ -d "$SCRIPT_DIR/../plugins" ]; then
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
elif [ -d "$(pwd)/plugins" ]; then
REPO_ROOT="$(pwd)"
fi

if [ -z "$REPO_ROOT" ]; then
warn "Could not find a hamkit repo (no plugins/ directory found)."
warn "Cloning hamkit to ./hamkit/ ..."
warn "Could not find a kit repo (no plugins/ directory found)."
warn "Cloning kit to ./kit/ ..."
if command -v git >/dev/null 2>&1; then
git clone https://github.com/hamsurang/hamkit hamkit
REPO_ROOT="$(pwd)/hamkit"
git clone https://github.com/hamsurang/kit kit
REPO_ROOT="$(pwd)/kit"
else
error "git is not installed. Please clone hamsurang/hamkit manually."
error "git is not installed. Please clone hamsurang/kit manually."
exit 2
fi
fi
Expand All @@ -104,8 +104,8 @@ PLUGINS_DIR="$REPO_ROOT/plugins"

# ── Banner ────────────────────────────────────────────────────────────────────
printf "\n"
bold " hamkit Plugin Scaffolder"
info " github.com/hamsurang/hamkit"
bold " kit Plugin Scaffolder"
info " github.com/hamsurang/kit"
printf "\n"

# ── Collect Inputs ────────────────────────────────────────────────────────────
Expand Down Expand Up @@ -331,7 +331,7 @@ MDEOF
sed -i.bak \
-e "s|DISPLAY_NAME_PLACEHOLDER|$DISPLAY_NAME|g" \
-e "s|DESCRIPTION_PLACEHOLDER|$DESCRIPTION|g" \
-e "s|INSTALL_CMD_PLACEHOLDER|claude plugin install $PLUGIN_NAME\@hamsurang\/hamkit|g" \
-e "s|INSTALL_CMD_PLACEHOLDER|claude plugin install $PLUGIN_NAME\@hamsurang\/kit|g" \
-e "s|LICENSE_PLACEHOLDER|$LICENSE|g" \
"$PLUGIN_DIR/README.md" && rm -f "$PLUGIN_DIR/README.md.bak"

Expand Down
Loading