fastrmemory 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/.claude-plugin/marketplace.json +14 -14
  2. package/.claude-plugin/plugin.json +18 -18
  3. package/.cursor/mcp.json +3 -1
  4. package/.cursor/skills/fastr-compress/SKILL.md +33 -33
  5. package/.cursor/skills/fastr-curate/SKILL.md +62 -62
  6. package/.cursor/skills/fastr-dag/SKILL.md +47 -47
  7. package/.cursor/skills/fastr-doctor/SKILL.md +39 -39
  8. package/.cursor/skills/fastr-memory/SKILL.md +51 -51
  9. package/.cursor/skills/fastr-plan-estimate/SKILL.md +45 -45
  10. package/.cursor/skills/fastr-session-commit/SKILL.md +49 -49
  11. package/.cursor/skills/fastr-setup/SKILL.md +45 -45
  12. package/.cursor/skills/fastr-trap-log/SKILL.md +39 -39
  13. package/.cursor/skills/fastr-vision/SKILL.md +35 -35
  14. package/.cursor/skills/skills.json +65 -65
  15. package/README.md +727 -729
  16. package/bin/fastr-guard.mjs +61 -0
  17. package/dist/bin/fastr.js +10 -9
  18. package/dist/bin/fastr.js.map +1 -1
  19. package/dist/src/bench/benchmark.js +13 -13
  20. package/dist/src/bench/harness.js +17 -17
  21. package/dist/src/bench/public-harness.js +5 -5
  22. package/dist/src/branch/manager.js +31 -31
  23. package/dist/src/ci/guardian.js +9 -9
  24. package/dist/src/db/doctor.js +25 -25
  25. package/dist/src/db/hygiene.js +23 -23
  26. package/dist/src/db/repository.js +283 -283
  27. package/dist/src/db/schema.js +268 -268
  28. package/dist/src/db/spool.js +4 -4
  29. package/dist/src/export/obsidian.js +15 -15
  30. package/dist/src/import/local.js +4 -4
  31. package/dist/src/installer/setup.d.ts +2 -0
  32. package/dist/src/installer/setup.d.ts.map +1 -1
  33. package/dist/src/installer/setup.js +24 -18
  34. package/dist/src/installer/setup.js.map +1 -1
  35. package/dist/src/mcp/server.js +25 -25
  36. package/dist/src/mirror/markdown-pages.js +22 -22
  37. package/dist/src/search/backfill.js +6 -6
  38. package/dist/src/search/hybrid-rrf.js +60 -60
  39. package/dist/src/ui/server.js +1259 -1259
  40. package/dist/src/vision/assets.js +6 -6
  41. package/dist-ui/assets/ActionsPage-B3quzFNF.js +11 -11
  42. package/dist-ui/assets/GraphPage-DetiATmC.js +1 -1
  43. package/dist-ui/assets/ObservatoryPage-QIGMwENf.js +16 -16
  44. package/dist-ui/assets/TreemapPage-C7uLZd37.js +2 -2
  45. package/dist-ui/assets/index-BJnPINTu.css +1 -1
  46. package/dist-ui/assets/index-DWAH--Fu.js +329 -329
  47. package/dist-ui/assets/maximize-2-BebkGbZA.js +6 -6
  48. package/dist-ui/build-manifest.json +95 -95
  49. package/dist-ui/index.html +26 -26
  50. package/llms-install.md +69 -69
  51. package/package.json +108 -107
  52. package/server.json +28 -28
  53. package/skills/fastr-compress/SKILL.md +33 -33
  54. package/skills/fastr-curate/SKILL.md +62 -62
  55. package/skills/fastr-dag/SKILL.md +47 -47
  56. package/skills/fastr-doctor/SKILL.md +39 -39
  57. package/skills/fastr-memory/SKILL.md +51 -51
  58. package/skills/fastr-plan-estimate/SKILL.md +45 -45
  59. package/skills/fastr-session-commit/SKILL.md +49 -49
  60. package/skills/fastr-setup/SKILL.md +45 -45
  61. package/skills/fastr-trap-log/SKILL.md +39 -39
  62. package/skills/fastr-vision/SKILL.md +35 -35
  63. package/skills/skills.json +65 -65
