Skip to content
Back to skills

Forgecat Authoring

ASecurity

Write or fix a profile.yml — pick the right resource kind for each

  • 84 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 23, 2026
ai-agentsgo

Works with

  • claude code
  • cursor
  • cli
  • mcp

Security analysis

A100/100

Scanned September 23, 2026

npx -y skills add nota-america/forgecat-agent-profiles --skill forgecat-authoring --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Forgecat Authoring?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Forgecat Authoring
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nota-america-forgecat-authoring/badge)](https://www.skillsdirectory.com/skills/nota-america-forgecat-authoring)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: forgecat-authoring
description: Write or fix a profile.yml — pick the right resource kind for each
  file, bind operating references, and verify the install layout before
  publishing. Use when creating a ForgeCat profile, adding a
  skill/agent/rule/hook to one, or when `forgecat validate` or `plan` reports
  something unexpected.
---

# Authoring a profile

## 1. Sort every file first

This is the judgment the CLI can't make for you — decide it once, at the door.

| The file is | Declare as | Lands as |
|---|---|---|
| a capability invoked by name | `skills:` (path must end in `SKILL.md`) | `.claude/skills/<name>/SKILL.md`, `.agents/skills/…` |
| a named sub-agent persona | `agents:` | platform-specific agent file |
| guidance auto-applied to globs | `rules:` | Cursor `.cursor/rules/`, converted elsewhere |
| a slash-command snippet | `commands:` | `/name` |
| MCP server config | `mcp:` (one `mcp.jsonc`) | platform MCP config |
| a script on a tool event | `hooks:` | translated per platform |
| **the operating manual, or any bundled asset** | `references:` **+ a role binding** | root `AGENTS.md` section / co-install |

`forgecat init` scaffolds every kind above **except `references` and
`instructions`** — they aren't in the template. That's the most common way an
operating manual ends up mis-declared as a rule.

## 2. Operating instructions take two lines, not one

    references:
      - id: agents-md
        path: AGENTS.md
        type: operating-instructions
    instructions:
      operatingRef: agents-md

Dropping an `AGENTS.md` in the repo root does nothing by itself — `scan` calls it
`type: other`, `trackable: false`, and `plan` installs zero files. **The declaration
is what counts, not the filename.**

Role-typed references must be bound or install rejects them as inert:
`persona`→`personaRef`, `identity`→`identityRef`,
`operating-instructions`→`operatingRef`, `tool-conventions`→`additionalRefs`.

Only **operating** reaches every platform. `persona` / `identity` /
`tool-conventions` are written to files on **home-target platforms only**
(OpenClaw, Hermes); on Claude Code, Cursor and Codex they co-install as assets and
nothing more. If the content must reach every user, it goes in operating.

## 3. Keep companion files with the skill

A skill can include companion files under its directory, such as
references/ and scripts/. Standard installation preserves their relative
paths alongside SKILL.md. Declare executable scripts in skills[].scripts.

Profile-level references declared separately in profile.yml are
co-installed under .forgecat/profiles/@scope/name/. Use a declared
reference token to reach those assets.

Check relative links against the installed layout. Links to sibling
skills or project-root files need separate verification.

## 4. The loop

    forgecat init .     # scaffold
    forgecat scan       # find files on disk that aren't declared
    forgecat track      # add them interactively
    forgecat validate   # schema, names, paths, hooks — no network
    forgecat plan       # what lands where, per platform — no writes

**When `scan` and `plan` disagree, `plan` wins.** `scan` guesses from files on disk;
`plan` reads declarations. A `scan` warning that a reference "will be dropped at
install" is often a false alarm — read `plan` before changing anything.

But `plan` shows where declared resources land, not everything install does. It
won't mention the `CLAUDE.md` import shim or co-installed reference assets, so the
file count after install can exceed the plan. `plan` is authoritative about
placement, not about the total.

You can't test-install from a local path (`Only registry sources are supported`).
`validate` + `plan` is as far as verification goes before you publish.

## Verify

    forgecat validate && forgecat plan

🐾✓ when both come back clean.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…