Skip to content

Improve manage-skills: clarify firstloop vs local skill creation workflow #8

Description

@firstloop-jake

Skill

core:manage-skills

Problem

The current manage-skills documentation focuses on the file structure and syntax for creating skills, but doesn't clearly distinguish between:

  1. Firstloop shared skills (in claude-code-plugins repo) - require GitHub issues/PRs
  2. Local project skills (in .claude/skills/) - can be created directly

This caused confusion where I attempted to create a skill by writing directly to the plugin cache (~/.claude/plugins/cache/firstloop-claude-code-plugins/...) instead of creating a GitHub issue.

By default, when a user asks to create or improve a skill for monotemplate or core plugins, we should assume they want a firstloop shared skill and follow the GitHub issue workflow.

Proposed Solution

Update the SKILL.md to add a clear decision tree at the top:

## Before Creating a Skill

### Where does this skill belong?

**Firstloop shared skill** (default assumption):
- Skills for `core` or `monotemplate` plugins
- Improvements to existing shared skills
- → Create a GitHub issue in `firstloophq/claude-code-plugins` (see [meta-skill-management.md](meta-skill-management.md))

**Local project skill**:
- Project-specific workflows
- Custom skills for a single codebase
- User explicitly requests a "local skill"
- → Create directly in `.claude/skills/<skill-name>/SKILL.md`

### Quick Reference

| Scenario | Action |
|----------|--------|
| "Create a skill for monotemplate" | GitHub issue |
| "Improve the crud skill" | GitHub issue |
| "Add a docker skill to the plugin" | GitHub issue |
| "Create a local skill for this project" | Create in `.claude/skills/` |
| "Add a skill just for this repo" | Create in `.claude/skills/` |

Examples

Before (confusing): User asks "create a docker skill in monotemplate" → Claude writes to plugin cache (wrong)

After (clear): User asks "create a docker skill in monotemplate" → Claude creates GitHub issue in firstloophq/claude-code-plugins (correct)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions