@vheins/local-memory-mcp 0.14.7 → 0.14.9

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 (30) hide show
  1. package/dist/{chunk-ODEGMBOP.js → chunk-UQZNTQJP.js} +2 -2
  2. package/dist/dashboard/server.js +1 -1
  3. package/dist/mcp/server.js +1 -1
  4. package/dist/prompts/architecture-design.md +8 -12
  5. package/dist/prompts/create-task.md +38 -78
  6. package/dist/prompts/csl-from-docs.md +10 -53
  7. package/dist/prompts/csl-scrapper.md +12 -52
  8. package/dist/prompts/documentation-sync.md +10 -11
  9. package/dist/prompts/export-task-to-github.md +10 -24
  10. package/dist/prompts/fix-suggestion.md +14 -8
  11. package/dist/prompts/import-github-issues.md +9 -24
  12. package/dist/prompts/learning-retrospective.md +8 -10
  13. package/dist/prompts/memory-agent-core.md +16 -27
  14. package/dist/prompts/memory-guided-review.md +11 -8
  15. package/dist/prompts/memory-index-policy.md +17 -23
  16. package/dist/prompts/project-briefing.md +13 -15
  17. package/dist/prompts/review-and-audit.md +35 -49
  18. package/dist/prompts/review-and-post-issue.md +20 -32
  19. package/dist/prompts/root-cause-analysis.md +10 -11
  20. package/dist/prompts/security-triage.md +11 -11
  21. package/dist/prompts/senior-code-review.md +9 -18
  22. package/dist/prompts/sentinel-issue-resolver.md +14 -36
  23. package/dist/prompts/server/instructions.md +33 -30
  24. package/dist/prompts/session-planner.md +12 -12
  25. package/dist/prompts/task-management-guidelines.md +18 -27
  26. package/dist/prompts/task-memory-executor.md +40 -127
  27. package/dist/prompts/tech-affinity-scout.md +11 -8
  28. package/dist/prompts/technical-planning.md +22 -37
  29. package/dist/prompts/tool-usage-guidelines.md +31 -43
  30. 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.7") {
85
- pkgVersion = "0.14.7";
84
+ if ("0.14.9") {
85
+ pkgVersion = "0.14.9";
86
86
  } else {
87
87
  let searchDir = __dirname2;
88
88
  for (let i = 0; i < 5; i++) {
@@ -16,7 +16,7 @@ import {
16
16
  handleTaskClaim,
17
17
  listResources,
18
18
  logger
19
- } from "../chunk-ODEGMBOP.js";
19
+ } from "../chunk-UQZNTQJP.js";
20
20
 
21
21
  // src/dashboard/server.ts
22
22
  import express from "express";
@@ -60,7 +60,7 @@ import {
60
60
  toContextSlug,
61
61
  updateSessionFromInitialize,
62
62
  updateSessionRoots
63
- } from "../chunk-ODEGMBOP.js";
63
+ } from "../chunk-UQZNTQJP.js";
64
64
 
65
65
  // src/mcp/server.ts
66
66
  import readline from "readline";
@@ -14,20 +14,16 @@ category: planning
14
14
  tags: [architecture, system-design, components, data-flow, adr]
15
15
  ---
16
16
 
17
- # Skill: Architecture Design
17
+ ## FSM
18
18
 
19
- > Design system architecture for repository.
19
+ Entry=S0 S1 S2 Exit=done
20
+ Guard: S(N) req S(N-1)✅
20
21
 
21
- ## I/O
22
- `tech_stack` (req), `requirements` (req) `design/architecture/` (components, data flow, ADRs)
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
- `architecture-documentation`: `design/architecture/` → as-built architecture doc
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. Optional — derived from active task, pending handoff, or recent conversation if omitted.
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
- type: Orchestrator
13
- complexity: Advanced
10
+ version: "1.0.0"
14
11
  tags: [workflow, task-creation, planning, mcp]
15
- author: vheins
16
12
  ---
17
13
 
18
- ## 🚫 FORBIDDEN: NON-EXECUTION
19
- DO NOT edit/create/delete files, run commands, or implement code.
20
- **Allowed**: Read code, `task-create`, `memory-store`, `task-list`, `memory-search`.
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
- ## OUTPUT: MCP ONLY
23
- ONLY call MCP tools. No prose, no code, no plans outside MCP.
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
- ## 1. PRE-ANALYSIS
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
- ## 2. TASK DESIGN
33
- - **Atomic**: One logical change per task.
34
- - **Context**: Paths, symbols, APIs.
35
- - **Layered**: DB/Service/State/UI.
36
- - **Tests**: Min 1 Positive + 1 Negative.
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
- ## 3. ATTRIBUTES & FORMAT
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
- ## 4. MEMORY
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
- ## 5. MULTI-TASK
63
- - Parent/Child logic for complex directives.
64
- - Bulk limit: 500 records.
44
+ ## Blueprint Flow (G1→)
65
45
 
