AugmentClaude

Text-to-Note Converter

Convert plain text files into structured notes with metadata and fixed links.

Installation

  1. Make sure Claude is on your device and in your terminal.

    Skills load from ~/.claude/skills/ when Claude Code starts up β€” so you need it on your machine first. If you don't have it yet, install it once with the command below, then run claude in any terminal to verify.

    One-time setup
    npm i -g @anthropic-ai/claude-code

    Already have it? Skip ahead.

  2. Paste into Claude Code or into your terminal.

    This copies the whole skill folder into ~/.claude/skills/cp-skill-convert-zby/ β€” the SKILL.md plus any scripts, reference docs, or templates the skill ships with. Safe default: works for every skill.

    Faster alternative (instruction-only skills)

    Skips the clone and grabs only the SKILL.md file. Don't use this if the skill ships Python scripts, reference markdowns, or asset templates β€” they won't be downloaded and the skill will fail when it tries to load them.

    Quick install (SKILL.md only)
    Sign up to copy
  3. Restart Claude Code.

    Quit and reopen Claude Code (or any other agent that loads from ~/.claude/skills/). New skills are picked up on startup.

  4. Just ask Claude.

    Skills auto-activate when your request matches the skill's description β€” no slash command needed. Trigger phrases live in the skill's own frontmatter; you can read them in the β€œWhat this skill does” section above.

Prefer to read the source first? Open on GitHub.

When Claude uses it

Convert notes between types. Currently supports text to note by adding unverified structured frontmatter, renaming the file to match the title, and fixing backlinks. Use with a note path or note name.

What this skill does

EXECUTE NOW

Target: $ARGUMENTS

Parse immediately:

  • If target contains just a note name or path: convert text β†’ note
  • If target requests another conversion form, explain that only text β†’ note is currently implemented
  • If target is empty: ask which note to convert

Supported conversions

text β†’ note (current)

The primary conversion. Adds frontmatter to a raw text file, making it structured and connectable.

Step 1: Locate and verify

Resolve the target to a file path. If just a name, search kb/notes/ recursively.

Read the file. Verify it has no frontmatter (does not start with ---). If it already has frontmatter, report that it's already structured and stop.

Step 2: Understand the content

Read the full file. Identify:

  • The core topic (what is this about?) β€” needed for writing the description
  • Whether the current filename matches the # Title heading (see Step 3a)

Step 3: Generate frontmatter

Add YAML frontmatter at the top of the file:

---
description: [50-200 chars, adds mechanism/scope/implication beyond the title]
type: kb/types/note.md
traits: []
tags: []
---

Rules:

  • Do not add user-verified β€” conversion structures the note but cannot grant human attestation.
  • description must add information beyond the title. See note base type for quality criteria.
  • traits is always [] β€” trait assignment is semantic work, done later by the cp-skill-validate skill or human review.
  • tags is always [] β€” tag assignment is semantic work, done later by the cp-skill-connect skill or human review.
  • Do NOT modify the body content. Conversion adds structure, not editorial changes.

Step 3a: Rename the file

After adding frontmatter, check whether the filename matches the # Title heading.

The filename should match the title β€” whether the title itself is good is a semantic question for the cp-skill-validate skill.

Decide whether to rename:

  • If the current filename is already a good slug of the # Title β€” keep it
  • If the filename diverges from the title (e.g. file is connect-pipeline-features.md but the title is # Connect pipeline should detect reciprocal links) β€” rename it to match

To rename:

  1. Derive the new filename from the # Title heading. Slugify: lowercase, hyphens for spaces, strip punctuation, .md extension.
  2. Check for backlinks to the old path:
    rg -l 'old-filename\.md' kb/
    
  3. If backlinks exist, update them all to point to the new filename (preserve the same relative path structure β€” only the filename changes, not the directory).
  4. Rename the file:
    git mv old-path/old-filename.md old-path/new-filename.md
    

Rules:

  • The file stays in its current directory. Rename only, no move.
  • If the title heading changed during frontmatter addition (it shouldn't β€” see "Do NOT modify body content"), use the original title.

Step 4: Report

=== CONVERTED: filename.md ===

text β†’ note (unverified)

renamed: old-filename.md β†’ new-filename.md  [or "filename unchanged" if no rename]
backlinks updated: 3 files  [or "none" if no backlinks]

description: [the description you wrote]
tags: []

Next steps:
- Run the `cp-skill-connect` skill on `new-filename.md` β€” find connections
- Run the `cp-skill-validate` skill on `new-filename.md` β€” check quality
- Optionally ask the user to verify the artifact after review; only the human may add `user-verified: true`
===

Future conversions (not yet implemented)

These are documented as directions, not working features. If a user requests one, explain it's not implemented yet.

  • note β†’ structured-claim: add Evidence/Reasoning/Caveats sections and set the collection-local structured-claim type
  • note β†’ spec: add Design/Implementation sections
  • note β†’ review: add Findings section, date
  • note β†’ adr: add Context/Decision/Consequences sections
  • any β†’ text: strip frontmatter, demote to raw capture (for notes that didn't work out)

Critical Constraints

Never:

  • Add user-verified β€” that requires explicit human attestation after review
  • Modify body content β€” only add/change frontmatter
  • Convert a text file that already has frontmatter (it's not a text file)
  • Write a description that merely restates the title
  • Move a file to a different directory β€” rename only changes the filename within its current directory
  • Install software β€” if a required tool is missing, bail with an error

Always:

  • Leave user-verified absent for text β†’ note conversions
  • Write a description that adds mechanism, scope, or implication
  • Rename the file to match the # Title heading (unless it already does)
  • Fix all backlinks when renaming
  • Use git mv for renames so git tracks the history
  • Report what was done so the user can review

Related skills