agentleFS
XBlueSkyXBlueSky/cortexes/skills/cortex-evolve/SKILL.md

cortex-evolve

Skill24 starsChanged 2 months agoApache-2.0View on GitHub

Save knowledge to the cortex vault. Use when the user says "存到 cortex", "記一下", "save to cortex", "記到筆記", "cortex evolve", or when the session-suggest hook recommends saving content. Handles Notes and Projects.

  • Commits and pushes

The file

Show its rules and text

We split this skill into the rules it gives an agent

13 rules. About 0 are common, 4 are distinctive, and 9 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 9

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read ~/.cortex/config.json to get vault_path.

    line 15
  2. Very specific:

    If the file doesn't exist, tell the user to run /cortexes:genesis first.

    line 16
  3. Distinctive:

    All file paths below are relative to the vault root.

    line 17
  4. Distinctive:

    Ask the user if unclear. Use these heuristics:

    line 21
  5. Very specific:

    Create file at Notes/<category>/<title>.md

    line 31
  6. Very specific:

    Use Obsidian wikilinks [[note-name]] for vault-internal references

    line 50
  7. Very specific:

    Use standard markdown links text for external URLs only

    line 51
  8. Very specific:

    If Projects/<repo-name>/_index.md doesn't exist, create it:

    line 56
  9. Very specific:

    Create topic file at Projects/<repo-name>/<topic>.md

    line 71
  10. Distinctive:

    After writing the file:

    line 75
  11. Very specific:

    If git.commit_trailer in config is a non-empty string, pass it as a second -m so it becomes the last line of the message body: git commit …

    line 119
  12. Very specific:

    If auto_push is true in config: git push

    line 123
  13. Distinctive:

    After committing the new file to the vault:

    line 129

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Cortex Evolve — Save to Vault

Save content to the cortex Obsidian vault.

Resolve Vault Path

Read ~/.cortex/config.json to get vault_path. If the file doesn't exist, tell the user to run /cortexes:genesis first. All file paths below are relative to the vault root.

Determine Content Type

Ask the user if unclear. Use these heuristics:

SignalTypeTarget
Technical knowledge, how-to, concept explanationNotesNotes/<category>/<title>.md
Related to a specific repo's design, decision, or progressProjectsProjects/<repo-name>/<title>.md

Writing to Notes

  1. Determine category from content (C++, Linux, Nginx, Web, or create new)
  2. Create file at Notes/<category>/<title>.md
  3. Use this template:
---
title: <title>
tags:
  - <relevant-tags>
created: <YYYY-MM-DD>
source: cortex
---

# <title>

<content>

<optional: related wikilinks like [[nginx-cert-renew]] or [[other-note]]>
  1. Use Obsidian wikilinks [[note-name]] for vault-internal references
  2. Use standard markdown links [text](url) for external URLs only

Writing to Projects

  1. Determine repo name (from current session context or ask user)
  2. If Projects/<repo-name>/_index.md doesn't exist, create it:
---
title: <repo-name>
repo: <git-remote-url>
tags:
  - project
---

# <repo-name>

<brief description>
  1. Create topic file at Projects/<repo-name>/<topic>.md

Update _index.md

After writing the file:

  1. Read <vault_path>/_index.md
  2. Append a row under the matching ### sub-section, creating the sub-section (with its table header) if it does not exist yet:

    • Notes → ### <topic> under ## Notes: | [[title]] | tags | one-line summary |
    • Projects → ### <repo-name> under ## Projects: | [[topic-title]] | tags | summary |

    Rows are per-page, not per-repo: a new repo means a new ### sub-section, not a single row standing for the whole repo.

  3. Bump the updated date in frontmatter. There is no entries: count to maintain — the field was removed by design (see /cortexes:genesis).

Append Log Entry

Compose this entry with all placeholders substituted (today's date/time in YYYY-MM-DD HH:MM format, the vault-relative path of the saved file, the repo name or (none)):

## [YYYY-MM-DD HH:MM] evolve | user-initiated
- outcome: new
- target: <vault-relative path of saved file>
- repo: <repo name or "(none)">

Append to <vault>/log.md using either the Edit tool (preferred — preserves file integrity) or bash:

printf '\n%s\n' "$ENTRY" >> "<vault>/log.md"

Where $ENTRY is the fully-substituted markdown entry.

Preserve exactly one blank line between entries (achieved by the leading \n in the printf above, or by ensuring the Edit tool's appended content starts with a blank line).

The dedup_top1 field is omitted for evolve entries (evolve does not perform a dedup check in Phase 1; the user explicitly chose to save).

Commit

In the vault repo:

git add <file> _index.md log.md
git commit -m "cortex: <type> <brief>"

If git.commit_trailer in config is a non-empty string, pass it as a second -m so it becomes the last line of the message body: git commit -m "cortex: <type> <brief>" -m "<commit_trailer>".

If auto_push is true in config: git push

Confirm to the user what was saved and where.

Update Vector Store

After committing the new file to the vault:

  1. Run: cortex-vec upsert <relative-path-from-vault>

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.