Agent SkillsScottRBK/forgetful › forgetful-encode-repo

forgetful-encode-repo

GitHub

将代码库编码至 Forgetful 知识库,通过解析项目、分析源码与文档,构建实体关系及原子记忆。支持首次初始化与增量刷新,确保知识更新且无重复,为后续会话提供结构化系统模型。

skills/forgetful-encode-repo/SKILL.md ScottRBK/forgetful

Trigger Scenarios

引入新仓库到知识库 刷新过时的仓库编码

Install

npx skills add ScottRBK/forgetful --skill forgetful-encode-repo -g -y
More Options

Use without installing

npx skills use ScottRBK/forgetful@forgetful-encode-repo

指定 Agent (Claude Code)

npx skills add ScottRBK/forgetful --skill forgetful-encode-repo -a claude-code -g -y

安装 repo 全部 skill

npx skills add ScottRBK/forgetful --all -g -y

预览 repo 内 skill

npx skills add ScottRBK/forgetful --list

SKILL.md

Frontmatter
{
    "name": "forgetful-encode-repo",
    "tags": [
        "bootstrap",
        "encoding",
        "repository",
        "knowledge-base"
    ],
    "license": "MIT",
    "description": "Encode a repository into the Forgetful knowledge base — bootstrap the project, its entities, memories, and documents from the codebase itself. Use when bringing a new repo under Forgetful or refreshing a stale encoding. Re-encoding is an update pass: query-before-create makes it supersession, not duplication.",
    "allowed-tools": [
        "mcp__forgetful__discover_forgetful_tools",
        "mcp__forgetful__how_to_use_forgetful_tool",
        "mcp__forgetful__execute_forgetful_tool",
        "Bash(forgetful:*)"
    ],
    "disable-model-invocation": true
}

Encoding a repository

The goal is a knowledge base a future session can lean on: the system modelled as entities, the decisions and conventions as atomic memories, the long-form understanding as documents, everything provenance-stamped back to the source. Encode twice and the second pass updates — never duplicates.

Invoking operations

Operations are named by registry name (create_project, create_entity, ...). Invoke via whichever surface this agent has:

  • MCP: execute_forgetful_tool(tool_name="create_project", arguments={...})
  • CLI: forgetful call create_project --args '{"name": "..."}' --json

Get any operation's schema at runtime: how_to_use_forgetful_tool (MCP) or forgetful tools info <operation> (CLI) — schemas are deliberately not repeated here.

Step 1 — Resolve the project

git remote get-url originowner/repolist_projects with repo_name. Existing project means this run is a refresh; otherwise create_project with the repo name and a description of what the codebase is for.

Done when: a project_id exists and the run knows whether it is a first encode or a refresh.

Step 2 — Survey the sources

Read what the repo says about itself before reading code: README, docs/, contributor and agent guides, manifests (dependencies, entry points, scripts), CI and deploy configuration. Note the current commit — every write in this run cites it via provenance.

Done when: there is a source list of what will be encoded, ordered by signal.

Step 3 — Model the system as entities

Skills referenced by name below resolve via search_skillsexport_skill when not already available. Per forgetful-entities: the system itself and its key components (services, packages, databases, external dependencies that matter) as entity_type: "System", and their structure as relationships — part_of for composition, depends_on for coupling. Dedupe against existing entities on a refresh.

Done when: the architecture is walkable as a graph, components to system, dependencies out.

Step 4 — Store the knowledge

Two layers, per forgetful-remember (its routing, atomicity test, and importance rubric govern every write here):

  • Documents for long-form understanding: architecture overviews, subsystem guides, design analyses.
  • Atomic memories as the entry points: decisions, conventions, patterns, constraints — each linked to its document via document_ids, stamped with source_repo and source_files, and linked to the entities it concerns via a separate link_entity_to_memory call (not something create_memory does for you).

On a refresh, query first per source area: update what drifted, mark obsolete what the code contradicts, create only what is new.

Done when: each surveyed source area has produced its documents and entry-point memories, or explicitly had nothing worth encoding.

Step 5 — Report coverage

Close with a coverage report, in place of "done": project ID, entities created/updated, memories created/updated/obsoleted, documents written, source areas skipped and why, and the areas where knowledge is thin. Note repo-level gaps the survey turned up too — missing docs, absent CI, and the like — not only gaps in the encoding itself. Deliver the report in the final response to the user; it is not written anywhere in Forgetful. The report is the encode's acceptance surface — a reader should be able to spot a gap from it alone.

Done when: the report is delivered and honest about gaps.

Version History

  • 633cc1f Current 2026-07-25 08:21

Same Skill Collection

skills/forgetful-cli-setup/SKILL.md
skills/forgetful-context-gather/SKILL.md
skills/forgetful-entities/SKILL.md
skills/forgetful-explore/SKILL.md
skills/forgetful-files/SKILL.md
skills/forgetful-mcp-setup/SKILL.md
skills/forgetful-procedures/SKILL.md
skills/forgetful-recall/SKILL.md
skills/forgetful-remember/SKILL.md

Metadata

Files
0
Version
0cc5b2b
Hash
30e509cb
Indexed
2026-07-25 08:21

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-25 05:48
浙ICP备14020137号-1 $mapa de visitantes$