keine-update-entries

Use this skill when creating a new knowledge entry or editing an existing one in the Keine knowledge base. Trigger when asked to add, ingest, document, or update any piece of knowledge — a URL, PDF, book, concept, note, or research finding. Use this skill even when the user doesn't say "entry" — if they want to capture or update knowledge, this is the skill.

14 stars

Best use case

keine-update-entries is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use this skill when creating a new knowledge entry or editing an existing one in the Keine knowledge base. Trigger when asked to add, ingest, document, or update any piece of knowledge — a URL, PDF, book, concept, note, or research finding. Use this skill even when the user doesn't say "entry" — if they want to capture or update knowledge, this is the skill.

Teams using keine-update-entries should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/keine-update-entries/SKILL.md --create-dirs "https://raw.githubusercontent.com/duskmoon314/keine/main/.agents/skills/keine-update-entries/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/keine-update-entries/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How keine-update-entries Compares

Feature / Agentkeine-update-entriesStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use this skill when creating a new knowledge entry or editing an existing one in the Keine knowledge base. Trigger when asked to add, ingest, document, or update any piece of knowledge — a URL, PDF, book, concept, note, or research finding. Use this skill even when the user doesn't say "entry" — if they want to capture or update knowledge, this is the skill.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Creating and Editing Knowledge Entries

## Creating a new entry

### 1. Search first

Before creating, check whether something close already exists:

```sh
grep -ri "keyword" docs/
ls docs/tags/
```

If a close match exists, consider updating it instead of creating a new file.

### 2. Choose a slug

Format: `YYYY-MM-DD-short-descriptive-slug.md`. Use today's date. Keep the slug lowercase and hyphen-separated. Prefer concrete nouns over vague ones (`2026-03-11-docker-networking.md` beats `2026-03-11-containers.md`).

### 3. Write the file

Fill all frontmatter fields:

```yaml
---
title: "Human-readable title"
description: "One sentence for use in tag indexes"
tags: ["tag1", "tag2"]
source: "URL, DOI, or other reference"   # required — link to the original
source_type: "url | pdf | book | note"   # required — omit only for original writing
---
```

Body:
- **H1** = title (exactly one)
- **## Summary** — 2-5 sentences capturing the core idea
- **## Content** — main knowledge; use H3+ for subsections
- **## Related** — relative links to other entries, tags, or maps

For ingested content (URL, PDF, book), summarize in your own words — do not copy verbatim.

#### Academic papers: extended content format

Use this format when the source is an academic paper. This applies when:
- The user explicitly says the source is a paper or research paper
- The source is a PDF and it appears to be an academic paper (has abstract, authors, references, venue/conference/journal markers), or the source is a url of an academic paper

When any of the above is true, replace the plain `## Content` section with the three-pass structure below, and add the `## Evaluation` section.

```markdown
## First Pass — Bird's-Eye View

### Category
What type of paper is this? (measurement, system design, analysis, survey, …)

### Context
Which prior work does it build on? What theoretical foundations does it use?

### Correctness
Do the core assumptions appear valid?

### Contributions
What are the 2-4 main contributions claimed?

### Clarity
Is the paper well-structured and clearly written?

## Second Pass — Content Grasp

### Problem & Motivation
What problem is solved and why does it matter?

### Approach
High-level description of the method, architecture, or analysis technique.

### Key Figures & Results
Summarize the most important graphs, tables, or experimental findings. Note whether axes are labeled, error bars are present, and whether conclusions are statistically supported.

### Key References
List 3-5 important cited works worth following up on.

## Third Pass — Deep Understanding

### Core Mechanism
Explain the central idea in enough detail that a peer could re-implement it.

### Hidden Assumptions
What implicit assumptions does the work rely on? Are any questionable?

### Reproducibility & Limitations
Data availability, missing implementation details, or scope constraints.

### Ideas for Future Work
Extensions or open questions surfaced during reading.

## Evaluation

### Advantages
1. …
2. …
3. …

### Disadvantages
1. …
2. …
3. …

## Key References
List important references of this work.
```

### 4. Update tags

Run from the repo root after writing the file `scripts/maintain_tags.py`

### 5. Commit

You *must* stage the new entry and any updated tag files:

```sh
git add docs/<new-entry>.md docs/tags/
git commit -m "docs: add <title>"
```

---

## Editing an existing entry

1. Find the entry — search by keyword or tag (see below)
2. Edit content or frontmatter as needed
3. If tags changed, re-run `scripts/maintain_tags.py`
4. You *must* commit:
   ```sh
   git add docs/<entry>.md docs/tags/
   git commit -m "docs: update <title>"
   ```

---

## Finding entries

