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:
@@ -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.
|
||||
@@ -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.
|
||||
Reference in New Issue
Block a user