Back to list
ScientiaCapital

process-pdfs

by ScientiaCapital

Reusable Claude Code skills library - trading signals, sales automation, RunPod deployment

0🍴 0📅 Jan 19, 2026

SKILL.md


name: "extension-authoring" description: "Comprehensive guide for authoring Claude Code extensions including skills (SKILL.md), hooks, slash commands, and subagents. Use when: creating skills, writing hooks, making slash commands, building subagents, learning Claude Code extensions."

  1. Skills - Modular capabilities in SKILL.md files that provide domain expertise
  2. Hooks - Event-driven automation that executes on tool use and session events
  3. Slash Commands - Reusable prompts triggered with /command-name syntax
  4. Subagents - Specialized Claude instances for delegated tasks

All four extension types share core principles: pure XML structure, YAML frontmatter, and clear success criteria. This skill teaches you to create effective extensions following best practices.

  1. Skill - SKILL.md file for domain expertise
  2. Hook - Event-driven automation (PreToolUse, PostToolUse, Stop, etc.)
  3. Slash Command - Reusable prompt with /command-name
  4. Subagent - Specialized agent for delegated tasks
  5. Guidance - Help deciding which extension type to use

Respond with a number or describe what you want to build.

After reading the reference, follow its workflow exactly.

<decision_tree> Which extension type should I use?

Is it triggered by specific Claude Code events?
  (tool use, session start/end, user prompt submit)
    YES --> Hook

Is it a reusable prompt the user invokes with /command-name?
    YES --> Slash Command

Is it an isolated task that runs autonomously without user interaction?
    YES --> Subagent

Is it domain knowledge or workflow guidance Claude loads on demand?
    YES --> Skill

Quick decision matrix:

NeedExtension Type
Validate commands before executionHook (PreToolUse)
Auto-format code after editsHook (PostToolUse)
Desktop notification when input neededHook (Notification)
Reusable git commit workflowSlash Command
Code review checklistSlash Command
Delegated research taskSubagent
Autonomous test writingSubagent
API integration knowledgeSkill
Multi-step workflow guidanceSkill
</decision_tree>

<shared_principles> These principles apply to ALL Claude Code extension types:

<xml_structure> Use pure XML structure. Remove ALL markdown headings from body content.

<objective>What it does</objective>
<workflow>How to do it</workflow>
<success_criteria>How to know it worked</success_criteria>

Keep markdown formatting WITHIN content (bold, lists, code blocks).

Why XML?

  • Semantic meaning for Claude (not just visual formatting)
  • Unambiguous section boundaries
  • Token efficient (~15 tokens vs ~20 for markdown headings)
  • Reliable parsing and progressive disclosure </xml_structure>

<yaml_frontmatter> All extensions require YAML frontmatter:

---
name: extension-name       # lowercase-with-hyphens
description: What it does and when to use it (third person)
---

Name conventions: create-*, manage-*, setup-*, generate-*

Description rules:

  • Third person (never "I" or "you")
  • Include WHAT it does AND WHEN to use it
  • Maximum 1024 characters </yaml_frontmatter>
  • Assume Claude is smart
  • Challenge every piece of content: "Does this justify its token cost?"
  • Provide default approach with escape hatch, not a list of options
  • Keep main files under 500 lines, split to reference files

<success_criteria> Every extension should define clear completion criteria:

<success_criteria>
- Specific measurable outcome 1
- Specific measurable outcome 2
- How to verify it worked
</success_criteria>

</success_criteria> </shared_principles>

<quick_reference> File locations:

ExtensionProject LocationUser Location
Skill.claude/skills/~/.claude/skills/
Hook.claude/hooks.json~/.claude/hooks.json
Slash Command.claude/commands/~/.claude/commands/
Subagent.claude/agents/~/.claude/agents/

Minimal examples:

<skill_example>

---
name: process-pdfs
description: Extract text from PDF files. Use when working with PDFs.
---

<objective>Extract text from PDF files using pdfplumber.</objective>

<quick_start>
```python
import pdfplumber
with pdfplumber.open("file.pdf") as pdf:
    text = pdf.pages[0].extract_text()

</quick_start>

<success_criteria>Text extracted without errors.</success_criteria>

</skill_example>

<hook_example>
```json
{
  "hooks": {
    "Notification": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "osascript -e 'display notification \"Claude needs input\" with title \"Claude Code\"'"
          }
        ]
      }
    ]
  }
}

</hook_example>

<command_example>

---
description: Create a git commit
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
---

<objective>Create a git commit for current changes.</objective>

<context>
Current status: ! `git status`
Changes: ! `git diff HEAD`
</context>

<process>
1. Review changes
2. Stage relevant files
3. Create commit following repository conventions
</process>

<success_criteria>Commit created successfully.</success_criteria>

</command_example>

<subagent_example>

---
name: code-reviewer
description: Reviews code for quality and security. Use after code changes.
tools: Read, Grep, Glob, Bash
model: sonnet
---

<role>
You are a senior code reviewer focused on quality and security.
</role>

<workflow>
1. Read modified files
2. Identify issues
3. Provide specific feedback with file:line references
</workflow>

<constraints>
- NEVER modify code, only review
- ALWAYS provide actionable feedback
</constraints>

</subagent_example> </quick_reference>

<reference_index> Detailed guides:

ReferenceContent
reference/skills.mdSKILL.md structure, router pattern, progressive disclosure
reference/hooks.mdHook types, matchers, input/output schemas, examples
reference/commands.mdSlash command YAML, arguments, dynamic context
reference/subagents.mdAgent configuration, execution model, orchestration
</reference_index>

<anti_patterns> Common mistakes across all extension types:

<good>Using XML tags instead</good>

<success_criteria> A well-authored Claude Code extension has:

  • Valid YAML frontmatter with descriptive name and description
  • Pure XML structure (no markdown headings in body)
  • Clear objective/purpose statement
  • Defined success criteria or completion verification
  • Appropriate level of detail (not over-engineered)
  • Real-world testing and iteration
  • Documentation in third person </success_criteria>

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon