Skf audit skill
Skill armelhbobdad/oh-my-skills/.claude/skills/skf-audit-skill
Drift detection between skill and current source code. Use when the user requests to "audit a skill" or "audit skill" for drift.From its SKILL.md
npx -y skills add armelhbobdad/oh-my-skills --skill skf-audit-skillAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.2 KB, 730 tokens by cl100k_base, as published. Nobody here has run it
Audit Skill
Overview
Detects drift between an existing skill and its current source code, producing a severity-graded drift report with AST-backed findings and actionable remediation suggestions. Every finding must trace to actual code with file:line citations — structural truth over semantic guessing. Analysis depth adapts based on detected forge tier (Quick/Forge/Forge+/Deep) with graceful degradation. Stack skills are supported: code-mode stacks are audited per-library against their sources; compose-mode stacks check constituent freshness via metadata hash comparison.
Role
You are a skill auditor operating in Ferris Audit mode. This is a deterministic analysis workflow — you enforce the zero-hallucination principle. You bring AST analysis expertise and drift detection methodology, while the source code provides the ground truth.
Workflow Rules
These rules apply to every step in this workflow:
- Never fabricate findings — all data must trace to source code with file:line citations
- Read each step file completely before taking any action
- Follow the mandatory sequence in each step exactly — do not skip, reorder, or optimize
- Only load one step file at a time — never preload future steps
- Update
stepsCompletedin output file frontmatter before loading next step - If any instruction references a subprocess or tool you lack, achieve the outcome in your main context thread
- Always communicate in
{communication_language} - If
{headless_mode}is true, auto-proceed through confirmation gates with their default action and log each auto-decision
Stages
| # | Step | File | Auto-proceed |
|---|---|---|---|
| 1 | Initialize & Baseline | steps-c/step-01-init.md | No (confirm) |
| 2 | Re-Index Source | steps-c/step-02-re-index.md | Yes |
| 3 | Structural Diff | steps-c/step-03-structural-diff.md | Yes |
| 4 | Semantic Diff | steps-c/step-04-semantic-diff.md | Yes (skip at non-Deep) |
| 5 | Severity Classification | steps-c/step-05-severity-classify.md | Yes |
| 6 | Report | steps-c/step-06-report.md | Yes |
| 7 | Workflow Health Check | steps-c/step-07-health-check.md | Yes |
Invocation Contract
| Aspect | Detail |
|---|---|
| Inputs | skill_name [required] |
| Gates | step-01: Confirm Gate [C] |
| Outputs | drift-report-{timestamp}.md with drift_score and nextWorkflow |
| Headless | All gates auto-resolve with default action when {headless_mode} is true |
On Activation
-
Load config from
{project-root}/_bmad/skf/config.yamland resolve:project_name,output_folder,user_name,communication_language,document_output_languageskills_output_folder,forge_data_folder,sidecar_path- Generate and store
timestampasYYYYMMDD-HHmmssformat. This value is fixed for the entire workflow run.
-
Resolve
{headless_mode}: true if--headlessor-Hwas passed as an argument, or ifheadless_mode: truein preferences.yaml. Default: false. -
Load, read the full file, and then execute
./steps-c/step-01-init.mdto begin the workflow.
What ships with it: 9 files
55.6 KB alongside SKILL.md
assets/
references/
- severity-rules.md2.4 KB
steps-c/
- step-01-init.md12.4 KB
- step-02-re-index.md9.5 KB
- step-03-structural-diff.md9.0 KB
- step-04-semantic-diff.md6.8 KB
- step-05-severity-classify.md6.2 KB
- step-06-report.md7.6 KB
- step-07-health-check.md803 B
Gives 0 of the 12 instructions most audit compliance skills give in 730 tokens
Counted across 937 of the 1,487 authors here whose files we hold, read 2026-08-07
- Fetch latest guidelines before each reviewin 43 of 937, across 3 files
- Group findings by severityin 43 of 937
- Check files against all fetched rulesin 42 of 937, across 2 files
- Output findings in terse file:line formatin 41 of 937, across 3 files
- Ask user which files to review if none specifiedin 41 of 937, across 3 files
- Read specified files or prompt user for filesin 39 of 937, across 1 file
- Generate the audit reportin 33 of 937, across 30 files
- Assign a severity to every findingin 25 of 937
- Run automated accessibility scansin 23 of 937, across 13 files
- Output a markdown audit reportin 22 of 937
- Map findings to WCAG criteriain 20 of 937, across 10 files
- Confirm audit scopein 19 of 937, across 9 files
Said here and by no other author read
- trace all findings to code with file:line citations
- read each step file completely before action
- follow the mandatory sequence in each step exactly
- load only one step file at a time
- update stepsCompleted before loading the next step
- achieve missing tool outcomes in main context thread
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.