No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-02 14:56:15 -07:00
.claude-plugin feat: add html communication skill 2026-08-28 23:46:16 -07:00
agents add comment sicko 2026-10-02 14:56:15 -07:00
commands unslop: add skill for improving text 2026-08-26 21:20:31 -07:00
scripts unslop: add skill for improving text 2026-08-26 21:20:31 -07:00
skills add comment sicko 2026-10-02 14:56:15 -07:00
.gitattributes Normalize line endings to LF 2026-08-25 22:13:21 -07:00
.gitignore Scaffold crowskills plugin and marketplace 2026-08-25 22:12:49 -07:00
README.md unslop: add skill for improving text 2026-08-26 21:20:31 -07:00

crowskills

A Claude Code plugin that distributes a collection of skills.

The repository is also its own plugin marketplace, so it can be installed directly from Forgejo.

Install

/plugin marketplace add https://git.crowmaki.me/crowmaki/crowskills.git
/plugin install crowskills@crowskills

To develop against a local checkout instead:

/plugin marketplace add E:/repos/crowskills
/plugin install crowskills@crowskills

Layout

.claude-plugin/
  plugin.json       # plugin manifest (name, version, author)
  marketplace.json  # marketplace manifest listing this plugin
commands/
  spec-requirements.md, spec-design.md, spec-tasks.md, spec-implement.md
  unslop.md
skills/
  spec-requirements/
    SKILL.md        # frontmatter: name + description; body: instructions
    references/     # optional long-form material, loaded on demand
  spec-design/
  spec-tasks/
  unslop/
scripts/
  bump-version.py   # keeps both manifests at the same version

Every directory under skills/ that contains a SKILL.md is picked up automatically. No registration step is needed.

Spec-driven development

Three skills cover a spec cycle, one phase each, with an approval gate between them. Specs live at docs/specs/<feature-name>/ in the target repository.

Phase Skill Command Produces
1 spec-requirements /spec-requirements <feature> requirements.md — numbered REQ/NFR entries, user stories, EARS acceptance criteria
2 spec-design /spec-design <feature> design.md — architecture, interfaces, data models, error handling, testing strategy
3 spec-tasks /spec-tasks <feature> tasks.md — ordered checklist, each task citing the requirements it satisfies
4 — /spec-implement <feature> the implementation, task by task

Each phase reads the phase before it, cites requirement identifiers so the chain stays traceable, and stops for approval instead of running on into the next phase. The skills also load on their own when a request clearly calls for one; the commands exist for driving the cycle deliberately.

/spec-implement is a command with no skill behind it — it drives the approved task list rather than authoring a document. Each invocation takes one batch of independent tasks, runs them in parallel as worktree-isolated agents, puts two adversarial reviewers on each result, merges what survives, and checks the tasks off. It arms /loop so the batches continue until the list is done, and stops the loop when implementation contradicts the design instead of diverging from it.

Unslop

unslop removes AI tells from writing. It loads on its own whenever you are writing prose, and /unslop <file, directory, or glob> runs it deliberately over documents that already exist.

The command resolves the argument into a file list, reads each file to learn the voice it should keep, and edits in place. Past three files it puts one agent on each, four at a time. Code blocks, quoted text, and identifiers are left alone. It reports which patterns it cut, by number, and stops to ask when a rewrite would change what the document claims rather than how it reads.

Adding a skill

  1. Create skills/<your-skill-name>/ with a SKILL.md inside.
  2. Set name in the frontmatter to match the directory name (lowercase, hyphens, no spaces).
  3. Write the description for the dispatcher: say what the skill does and the concrete triggers that should load it. This is the only text Claude sees when deciding whether to use it.
  4. Keep SKILL.md focused; push detail into references/ and scripts into scripts/.

Releasing

Bump the version in both .claude-plugin/plugin.json and .claude-plugin/marketplace.json, then push:

python scripts/bump-version.py patch      # 0.1.0 -> 0.1.1
python scripts/bump-version.py minor      # 0.1.0 -> 0.2.0
python scripts/bump-version.py major      # 0.1.0 -> 1.0.0
python scripts/bump-version.py 1.4.0      # an exact version
python scripts/bump-version.py patch --dry-run

The script writes only the version line in each manifest, so the rest of the formatting survives. It refuses to run if the two manifests already disagree, which means a hand edit went to one file and not the other. Fix that by hand first.

Installed users pick up changes with /plugin marketplace update crowskills.