feat: initialize agent skills repository with three starter skills

Add project structure documentation (AGENTS.md) and initial README files
that organize skills by bucket and invocation type (user-invoked vs
model-invoked).

Introduce three skills:
- forge-interaction: GitHub/Gitea CLI automation for issues, PRs, releases
- forge-preferences: personal forge conventions (companion to forge-interaction)
- pkm-curation: Obsidian vault curation and note management

Include reference docs for vault conventions, agent integration, and the
invocation model that separates user-only from model-reachable skills.
This commit is contained in:
2026-06-22 13:15:36 -04:00
commit 041be56757
10 changed files with 648 additions and 0 deletions
@@ -0,0 +1,31 @@
---
name: forge-preferences
description: Use with forge-interaction to apply Steve's personal or project-specific GitHub/Gitea remote, CLI, issue, PR, and release preferences.
---
# Forge Preferences
Use this companion skill with `/forge-interaction` when personal or project-specific forge preferences are relevant.
## Purpose
Store personal conventions that should not live in the generic forge interaction skill.
## Current Preferences
- If a remote named `forge` exists, treat it as the canonical forge remote.
- If no `forge` remote exists, use the user's configured default remote when available.
- If no default remote is configured, use `origin`.
- Use the forge type of the selected remote to choose the CLI:
- GitHub → `gh`
- Gitea → `tea`
- If the correct CLI is missing, tell the user to install it or add it to `PATH`.
- Do not use the wrong CLI as a fallback.
## Open Questions To Fill In Later
- Known personal Gitea hosts.
- GitHub usernames or organizations.
- Preferred PR title/body format.
- Preferred issue labels and milestones.
- Release naming and tagging conventions.
+213
View File
@@ -0,0 +1,213 @@
---
name: pkm-curation
description: Curate an Obsidian-style personal knowledge vault by classifying notes, normalizing frontmatter, improving structure, extracting atomic notes, and adding meaningful wikilinks.
disable-model-invocation: true
---
# PKM Curation
Use this skill when working inside a Markdown-first vault that values curation over collection.
## Goals
- Turn raw notes into clear, reusable notes.
- Keep new notes consistent with vault conventions.
- Strengthen the link graph with meaningful `[[wikilinks]]` syntax `[[Note Title]]`.
- Extract atomic notes from long or mixed-topic notes.
- Avoid unnecessary reorganization and weak links.
## Read This First
- Read `AGENTS.md` in the current repo scope before editing notes.
- Read `references/vault-conventions.md` when normalizing metadata, deciding note types, or choosing folders.
- Read `references/agent-integration.md` when running this skill through an agent.
- Keep changes small and reviewable.
- Keep file operations local to the vault unless the user explicitly asks otherwise.
## Workflows
## Search for notes
```bash
# Search by filename
fd --type f ".md" "$HOME/Documents/nca-notes" | rg -i "keyword"
# Search by content
rg -l "keyword" "$HOME/Documents/nca-notes" --include "*.md"
```
## Curate existing note
1. Inspect the target note or note set.
2. Identify the note type: inbox, source, atomic, project, daily, or reference.
3. Normalize frontmatter and basic structure.
4. Clarify the title if the current one is vague or timestamp-like.
5. Summarize or distill the note if it mixes too many ideas.
6. Add or suggest meaningful `[[wikilinks]]` to related notes.
7. If a note contains multiple durable ideas, extract 1-3 atomic notes.
8. Suggest moving the note only if the destination is clearly better.
## Find related notes
Search for `[[Note Title]]` across the vault to find backlinks:
```bash
rg -l "\\[\\[Note Title\\]\\]" "$HOME/Documents/nca-notes" --include "*.md"
```
### Find index notes
```bash
fd --type f "Index" "$HOME/Documents/nca-notes"
```
## Operating Rules
- Prefer reorganization over curation.
- Do not move, rename, or delete many notes at once unless the user asks.
- Do not invent links based only on shared words.
- Preserve the user's voice unless the user asks for a rewrite.
- Keep source material and evergreen ideas separate when possible.
- Treat `Inbox/` as temporary capture, not long-term storage.
- Preserve all command blocks, code snippets, configuration directives, and
step-by-step instructions verbatim. Do not summarize or condense them.
- For reference/source notes: add a brief overview at the top, but keep the
original commands and details intact below. Completeness > brevity.
- Read every file completely before editing. Do not rely on head/tail,
heading-only scans, or partial reads to judge a file's content.
- For any file you plan to move, rename, or modify, run `cat` on the full file
first. Only then decide what stays, what moves, and what changes.
## Note-Type Heuristics
### Inbox note
Use when the note is raw capture, partial thinking, copied text, or an unprocessed link dump.
Actions:
- clean obvious structure issues
- add frontmatter if missing
- classify for later promotion
- avoid over-polishing unless requested
### Source note
Use when the note is based on an article, video, book, paper, transcript, or other external material.
Actions:
- keep source context intact
- summarize key takeaways
- extract reusable ideas into separate atomic notes
- link to related concepts and projects
### Atomic note
Use when the note captures one durable idea, concept, claim, pattern, or insight.
Actions:
- ensure one main idea per note
- make the title concept-focused
- add links to neighboring ideas
- keep it concise and self-contained
### Project note
Use when the note supports active work, planning, resources, decisions, or tasks.
Actions:
- preserve project context
- link tasks to the project note
- avoid turning active project logistics into evergreen notes unless there is a reusable insight
### Daily note
Use when the note is date-based and captures activity, learning, tasks, or reflection for a single day.
Actions:
- preserve chronology
- link out to durable notes rather than stuffing ideas into the daily note
## Linking Guidance
Add links only when they express one of these relationships:
- concept to broader concept
- source note to extracted idea
- project note to relevant knowledge note
- daily note to work done or ideas learned
- sibling concepts that genuinely inform one another
When linking, prefer existing notes over creating speculative new ones.
## Extraction Guidance
Extract atomic notes when a note contains:
- multiple durable ideas
- a strong claim hidden in raw notes
- a reusable method, distinction, or definition
- a concept that should be linked from many places
Keep extracted notes short. One note, one idea.
## Common Tasks
### Curate one note
- inspect the note
- identify note type
- normalize frontmatter
- tighten headings and summary
- add a few strong links
- suggest extracted atomic notes if warranted
- locate the target file in the vault
- inspect nearby related notes before adding links
- patch the note in place
- return a short summary of edits and suggested follow-up notes
### Curate an inbox batch
- process a small batch, usually 5-10 notes
- classify each note
- normalize metadata
- suggest which notes should stay raw, become source notes, or become atomic notes
- avoid large folder reshuffles unless the pattern is clear
- enumerate a small set of `Inbox/` notes
- process them one at a time
- stop and summarize after each batch
### Review recent notes
- inspect recently edited notes
- identify missing links and vague titles
- flag notes with mixed concerns
- suggest a small set of follow-up curation actions
- search by recent filenames or recent folders when file metadata is available
- keep edits conservative and return a review summary
### Serendipity review
- choose a note from the vault
- summarize it briefly
- compare it to the user's current topic or active project
- suggest only high-confidence connections
- pick one note from a user-specified folder or from curated folders only
- avoid randomizing across obviously raw capture unless the user asks for that
## Output Style
When responding to the user:
- state what kind of note you think it is
- summarize the curation changes you made or recommend
- list any extracted notes to create
- list meaningful links added or suggested
- mention any move or rename separately before doing it
- name the file or files touched
- separate completed edits from suggested next actions
- call out anything that still needs user confirmation
## If You Need More Context
If the vault structure is unclear, inspect folders and a few nearby notes before editing.
If note conventions appear to conflict, follow the most local `AGENTS.md` instructions in scope.
Don't guess at user preferences. When in doubt, ask the user before making big changes or suggesting speculative links.
@@ -0,0 +1,51 @@
---
id: pkm-curation-agent-integration
aliases:
- PKM Curation agent Integration
tags:
- knowledge-management
- reference
area: Personal Knowledge Management
project:
---
# Agent Integration
## Purpose
This skill should be usable from any agent, and it should also fit chat environments where the agent as tool access.
## Recommended Role
- batch curation, targeted note cleanup, folder reviews, and repeatable vault maintenance
- interactive note refinement, serendipity review, and exploratory linking sessions
- editor-side entry point that delegates vault actions to agent where possible
## Preferred Behaviors
- search the vault before proposing links
- inspect nearby notes before creating new ones
- patch files directly when the requested change is clear
- summarize edits in plain Markdown
- ask before removing any content or links from a note
- ask before moving, renaming, or creating many files
## Good Task Shapes
- curate a specific note
- process a small `Inbox/` batch
- review recent notes for missing links
- extract atomic notes from one source note
- run a serendipity review against a current topic
## Avoid
- large autonomous folder reorganizations
- broad speculative linking passes
- converting every long note into atomic notes
- changing note titles without stating why
## Portability Guidance
- keep the workflow in `SKILL.md` tool-agnostic where possible
- prefer small deterministic file edits so the skill remains portable to other `SKILL.md`-based agents
@@ -0,0 +1,61 @@
---
id: pkm-curation-vault-conventions
aliases:
- PKM Curation Vault Conventions
tags:
- knowledge-management
- obsidian
- reference
- ai
area: Personal Knowledge Management
project:
---
# Vault Conventions
## Required Frontmatter
All notes should include YAML frontmatter with:
```yaml
---
id: unique-id
aliases: []
tags: []
area: Primary area/domain
project: [[Project Note]]
---
```
Use an empty value for `project:` when there is no relevant project note.
## Core Principles
- Markdown-first
- explicit `[[wikilinks]]`
- atomic notes for durable ideas
- project, topic, and date-based organization
- consistency over novelty
## Folder Roles
- `Inbox/`: raw capture and unprocessed notes
- `Dailies/`: day-specific notes and reflection
- `Templates/`: note templates
- `Knowledge/`: preferred home for evergreen atomic notes if the folder exists or is created
- project/topic folders: active work and structured reference material
## Task Conventions
- Use Markdown task items: `- [ ] Task description [[Project Name]]`
- Add status and priority tags where useful
- Use `due:: YYYY-MM-DD` for due dates
- Add `start::` and `end::` only when explicitly requested or when tracking active work
## Curation Heuristics
- A saved thing is not yet a knowledge note.
- A source note is not the same as an evergreen note.
- A link should reflect a real conceptual or project relationship.
- A long note may remain long if it is reference material; only extract notes when reuse is likely.
- Prefer gradual improvement over mass refactoring.