CtrlK
BlogDocsLog inGet started
Tessl Logo

build-paths-beginner

Scaffold a small RAG chatbot on Oracle 26ai Free + langchain-oracledb + OCI Generative AI Grok 4 + sentence-transformers MiniLM-L6-v2 (Python-side embeddings, same model intermediate/advanced register inside Oracle) + Open WebUI. Three flavors that share one skeleton — PDF / Markdown / Web. For users new to Oracle who want a polished demo running in an afternoon.

64

Quality

76%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./build-paths/beginner/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

85%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A high-quality, highly actionable orchestration skill with an excellent sequenced workflow, explicit validation gates and retry loops, and a well-structured progressive-disclosure hub. The main weakness is conciseness — load-bearing values and rationale are restated several times and could be tightened.

Suggestions

Define the embedder model, OCI base URL, and model id once in the resolve-choices table and reference them by variable name elsewhere to remove the ~6 restatements.

Consolidate the '/v1 vs legacy /20231130/actions/openai' rationale into a single load-bearing note near the OCI factory rather than repeating it across Step 1, Step 2, and Step 3b.

Verify the referenced bundle files (shared/references/*, skills/*, shared/snippets/*, shared/templates/*) exist and are reachable, since none were present in the evaluation context.

DimensionReasoningScore

Conciseness

The body is mostly efficient, actionable instruction with little basic-concept padding, but it is long and repeats load-bearing values (the MiniLM embedder and OCI base URL are restated across interview, resolve-choices, .env.example, inference.py, README, and verify; the '/v1 vs /20231130' note appears in multiple places). It is not 3 because not every token earns its place — some repetition and rationale could be tightened — and not 1 because it avoids explaining concepts Claude already knows.

2 / 3

Actionability

Guidance is concrete and copy-ready: exact dependency versions ('fastapi>=0.110', 'sentence-transformers>=2.7'), a full docker-compose YAML block, a Python embedder factory, exact commands ('python -m venv .venv && source .venv/bin/activate && pip install -e .', 'docker compose up -d open-webui'), and copy-from-template instructions for project files with specific fill-in values (model id 'xai.grok-4', endpoint, citation formats). It is not 2 because the examples are executable and specific rather than pseudocode.

3 / 3

Workflow Clarity

A clearly sequenced Step 0→5 flow with explicit validation gates ('Block until it reports OK', 'Don't proceed without an explicit y', expect 'verify: OK'), an error-recovery feedback loop ('follow shared/verify.md recovery loop, max 3 retries'), stop conditions, and a 'What you must NOT do' guardrail list. It is not 2 because checkpoints and feedback loops are explicit, not implicit.

3 / 3

Progressive Disclosure

The body is an exemplary hub pointing to one-level-deep, clearly signaled references — Step 0's mandatory reading list flags load-bearing vs. skim files ('langchain-oracledb.md ← load-bearing', 'oracledb-python.md (skim)'), plus shared snippets/templates, sub-skills, and an OAMP decision-tree reference. It is not 2 because references are clearly signaled and well-organized rather than dumped inline. Caveat: none of the referenced bundle paths (shared/, skills/, beginner/, archive/) were present in the evaluation workspace, so their existence could not be verified.

3 / 3

Total

11

/

12

Passed

Description

67%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A highly specific, well-scoped description that clearly conveys what the skill builds and on exactly which stack, with strong distinctiveness. Its weaknesses are trigger-term quality (jargon-heavy, few natural user phrases) and the absence of an explicit 'Use when...' clause, which caps completeness.

Suggestions

Add an explicit 'Use when...' clause naming natural trigger phrases (e.g., 'Use when a beginner wants to build a RAG chatbot on Oracle with PDF, Markdown, or web data and a chat UI').

Lead with user-facing terms ('RAG chatbot', 'chat with your PDFs/notes/web pages', 'Oracle demo') before the implementation stack so trigger terms match what users actually say.

Move deep jargon like 'intermediate/advanced register inside Oracle' out of the description into the body; keep the description to the action, the three flavors, and the trigger.

DimensionReasoningScore

Specificity

The description names concrete actions and a fully specified stack — 'Scaffold a small RAG chatbot on Oracle 26ai Free + langchain-oracledb + OCI Generative AI Grok 4 + sentence-transformers MiniLM-L6-v2 ... + Open WebUI' with 'Three flavors ... PDF / Markdown / Web' — far beyond vague domain naming. It does not score below 3 because it lists multiple specific, concrete capabilities rather than abstract language.

3 / 3

Completeness

The 'what' is clearly answered (scaffold a RAG chatbot with three flavors on a named stack), but the 'when' is only an audience descriptor — 'For users new to Oracle who want a polished demo running in an afternoon' — with no explicit 'Use when...' trigger clause, which the guidelines cap at 2. It is not 3 because there is no explicit trigger guidance, and not 1 because both purpose and target are present.

2 / 3

Trigger Term Quality

Some natural terms appear ('RAG chatbot', 'PDF / Markdown / Web', 'demo', 'afternoon'), but the description is dominated by technical jargon users would not naturally say ('langchain-oracledb', 'OCI Generative AI Grok 4', 'MiniLM-L6-v2', 'intermediate/advanced register inside Oracle'). It is not 3 because common user-facing trigger variations are largely missing, and not 1 because recognizable keywords like 'RAG chatbot' and the three flavors are present.

2 / 3

Distinctiveness Conflict Risk

The niche is extremely specific (Oracle 26ai Free + Grok 4 + MiniLM + Open WebUI RAG scaffolding), making it unlikely to trigger for the wrong skill. It is not 2 because the stack specificity removes meaningful overlap with generic RAG or document skills.

3 / 3

Total

10

/

12

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
oracle-devrel/oracle-ai-developer-hub
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.