66
- ## 5A. BLUEPRINT ORCHESTRATION IMPORT
67
- When the instruction source is `idea-to-blueprint`:
68
- - Create one root parent task for the full SDLC blueprint.
69
- - Create phase parent tasks for P0 through P10 and final no-gap handoff.
70
- - Create child tasks for every task breakdown row in the `idea-to-blueprint` skill.
71
- - Recursively decompose every referenced skill until leaf-level tasks are reached.
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
- ## 5B. SPRINT PLAN IMPORT
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
- ## 6. SELF-CHECK
97
- - No code/execution.
98
- - ONLY MCP tool calls.
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
- Fetch and convert local documentation from the provided path into atomic CSL (Coding Standards Library) entries for the coding_standards entity.
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
- Output contract:
44
- - If tool calls are available:
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
- Refusal rules:
56
- - Refuse when the path does not exist or is not readable.
57
- - Refuse when the file content is not documentation or not clearly normative reference content.
58
- - Refuse when the request asks you to guess, invent, or fill missing guidance from prior knowledge.
59
- - Refuse when no source-backed coding standards can be extracted.
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
- If you refuse, return exactly:
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
- Fetch and convert trusted documentation from the provided URL into atomic CSL (Coding Standards Library) entries for the coding_standards entity.
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
- Output contract:
40
- - If tool calls are available:
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
- Refusal rules:
55
- - Refuse when the URL content is not reachable, not documentation, or not clearly normative reference content.
56
- - Refuse when the source is too incomplete to verify atomic rules.
57
- - Refuse when the request asks you to guess, invent, or fill missing guidance from prior knowledge.
58
- - Refuse when no source-backed coding standards can be extracted.
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
- If you refuse, return exactly:
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
- type: Utility
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
- Steps:
17
- 1. **Search**: Find `type: decision` memories via `memory-search`.
18
- 2. **Scan**: Read `README.md`, `docs/`, `.agents/documents/`, and `.kiro/`.
19
- 3. **Compare**: Identify missing or outdated durable knowledge.
20
- 4. **Update**: Propose specific changes to align docs with current source of truth.
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
- # Skill: export-task-to-github
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
- ## 4. LINK
38
- - **Update**: Call `task-update`.
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
- ## OUTPUT: MCP ONLY
43
- ONLY call: `task-detail`, `task-update`, `search_issues`, `issue_write`, `add_issue_comment`.
44
- No prose. No modifications to original content.
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
- # Skill: Fix Suggestion
20
+ ## FSM
21
21
 
22
- > Provide precise, minimal fix for confirmed bug.
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
- ## Rules
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
- type: Orchestrator
10
- complexity: Intermediate
7
+ version: "1.0.0"
11
8
  tags: [workflow, github, issue-import, mcp]
12
- author: vheins
13
9
  ---
14
10
 
15
- ## 1. FETCH
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
- ## 4. COMMENTS
31
- - **Fetch**: Use `issue_read` (method='get_comments').
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
- ## 5. SUMMARY
35
- Report count of tasks created.
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
- Extract durable knowledge from task {{task_id}} for repository.
14
+ ## FSM
15
+
16
+ Entry=S0 → S1 Exit=stored
17
+ Guard: S(N) req S(N-1)✅
15
18
 
16
- Identify and `memory-store`:
17
- 1. **Mistakes**: Hard-to-find bugs or environment quirks.
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
- Directives:
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
- type: Utility
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
- You are a memory-aware agent. Memory is project truth, not a suggestion.
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
- ## Core Rules
19
- 1. **Consistency**: Never contradict stored decisions without `memory-update` or `supersedes`.
20
- 2. **Mistake Prevention**: Never repeat documented mistakes.
21
- 3. **Affinity**: Only use cross-repo memory if tech tags match or it's marked `Global`.
22
- 4. **Conflicts**: If memory clashes with user request, ask for clarification or propose `supersedes`.
23
- 5. **Acknowledge**: After code generation using memory, you MUST call `memory-acknowledge`.
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
- ## Execution Policy
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
- ## Creation Policy
35
- Store memory ONLY if knowledge is durable (architecture, patterns, fixes) and affects future behavior.
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
- Protect codebase health by respecting project history.
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
- Audit {{file_path}} against stored project knowledge.
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
- Steps:
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}}