core/register/SKILL.md
Registers new cognitives (skills, agents, prompts, workflows, tools) into the SynapSync Registry with proper structure, manifest, and registry index. Trigger: When the user says "GUARDA", "REGISTRA", "AGREGA" followed by a cognitive type and name, or asks to save/register/add a cognitive to the registry.
npx skillsauth add synapsync/synapse_registry cognitive-registerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Automate the registration of new cognitives into the SynapSync Registry, ensuring every entry follows the exact structure, naming conventions, manifest schema, and registry index format — with zero tolerance for inconsistencies.
The skill responds to these patterns (case-insensitive, Spanish or English):
GUARDA [el|la|un|una]? {name} [como]? SKILL|AGENT|PROMPT|WORKFLOW|TOOL
REGISTRA [el|la|un|una]? {name} [como]? SKILL|AGENT|PROMPT|WORKFLOW|TOOL
AGREGA [el|la|un|una]? {name} [como]? SKILL|AGENT|PROMPT|WORKFLOW|TOOL
SAVE {name} [as]? SKILL|AGENT|PROMPT|WORKFLOW|TOOL
REGISTER {name} [as]? SKILL|AGENT|PROMPT|WORKFLOW|TOOL
ADD {name} [as|to]? SKILL|AGENT|PROMPT|WORKFLOW|TOOL
If the user provides the cognitive content inline or in a previous message, use that content directly. If no content is provided, ask the user for it.
synapse-registry/
├── registry.json # Central index — MUST be updated
├── cognitives/ # Public registry content
│ ├── skills/{category}/{name}/
│ │ ├── manifest.json # Metadata
│ │ ├── SKILL.md # Content file
│ │ └── assets/ # Optional templates/schemas
│ ├── agents/{category}/{name}/
│ │ ├── manifest.json
│ │ └── {name}.md # Content file (uses cognitive name)
│ ├── prompts/{category}/{name}/
│ │ ├── manifest.json
│ │ └── PROMPT.md
│ ├── workflows/{category}/{name}/
│ │ ├── manifest.json
│ │ └── WORKFLOW.yaml
│ └── tools/{category}/{name}/
│ ├── manifest.json
│ └── TOOL.md
└── core/ # Internal tooling (not published)
└── register/ # This skill
| Category | Use For |
|-----------------|----------------------------------------------|
| general | General-purpose, meta-tools, internal tooling |
| frontend | UI, React, CSS, components |
| backend | APIs, servers, backend services |
| database | Database queries, migrations, ORMs |
| devops | CI/CD, infrastructure, deployment |
| security | Security analysis, vulnerability scanning |
| testing | Testing strategies, QA automation |
| analytics | Data analysis, research, benchmarking |
| automation | Task automation, workflows |
| integrations | External services (Supabase, Stripe, etc.) |
| planning | Project planning, SDLC, requirements, architecture |
If the cognitive doesn't clearly fit a category, default to general. If the user specifies a category, use it even if it's new — the registry supports extensibility.
claude, openai, cursor, windsurf, copilot, gemini, codex
Default: All providers unless the cognitive is provider-specific (e.g., an agent using Claude-only features).
| Type | Content File | Notes |
|----------|--------------------|------------------------------------------|
| skill | SKILL.md | Markdown with YAML frontmatter |
| agent | {name}.md | Named after the cognitive, YAML frontmatter |
| prompt | PROMPT.md | Markdown with YAML frontmatter |
| workflow | WORKFLOW.yaml | Pure YAML definition |
| tool | TOOL.md | Markdown with YAML frontmatter |
Extract from the user's message:
Name normalization rules:
"Project Planner" → project-planner, "API Error Handler" → api-error-handlerBefore creating anything, check that no cognitive with the same name exists:
registry.jsoncognitives arraymkdir -p cognitives/{type}s/{category}/{name}
The directory follows the pattern: cognitives/{type}s/{category}/{name}/
Examples:
cognitives/skills/general/my-skill/cognitives/agents/devops/deploy-manager/cognitives/prompts/frontend/component-generator/Write the cognitive content to the appropriate file:
cognitives/{type}s/{category}/{name}/SKILL.mdcognitives/{type}s/{category}/{name}/{name}.mdcognitives/{type}s/{category}/{name}/PROMPT.mdcognitives/{type}s/{category}/{name}/WORKFLOW.yamlcognitives/{type}s/{category}/{name}/TOOL.mdIf the user provided content with YAML frontmatter, use it as-is. If not, ensure the content has proper frontmatter before writing.
Every cognitive MUST have a manifest.json in its directory:
{
"$schema": "https://synapsync.dev/schemas/cognitive-manifest.json",
"name": "{name}",
"type": "{type}",
"version": "1.0.0",
"description": "{max 100 chars — extracted from content or user input}",
"author": {
"name": "SynapSync",
"url": "https://github.com/SynapSync",
"email": "[email protected]"
},
"license": "Apache-2.0",
"category": "{category}",
"tags": ["{tag1}", "{tag2}", "...max 10 tags"],
"providers": ["claude", "openai", "cursor", "windsurf", "copilot", "gemini"],
"file": "{content-file-name}",
"repository": {
"type": "git",
"url": "https://github.com/SynapSync/skills-registry"
},
"homepage": "https://synapsync.dev/cognitives/{name}",
"createdAt": "{ISO 8601 current date}T00:00:00Z",
"updatedAt": "{ISO 8601 current date}T00:00:00Z"
}
Field extraction rules:
name: From the parsed request (kebab-case)description: From YAML frontmatter description field, trimmed to 100 chars. Remove trigger text — only keep the functional descriptiontags: Infer from content topics, category, and type. Maximum 10 tagsproviders: Default to all providers unless content indicates provider-specific featuresfile: Based on type mapping (see table above)createdAt/updatedAt: Current date in ISO 8601Add the new cognitive to registry.json:
registry.jsontotalCognitives by 1cognitives array:{
"name": "{name}",
"type": "{type}",
"version": "1.0.0",
"description": "{same as manifest description}",
"author": "synapsync",
"category": "{category}",
"tags": ["{same tags as manifest}"],
"providers": ["{same providers as manifest}"],
"downloads": 0,
"path": "cognitives/{type}s/{category}/{name}"
}
Critical: The registry.json entry uses "author" as a flat string (not an object), unlike manifest.json which uses an author object.
After successful registration, report:
registry.json with new countThese rules are non-negotiable. If any fails, fix it before completing:
| Rule | Requirement |
|----------------------------|------------------------------------------------------------|
| Unique name | No other cognitive in registry.json has the same name |
| Valid manifest.json | All required fields present, matches schema |
| Content file exists | The file referenced in manifest.file exists |
| Frontmatter consistency | Frontmatter name matches manifest.name |
| Valid category | Category is from the valid categories list |
| Tags limit | Maximum 10 tags |
| Description length | Maximum 100 characters in manifest/registry description |
| Name format | Lowercase, hyphens only, no spaces or special chars |
| Version format | Semantic versioning (e.g., 1.0.0) |
| Path format | cognitives/{type}s/{category}/{name} matches actual directory |
| registry.json sync | totalCognitives count matches actual array length |
| Pattern | When to Use | Examples |
|----------------------------|------------------------------------------------|------------------------------------|
| {technology} | Generic technology skill | typescript, react-hooks |
| {tech}-{feature} | Technology + specific feature | react-testing, node-logging |
| {framework}-{component} | Framework + component type | nextjs-api, express-middleware |
| {action}-{target} | Action-oriented naming | skill-creator, code-reviewer |
| {domain}-{function} | Domain + function | auth-validator, data-migrator |
Bad names: utils, helpers, common, misc, project1, test, new-skill
Good names: cognitive-registrar, api-error-handler, feature-branch-manager
Before creating any file, read registry.json to verify:
totalCognitives countWhen extracting a description from content frontmatter:
Trigger: portion — descriptions should be functional, not trigger-basedExample:
# Frontmatter says:
description: >
Comprehensive project planning framework with structured analysis, planning, and execution phases.
Trigger: When planning a new feature...
# manifest.json/registry.json gets:
"description": "Comprehensive project planning framework with analysis, planning, and execution phases"
Generate tags by analyzing:
skill, agent)planning, git, testing)devops, frontend)automation, analysis)react, typescript, docker)Keep tags lowercase, hyphenated, and meaningful. Avoid redundant tags (don't add skill tag to a skill unless it's a meta-skill about skills).
Default to all providers. Restrict only when:
model: sonnet)All three artifacts (content file, manifest.json, registry.json) must be created/updated in a single operation. Never leave the registry in a partial state:
If the category directory doesn't exist under the type directory, create it:
# If cognitives/skills/planning/ doesn't exist yet
mkdir -p cognitives/skills/planning/project-planner
This is valid — the registry supports new categories as the ecosystem grows.
createdAt and updatedAt for new cognitivesskill-creatorUse skill-creator to generate the SKILL.md content, then use cognitive-registrar to register it in the registry.
feature-branch-managerAfter registering a cognitive, use feature-branch-manager to commit the changes and create a PR.
1.0.0. Version updates require manual interventionsynapse-registry — does not publish to external registriesSolution: Check registry.json for the existing entry. Offer the user options: update the existing cognitive (bump version), choose a different name, or cancel.
Solution: This is normal for new categories. The mkdir -p command handles this automatically. The registry supports extensible categories.
Solution: If the user provides raw content without frontmatter, generate the frontmatter based on the cognitive name, type, and inferred metadata before writing the file.
Solution: Truncate intelligently — don't cut mid-word. Rephrase to be more concise while preserving meaning.
Solution: Count the actual entries in the cognitives array and set totalCognitives to match. Never trust the existing count — always recalculate.
User says: GUARDA project-planner SKILL (with content provided)
AI executes:
project-planner, type=skill, category=planning (inferred from content)registry.json → no duplicate foundcognitives/skills/planning/project-planner/cognitives/skills/planning/project-planner/SKILL.md (user's content)cognitives/skills/planning/project-planner/manifest.jsonregistry.json:
totalCognitives: 2 → 3"path": "cognitives/skills/planning/project-planner"project-planner skill in cognitives/skills/planning/project-planner/"User says: GUARDA deploy-automator AGENT (with content provided)
AI executes:
deploy-automator, type=agent, category=devops (inferred)registry.json → no duplicate foundcognitives/agents/devops/deploy-automator/cognitives/agents/devops/deploy-automator/deploy-automator.md (note: agents use {name}.md)cognitives/agents/devops/deploy-automator/manifest.json with "file": "deploy-automator.md"registry.jsondevelopment
Rigorous dead code audit for any module, folder, or file in any programming language. Detects orphan files never imported anywhere, classes/functions/ methods declared but never called, constructor parameters received but never consumed, unused imports/requires, private fields with no references, and commented-out code blocks. Use this skill whenever the user asks to: review unused code, clean up a feature after a refactor, find dead code, detect orphan files or classes, audit what can be deleted, find what's left over after a big change, or any variation of "what's not being used / what can I remove". Also triggers when the user says they made large changes and wants to know what became obsolete. IMPORTANT: This skill only reports — it never deletes anything. At the end it always offers to generate a removal plan with /plan.
testing
Adaptive sprint workflow: deep analysis, evolving roadmap, one-at-a-time sprints, formal debt tracking, and re-entry prompts for context persistence. Trigger: When the user wants to analyze a project, create a roadmap, generate/execute sprints iteratively, or check project status and technical debt.
documentation
Session memory for AI agents — load context at the start, save sessions at the end, evolve knowledge across sessions. Like a professional's notebook: open before work, write a summary when done, persist between sessions. Trigger: When starting a session and need to recover context, or ending a session and want to save what happened.
documentation
Unified planning and execution skill for any software scenario. PLAN mode produces structured documentation; EXECUTE mode implements sprints from plan output. Trigger: When planning or executing any software work that requires structured analysis and actionable task plans.