Place skills in the appropriate directory depending on scope:
Copy
Ask AI
# Project-specific (committed to git).cognition/skills/└── my-skill/ └── SKILL.md# Global — available in all projects (not committed)~/.config/cognition/skills/└── my-skill/ └── SKILL.md
The directory name is the skill’s identifier (used for /my-skill invocation). The SKILL.md file contains optional YAML frontmatter and the skill’s prompt content.
allow — These scopes are auto-approved during skill execution
deny — These scopes are blocked during skill execution
ask — These scopes always prompt the user
Skill permissions are additive to (not replacing) the session’s base permissions. A skill cannot grant permissions that are denied at a higher level (project or organization config).
---name: reviewdescription: Review staged changes for issuesallowed-tools: - read - grep - glob - execpermissions: allow: - Exec(git diff) - Exec(git log)---Review the current changes for quality issues:!`git diff --staged`Evaluate:1. **Correctness** — Any logic errors or edge cases?2. **Security** — Any vulnerabilities introduced?3. **Performance** — Any obvious inefficiencies?4. **Style** — Consistent with the codebase?Provide a summary with specific line references.
---name: componentdescription: Generate a React component from a descriptionargument-hint: "<ComponentName>"allowed-tools: - read - edit - grep - globmodel: sonnetpermissions: allow: - Write(src/components/**)---Create a new React component named `$1`:1. Check existing components in src/components/ for style conventions2. Create the component file at src/components/$1/$1.tsx3. Create a barrel export at src/components/$1/index.ts4. Add basic tests at src/components/$1/$1.test.tsx5. Follow the patterns you find in existing components
---name: deploydescription: Run through the deployment checklisttriggers: - userallowed-tools: - read - exec - greppermissions: allow: - Exec(npm run) - Exec(git)---Run through the deployment checklist:1. Run the test suite: `npm run test`2. Run the linter: `npm run lint`3. Check for uncommitted changes: `git status`4. Verify the build: `npm run build`5. Show the current branch and last commitReport the status of each step. If anything fails, stop and explain the issue.
---name: finddescription: Find relevant code across the projectargument-hint: "<what to find>"allowed-tools: - read - grep - globtriggers: - user - model---Search the codebase thoroughly for: $ARGUMENTSUse grep for content search and glob for file discovery.Provide relevant file paths and code snippets.Explain how the pieces connect.