@vheins/local-memory-mcp 0.14.7 → 0.14.8
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.
- package/dist/{chunk-ODEGMBOP.js → chunk-3L6GCUKO.js} +2 -2
- package/dist/dashboard/server.js +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/prompts/architecture-design.md +8 -12
- package/dist/prompts/create-task.md +38 -78
- package/dist/prompts/csl-from-docs.md +10 -53
- package/dist/prompts/csl-scrapper.md +12 -52
- package/dist/prompts/documentation-sync.md +10 -11
- package/dist/prompts/export-task-to-github.md +10 -24
- package/dist/prompts/fix-suggestion.md +14 -8
- package/dist/prompts/import-github-issues.md +9 -24
- package/dist/prompts/learning-retrospective.md +8 -10
- package/dist/prompts/memory-agent-core.md +16 -27
- package/dist/prompts/memory-guided-review.md +11 -8
- package/dist/prompts/memory-index-policy.md +17 -23
- package/dist/prompts/project-briefing.md +13 -15
- package/dist/prompts/review-and-audit.md +35 -49
- package/dist/prompts/review-and-post-issue.md +20 -32
- package/dist/prompts/root-cause-analysis.md +10 -11
- package/dist/prompts/security-triage.md +11 -11
- package/dist/prompts/senior-code-review.md +9 -18
- package/dist/prompts/sentinel-issue-resolver.md +14 -36
- package/dist/prompts/session-planner.md +12 -12
- package/dist/prompts/task-management-guidelines.md +18 -27
- package/dist/prompts/task-memory-executor.md +40 -127
- package/dist/prompts/tech-affinity-scout.md +11 -8
- package/dist/prompts/technical-planning.md +22 -37
- package/dist/prompts/tool-usage-guidelines.md +31 -43
- package/package.json +1 -1
|
@@ -81,8 +81,8 @@ function loadServerInstructions() {
|
|
|
81
81
|
// src/mcp/capabilities.ts
|
|
82
82
|
var __dirname2 = path2.dirname(fileURLToPath2(import.meta.url));
|
|
83
83
|
var pkgVersion = "0.1.0";
|
|
84
|
-
if ("0.14.
|
|
85
|
-
pkgVersion = "0.14.
|
|
84
|
+
if ("0.14.8") {
|
|
85
|
+
pkgVersion = "0.14.8";
|
|
86
86
|
} else {
|
|
87
87
|
let searchDir = __dirname2;
|
|
88
88
|
for (let i = 0; i < 5; i++) {
|
package/dist/dashboard/server.js
CHANGED
package/dist/mcp/server.js
CHANGED
|
@@ -14,20 +14,16 @@ category: planning
|
|
|
14
14
|
tags: [architecture, system-design, components, data-flow, adr]
|
|
15
15
|
---
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
## FSM
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Entry=S0 → S1 → S2 Exit=done
|
|
20
|
+
Guard: S(N) req S(N-1)✅
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
## Rules
|
|
25
|
-
- Component Diagram: Blocks & responsibilities
|
|
26
|
-
- Data Flow: Information movement
|
|
27
|
-
- ADRs: Rationale for patterns
|
|
28
|
-
- Scalability/Reliability: Growth & failure handling
|
|
29
|
-
- Security: Identity, protection, boundaries
|
|
22
|
+
S0 | review tech_stack & requirements | — | component list, data flow map | —
|
|
23
|
+
S1 | design: component diagram(blocks+responsibilities) + data flow(information movement) + ADRs(rationale) + scalability/reliability(growth+failure) + security(identity,protection,boundaries) | S0✅ | design decisions | —
|
|
24
|
+
S2 | document artifacts | S1✅ | architecture docs | design/architecture/
|
|
30
25
|
|
|
31
26
|
## Chain
|
|
27
|
+
|
|
32
28
|
← N/A
|
|
33
|
-
→
|
|
29
|
+
→ architecture-documentation: design/architecture/ → as-built architecture doc
|
|
@@ -3,98 +3,58 @@ name: create-task
|
|
|
3
3
|
description: Create structured, atomic tasks in Local Memory MCP.
|
|
4
4
|
arguments:
|
|
5
5
|
- name: instruction
|
|
6
|
-
description: Directive to analyze and break into tasks.
|
|
6
|
+
description: Directive to analyze and break into tasks. Derived from active task/pending handoff/recent conversation if omitted.
|
|
7
7
|
required: false
|
|
8
8
|
agent: Task Planner
|
|
9
|
-
version: "1.0.0"
|
|
10
|
-
license: Proprietary — Personal Use Only
|
|
11
9
|
category: workflows
|
|
12
|
-
|
|
13
|
-
complexity: Advanced
|
|
10
|
+
version: "1.0.0"
|
|
14
11
|
tags: [workflow, task-creation, planning, mcp]
|
|
15
|
-
author: vheins
|
|
16
12
|
---
|
|
17
13
|
|
|
18
|
-
##
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
## FSM
|
|
15
|
+
|
|
16
|
+
Entry=S0 → S1 → S2 → S3 Exit=created
|
|
17
|
+
Guard: S(N) req S(N-1)✅; NO code/edit/delete — MCP tools ONLY (allowed: task-create, task-list, task-detail, task-update, memory-store, memory-search, standard-search, standard-store, handoff-list, handoff-update, read)
|
|
21
18
|
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
S0 | pre_analysis: memory-search(architecture/history) + standard-search(if task leads to code/test/refactor/migrate decisions) + handoff-list(pending; close stale that describe completed work) + read code(verify paths+impl) + task-list dedup(DO NOT duplicate; link via parent_id/depends_on) | — | context | —
|
|
20
|
+
S1 | design tasks: atomic(1 logical change), layered(DB/Service/State/UI), context(paths+symbols+APIs), min 1 pos+1 neg test | S0✅ | task specs | —
|
|
21
|
+
S2 | assign attributes: task_code(FEAT/FIX/REFACTOR-XXX), phase(Discovery|Implementation|Testing), priority(1=Low..5=Critical), strict description format | S1✅ | task attrs | —
|
|
22
|
+
S3 | create via task-create(bulk max 500) + log decisions via memory-store(arch/feature changes; skip simple bugs) | S2✅ | MCP tasks created | —
|
|
23
|
+
G1 | blueprint? | src=idea-to-blueprint | → route blueprint flow | —
|
|
24
|
+
G2 | sprint? | src=.agents/documents/tasks/sprints/ | → route sprint flow | —
|
|
24
25
|
|
|
25
|
-
##
|
|
26
|
-
1. **Search Memory**: Call `memory-search` (architecture/history).
|
|
27
|
-
2. **Search Standards**: Call `standard-search` for tasks that may lead to code edits, test edits, refactors, migrations, or implementation decisions. If no relevant standards are returned, note that no applicable standards were found.
|
|
28
|
-
3. **Check Handoffs**: Call `handoff-list` for pending context that may already describe unfinished work. Ignore or close stale handoffs that only describe completed work.
|
|
29
|
-
4. **Research Codebase**: Read relevant source files to verify current implementation and paths.
|
|
30
|
-
5. **De-duplicate**: Call `task-list`. DO NOT duplicate existing tasks. Link related tasks via `parent_id`/`depends_on`.
|
|
26
|
+
## Description Format (STRICT — used in S2)
|
|
31
27
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
- **
|
|
35
|
-
- **
|
|
36
|
-
- **
|
|
28
|
+
```
|
|
29
|
+
### 1. Context & Analysis
|
|
30
|
+
- **Trigger**: Instruction/finding.
|
|
31
|
+
- **Observation**: Technical reasoning.
|
|
32
|
+
- **Goal**: Clear objective.
|
|
33
|
+
### 2. Step & Implementation
|
|
34
|
+
- Detailed execution steps per path/layer.
|
|
35
|
+
### 3. Acceptance & Verification
|
|
36
|
+
- **Checklist**: `[ ]` criteria.
|
|
37
|
+
- **Testing**: Scenarios.
|
|
38
|
+
```
|
|
37
39
|
|
|
38
|
-
##
|
|
39
|
-
- `task_code`: FEAT/FIX/REFACTOR-XXX.
|
|
40
|
-
- `phase`: Discovery/Implementation/Testing.
|
|
41
|
-
- `priority`: 1-5 using this exact scale:
|
|
42
|
-
- `1 = Low`
|
|
43
|
-
- `2 = Normal`
|
|
44
|
-
- `3 = Medium`
|
|
45
|
-
- `4 = High`
|
|
46
|
-
- `5 = Critical`
|
|
47
|
-
- `priority` is ascending by urgency. `5` is the highest urgency and `1` is the lowest. Never encode `Critical` as `1`.
|
|
48
|
-
- `description` (STRICT FORMAT):
|
|
49
|
-
### 1. Context & Analysis
|
|
50
|
-
- **Trigger**: Instruction/finding.
|
|
51
|
-
- **Observation**: Technical reasoning.
|
|
52
|
-
- **Goal**: Clear objective.
|
|
53
|
-
### 2. Step & Implementation
|
|
54
|
-
- Detailed execution steps per path/layer.
|
|
55
|
-
### 3. Acceptance & Verification
|
|
56
|
-
- **Checklist**: `[ ]` criteria.
|
|
57
|
-
- **Testing**: Scenarios.
|
|
40
|
+
## Priority Scale
|
|
58
41
|
|
|
59
|
-
|
|
60
|
-
Log architectural/feature changes as `type: decision` via `memory-store`. Store reusable implementation rules via `standard-store`. Skip for simple bug fixes.
|
|
42
|
+
`1=Low` `2=Normal` `3=Medium` `4=High` `5=Critical` (ascending urgency)
|
|
61
43
|
|
|
62
|
-
##
|
|
63
|
-
- Parent/Child logic for complex directives.
|
|
64
|
-
- Bulk limit: 500 records.
|
|
44
|
+
## Blueprint Flow (G1→)
|
|
65
45
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
- Preserve phase order with `depends_on`: P0 -> P1 -> G1 -> P2 -> G2 -> P3 -> G3 -> P4/P5 -> P6 -> P7 -> P8 -> P9 -> P10 -> GF.
|
|
73
|
-
- For conditional tasks, create them with explicit condition metadata instead of omitting them:
|
|
74
|
-
- UI design tasks run when the product has UI.
|
|
75
|
-
- accessibility tests run when UI exists.
|
|
76
|
-
- performance/load tests run when capacity risk exists.
|
|
77
|
-
- database migration tests run when schema changes exist.
|
|
78
|
-
- microservice/monolith tasks run only when architecture context applies.
|
|
79
|
-
- Gate tasks are internal quality checks. They should not ask for manual approval unless the gate is blocked by No-Go, missing mandatory input, or conflicting requirements.
|
|
80
|
-
- All task descriptions must use the strict Context & Analysis, Step & Implementation, Acceptance & Verification format.
|
|
81
|
-
- Call `task-list` before creation and link to existing related tasks instead of creating duplicates.
|
|
82
|
-
- Store a decision memory summarizing the blueprint task graph and major assumptions.
|
|
46
|
+
Root parent → phase parents P0..P10 → child tasks per breakdown row
|
|
47
|
+
Recursive decompose every referenced skill to leaf level
|
|
48
|
+
depends_on: P0→P1→G1→P2→G2→P3→G3→P4/P5→P6→P7→P8→P9→P10→GF
|
|
49
|
+
Conditional tasks use metadata (not omission): UI design (if UI), a11y (if UI), perf (if capacity risk), db migration (if schema change), microservice (if arch context)
|
|
50
|
+
Gates = internal quality checks; no manual approval unless blocked No-Go or missing mandatory input
|
|
51
|
+
Store decision memory summarizing blueprint graph + assumptions
|
|
83
52
|
|
|
84
|
-
##
|
|
85
|
-
When the instruction source is `.agents/documents/tasks/sprints/`:
|
|
86
|
-
- Treat sprint files and allocation audit as the source of truth.
|
|
87
|
-
- Create one root parent task for the full delivery scope.
|
|
88
|
-
- Create one sprint parent task per sprint and link each to the root via `parent_id`.
|
|
89
|
-
- Create module/feature child tasks under the sprint where the work is scheduled.
|
|
90
|
-
- Create atomic implementation/testing tasks under the matching module/feature parent.
|
|
91
|
-
- Convert sprint dependency columns and implementation order into `depends_on`.
|
|
92
|
-
- Preserve cross-sprint blockers by linking later sprint tasks to earlier sprint MCP task IDs.
|
|
93
|
-
- Call `task-list` before creation and skip duplicates; link to existing related tasks instead.
|
|
94
|
-
- Store a task creation audit in memory with created, linked, skipped duplicate, and blocked counts.
|
|
53
|
+
## Sprint Flow (G2→)
|
|
95
54
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
-
|
|
55
|
+
Root parent → sprint parents (per sprint) → module/feature children → atomic impl/test tasks
|
|
56
|
+
Convert sprint dependency columns + implementation order into depends_on
|
|
57
|
+
Preserve cross-sprint blockers via MCP task ID links
|
|
58
|
+
Store creation audit: created, linked, skipped dup, blocked counts
|
|
99
59
|
|
|
100
60
|
Analyze: {{instruction}}
|
|
@@ -6,63 +6,20 @@ arguments:
|
|
|
6
6
|
description: Local path (file or directory) containing documentation or standards.
|
|
7
7
|
required: true
|
|
8
8
|
agent: Documentation Processor
|
|
9
|
-
version: "1.0.0"
|
|
10
9
|
category: workflows
|
|
10
|
+
version: "1.0.0"
|
|
11
11
|
tags: [workflow, csl, coding-standards, documentation, mcp]
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
Path: {{path}}
|
|
17
|
-
Current repo: {{current_repo}}
|
|
18
|
-
|
|
19
|
-
Goal:
|
|
20
|
-
- Analyze the provided path.
|
|
21
|
-
- If the path is a directory:
|
|
22
|
-
- Use the `list_directory` tool to list all files and subdirectories.
|
|
23
|
-
- Process each relevant file (e.g., .md, .txt, .js, .ts) sequentially.
|
|
24
|
-
- For each file, retrieve its content and extract standards.
|
|
25
|
-
- If the path is a file:
|
|
26
|
-
- Use the `read_file` tool to retrieve the content of the file.
|
|
27
|
-
- Extract source-backed coding standards from the content.
|
|
28
|
-
- For each extracted rule, use the `standard-search` tool to check if a similar rule already exists (match by name or core instruction).
|
|
29
|
-
- Produce one atomic CSL entry per distinct rule that DOES NOT already exist.
|
|
30
|
-
- Each entry must be ready for the `standard-store` tool shape: name, content, parent_id, context, version, language, stack, tags, metadata, repo, is_global.
|
|
31
|
-
|
|
32
|
-
Atomic entry rules:
|
|
33
|
-
- One entry = one rule. Split bundled guidance into separate entries.
|
|
34
|
-
- DO NOT emit duplicates. If `standard-search` returns a high-confidence match, skip the entry or update it if the new source is more authoritative.
|
|
35
|
-
- Use parent/child only for genuine hierarchy: parent = umbrella principle, child = narrower enforceable specialization.
|
|
36
|
-
- Keep content concise, imperative, and implementation-relevant.
|
|
37
|
-
- ALWAYS include relevant code examples or snippets from the source that illustrate or enforce the rule. Do NOT discard code blocks.
|
|
38
|
-
- Preserve the source meaning without inventing requirements.
|
|
39
|
-
- Ignore boilerplate, non-normative text, or metadata noise. Do NOT ignore code examples.
|
|
40
|
-
- Do not infer version, language, stack, or scope unless the source makes them explicit.
|
|
41
|
-
- Use metadata to preserve provenance, including the original file path and a short evidence_excerpt for each entry.
|
|
14
|
+
## FSM
|
|
42
15
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
- First, emit `standard-search` calls to verify existing data.
|
|
46
|
-
- Then, emit `standard-store` calls for every unique/new accepted entry.
|
|
47
|
-
- When parent/child hierarchy exists, emit the parent first, then emit children with `parent_id` referencing the created parent standard ID.
|
|
48
|
-
- If tool calls are unavailable, return a JSON object with:
|
|
49
|
-
- `standards`: Array of `standard-store`-compatible payloads.
|
|
50
|
-
- Use title-like names for the "name" field and store the atomic rule text along with its code examples in "content".
|
|
51
|
-
- Use "context" for the topic area (for example: naming, error-handling, routing, testing, hooks, security).
|
|
52
|
-
- Default version to "1.0.0" only when the source gives no versioning signal.
|
|
53
|
-
- Prefer is_global=true unless the content is clearly repo-specific.
|
|
16
|
+
Entry=G0 → S0 → S1 → S2 → S3 Exit=stored|refused
|
|
17
|
+
Guard: S(N) req S(N-1)✅
|
|
54
18
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
-
|
|
59
|
-
-
|
|
19
|
+
G0 | path exists + readable + normative? | path provided? | → S0 / refuse | —
|
|
20
|
+
S0 | discover: if dir→list_directory then read_file each; if file→read_file | G0✅ | raw content | —
|
|
21
|
+
S1 | extract atomic rules: 1 entry=1 rule, keep code examples, split bundled, preserve source meaning, ignore boilerplate | S0✅ | atomic entries | —
|
|
22
|
+
S2 | dedup via standard-search (skip if high-confidence match; update if new source more authoritative) | S1✅ | filtered entries | —
|
|
23
|
+
S3 | store via standard-store: parent first→children with parent_id; context=topic area; version=1.0.0(default); is_global=true(unless repo-specific); metadata={original_path, evidence_excerpt} | S2✅ | CSL entries stored | —
|
|
60
24
|
|
|
61
|
-
|
|
62
|
-
```json
|
|
63
|
-
{
|
|
64
|
-
"action": "refuse",
|
|
65
|
-
"reason": "<short explanation>",
|
|
66
|
-
"missing": ["<missing evidence or source requirement>"]
|
|
67
|
-
}
|
|
68
|
-
```
|
|
25
|
+
Path: {{path}} Repo: {{current_repo}}
|
|
@@ -6,62 +6,22 @@ arguments:
|
|
|
6
6
|
description: Canonical URL for the documentation source to scrape.
|
|
7
7
|
required: true
|
|
8
8
|
agent: Documentation Scraper
|
|
9
|
-
version: "1.0.0"
|
|
10
9
|
category: workflows
|
|
10
|
+
version: "1.0.0"
|
|
11
11
|
tags: [workflow, csl, scraping, coding-standards, mcp]
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
Source URL: {{source_url}}
|
|
17
|
-
Current repo: {{current_repo}}
|
|
18
|
-
|
|
19
|
-
Goal:
|
|
20
|
-
- Use the web_fetch tool (if available) to retrieve the content of the provided Source URL.
|
|
21
|
-
- Extract only source-backed coding standards from the documentation.
|
|
22
|
-
- For each extracted rule, use the `standard-search` tool to check if a similar rule already exists (match by name or core instruction).
|
|
23
|
-
- Produce one atomic CSL entry per distinct rule that DOES NOT already exist.
|
|
24
|
-
- Each entry must be ready for the standard-store tool shape: name, content, parent_id, context, version, language, stack, tags, metadata, repo, is_global.
|
|
25
|
-
- Identify documentation navigation menus (e.g., sidebars, index pages) containing links to related sub-pages. If present, create iterative scraping tasks for these sub-pages.
|
|
26
|
-
- Detect documentation hierarchy when a page contains an umbrella rule with narrower sub-rules. In that case, emit one parent entry plus child entries linked with `parent_id`.
|
|
27
|
-
|
|
28
|
-
Atomic entry rules:
|
|
29
|
-
- One entry = one rule. Split bundled guidance into separate entries.
|
|
30
|
-
- DO NOT emit duplicates. If `standard-search` returns a high-confidence match, skip the entry or update it if the new source is more authoritative.
|
|
31
|
-
- Use parent/child only for genuine hierarchy: parent = umbrella principle, child = narrower enforceable specialization.
|
|
32
|
-
- Keep content concise, imperative, and implementation-relevant.
|
|
33
|
-
- ALWAYS include relevant code examples or snippets from the source that illustrate or enforce the rule. Do NOT discard code blocks.
|
|
34
|
-
- Preserve the source meaning without inventing requirements.
|
|
35
|
-
- Ignore marketing copy, release notes, and changelog noise. Do NOT ignore code examples.
|
|
36
|
-
- Do not infer version, language, stack, or scope unless the source makes them explicit.
|
|
37
|
-
- Use metadata to preserve provenance, including the source_url and a short evidence_excerpt for each entry.
|
|
14
|
+
## FSM
|
|
38
15
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
- First, emit `standard-search` calls to verify existing data.
|
|
42
|
-
- Emit one `standard-store` call per unique/new accepted entry.
|
|
43
|
-
- When parent/child hierarchy exists, emit the parent first, then emit children with `parent_id` referencing the created parent standard ID.
|
|
44
|
-
- Emit one `task-create` call for each discovered documentation sub-page URL. The task title should be "Scrape: [URL]" and the description should instruct to use the `csl-scrapper` prompt for that URL.
|
|
45
|
-
- If tool calls are unavailable, return a JSON object with:
|
|
46
|
-
- `standards`: Array of `standard-store`-compatible payloads.
|
|
47
|
-
- `next_urls`: Array of sub-page URLs to scrape.
|
|
48
|
-
- Use title-like names for the "name" field and store the atomic rule text along with its code examples in "content".
|
|
49
|
-
- Use "context" for the topic area (for example: naming, error-handling, routing, testing, hooks, security).
|
|
50
|
-
- Use `parent_id` only when the source explicitly shows the rule is nested under a broader parent concept on the same page.
|
|
51
|
-
- Default version to "1.0.0" only when the source gives no versioning signal.
|
|
52
|
-
- Prefer is_global=true unless the source is clearly repo-specific.
|
|
16
|
+
Entry=G0 → S0 → G1 → S1 → S2 → S3 → S4 Exit=stored|refused
|
|
17
|
+
Guard: S(N) req S(N-1)✅
|
|
53
18
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
-
|
|
19
|
+
G0 | source_url provided? | source_url arg exists? | → S0 / refuse | —
|
|
20
|
+
S0 | fetch via web_fetch | G0✅ | raw doc | —
|
|
21
|
+
G1 | content reachable + normative? | S0✅ | → S1 / refuse | —
|
|
22
|
+
S1 | extract atomic rules: 1 entry=1 rule, keep code examples, detect nav menus for sub-pages, ignore marketing/release notes, preserve source meaning | S0✅ | atomic entries, sub-page URLs | —
|
|
23
|
+
S2 | dedup via standard-search (skip if high-confidence match; update if new source more authoritative) | S1✅ | filtered entries | —
|
|
24
|
+
S3 | store via standard-store: parent first→children with parent_id; context=topic area; version=1.0.0(default); is_global=true(unless repo-specific); metadata={source_url, evidence_excerpt} | S2✅ | CSL entries stored | —
|
|
25
|
+
S4 | create scrape tasks for each sub-page URL via task-create | sub-page URLs exist? | MCP tasks queued | —
|
|
59
26
|
|
|
60
|
-
|
|
61
|
-
```json
|
|
62
|
-
{
|
|
63
|
-
"action": "refuse",
|
|
64
|
-
"reason": "<short explanation>",
|
|
65
|
-
"missing": ["<missing evidence or source requirement>"]
|
|
66
|
-
}
|
|
67
|
-
```
|
|
27
|
+
Source: {{source_url}} Repo: {{current_repo}}
|
|
@@ -3,18 +3,17 @@ name: documentation-sync
|
|
|
3
3
|
description: Sync memory decisions with repository markdown files
|
|
4
4
|
arguments: []
|
|
5
5
|
agent: Documentation Specialist
|
|
6
|
-
version: "1.0.0"
|
|
7
|
-
license: Proprietary — Personal Use Only
|
|
8
6
|
category: workflows
|
|
9
|
-
|
|
10
|
-
complexity: Beginner
|
|
7
|
+
version: "1.0.0"
|
|
11
8
|
tags: [workflow, documentation, memory, sync]
|
|
12
|
-
author: vheins
|
|
13
9
|
---
|
|
14
|
-
Reconcile local documentation with stored memories.
|
|
15
10
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
11
|
+
## FSM
|
|
12
|
+
|
|
13
|
+
Entry=S0 → S1 → S2 → S3 Exit=aligned
|
|
14
|
+
Guard: S(N) req S(N-1)✅
|
|
15
|
+
|
|
16
|
+
S0 | search decision memories via memory-search | — | memory entries | —
|
|
17
|
+
S1 | read_file(README.md) + glob & read_file(docs/**/\*.md, .agents/documents/**/_, .kiro/\*\*/_) | S0✅ | doc content | —
|
|
18
|
+
S2 | compare: identify missing/outdated knowledge | S1✅ | gap list | —
|
|
19
|
+
S3 | propose specific changes to align docs | S2✅ | update proposals | —
|
|
@@ -12,33 +12,19 @@ arguments:
|
|
|
12
12
|
description: Local task ID
|
|
13
13
|
required: true
|
|
14
14
|
agent: Integration Architect
|
|
15
|
-
version: "1.0.0"
|
|
16
15
|
category: workflows
|
|
16
|
+
version: "1.0.0"
|
|
17
17
|
tags: [workflow, github, task-sync, mcp]
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
## 1. RETRIEVE
|
|
23
|
-
1. **Fetch**: Call `task-detail` for `task_id`.
|
|
24
|
-
2. **Verify**: Ensure title/description exist. Use `memory-search` for gaps.
|
|
25
|
-
|
|
26
|
-
## 2. SYNC CHECK
|
|
27
|
-
1. **Search**: Use `search_issues` for `task_code`.
|
|
28
|
-
2. **De-duplicate**: If issue exists, update local task `metadata` with URL. DO NOT re-create.
|
|
29
|
-
|
|
30
|
-
## 3. CREATE ISSUE
|
|
31
|
-
If new:
|
|
32
|
-
- **Write**: Use `issue_write` (method: 'create').
|
|
33
|
-
- **Content**: Match local title/body exactly.
|
|
34
|
-
- **Traceability**: Append `task_code` and `task_id` to body.
|
|
35
|
-
- **Comments**: Post local comments via `add_issue_comment`.
|
|
20
|
+
## FSM
|
|
36
21
|
|
|
37
|
-
|
|
38
|
-
-
|
|
39
|
-
- **Metadata**: Add GitHub URL.
|
|
40
|
-
- **Comment**: "Exported to GitHub Issue #X".
|
|
22
|
+
Entry=S0 → S1 → G1 → S2 → S3 → S4 Exit=exported|skipped
|
|
23
|
+
Guard: S(N) req S(N-1)✅; MCP + GitHub tools ONLY
|
|
41
24
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
25
|
+
S0 | fetch task via task-detail | task_id exists? | task data | —
|
|
26
|
+
S1 | sync check via search_issues for task_code | S0✅ | existing issue? | —
|
|
27
|
+
G1 | dedup gate — if exists→update local task metadata with URL, DO NOT re-create | S1✅ | exists→skip+link / new→S2 | —
|
|
28
|
+
S2 | create issue via issue_write (match title/body, append task_code+id) | G1→new | GitHub issue created | —
|
|
29
|
+
S3 | post comments via add_issue_comment | S2✅ | comments transferred | —
|
|
30
|
+
S4 | link: task-update with GitHub URL + comment | S3✅ | task updated | —
|
|
@@ -17,15 +17,21 @@ category: debugging
|
|
|
17
17
|
tags: [fix, patch, bug-fix, code-change, test-case, debugging]
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
## FSM
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Entry=S0 → S1 Exit=suggestion
|
|
23
|
+
Guard: S(N) req S(N-1)✅
|
|
24
|
+
|
|
25
|
+
S0 | analyze inputs (tech_stack, bug_description, root_cause) | all req provided? | diagnosis | —
|
|
26
|
+
S1 | produce: explanation + before/after diff(`diff ... `) + meta checklist + regression test | S0✅ | fix suggestion | —
|
|
27
|
+
|
|
28
|
+
## Output Format (S1)
|
|
29
|
+
|
|
30
|
+
- Explanation: Why bug happens + how fix works (prose)
|
|
31
|
+
- Before/After: `diff blocks` with line comments
|
|
32
|
+
- Meta checklist: config changes, migrations, dependencies
|
|
33
|
+
- Verification: regression test case (code block)
|
|
23
34
|
|
|
24
35
|
## I/O
|
|
25
|
-
tech_stack (req), bug_description (req), root_cause (req) → diagnosis report + fix suggestion
|
|
26
36
|
|
|
27
|
-
|
|
28
|
-
1. Explanation: Why it happens and how fix works
|
|
29
|
-
2. Before/After: Diff style code blocks with comments
|
|
30
|
-
3. Checklist: Meta changes (config, migrations)
|
|
31
|
-
4. Verification: Regression test case
|
|
37
|
+
tech_stack + bug_description + root_cause → diagnosis report + fix suggestion
|
|
@@ -3,33 +3,18 @@ name: import-github-issues
|
|
|
3
3
|
description: Import GitHub Issues as local tasks.
|
|
4
4
|
arguments: []
|
|
5
5
|
agent: Integration Scout
|
|
6
|
-
version: "1.0.0"
|
|
7
|
-
license: Proprietary — Personal Use Only
|
|
8
6
|
category: workflows
|
|
9
|
-
|
|
10
|
-
complexity: Intermediate
|
|
7
|
+
version: "1.0.0"
|
|
11
8
|
tags: [workflow, github, issue-import, mcp]
|
|
12
|
-
author: vheins
|
|
13
9
|
---
|
|
14
10
|
|
|
15
|
-
##
|
|
16
|
-
- **Primary**: Use `github-mcp-server` to list open issues.
|
|
17
|
-
- **Fallback**: Terminal `gh issue list --json number,title,body,labels,url`.
|
|
18
|
-
|
|
19
|
-
## 2. DE-DUPLICATE
|
|
20
|
-
- **Scan**: Call `task-list`. Skip issues already existing as `GH-{{number}}` task codes.
|
|
21
|
-
|
|
22
|
-
## 3. MAP & CREATE
|
|
23
|
-
For each new issue, use `task-create`:
|
|
24
|
-
- **`task_code`**: `GH-{{number}}`.
|
|
25
|
-
- **`title` / `description`**: EXACT match from GitHub. DO NOT summarize.
|
|
26
|
-
- **`tags`**: GitHub labels.
|
|
27
|
-
- **`phase`**: `backlog` or `triage`.
|
|
28
|
-
- **`metadata`**: include GitHub URL.
|
|
11
|
+
## FSM
|
|
29
12
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
- **Import**: Add comments to local task via `task-update`.
|
|
13
|
+
Entry=S0 → S1 → S2 → S3 → S4 Exit=imported
|
|
14
|
+
Guard: S(N) req S(N-1)✅
|
|
33
15
|
|
|
34
|
-
|
|
35
|
-
|
|
16
|
+
S0 | fetch open issues: primary=github-mcp-server; fallback=`gh issue list --json number,title,body,labels,url` | — | issue list | —
|
|
17
|
+
S1 | dedup via task-list (skip if GH-{number} exists) | S0✅ | filtered issues | —
|
|
18
|
+
S2 | create MCP tasks: task_code=GH-{number}, EXACT title/body (DO NOT summarize), tags=labels, phase=backlog|triage, metadata=URL | S1✅ | tasks created | —
|
|
19
|
+
S3 | import comments via issue_read → task-update | S2✅ | comments linked | —
|
|
20
|
+
S4 | report created count | S3✅ | summary | —
|
|
@@ -6,19 +6,17 @@ arguments:
|
|
|
6
6
|
description: ID of completed task.
|
|
7
7
|
required: false
|
|
8
8
|
agent: Knowledge Harvester
|
|
9
|
-
version: "1.0.0"
|
|
10
9
|
category: workflows
|
|
10
|
+
version: "1.0.0"
|
|
11
11
|
tags: [workflow, retrospective, memory, knowledge-management]
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
## FSM
|
|
15
|
+
|
|
16
|
+
Entry=S0 → S1 Exit=stored
|
|
17
|
+
Guard: S(N) req S(N-1)✅
|
|
15
18
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
2. **Decisions**: Trade-offs, library choices, architectural pivots.
|
|
19
|
-
3. **Patterns**: Repeatable implementations or conventions.
|
|
19
|
+
S0 | identify: mistakes (bugs/quirks), decisions (trade-offs/pivots), patterns (conventions) | task_id? | knowledge items | —
|
|
20
|
+
S1 | store via memory-store (type=mistake|decision|pattern, include tech tags, concise) | S0✅ | durable memories | —
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
- Use `type: mistake | decision | pattern`.
|
|
23
|
-
- Include technology tags.
|
|
24
|
-
- Keep content concise.
|
|
22
|
+
Task: {{task_id}}
|
|
@@ -3,38 +3,27 @@ name: memory-agent-core
|
|
|
3
3
|
description: Behavioral contract for memory-aware agents.
|
|
4
4
|
arguments: []
|
|
5
5
|
agent: Memory Guardian
|
|
6
|
-
version: "1.0.0"
|
|
7
|
-
license: Proprietary — Personal Use Only
|
|
8
6
|
category: workflows
|
|
9
|
-
|
|
10
|
-
complexity: Advanced
|
|
7
|
+
version: "1.0.0"
|
|
11
8
|
tags: [memory, workflow, guardrails, mcp]
|
|
12
|
-
author: vheins
|
|
13
9
|
---
|
|
14
|
-
# Memory Guardian Protocol
|
|
15
10
|
|
|
16
|
-
|
|
11
|
+
## FSM — Execution Policy
|
|
12
|
+
|
|
13
|
+
Entry=S0 → S1 → S2 → S3 → S4 → S5 Exit=act
|
|
14
|
+
Guard: S(N) req S(N-1)✅; NEVER contradict stored decisions without memory-update or supersedes
|
|
17
15
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
6. **Search Mechanics**: Hybrid Search (70% Cosine, 30% BM25). 0.55 similarity threshold prevents duplication.
|
|
16
|
+
S0 | orient: task-list + handoff-list (close stale pending) | session start? | active context | —
|
|
17
|
+
S1 | claim: task-claim before work; claim-list/claim-release for stale | S0✅ | ownership | —
|
|
18
|
+
S2 | search: memory-search(Hybrid: 70% Cosine+30% BM25, 0.55 threshold) + standard-search(task intent, lang, stack, repo) | S1✅ | relevant knowledge | —
|
|
19
|
+
S3 | retrieve: memory-detail for full content if pointer rows insufficient | S2✅ | hydrated entries | —
|
|
20
|
+
S4 | select: use ONLY highly relevant memories + standards | S3✅ | filtered knowledge | —
|
|
21
|
+
S5 | acknowledge: after code gen using memory → memory-acknowledge(used|irrelevant|contradictory) | code generated? | feedback | —
|
|
25
22
|
|
|
26
|
-
##
|
|
27
|
-
1. **Orient**: Call `task-list` for active work and `handoff-list` for pending transfers when starting a repository session. Close stale pending handoffs with `handoff-update` when they no longer describe unfinished work.
|
|
28
|
-
2. **Claim**: Use `task-claim` before taking ownership of a concrete task. Use `claim-list` when ownership is unclear and `claim-release` to clear stale claims during reassignment.
|
|
29
|
-
3. **Search**: Call `memory-search` with `current_file_path` and `current_tags` before coding.
|
|
30
|
-
4. **Standards**: Call `standard-search` before any code edit, test edit, refactor, migration, or implementation decision. Use the task intent, affected files, inferred language, stack, and repo as filters. If no relevant standards are returned, continue and state that no applicable standards were found.
|
|
31
|
-
5. **Retrieve**: Use `memory-detail` for full content if search pointer rows are insufficient.
|
|
32
|
-
6. **Select**: Use ONLY highly relevant memories and standards.
|
|
23
|
+
## FSM — Creation Policy
|
|
33
24
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
1. **Categorize**: Use technology `tags`.
|
|
37
|
-
2. **Maintain**: Use `supersedes` for overrides.
|
|
38
|
-
3. **Separate concerns**: Use `standard-store` for normative coding rules and `handoff-create`/`handoff-update` for agent transfer context. Do not store these as generic memories.
|
|
25
|
+
Entry=S0 → S1 Exit=stored
|
|
26
|
+
Guard: store ONLY if durable + affects future behavior; use supersedes for overrides
|
|
39
27
|
|
|
40
|
-
|
|
28
|
+
S0 | categorize: type + tech tags; NEVER store coordination state (claims, file ownership) as memory | is durable? | classified | —
|
|
29
|
+
S1 | store: memory-store(decisions/patterns) or standard-store(normative rules) or handoff-create(transfer ctx) | S0✅ | stored | —
|
|
@@ -6,16 +6,19 @@ arguments:
|
|
|
6
6
|
description: File to review.
|
|
7
7
|
required: true
|
|
8
8
|
agent: Code Auditor
|
|
9
|
-
version: "1.0.0"
|
|
10
9
|
category: coding
|
|
10
|
+
version: "1.0.0"
|
|
11
11
|
tags: [code-review, memory, compliance, mcp]
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
## FSM
|
|
15
|
+
|
|
16
|
+
Entry=S0 → S1 → S2 → S3 Exit=reviewed
|
|
17
|
+
Guard: S(N) req S(N-1)✅
|
|
18
|
+
|
|
19
|
+
S0 | search: memory-search (file_path) + standard-search (lang, stack, repo) | file_path provided? | relevant rules | —
|
|
20
|
+
S1 | hydrate: memory-detail for relevant pointers | S0✅ | full rules | —
|
|
21
|
+
S2 | evaluate compliance vs patterns, documented mistakes, standards | S1✅ | violation list | —
|
|
22
|
+
S3 | feedback: suggest fixes citing source (memory|standard) | S2✅ | review report | —
|
|
15
23
|
|
|
16
|
-
|
|
17
|
-
1. **Search Memory**: Call `memory-search` using `current_file_path='{{file_path}}'`.
|
|
18
|
-
2. **Hydrate**: Call `memory-detail` for any relevant pointer row before enforcing it.
|
|
19
|
-
3. **Search Standards**: Call `standard-search` with inferred language/stack/repo filters.
|
|
20
|
-
4. **Evaluate**: Check for compliance with established patterns, documented mistakes, and applicable coding standards.
|
|
21
|
-
5. **Feedback**: Suggest fixes for violations, citing whether the source is memory or standard.
|
|
24
|
+
File: {{file_path}}
|