Install
$ agentstack add skill-h2sxxa-spec-coding-skills-spec-index ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Spec Memory Index
Use this skill to turn one-off discoveries into durable project memory and to retrieve that memory when a later task would benefit from it.
This skill is about memory with reuse value, not generic note taking. Capture decisions, setup knowledge, root causes, fix patterns, and constraints in a form that future planning and correction work can actually use.
Bundled resources
references/template.mddefines the canonical Markdown entry shape, YAML frontmatter, category field, and trigger tag fields.scripts/index.pyprovides deterministicadd, best-matchsearch,audit, andrebuildcommands for Markdown knowledge bases.
Prefer the script for creating, searching, auditing, and rebuilding the index when the local environment can run Python. If the script cannot run, follow the same template manually and explain why the deterministic helper was not used.
Repository preference override
Before retrieving or saving memory, look for a SPEC.md in the target repository root.
If it exists, treat it as the repository-specific preference layer for:
- the knowledge-base location
- capture categories and storage expectations
- environment and configuration gotchas that are worth remembering
- cross-skill workflow conventions
If it is missing, use the built-in defaults for this skill series instead of blocking on the missing file.
If it is partial, use the fields it defines and fall back to defaults for the rest.
Built-in defaults
When no repository root SPEC.md is available, use these defaults:
- knowledge-base root:
docs/knowledge-base/ - knowledge-base index:
docs/knowledge-base/index.md - entry template:
references/template.md - indexing helper:
scripts/index.py
Core responsibilities
- Save durable knowledge in a normalized, retrieval-friendly form.
- Retrieve relevant past knowledge using concrete keywords and context clues.
- Investigate, update, and reorganize existing knowledge-base entries when memory quality matters.
- Reduce repeated debugging and repeated planning by surfacing what is already known.
- Feed high-value context back into
spec-planandspec-crlp.
Operating modes
Choose one mode from the user's intent:
- Retrieve mode: Use when the user wants to know whether the project already has related decisions, root causes, setup notes, or fix patterns.
- Capture mode: Use when the user wants to save a new reusable finding, decision, setup rule, or root cause.
- Investigate mode: Use when the user wants to inspect, audit, clean up, reorganize, update, deduplicate, or validate existing knowledge-base entries.
If the user asks to "整理", "调查", "audit", "clean up", "review existing knowledge", "update old notes", "merge duplicates", or "fix tags", use investigate mode.
What belongs in the index
- Architecture or product decisions and the reason behind them.
- Requirement constraints and non-obvious boundaries.
- Setup steps, environment prerequisites, and configuration gotchas.
- Confirmed root causes and the fixes that resolved them.
- Reusable implementation patterns, migration rules, or troubleshooting heuristics.
- Known pitfalls, edge cases, and lessons learned from previous work.
Entry categories
Use one primary category per entry:
decision: durable architecture, product, workflow, or tooling decisionconstraint: requirement boundary or non-obvious long-term limitationsetup: environment, dependency, installation, or configuration prerequisiteroot-cause: confirmed cause of an observed failurefix-pattern: reusable correction strategy for a recurring class of bugsimplementation-pattern: reusable implementation approachpitfall: known trap, anti-pattern, or edge case to avoidvalidation: lint, test, build, CI, or verification rule
If an entry seems to fit multiple categories, choose the category that best explains why future work should retrieve it.
Trigger tags
Trigger tags are retrieval hooks, not documentation prose.
Build tags from signals that future users, logs, or code searches are likely to contain:
type:phase:planning,phase:correction,phase:setup, orphase:retrievaldomain:component:framework:tool:symptom:error:file:env:
Prefer lowercase, hyphenated tags. Keep them specific enough to retrieve the entry later, but avoid one-off tags that no future query is likely to use.
What does not belong in the index
- Raw chatter with no future reuse value.
- Large unstructured logs when a concise summary would do.
- Temporary guesses that have not been validated.
- Duplicate entries that say the same thing in different words.
Retrieval workflow
- Identify what question you are trying to answer.
- Build search terms from the problem domain, component name, symptom, tool, environment, and error wording.
- Use
scripts/index.py searchagainst the knowledge-base root when Python is available. - If the script is unavailable, retrieve the most relevant matches manually from the location defined in the repository root
SPEC.mdwhen present, otherwise use the built-in default location. - Rank them by closeness to the current task.
- Return concise takeaways, why they matter, and what action they suggest.
- If nothing relevant is found, say so plainly instead of pretending there is memory that does not exist.
Use scripts/index.py search --explain when the reason for a match matters. The search helper uses weighted best-match scoring across trigger tags, titles, frontmatter fields, summaries, Applies When, root-cause sections, resolutions, and validation text. Treat search results as candidates to inspect, not as proof.
Capture workflow
- Decide whether the new information is likely to help with future work.
- Choose exactly one primary category.
- Generate trigger tags from phase, domain, component, tool, framework, symptom, error, file, and environment signals.
- Normalize the content using
references/template.md. - Use
scripts/index.py addwhen Python is available so the entry and index are updated deterministically. The helper automatically adds thetype:trigger tag if it is missing. - Preserve the context that explains when the entry applies.
- Include the evidence, resolution, or decision rationale.
- Avoid creating a second entry when an update to an existing one would be cleaner.
Investigate workflow
Use this workflow when maintaining an existing knowledge base:
- Resolve the knowledge-base root from the repository root
SPEC.mdwhen present, otherwise use the built-in default location. - Read
index.mdand scan all memory entries under the knowledge-base root. - Check for broken index links, entries missing from the index, duplicate or overlapping entries, weak trigger tags, missing metadata, stale setup notes, conflicting rules, and entries without validation context.
- Group findings by action: keep, update, merge, split, archive, or needs human review.
- Prefer safe updates first: add missing trigger tags, fix category metadata, improve summaries, fill
Applies When, and add validation context. - Ask before destructive changes such as deleting entries, overwriting substantial content, or merging entries where information could be lost.
- Run
scripts/index.py auditwhen Python is available to get a deterministic structural report. - After manual edits, run
scripts/index.py rebuildwhen Python is available. - Produce an investigation report summarizing what changed, what was left untouched, and what still needs review.
Investigation checks
Check each entry for:
- exactly one primary
type - meaningful
trigger_tags - a clear
Summary - an
Applies Whensection that explains retrieval conditions - a
Decision Or Root Causesection with validated knowledge, not speculation - a
Resolution Or Rulesection that is actionable - a
Validationsection that explains how the knowledge was confirmed or should be checked - related files or systems when they help future retrieval
Check the index for:
- links to missing files
- entries that exist on disk but are missing from
index.md - duplicate titles or near-duplicate summaries
- categories that are too broad or inconsistent
- stale entries that should be updated or archived
Preferred investigation report shape
Prefer this structure after investigating existing memory:
# Knowledge Base Investigation
## Scope
## Summary
## Entries Reviewed
## Changes Applied
## Recommended Updates
## Duplicates Or Conflicts
## Broken Or Missing Index Links
## Needs Human Review
## Rebuild Status
Preferred entry shape
Prefer the bundled references/template.md when saving or presenting memory. The entry should include this shape:
# Memory Entry
## Title
## Context
## Applies When
## Decision Or Root Cause
## Resolution Or Rule
## Validation
## Tags
## Related Files Or Systems
Preferred retrieval shape
Prefer a structure like this when returning matches:
# Relevant Memory
## Match
## Why It Matters
## Key Takeaway
## Recommended Next Step
Storage guidance
Use the storage location defined in the repository root SPEC.md when present.
If no repository root SPEC.md is available, default to docs/knowledge-base/ and docs/knowledge-base/index.md.
When adding or changing entries, use scripts/index.py rebuild after manual edits to keep index.md synchronized.
If the default storage location is clearly unsuitable for the task or the repository is read-only, present the normalized memory entry in the response and explain that persistent storage could not be updated.
Handoffs
- Accept decisions, assumptions, and constraints from
spec-planwhen they are worth preserving. - Accept confirmed root causes, setup fixes, and troubleshooting patterns from
spec-crlp. - Return relevant memory to
spec-planwhen planning a new task with similar constraints. - Return relevant memory to
spec-crlpwhen debugging a failure that resembles a known issue. - Recommend creating or updating a repository root
SPEC.mdwhen repeated memory entries reveal a repository-specific convention that should become explicit.
Example requests
- "Save this root cause so we do not lose it after this session."
- "Have we solved something like this migration issue before?"
- "Index the setup steps and env gotchas from today's work so future tasks can retrieve them."
- "Audit the knowledge base and fix weak trigger tags."
- "Merge duplicate root-cause entries and rebuild the index."
- "Investigate existing setup notes and mark anything stale."
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: H2Sxxa
- Source: H2Sxxa/spec-coding-skills
- License: MIT
- Homepage: https://h2sxxa.github.io/spec-coding-skills/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.