@@ -1,49 +1,49 @@
1
- ---
2
- name: fastr-session-commit
3
- description: Use when a task or milestone is finished and tests pass, before handing control back to the user, or when you are about to run out of context. Rates the memories you used, supersedes rules your work invalidated, and saves a handoff that promotes this session's staging memories to verified.
4
- ---
5
-
6
- # FastrMemory: Commit the Session
7
-
8
- ## When to use
9
- - The task is done and the test suite passes.
10
- - You are yielding to the user or another agent, or context is about to be compacted.
11
- - You are resuming work and need to know where the last session stopped.
12
-
13
- ## Steps
14
-
15
- 1. **Supersede rules your change made obsolete** (keeps history, redirects future recall):
16
- ```js
17
- fastr_supersede({
18
- oldMemoryId: "mem_8f2a1c",
19
- newTitle: "Use Vitest for all unit tests",
20
- newContent: "The project migrated from Jest to Vitest for native ESM. Do not add Jest config.",
21
- reason: "Test runner migration",
22
- files: ["vitest.config.ts"]
23
- })
24
- ```
25
-
26
- 2. **Rate each memory you actually relied on** (per ID, never the whole batch):
27
- ```js
28
- fastr_feedback({ memoryId: "mem_3c9d0e", outcome: "good" })
29
- fastr_feedback({ memoryId: "mem_77ab12", outcome: "bad", note: "Described the old config loader" })
30
- ```
31
-
32
- 3. **Save the handoff and verify staging**:
33
- ```js
34
- fastr_handoff({
35
- action: "save",
36
- taskTitle: "Refresh-token rotation in auth guard",
37
- summary: "Added rotation and revocation list; all auth tests pass.",
38
- nextStep: "Wire revocation list cleanup into the nightly job.",
39
- activeFiles: ["src/auth/guard.ts", "src/auth/jwt.ts"],
40
- verifyStaging: true
41
- })
42
- ```
43
- Only pass `verifyStaging: true` when tests pass; it promotes every staging memory from this project to verified.
44
-
45
- ## Resuming a session
46
- ```js
47
- fastr_handoff({ action: "latest" })
48
- ```
49
- Read the summary and next step before planning, then follow the `fastr-memory` skill.
1
+ ---
2
+ name: fastr-session-commit
3
+ description: Use when a task or milestone is finished and tests pass, before handing control back to the user, or when you are about to run out of context. Rates the memories you used, supersedes rules your work invalidated, and saves a handoff that promotes this session's staging memories to verified.
4
+ ---
5
+
6
+ # FastrMemory: Commit the Session
7
+
8
+ ## When to use
9
+ - The task is done and the test suite passes.
10
+ - You are yielding to the user or another agent, or context is about to be compacted.
11
+ - You are resuming work and need to know where the last session stopped.
12
+
13
+ ## Steps
14
+
15
+ 1. **Supersede rules your change made obsolete** (keeps history, redirects future recall):
16
+ ```js
17
+ fastr_supersede({
18
+ oldMemoryId: "mem_8f2a1c",
19
+ newTitle: "Use Vitest for all unit tests",
20
+ newContent: "The project migrated from Jest to Vitest for native ESM. Do not add Jest config.",
21
+ reason: "Test runner migration",
22
+ files: ["vitest.config.ts"]
23
+ })
24
+ ```
25
+
26
+ 2. **Rate each memory you actually relied on** (per ID, never the whole batch):
27
+ ```js
28
+ fastr_feedback({ memoryId: "mem_3c9d0e", outcome: "good" })
29
+ fastr_feedback({ memoryId: "mem_77ab12", outcome: "bad", note: "Described the old config loader" })
30
+ ```
31
+
32
+ 3. **Save the handoff and verify staging**:
33
+ ```js
34
+ fastr_handoff({
35
+ action: "save",
36
+ taskTitle: "Refresh-token rotation in auth guard",
37
+ summary: "Added rotation and revocation list; all auth tests pass.",
38
+ nextStep: "Wire revocation list cleanup into the nightly job.",
39
+ activeFiles: ["src/auth/guard.ts", "src/auth/jwt.ts"],
40
+ verifyStaging: true
41
+ })
42
+ ```
43
+ Only pass `verifyStaging: true` when tests pass; it promotes every staging memory from this project to verified.
44
+
45
+ ## Resuming a session
46
+ ```js
47
+ fastr_handoff({ action: "latest" })
48
+ ```
49
+ Read the summary and next step before planning, then follow the `fastr-memory` skill.
@@ -1,45 +1,45 @@
1
- ---
2
- name: fastr-setup
3
- description: Use when FastrMemory tools are missing or not responding in Claude Code, when the user asks to install or wire up FastrMemory in a project, or when hooks (session start, pre-edit trap warnings) are not firing. Covers project install, manual MCP registration, and verification.
4
- allowed-tools: Bash(fastr *), Bash(fastrmemory *), Bash(npx -y fastrmemory*)
5
- ---
6
-
7
- # FastrMemory: Wire Up Claude Code
8
-
9
- ## When to use
10
- - `fastr_*` tools are not available in the session.
11
- - The user asks to set up FastrMemory for this repository.
12
- - Pre-edit trap warnings or session-start context stopped appearing.
13
-
14
- ## 1. Project install (recommended)
15
- Run from the project root:
16
- ```bash
17
- npx -y fastrmemory@0.3.0 hook install
18
- ```
19
- This is idempotent and backs up files it changes. It writes:
20
- - `.mcp.json`: a project-scoped `fastrmemory` MCP server.
21
- - `.claude/settings.json`: hooks for `SessionStart`, `PreToolUse` (matcher `Edit|Write|MultiEdit|NotebookEdit`), `PreCompact`, and `SessionEnd`, each running the FastrMemory CLI as `... hook run <event>`.
22
- - `.cursor/mcp.json` and an `AGENTS.md` discipline block for other agents.
23
-
24
- Commit `.mcp.json` and `.claude/settings.json` so the team shares the setup. Restart Claude Code and approve the project MCP server when prompted.
25
-
26
- ## 2. Manual MCP registration (alternative)
27
- ```bash
28
- claude mcp add fastrmemory -- npx -y fastrmemory@0.3.0 mcp
29
- ```
30
- On native Windows use `-- cmd /c npx -y fastrmemory@0.3.0 mcp`. Pass `--scope project` (before the name) to write `.mcp.json`. This adds tools only, not hooks.
31
-
32
- ## 3. Verify
33
- ```bash
34
- npx -y fastrmemory@0.3.0 status
35
- claude mcp list
36
- ```
37
- `status` prints the project ID, memory counts, and database path (`.fastr/` under the project). Inside a session, call:
38
- ```js
39
- fastr_status({})
40
- ```
41
-
42
- ## Troubleshooting
43
- - Tools missing after install: run `/mcp` in Claude Code and check the server started; requires Node >= 22.16.
44
- - Searches miss new memories or the DB looks inconsistent: follow the `fastr-doctor` skill.
45
- - Do not edit `~/.claude` files by hand; prefer the commands above.
1
+ ---
2
+ name: fastr-setup
3
+ description: Use when FastrMemory tools are missing or not responding in Claude Code, when the user asks to install or wire up FastrMemory in a project, or when hooks (session start, pre-edit trap warnings) are not firing. Covers project install, manual MCP registration, and verification.
4
+ allowed-tools: Bash(fastr *), Bash(fastrmemory *), Bash(npx -y fastrmemory*)
5
+ ---
6
+
7
+ # FastrMemory: Wire Up Claude Code
8
+
9
+ ## When to use
10
+ - `fastr_*` tools are not available in the session.
11
+ - The user asks to set up FastrMemory for this repository.
12
+ - Pre-edit trap warnings or session-start context stopped appearing.
13
+
14
+ ## 1. Project install (recommended)
15
+ Run from the project root:
16
+ ```bash
17
+ npx -y fastrmemory@0.3.1 hook install
18
+ ```
19
+ This is idempotent and backs up files it changes. It writes:
20
+ - `.mcp.json`: a project-scoped `fastrmemory` MCP server.
21
+ - `.claude/settings.json`: hooks for `SessionStart`, `PreToolUse` (matcher `Edit|Write|MultiEdit|NotebookEdit`), `PreCompact`, and `SessionEnd`, each running the FastrMemory CLI as `... hook run <event>`.
22
+ - `.cursor/mcp.json` and an `AGENTS.md` discipline block for other agents.
23
+
24
+ Commit `.mcp.json` and `.claude/settings.json` so the team shares the setup. Restart Claude Code and approve the project MCP server when prompted.
25
+
26
+ ## 2. Manual MCP registration (alternative)
27
+ ```bash
28
+ claude mcp add fastrmemory -- npx -y fastrmemory@0.3.1 mcp
29
+ ```
30
+ On native Windows use `-- cmd /c npx -y fastrmemory@0.3.1 mcp`. Pass `--scope project` (before the name) to write `.mcp.json`. For a user-scoped registration (the default when `--scope project` is omitted), append `--project <absolute-project-path>` so the server does not use the client's launch directory; `fastr setup` writes that path automatically. This adds tools only, not hooks.
31
+
32
+ ## 3. Verify
33
+ ```bash
34
+ npx -y fastrmemory@0.3.1 status
35
+ claude mcp list
36
+ ```
37
+ `status` prints the project ID, memory counts, and database path (`.fastr/` under the project). Inside a session, call:
38
+ ```js
39
+ fastr_status({})
40
+ ```
41
+
42
+ ## Troubleshooting
43
+ - Tools missing after install: run `/mcp` in Claude Code and check the server started; requires Node >= 22.16.
44
+ - Searches miss new memories or the DB looks inconsistent: follow the `fastr-doctor` skill.
45
+ - Do not edit `~/.claude` files by hand; prefer the commands above.
@@ -1,39 +1,39 @@
1
- ---
2
- name: fastr-trap-log
3
- description: Use the moment you diagnose the root cause of a build error, failing test, runtime exception, or platform/library gotcha. Records it as an error trap so future agents are warned before editing the same files. Do not wait until the end of the session.
4
- ---
5
-
6
- # FastrMemory: Log Error Traps Immediately
7
-
8
- ## When to use
9
- - A test, type check, or build failed and you now know why.
10
- - A runtime crash or wrong behaviour was traced to a specific cause.
11
- - You hit a subtle environment trap (Windows paths, SQLite locking, ESM/CJS interop, timezone, rounding).
12
-
13
- Skip it for typos or one-off mistakes that teach nothing reusable.
14
-
15
- ## Steps
16
-
17
- 1. **Check it is not already recorded**:
18
- ```js
19
- fastr_trap_recall({ files: ["src/db/schema.ts"] })
20
- ```
21
- If the same trap exists, do not duplicate it; rate it instead with
22
- `fastr_feedback({ memoryId: "mem_xxxx", outcome: "good", note: "Trap matched this failure" })`.
23
-
24
- 2. **Log the trap** (stored as a verified `error_trap` with a 2.0x recall boost):
25
- ```js
26
- fastr_trap_log({
27
- title: "Never open two write connections to the SQLite DB",
28
- content: "Symptom: SQLITE_BUSY in tests. Cause: a second DatabaseSync writer outside the shared repo. Fix: reuse the server context's db handle.",
29
- files: ["src/db/schema.ts", "src/mcp/server.ts"],
30
- module: "db"
31
- })
32
- ```
33
-
34
- ## Writing a good trap
35
- - `title`: imperative rule, not a description of the bug ("Always X" / "Never Y").
36
- - `content`: symptom, root cause, and the concrete fix or workaround, in a few sentences.
37
- - `files`: every file where the trap applies; this is what pre-edit checks match on.
38
- - Never paste secrets, tokens, or private URLs. Content is scrubbed, but do not rely on it.
39
- - If the fix changes an existing rule, also follow the `fastr-curate` skill to supersede it.
1
+ ---
2
+ name: fastr-trap-log
3
+ description: Use the moment you diagnose the root cause of a build error, failing test, runtime exception, or platform/library gotcha. Records it as an error trap so future agents are warned before editing the same files. Do not wait until the end of the session.
4
+ ---
5
+
6
+ # FastrMemory: Log Error Traps Immediately
7
+
8
+ ## When to use
9
+ - A test, type check, or build failed and you now know why.
10
+ - A runtime crash or wrong behaviour was traced to a specific cause.
11
+ - You hit a subtle environment trap (Windows paths, SQLite locking, ESM/CJS interop, timezone, rounding).
12
+
13
+ Skip it for typos or one-off mistakes that teach nothing reusable.
14
+
15
+ ## Steps
16
+
17
+ 1. **Check it is not already recorded**:
18
+ ```js
19
+ fastr_trap_recall({ files: ["src/db/schema.ts"] })
20
+ ```
21
+ If the same trap exists, do not duplicate it; rate it instead with
22
+ `fastr_feedback({ memoryId: "mem_xxxx", outcome: "good", note: "Trap matched this failure" })`.
23
+
24
+ 2. **Log the trap** (stored as a verified `error_trap` with a 2.0x recall boost):
25
+ ```js
26
+ fastr_trap_log({
27
+ title: "Never open two write connections to the SQLite DB",
28
+ content: "Symptom: SQLITE_BUSY in tests. Cause: a second DatabaseSync writer outside the shared repo. Fix: reuse the server context's db handle.",
29
+ files: ["src/db/schema.ts", "src/mcp/server.ts"],
30
+ module: "db"
31
+ })
32
+ ```
33
+
34
+ ## Writing a good trap
35
+ - `title`: imperative rule, not a description of the bug ("Always X" / "Never Y").
36
+ - `content`: symptom, root cause, and the concrete fix or workaround, in a few sentences.
37
+ - `files`: every file where the trap applies; this is what pre-edit checks match on.
38
+ - Never paste secrets, tokens, or private URLs. Content is scrubbed, but do not rely on it.
39
+ - If the fix changes an existing rule, also follow the `fastr-curate` skill to supersede it.
@@ -1,35 +1,35 @@
1
- ---
2
- name: fastr-vision
3
- description: Use when a screenshot, UI mockup, architecture diagram, or error screen should be remembered for later, or before fixing a visual bug or redesigning UI to find related images stored earlier. Tags images with descriptions and OCR text and searches them.
4
- ---
5
-
6
- # FastrMemory: Visual Memory
7
-
8
- ## When to use
9
- - The user shares a screenshot or diagram that explains a bug, design, or architecture.
10
- - A test or tool produced an image worth keeping (visual regression, error dialog).
11
- - You are about to change UI and want earlier screenshots or design references.
12
-
13
- ## 1. Tag an image
14
- ```js
15
- fastr_vision_tag({
16
- filePath: "screenshots/checkout-401.png",
17
- description: "Checkout modal showing a red HTTP 401 banner above the pay button",
18
- ocrText: "HTTP 401 Unauthorized. Access token expired.",
19
- memoryId: "mem_009e4a7d",
20
- taskId: "act_checkout_fix"
21
- })
22
- ```
23
- - `description`: components, layout, colours, and what is wrong or notable.
24
- - `ocrText`: exact visible text (error messages, codes, labels) to make keyword search work.
25
- - `memoryId` / `taskId` (optional): link the governing trap or rule, and the related action.
26
-
27
- ## 2. Search images
28
- ```js
29
- fastr_vision_search({ query: "checkout modal 401 error", limit: 5 })
30
- ```
31
- Filter to images linked to one memory with `memoryId: "mem_009e4a7d"`.
32
-
33
- ## Rules
34
- - Describe what is in the image; do not guess at content you cannot see.
35
- - Do not tag images containing secrets or personal data.
1
+ ---
2
+ name: fastr-vision
3
+ description: Use when a screenshot, UI mockup, architecture diagram, or error screen should be remembered for later, or before fixing a visual bug or redesigning UI to find related images stored earlier. Tags images with descriptions and OCR text and searches them.
4
+ ---
5
+
6
+ # FastrMemory: Visual Memory
7
+
8
+ ## When to use
9
+ - The user shares a screenshot or diagram that explains a bug, design, or architecture.
10
+ - A test or tool produced an image worth keeping (visual regression, error dialog).
11
+ - You are about to change UI and want earlier screenshots or design references.
12
+
13
+ ## 1. Tag an image
14
+ ```js
15
+ fastr_vision_tag({
16
+ filePath: "screenshots/checkout-401.png",
17
+ description: "Checkout modal showing a red HTTP 401 banner above the pay button",
18
+ ocrText: "HTTP 401 Unauthorized. Access token expired.",
19
+ memoryId: "mem_009e4a7d",
20
+ taskId: "act_checkout_fix"
21
+ })
22
+ ```
23
+ - `description`: components, layout, colours, and what is wrong or notable.
24
+ - `ocrText`: exact visible text (error messages, codes, labels) to make keyword search work.
25
+ - `memoryId` / `taskId` (optional): link the governing trap or rule, and the related action.
26
+
27
+ ## 2. Search images
28
+ ```js
29
+ fastr_vision_search({ query: "checkout modal 401 error", limit: 5 })
30
+ ```
31
+ Filter to images linked to one memory with `memoryId: "mem_009e4a7d"`.
32
+
33
+ ## Rules
34
+ - Describe what is in the image; do not guess at content you cannot see.
35
+ - Do not tag images containing secrets or personal data.
@@ -1,65 +1,65 @@
1
- {
2
- "$schema": "https://skills.sh/schema/v1.json",
3
- "name": "fastrmemory-skills",
4
- "version": "0.3.0",
5
- "description": "Agent Skills that teach coding agents when to recall, log traps, curate, and commit FastrMemory.",
6
- "author": "Fastrsoft",
7
- "license": "Apache-2.0",
8
- "homepage": "https://github.com/atifjubaer/fastrmemory",
9
- "repository": {
10
- "type": "git",
11
- "url": "https://github.com/atifjubaer/fastrmemory.git"
12
- },
13
- "skills": [
14
- {
15
- "name": "fastr-memory",
16
- "path": "skills/fastr-memory/SKILL.md",
17
- "description": "Use at the start of any coding task and before reading-to-edit, creating, or modifying project files. Checks FastrMemory for [TRAP] warnings on the target files, then recalls relevant rules and decisions so you do not repeat known mistakes or contradict project conventions."
18
- },
19
- {
20
- "name": "fastr-trap-log",
21
- "path": "skills/fastr-trap-log/SKILL.md",
22
- "description": "Use the moment you diagnose the root cause of a build error, failing test, runtime exception, or platform/library gotcha. Records it as an error trap so future agents are warned before editing the same files. Do not wait until the end of the session."
23
- },
24
- {
25
- "name": "fastr-session-commit",
26
- "path": "skills/fastr-session-commit/SKILL.md",
27
- "description": "Use when a task or milestone is finished and tests pass, before handing control back to the user, or when you are about to run out of context. Rates the memories you used, supersedes rules your work invalidated, and saves a handoff that promotes this session's staging memories to verified."
28
- },
29
- {
30
- "name": "fastr-curate",
31
- "path": "skills/fastr-curate/SKILL.md",
32
- "description": "Use when you learn something durable worth keeping (a new convention, an architectural decision, a user preference), when recalled memories contradict each other, or when memory needs cleanup. Dedupes before storing, records or supersedes rules, resolves conflicts, and snapshots memory before risky bulk changes."
33
- },
34
- {
35
- "name": "fastr-setup",
36
- "path": "skills/fastr-setup/SKILL.md",
37
- "description": "Use when FastrMemory tools are missing or not responding in Claude Code, when the user asks to install or wire up FastrMemory in a project, or when hooks (session start, pre-edit trap warnings) are not firing. Covers project install, manual MCP registration, and verification."
38
- },
39
- {
40
- "name": "fastr-plan-estimate",
41
- "path": "skills/fastr-plan-estimate/SKILL.md",
42
- "description": "Use when the user asks how long or how risky a change will be, before committing to an estimate or plan for a migration, refactor, or bug fix, and again when that work finishes so the estimate can be closed with the actual result. Calibrates estimates against the project's own track record."
43
- },
44
- {
45
- "name": "fastr-dag",
46
- "path": "skills/fastr-dag/SKILL.md",
47
- "description": "Use when work splits into several dependent steps, when multiple agents share one task list, or when you need to know what to work on next. Builds a task DAG with dependencies and conflicts, claims the next unblocked action, and marks progress."
48
- },
49
- {
50
- "name": "fastr-doctor",
51
- "path": "skills/fastr-doctor/SKILL.md",
52
- "description": "Use when FastrMemory searches miss memories you just stored, recall is slow or erroring, the action frontier looks stuck, or the user asks to check or repair the memory database. Diagnoses first, previews repairs, then heals."
53
- },
54
- {
55
- "name": "fastr-compress",
56
- "path": "skills/fastr-compress/SKILL.md",
57
- "description": "Use when a markdown file, PR description, or block of context is too long for the token budget you need to fit it into, or the user asks to shrink a doc. Compresses prose while preserving headings, code blocks, and links; always preview first."
58
- },
59
- {
60
- "name": "fastr-vision",
61
- "path": "skills/fastr-vision/SKILL.md",
62
- "description": "Use when a screenshot, UI mockup, architecture diagram, or error screen should be remembered for later, or before fixing a visual bug or redesigning UI to find related images stored earlier. Tags images with descriptions and OCR text and searches them."
63
- }
64
- ]
65
- }
1
+ {
2
+ "$schema": "https://skills.sh/schema/v1.json",
3
+ "name": "fastrmemory-skills",
4
+ "version": "0.3.1",
5
+ "description": "Agent Skills that teach coding agents when to recall, log traps, curate, and commit FastrMemory.",
6
+ "author": "Fastrsoft",
7
+ "license": "Apache-2.0",
8
+ "homepage": "https://github.com/atifjubaer/fastrmemory",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/atifjubaer/fastrmemory.git"
12
+ },
13
+ "skills": [
14
+ {
15
+ "name": "fastr-memory",
16
+ "path": "skills/fastr-memory/SKILL.md",
17
+ "description": "Use at the start of any coding task and before reading-to-edit, creating, or modifying project files. Checks FastrMemory for [TRAP] warnings on the target files, then recalls relevant rules and decisions so you do not repeat known mistakes or contradict project conventions."
18
+ },
19
+ {
20
+ "name": "fastr-trap-log",
21
+ "path": "skills/fastr-trap-log/SKILL.md",
22
+ "description": "Use the moment you diagnose the root cause of a build error, failing test, runtime exception, or platform/library gotcha. Records it as an error trap so future agents are warned before editing the same files. Do not wait until the end of the session."
23
+ },
24
+ {
25
+ "name": "fastr-session-commit",
26
+ "path": "skills/fastr-session-commit/SKILL.md",
27
+ "description": "Use when a task or milestone is finished and tests pass, before handing control back to the user, or when you are about to run out of context. Rates the memories you used, supersedes rules your work invalidated, and saves a handoff that promotes this session's staging memories to verified."
28
+ },
29
+ {
30
+ "name": "fastr-curate",
31
+ "path": "skills/fastr-curate/SKILL.md",
32
+ "description": "Use when you learn something durable worth keeping (a new convention, an architectural decision, a user preference), when recalled memories contradict each other, or when memory needs cleanup. Dedupes before storing, records or supersedes rules, resolves conflicts, and snapshots memory before risky bulk changes."
33
+ },
34
+ {
35
+ "name": "fastr-setup",
36
+ "path": "skills/fastr-setup/SKILL.md",
37
+ "description": "Use when FastrMemory tools are missing or not responding in Claude Code, when the user asks to install or wire up FastrMemory in a project, or when hooks (session start, pre-edit trap warnings) are not firing. Covers project install, manual MCP registration, and verification."
38
+ },
39
+ {
40
+ "name": "fastr-plan-estimate",
41
+ "path": "skills/fastr-plan-estimate/SKILL.md",
42
+ "description": "Use when the user asks how long or how risky a change will be, before committing to an estimate or plan for a migration, refactor, or bug fix, and again when that work finishes so the estimate can be closed with the actual result. Calibrates estimates against the project's own track record."
43
+ },
44
+ {
45
+ "name": "fastr-dag",
46
+ "path": "skills/fastr-dag/SKILL.md",
47
+ "description": "Use when work splits into several dependent steps, when multiple agents share one task list, or when you need to know what to work on next. Builds a task DAG with dependencies and conflicts, claims the next unblocked action, and marks progress."
48
+ },
49
+ {
50
+ "name": "fastr-doctor",
51
+ "path": "skills/fastr-doctor/SKILL.md",
52
+ "description": "Use when FastrMemory searches miss memories you just stored, recall is slow or erroring, the action frontier looks stuck, or the user asks to check or repair the memory database. Diagnoses first, previews repairs, then heals."
53
+ },
54
+ {
55
+ "name": "fastr-compress",
56
+ "path": "skills/fastr-compress/SKILL.md",
57
+ "description": "Use when a markdown file, PR description, or block of context is too long for the token budget you need to fit it into, or the user asks to shrink a doc. Compresses prose while preserving headings, code blocks, and links; always preview first."
58
+ },
59
+ {
60
+ "name": "fastr-vision",
61
+ "path": "skills/fastr-vision/SKILL.md",
62
+ "description": "Use when a screenshot, UI mockup, architecture diagram, or error screen should be remembered for later, or before fixing a visual bug or redesigning UI to find related images stored earlier. Tags images with descriptions and OCR text and searches them."
63
+ }
64
+ ]
65
+ }