Skip to content

Skills

Skills are reusable folders of instructions, scripts, and resources that help Cosine handle specialised tasks more reliably.

In Cosine, skills are useful for two different jobs:

  • personal or project-installed skills you add with cos skills add
  • repo-shared skills you keep in source control under .agents/skills/

If you want a practical walkthrough for authoring one, see Creating Your First Skill. For the broader open standard behind skills, see Agent Skills and the specification.

At minimum, a skill is a folder with a SKILL.md file. That file contains:

  • a name
  • a description
  • the instructions the agent should follow when the skill is used

Many skills also include optional support files:

my-skill/
├── SKILL.md
├── references/
│ └── domain-notes.md
└── scripts/
└── helper.py

The description matters most for triggering. It should explain both what the skill does and when it should be used.

Cosine discovers skills from a few different places:

  1. Project-managed skills stored under ~/.cosine/projects/<project-id>/skills
  2. Repo-shared skills stored in .agents/skills/ inside the repository
  3. Global personal skills stored in ~/.cosine/skills/
  4. Legacy repo skills in ./.cosine/skills/, which are still discovered during migration

Project installs and repo-shared skills are the same project-scoped concept. Cosine can surface that scope from either a managed project install or a repo-native skills directory.

The practical distinction is:

  • ~/.cosine/projects/<project-id>/skills is the managed per-project install location created by cos skills add --project
  • .agents/skills/ is the repo-native form of that same project scope when you want to commit, review in Git, and share with your team
  • ~/.cosine/skills/ is for private skills that should follow you across all local sessions

If your goal is team sharing, prefer .agents/skills/. If your goal is personal reuse across repos, prefer ~/.cosine/skills/.

The main install command is:

Terminal window
cos skills add <source>
Terminal window
# Install a specific skill from a GitHub repo
cos skills add https://github.com/anthropics/skills --skill skill-creator
# GitHub shorthand also works
cos skills add anthropics/skills --skill skill-creator
# Install from a local directory
cos skills add ./path/to/skills-repo --skill my-skill
# Install from a GitHub tree URL or subpath
cos skills add https://github.com/anthropics/skills/tree/main/skills --skill skill-creator

Cosine’s installer currently understands:

  • full Git URLs
  • GitHub repo shorthand like owner/repo
  • GitHub tree URLs and subpaths
  • local filesystem paths
  • pasted npx skills add ... commands

You can also repeat --skill to install only selected skills from a larger repository.

Terminal window
cos skills add anthropics/skills --skill skill-creator --skill pdf

The CLI currently supports two install scopes when using cos skills add: project and global.

If you do not pass a flag, the CLI prompts you to choose between them.

Best for project-scoped skills.

Terminal window
cos skills add anthropics/skills --skill skill-creator --project

These are stored in a managed project directory:

~/.cosine/projects/<project-id>/skills/

This is the managed storage for project-scoped skills. If you want the same skill to live directly in the repository and be shared through Git, put it in .agents/skills/.

The most explicit way to invoke a skill is to mention it with a $ prefix in your prompt:

$skill-creator
Help me design a skill for incident summaries.

Or inline:

Use $release-notes to turn these merged PRs into customer-facing changelog bullets.

This is useful when:

  • you want to force a specific skill into context
  • you are testing a new skill
  • the task could reasonably match several skills and you want to be explicit

The recommended starting point is Anthropic’s skill-creator skill:

Terminal window
cos skills add https://github.com/anthropics/skills --skill skill-creator

Then ask Cosine to help you create the skill itself.

For a full walkthrough, see Creating Your First Skill.

---
name: release-notes
description: Write release note entries from diffs, PRs, and commit lists. Use this whenever the user asks for changelog copy, launch notes, or a summary of shipped work.
---
# Release Notes
## Workflow
1. Identify user-visible changes.
2. Group related work together.
3. Prefer outcome-focused language over implementation detail.
## Output format
- Added
- Improved
- Fixed

A strong skill usually has these traits:

  • narrow scope — it handles one category of work well
  • clear triggering language — the description says when to use it
  • practical output guidance — it shows the target structure or checklist
  • supporting resources where needed — large references live in references/, repetitive logic lives in scripts/
  • real-world testing — it has been tried against actual prompts, not only written in theory

If you are building skills to share, the most useful patterns are:

  • Personal, cross-repo skills: keep them in ~/.cosine/skills/
  • Team, repo-specific skills: commit them under .agents/skills/
  • Installable skills repositories: store skill folders in places Cosine can discover, such as the repo root, skills/, or .agents/skills/

Cosine’s installer can discover skills from common skills-repo layouts, so you do not need a single rigid directory convention when publishing a skills repository.

There is currently one dedicated CLI subcommand for skills installation:

Terminal window
cos skills add ...

For now:

  • update a skill by reinstalling it from the source
  • remove a skill by deleting its directory from the relevant location
  • inspect available skills from the Skills UI in Cosine, or by checking the underlying directories directly

Examples:

Terminal window
# Reinstall a global skill
cos skills add anthropics/skills --skill skill-creator --global
# Remove a global skill manually
rm -rf ~/.cosine/skills/skill-creator

If you are removing a repo-shared skill, delete it from .agents/skills/ and commit that change.

Check:

  • the skill directory contains SKILL.md
  • SKILL.md has valid name and description frontmatter
  • you installed it into the scope you intended
  • you are in the right repository when expecting repo-shared discovery

If you added or changed skills while a session was already running, starting a fresh session can help ensure you are looking at the latest discovered set.

A skill is discovered but not helping much

Section titled “A skill is discovered but not helping much”

Usually the problem is the description or the skill body:

  • make the description more explicit about when to use the skill
  • narrow the scope if the skill is trying to do too much
  • move long background material into references/
  • add scripts for repetitive deterministic steps

If you are unsure how to improve it, use the skill-creator skill and follow the guide in Creating Your First Skill.

Do not rely on ~/.cosine/skills/ for that. Global skills are private to your local machine.

Instead:

  1. put the skill in .agents/skills/<skill-name>/
  2. commit it to the repository
  3. have teammates pull the repo