sokrates-features-of-interest

Defines and measures regex-based cross-cutting concerns for Sokrates repository analysis configurations.

3|1|Updated Aug 26, 2026
One-click install
npx skills add https://github.com/zeljkoobrenovic/sokrates-skills --skill sokrates-features-of-interest-zeljkoobrenovic
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sokrates-features-of-interest
Source: https://github.com/zeljkoobrenovic/sokrates-skills/tree/main/skills/config/sokrates-features-of-interest
Command: npx skills add https://github.com/zeljkoobrenovic/sokrates-skills --skill sokrates-features-of-interest-zeljkoobrenovic

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Sokrates tracks only TODOs by default, so questions like "how much code handles secrets" or "where are the feature flags" go unanswered. This Skill defines the concern groups (features of interest) in _sokrates/config.json and verifies each regex against the real codebase so the concern views are meaningful. ## Core Features & Use Cases - Candidate measurement: The propose_concerns.py script scans the main files against a catalog of ~30 generic concerns (technical debt, security, robustness, data, integration, observability, configuration, lifecycle) plus the repository's most imported external libraries, reporting file counts, LOC percentages, matched tokens, and stratified samples per candidate. - Concern authoring guidance: Enforces Sokrates regex semantics (contentPattern must match an entire line, pathPattern the entire path, exception vetoes, metaConcerns with extract/replace name operations) and selection rules such as dropping candidates that touch more than 60% of files. - Use Case: A team migrating off a legacy framework defines legacy: javax.servlet and new: spring concerns, verifies them with the preview script, and tracks both curves across analyses to make the migration measurable over time. ## Quick Start Ask the AI to propose and configure features of interest for the repository by running the propose_concerns.py script against _sokrates/config.json and updating the concernGroups.

Frequently Asked Questions about sokrates-features-of-interest

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure features of interest in Sokrates?

Run propose_concerns.py against _sokrates/config.json to measure ~30 candidate concerns plus the repo's most imported libraries, then select 8-15 actionable ones, sharpen their regexes from the samples, and write them into concernGroups in the config.

What regex rules apply to Sokrates concern patterns?

contentPattern must match an entire line, so wrap patterns as .*X.*, and pathPattern must match the entire path including srcRoot. A malformed regex silently matches nothing, and exception: true vetoes a match.

Why does my Sokrates concern match zero files?

A zero-hit concern usually means a wrong or malformed regex, since Sokrates silently matches nothing on regex errors. Verify with the repo-config preview script, which reports every concern's file count and warns on zero hits.

When is a concern too broad to be useful?

A candidate touching more than about 60% of main files is a property of the codebase, not a feature of interest. Narrow it with word boundaries or language-specific tokens, or drop it entirely.

Can Sokrates concerns track a migration over time?

Yes. Define one concern for the legacy pattern and one for its replacement with stable names, then compare analyses over time. The concern trends make the migration or cleanup measurable across runs.