- By keyword: `grep -ri "term" docs/`
- By tag: read `docs/tags/<tag>.md`
- By topic: check `docs/maps/` for a topic map

Related Skills

keine-update-maps

14
from duskmoon314/keine

Use this skill when creating or editing a topic map in the Keine knowledge base. Trigger after ingesting a set of related entries on a topic, or when asked to summarize, compare, survey, or give an overview of a subject area. Also use when a user asks a broad question and you want to leave a synthesized overview for future agents or readers. Maps are different from entries — they synthesize rather than document.

keine-research

14
from duskmoon314/keine

Use this skill only when the user explicitly requests deep research or a detailed report on a topic — phrases like "research X", "give me a detailed report on X", "deep dive into X", "I want a thorough analysis of X", or "write me a research report on X". Do NOT trigger for casual questions, quick lookups, or requests to add/edit entries. This is a heavyweight, multi-step workflow that mines the knowledge base, fills gaps with web research, creates new KB entries along the way, and produces a long-form, citation-rich research report saved to reports/.

keine-manage

14
from duskmoon314/keine

Always use this skill before creating, editing, or tagging any document in the knowledge base. Use it when asked to add, ingest, find, link, or manage any entry.

keine-chat

14
from duskmoon314/keine

Use this skill whenever the user wants to discuss, explore, or ask questions about a topic using the local knowledge base as grounding. Trigger on phrases like "what do you know about X", "let's talk about X", "explain X", "I'm trying to understand X", "discuss X with me", "what does the KB have on X", "help me think through X", "tell me about X", or any conversational question about a concept or idea. Also trigger when the user asks a question that could be answered from stored knowledge, even if they don't explicitly say "knowledge base". This is the default skill for knowledge-grounded conversation — prefer it over answering from memory alone whenever the KB might have relevant content. Do NOT trigger for: deep research reports (use keine-research), adding new entries (use keine-update-entries), or creating maps (use keine-update-maps).

semantic-scholar

14
from duskmoon314/keine

Search and retrieve research paper metadata using the Semantic Scholar Academic Graph API via curl. Use this skill whenever the user wants to find academic papers, look up citations, get paper details by DOI/arXiv ID/title, explore an author's publications, or fetch reference/citation lists. Trigger on phrases like "find papers on X", "look up this paper", "how many citations does X have", "papers citing X", "search for research about X", "get metadata for arxiv:...", or any request to explore academic literature. Always use this skill when the task involves academic paper search or metadata retrieval — even if the user just pastes a DOI or arXiv link and wants info about it.

openalex

14
from duskmoon314/keine

Search and retrieve scholarly metadata from the OpenAlex API — a free, open catalog of 270M+ works, 90M+ authors, and 100K+ sources. Use this skill whenever the user wants to query OpenAlex for works, authors, institutions, sources, topics, publishers, or funders. Trigger on phrases like "search OpenAlex for X", "find papers in OpenAlex", "OpenAlex works by author Y", "get institution metadata from OpenAlex", "look up this DOI in OpenAlex", "how many works does institution X have in OpenAlex", or any request that specifically involves the OpenAlex API or database. Also trigger when the user pastes an OpenAlex ID (like W1234567890 or A5023888391) or mentions OpenAlex by name in any research context. This skill complements the semantic-scholar skill — use OpenAlex when the user asks for it specifically, when they need institution/funder/topic data that Semantic Scholar doesn't cover, or when they want open-access filtering and aggregation features unique to OpenAlex.

update-pr

16
from JetBrains/databao-cli

Stage, commit, and push follow-up changes to an existing feature branch or PR. Use for quick iterations.

chezmoi-update

15
from shepherdjerred/monorepo

This skill should be used when the user asks to "update chezmoi", "sync dotfiles", "match live state", "match repo state", "chezmoi re-add", "chezmoi diff fix", "chezmoi apply", or mentions chezmoi source/live discrepancies, divergence between dotfiles repo and filesystem, or wants to reconcile chezmoi state in either direction.

cfn-expert-update

14
from masharratt/claude-flow-novice

Update CFN system expert agent with relevant git commits and project changes

implementation-plan-updates

13
from arun-gupta/agentic-tictactoe

Defines the pattern for updating project documentation when completing features. Use when marking features as complete to ensure consistent documentation of implementation status, test coverage, and deliverables.

dependency-updater

13
from connorads/dotfiles

Smart dependency management for any language. Auto-detects project type, applies safe updates automatically, prompts for major versions, diagnoses and fixes dependency issues.

documentation-update

11
from enuno/claude-command-and-control

Reusable logic for updating repository documentation (README, indices, tables) with new content while preserving formatting and structure