> For the complete documentation index, see [llms.txt](https://notara.gitbook.io/notara-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://notara.gitbook.io/notara-docs/skills/creating-skills.md).

# Creating & Forking Skills

You can create skills from scratch or fork an existing platform skill and customize it for your team's needs.

## Required Role

| Action                                  | Minimum Role |
| --------------------------------------- | ------------ |
| Create or edit a skill prompt           | `editor`     |
| Fork a platform skill                   | `editor`     |
| Bind tools to a skill                   | `editor`     |
| Grant a skill elevated tool permissions | `admin`      |

The editor role is deliberately positioned as the empowerment threshold — team members can maintain their own skills and context without needing full admin access to credentials or billing.

## Creating a Skill from Scratch

1. In the dashboard, go to **Skills** and click **+ New Skill**.
2. Fill in the skill fields:

| Field           | Tips                                                                                                                   |
| --------------- | ---------------------------------------------------------------------------------------------------------------------- |
| **Name**        | Clear, action-oriented (e.g., "Weekly Engineering Digest")                                                             |
| **Slug**        | Auto-generated from name; can be customized. Users invoke it as `use the [slug] skill`.                                |
| **Description** | One or two sentences describing what this skill does and when to use it. This is used for intent matching.             |
| **Prompt**      | The instruction fragment. Write in second person ("You are reviewing..."). Focus on the output format and constraints. |

3. Under **Bound Tools**, select the connectors this skill can use. Only connectors already active in your workspace appear here.
4. Under **Bound Context**, optionally pin specific library documents that should always be available when this skill is active.
5. Click **Save**.

### Writing a Good Prompt

The skill prompt is injected into the agent's system context when the skill is active. It should:

* State the skill's purpose clearly
* Define the expected output format (bullet list, prose, table, etc.)
* Specify any constraints ("always include a severity level", "keep the summary under 200 words")
* Reference bound tools by name if relevant ("Use `linear_search_issues` to find tickets")

Example prompt for a sprint review skill:

```markdown
You are conducting a sprint review summary for the engineering team.

For each Linear project in the current sprint:
1. List issues closed this week (status: Done)
2. List issues still in progress (status: In Progress)  
3. Flag any issues that have been in progress for more than 5 days
4. Note any blockers mentioned in issue comments

Format the output as a Slack-ready message with sections per project. Keep the 
total length under 600 words. Use bullet points, not prose.
```

## Forking a Platform Skill

Platform skills are a great starting point. Fork one to customize it for your team without starting from scratch.

1. On the skill shelf, find the platform skill you want to fork (e.g., `mkt-competitor-teardown`).
2. Click the skill tile to open it.
3. Click **Fork**.
4. Select the group this fork belongs to.
5. The forked skill opens in the editor with the platform skill's prompt pre-filled.
6. Customize the name, slug, prompt, bound tools, and context.
7. Click **Save**.

The fork is independent — changes to the platform skill don't propagate to your fork.

## Uploading a Skill File

Skills can be written as markdown files with YAML frontmatter and uploaded directly. This is useful for:

* Version-controlling your skills in git
* Sharing skills between workspaces
* Migrating skills from another system

### File Format

```markdown
---
name: Weekly Engineering Digest
slug: eng-weekly-digest
description: Summarizes the week's Linear issues, PRs, and incidents for the engineering team.
tools:
  - linear_search_issues
  - github_list_prs
  - slack_get_channel_history
---

You are conducting a weekly engineering digest for the team.

Pull the last 7 days of activity from:
- Linear: closed issues, new issues, issues moved to blocked
- GitHub: merged PRs, open PRs older than 3 days
- Slack: notable discussions in #engineering

Format as a structured weekly digest...
```

To upload:

1. Go to **Skills** and click **Upload Skill**.
2. Select your `.md` file.
3. Review the parsed preview.
4. Click **Import**.

If a skill with the same slug already exists, you'll be prompted to overwrite or create a new version.

## Version History

Every save creates a new version. To see the history:

1. Open a skill.
2. Click **Version History** in the top-right.
3. Select any previous version to view its prompt.
4. Click **Restore** to roll back to that version.

Versions are retained indefinitely. They're stored efficiently — only the diff is saved, not a full copy of the prompt each time.

## Skill Packages

For skills with supporting files (reference documents, example outputs, scripts), you can create a **skill package** — a `.zip` file containing the skill's `.md` file plus an `assets/` folder.

Packages are useful for distributing polished skills. Assets are accessible to the agent via MCP resources and a `read_skill_asset` tool, and are bundled into the skill's `prompts/get` response for external callers.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://notara.gitbook.io/notara-docs/skills/creating-skills.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
