Install
$ agentstack add skill-techwolf-ai-ai-first-toolkit-kb-answer ✓ 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.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
KB Answer Workflow
Follow these steps in order for every question. For multiple independent questions, use parallel agents.
Prerequisites
Check that kb/ exists in the project root. If not, tell the user to run /setup-knowledge-base first.
Step 1: Navigate Using the Index
Always start by reading the KB index:
kb/index.md
The index provides:
- Keyword Lookup: find the right file by keyword
- Category overview: all files grouped by topic
If the index is empty or outdated, run the index script first:
python3 scripts/kb-index.py
Quick Navigation
- Check the keyword lookup table for matching terms
- Go to the matching file(s)
- If no keyword match, browse the category that best fits the question. Categories can be nested (e.g.,
security/access/) — drill down into sub-groups when a broad category has them.
Step 2: Read Relevant Files
Based on the index navigation:
- Read the most relevant file first
- Check
related:links in the frontmatter if the file references other entries - Read additional files if the first doesn't fully cover the question
Step 3: Search (if needed)
If the index doesn't point to the right file, run the search script to rank entries by keyword across title, tags, description, category, and body:
python3 scripts/kb-search.py "your keyword"
Options worth knowing:
--category securityrestricts to a category (matches nested children likesecurity/accesstoo).--tag mfafilters by frontmatter tag (repeatable).--limit 5caps results.--jsonfor a machine-readable list (useful when chaining into another step).
Fall back to the Grep tool with path kb/ only if the search script misses a term (e.g., regex-only patterns).
Step 4: Check Active Scope
If kb/scopes/ contains scope files beyond _default.yaml:
- Ask the user which scope applies (if not already established in this conversation)
- Read the active scope file
- Apply
in_scope,out_of_scope, andnotesto shape your answer
If only _default.yaml exists, skip this step.
Step 5: Formulate Answer
Answer Format
Yes/No questions: Start with "Yes" or "No", followed by 1 sentence.
Other questions: Answer directly in 1-3 sentences. Add detail only if needed.
If format requirements are provided: Follow them exactly.
Citation Requirements
Every claim in your answer MUST be backed by a literal quote from a KB file.
Format each citation as:
> "exact quote copied from the KB file"
> Source: kb/category/filename.md
Rules:
- Copy the quote character-for-character. Do not paraphrase, summarize, or rephrase.
- If you cannot find a literal quote supporting a claim, do not make that claim.
- Include markdown formatting verbatim. If the source says
**Confidential**: ..., your quote must be**Confidential**: ..., notConfidential: .... If the source uses bullet list dashes, include them. Missing markdown is the #1 reasonkb-verify.pyflags citations. The script has a normalized-match fallback that will PASS with a warning, but strict mode will FAIL, so always copy formatting literally. - For long passages, prefer quoting a single self-contained sentence. When a multi-line quote is unavoidable (e.g., a bulleted list that must be cited as one block), use the multi-line form:
`` > "first line of the quote > second line > last line" > Source: kb/category/filename.md ` The verifier joins the >` lines back into one quote and checks the whole block. Single-line blocks are still preferred for robustness.
What to Avoid
- Don't over-elaborate. Match answer depth to question depth.
- Don't pad with "more details available upon request".
- Don't start with summary phrases like "Based on our documentation...". Go straight to the answer.
- Be honest about limitations. If something isn't in the KB, say so.
If Information is Missing
- State clearly what information is not in the KB
- Provide what can be answered from available info
- Do not make up or infer information not in the KB
- Suggest which KB entry should be created to cover the gap
Step 6: Verify Citations
After formulating your answer, verify all citations are accurate by running:
python3 scripts/kb-verify.py security
Q2: "Who are our customers?" -> general
Q3: "What's our SLA?" -> security
Group 1 (security): Q1 + Q3
Group 2 (general): Q2
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: techwolf-ai
- Source: techwolf-ai/ai-first-toolkit
- License: MIT
- Homepage: https://ai-first.techwolf.ai
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.