Not in the top 1,000 by GitHub stars
armelhbobdad/bmad-module-skill-forge
A standalone BMAD module that transforms code repositories, documentation websites, and developer discourse into agentskills.io-compliant, version-pinned, provenance-backed agent skills.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
src/skf-analyze-source/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 96ae82bdd228
No earlier version was observed for comparison.
src/skf-audit-skill/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 96ae82bdd228
No earlier version was observed for comparison.
src/skf-brief-skill/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 96ae82bdd228
No earlier version was observed for comparison.
src/skf-campaign/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 96ae82bdd228
No earlier version was observed for comparison.
src/skf-create-skill/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 96ae82bdd228
No earlier version was observed for comparison.
src/skf-create-stack-skill/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 96ae82bdd228
No earlier version was observed for comparison.
src/skf-drop-skill/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 96ae82bdd228
No earlier version was observed for comparison.
src/skf-export-skill/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 96ae82bdd228
No earlier version was observed for comparison.
src/skf-forger/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 96ae82bdd228
No earlier version was observed for comparison.
src/skf-quick-skill/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 96ae82bdd228
No earlier version was observed for comparison.
src/skf-refine-architecture/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 96ae82bdd228
No earlier version was observed for comparison.
src/skf-rename-skill/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 96ae82bdd228
No earlier version was observed for comparison.
src/skf-setup/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 96ae82bdd228
No earlier version was observed for comparison.
src/skf-test-skill/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 96ae82bdd228
No earlier version was observed for comparison.
src/skf-update-skill/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 96ae82bdd228
No earlier version was observed for comparison.
src/skf-verify-stack/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 96ae82bdd228
No earlier version was observed for comparison.
Verified commit 96ae82bdd228488c80d4edf7973ae0f3c0b9e956
git clone --filter=blob:none --no-checkout https://github.com/armelhbobdad/bmad-module-skill-forge.git .hotskills/armelhbobdad-bmad-module-skill-forge && git -C .hotskills/armelhbobdad-bmad-module-skill-forge checkout --detach 96ae82bdd228488c80d4edf7973ae0f3c0b9e956
# Copy each selected skill directory from .hotskills/armelhbobdad-bmad-module-skill-forge into .claude/skills/<skill-name>/Heat
3.3- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- skf-analyze-source
src/skf-analyze-source - skf-audit-skill
src/skf-audit-skill - skf-brief-skill
src/skf-brief-skill - skf-campaign
src/skf-campaign - skf-create-skill
src/skf-create-skill - skf-create-stack-skill
src/skf-create-stack-skill - skf-drop-skill
src/skf-drop-skill - skf-export-skill
src/skf-export-skill - skf-forger
src/skf-forger - skf-quick-skill
src/skf-quick-skill - skf-refine-architecture
src/skf-refine-architecture - skf-rename-skill
src/skf-rename-skill - skf-setup
src/skf-setup - skf-test-skill
src/skf-test-skill - skf-update-skill
src/skf-update-skill - skf-verify-stack
src/skf-verify-stack
How it works
skf-analyze-source
When your agent uses it
Discover what to skill in a large repo and produce recommended skill briefs. Use when the user requests to "analyze source for skills" or "discover skill opportunities."
What it loads into context
Frontmatter
43 tokensAlways available to the agent
SKILL.md
2,937 tokensWhen the skill is activated
Reference documents
596,347 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Conventions
- Role
- Workflow Rules
- Stages
- Invocation Contract
- On Activation
Scripts executed separately
../skf-audit-skill/scripts/render-drift-tables.py../skf-create-skill/scripts/scan-doc-rot.py../skf-drop-skill/scripts/dir-sizes.py../skf-drop-skill/scripts/drop-roster.py../skf-forger/scripts/forge-status.py../skf-forger/scripts/parse-pipeline.py../skf-forger/scripts/pipeline-gate.py../skf-forger/scripts/pipeline-journal.py../skf-refine-architecture/scripts/skf-check-preservation.py../skf-rename-skill/scripts/skf-validate-rename-name.py../skf-test-skill/scripts/aggregate-coherence.py../skf-test-skill/scripts/build-result-context.py../skf-test-skill/scripts/check-metadata-coherence.py../skf-test-skill/scripts/combine-external-scores.py../skf-test-skill/scripts/compute-score.py../skf-test-skill/scripts/gap-ledger.py../skf-test-skill/scripts/hard-gate.py../skf-test-skill/scripts/load-coverage-inputs.py../skf-test-skill/scripts/locate-export-segments.py../skf-test-skill/scripts/reconcile-coverage.py../skf-test-skill/scripts/score-signatures.py../skf-test-skill/scripts/stage-helper-payload.py../skf-test-skill/scripts/validate-inventory.py../skf-test-skill/scripts/verify-declared-numerator.py../skf-update-skill/scripts/skf-new-file-diff.py../skf-verify-stack/scripts/skf-coverage-tally.py../skf-verify-stack/scripts/skf-previous-report.py../skf-verify-stack/scripts/skf-report-delta.py../skf-verify-stack/scripts/skf-verdict-rollup.py
Files
../../.claude-plugin/marketplace.jsonasset1,507 bytesSKILL.mdcore11,943 bytesSKILL.mdcore11,943 bytesSKILL.mdcore11,943 bytesSKILL.mdcore11,943 bytesSKILL.mdcore11,943 bytesSKILL.mdcore11,943 bytesSKILL.mdcore11,943 bytesassets/skill-brief-schema.mddoc13,847 bytescustomize.tomlasset2,994 bytesreferences/auto-docs-only.mddoc8,350 bytesreferences/continue.mddoc2,084 bytesreferences/discover-additional-source.mddoc11,287 bytesreferences/generate-briefs.mddoc19,114 bytesreferences/headless-contract.mddoc9,453 bytesreferences/health-check.mddoc804 bytesreferences/identify-units.mddoc15,327 bytesreferences/init.mddoc14,717 bytesreferences/map-and-detect.mddoc16,795 bytesreferences/map-unit-exports.mddoc6,342 bytesreferences/recommend.mddoc9,172 bytesreferences/scan-project.mddoc8,425 bytesreferences/scan-root.mddoc3,160 bytesreferences/step-auto-scope-coexistence.mddoc3,668 bytesreferences/step-auto-scope-corpora.mddoc4,436 bytesreferences/step-auto-scope-split.mddoc6,355 bytesreferences/step-auto-scope.mddoc34,716 bytesreferences/step-shape-detect.mddoc7,902 bytesreferences/unit-detection-heuristics.mddoc12,056 bytestemplates/analysis-report-template.mddoc583 bytes../skf-audit-skill/SKILL.mddoc9,944 bytes../skf-audit-skill/assets/drift-report-template.mddoc2,307 bytes../skf-audit-skill/customize.tomlasset3,351 bytes../skf-audit-skill/references/constituent-freshness.mddoc5,404 bytes../skf-audit-skill/references/doc-drift.mddoc8,545 bytes../skf-audit-skill/references/headless-contract.mddoc4,762 bytes../skf-audit-skill/references/health-check.mddoc1,187 bytes../skf-audit-skill/references/init.mddoc31,836 bytes../skf-audit-skill/references/re-index.mddoc20,536 bytes../skf-audit-skill/references/report.mddoc18,037 bytes../skf-audit-skill/references/semantic-diff.mddoc8,999 bytes../skf-audit-skill/references/severity-classify.mddoc9,555 bytes../skf-audit-skill/references/severity-rules.mddoc3,576 bytes../skf-audit-skill/references/structural-diff.mddoc15,173 bytes../skf-audit-skill/references/upstream-checkout.mddoc7,164 bytes../skf-audit-skill/scripts/render-drift-tables.pyruns32,770 bytes../skf-brief-skill/SKILL.mddoc11,371 bytes../skf-brief-skill/assets/description-voice-examples.mddoc2,184 bytes../skf-brief-skill/assets/scope-templates.mddoc7,668 bytes../skf-brief-skill/assets/skill-brief-schema.mddoc22,961 bytes../skf-brief-skill/customize.tomlasset3,990 bytes../skf-brief-skill/references/analyze-target.mddoc28,246 bytes../skf-brief-skill/references/confirm-brief.mddoc8,404 bytes../skf-brief-skill/references/draft-checkpoint.mddoc5,735 bytes../skf-brief-skill/references/gather-intent-ratify.mddoc5,527 bytes../skf-brief-skill/references/gather-intent.mddoc26,070 bytes../skf-brief-skill/references/headless-args.mddoc9,508 bytes../skf-brief-skill/references/health-check.mddoc884 bytes../skf-brief-skill/references/invocation-contract.mddoc9,200 bytes../skf-brief-skill/references/portfolio-similarity-check.mddoc3,202 bytes../skf-brief-skill/references/qmd-collection-registration.mddoc2,714 bytes../skf-brief-skill/references/scope-definition.mddoc29,816 bytes../skf-brief-skill/references/step-auto-brief.mddoc8,256 bytes../skf-brief-skill/references/step-auto-validate.mddoc6,141 bytes../skf-brief-skill/references/version-resolution.mddoc4,462 bytes../skf-brief-skill/references/write-brief.mddoc15,773 bytes../skf-create-skill/SKILL.mddoc12,218 bytes../skf-create-skill/assets/compile-assembly-rules.mddoc27,339 bytes../skf-create-skill/assets/skill-sections.mddoc17,489 bytes../skf-create-skill/customize.tomlasset2,661 bytes../skf-create-skill/references/authoritative-files-protocol.mddoc10,614 bytes../skf-create-skill/references/batch-mode.mddoc8,635 bytes../skf-create-skill/references/ccc-index-check.mddoc4,988 bytes../skf-create-skill/references/compile.mddoc30,504 bytes../skf-create-skill/references/component-extraction.mddoc25,344 bytes../skf-create-skill/references/enrich.mddoc8,990 bytes../skf-create-skill/references/entry-points-by-hand.mddoc5,742 bytes../skf-create-skill/references/extract.mddoc44,745 bytes../skf-create-skill/references/extraction-patterns-by-hand.mddoc26,193 bytes../skf-create-skill/references/extraction-patterns-tracing.mddoc8,048 bytes../skf-create-skill/references/extraction-patterns.mddoc34,993 bytes../skf-create-skill/references/generate-artifacts.mddoc28,895 bytes../skf-create-skill/references/health-check.mddoc1,062 bytes../skf-create-skill/references/load-brief.mddoc13,427 bytes../skf-create-skill/references/relabel-rule.mddoc2,040 bytes../skf-create-skill/references/report.mddoc11,320 bytes../skf-create-skill/references/source-resolution-protocols.mddoc14,115 bytes../skf-create-skill/references/step-auto-shard.mddoc5,627 bytes../skf-create-skill/references/step-doc-rot.mddoc14,355 bytes../skf-create-skill/references/step-doc-sources.mddoc11,056 bytes../skf-create-skill/references/sub/ccc-discover.mddoc7,863 bytes../skf-create-skill/references/sub/fetch-docs.mddoc22,142 bytes../skf-create-skill/references/sub/fetch-temporal.mddoc9,865 bytes../skf-create-skill/references/tier-degradation-rules.mddoc4,938 bytes../skf-create-skill/references/validate.mddoc42,012 bytes../skf-create-skill/scripts/scan-doc-rot.pyruns24,366 bytes../skf-create-stack-skill/SKILL.mddoc9,544 bytes../skf-create-stack-skill/assets/metadata-contract.mddoc2,009 bytes../skf-create-stack-skill/assets/provenance-map-schema.mddoc5,859 bytes../skf-create-stack-skill/assets/stack-skill-template.mddoc5,916 bytes../skf-create-stack-skill/customize.tomlasset2,946 bytes../skf-create-stack-skill/references/compile-stack.mddoc8,997 bytes../skf-create-stack-skill/references/compose-mode-rules.mddoc5,009 bytes../skf-create-stack-skill/references/detect-integrations.mddoc20,663 bytes../skf-create-stack-skill/references/detect-manifests.mddoc9,245 bytes../skf-create-stack-skill/references/generate-output.mddoc21,268 bytes../skf-create-stack-skill/references/health-check.mddoc884 bytes../skf-create-stack-skill/references/init.mddoc14,076 bytes../skf-create-stack-skill/references/integration-patterns.mddoc2,170 bytes../skf-create-stack-skill/references/invocation-contract.mddoc5,936 bytes../skf-create-stack-skill/references/manifest-patterns.mddoc6,726 bytes../skf-create-stack-skill/references/parallel-extract.mddoc17,728 bytes../skf-create-stack-skill/references/rank-and-confirm.mddoc9,057 bytes../skf-create-stack-skill/references/report.mddoc9,081 bytes../skf-create-stack-skill/references/validate.mddoc11,902 bytes../skf-drop-skill/SKILL.mddoc10,343 bytes../skf-drop-skill/customize.tomlasset3,903 bytes../skf-drop-skill/references/execute.mddoc17,449 bytes../skf-drop-skill/references/health-check.mddoc879 bytes../skf-drop-skill/references/invocation-contract.mddoc8,721 bytes../skf-drop-skill/references/report.mddoc7,960 bytes../skf-drop-skill/references/select.mddoc28,757 bytes../skf-drop-skill/scripts/dir-sizes.pyruns5,242 bytes../skf-drop-skill/scripts/drop-roster.pyruns14,777 bytes../skf-export-skill/SKILL.mddoc10,241 bytes../skf-export-skill/assets/managed-section-format.mddoc7,227 bytes../skf-export-skill/assets/snippet-format.mddoc4,723 bytes../skf-export-skill/customize.tomlasset3,898 bytes../skf-export-skill/references/generate-snippet.mddoc11,159 bytes../skf-export-skill/references/health-check.mddoc1,178 bytes../skf-export-skill/references/invocation-contract.mddoc3,068 bytes../skf-export-skill/references/load-skill.mddoc20,118 bytes../skf-export-skill/references/manifest-rebuild.mddoc3,582 bytes../skf-export-skill/references/multi-skill-mode.mddoc3,193 bytes../skf-export-skill/references/orphan-context-detection.mddoc6,187 bytes../skf-export-skill/references/orphan-row-detection.mddoc7,444 bytes../skf-export-skill/references/package.mddoc1,675 bytes../skf-export-skill/references/preflight-snippet-root-probe.mddoc7,229 bytes../skf-export-skill/references/result-envelope.mddoc5,239 bytes../skf-export-skill/references/summary.mddoc11,648 bytes../skf-export-skill/references/token-report.mddoc4,611 bytes../skf-export-skill/references/update-context.mddoc17,071 bytes../skf-forger/SKILL.mddoc16,646 bytes../skf-forger/bmad-skill-manifest.yamlasset1,475 bytes../skf-forger/bmad-skill-manifest.yamlasset1,475 bytes../skf-forger/customize.tomlasset1,913 bytes../skf-forger/references/pipeline-mode.mddoc12,187 bytes../skf-forger/scripts/forge-status.pyruns13,480 bytes../skf-forger/scripts/parse-pipeline.pyruns21,820 bytes../skf-forger/scripts/pipeline-gate.pyruns17,967 bytes../skf-forger/scripts/pipeline-journal.pyruns49,550 bytes../skf-quick-skill/SKILL.mddoc11,753 bytes../skf-quick-skill/assets/skill-template.mddoc3,360 bytes../skf-quick-skill/customize.tomlasset3,909 bytes../skf-quick-skill/references/batch-mode.mddoc11,627 bytes../skf-quick-skill/references/compile.mddoc10,560 bytes../skf-quick-skill/references/ecosystem-check.mddoc2,726 bytes../skf-quick-skill/references/finalize.mddoc11,002 bytes../skf-quick-skill/references/halt-contract.mddoc7,912 bytes../skf-quick-skill/references/health-check.mddoc1,377 bytes../skf-quick-skill/references/quick-extract.mddoc24,563 bytes../skf-quick-skill/references/registry-resolution.mddoc1,237 bytes../skf-quick-skill/references/resolve-target.mddoc24,351 bytes../skf-quick-skill/references/write-and-validate.mddoc20,686 bytes../skf-refine-architecture/SKILL.mddoc10,104 bytes../skf-refine-architecture/customize.tomlasset4,327 bytes../skf-refine-architecture/references/compile.mddoc18,051 bytes../skf-refine-architecture/references/exit-codes.mddoc5,776 bytes../skf-refine-architecture/references/finding-storage.mddoc3,391 bytes../skf-refine-architecture/references/gap-analysis.mddoc20,283 bytes../skf-refine-architecture/references/health-check.mddoc901 bytes../skf-refine-architecture/references/improvements.mddoc5,378 bytes../skf-refine-architecture/references/init.mddoc18,683 bytes../skf-refine-architecture/references/issue-detection.mddoc8,343 bytes../skf-refine-architecture/references/refinement-rules.mddoc8,277 bytes../skf-refine-architecture/references/report.mddoc9,995 bytes../skf-refine-architecture/scripts/skf-check-preservation.pyruns75,954 bytes../skf-rename-skill/SKILL.mddoc7,288 bytes../skf-rename-skill/customize.tomlasset3,039 bytes../skf-rename-skill/references/execute.mddoc33,438 bytes../skf-rename-skill/references/exit-codes.mddoc3,719 bytes../skf-rename-skill/references/health-check.mddoc897 bytes../skf-rename-skill/references/invocation-contract.mddoc4,678 bytes../skf-rename-skill/references/report.mddoc9,365 bytes../skf-rename-skill/references/select.mddoc32,540 bytes../skf-rename-skill/scripts/skf-validate-rename-name.pyruns13,147 bytes../skf-setup/SKILL.mddoc10,164 bytes../skf-setup/customize.tomlasset1,993 bytes../skf-setup/references/auto-index.mddoc8,030 bytes../skf-setup/references/ccc-index.mddoc4,286 bytes../skf-setup/references/detect-and-tier.mddoc8,515 bytes../skf-setup/references/health-check.mddoc1,562 bytes../skf-setup/references/invocation-contract.mddoc5,312 bytes../skf-setup/references/report.mddoc8,399 bytes../skf-setup/references/tier-rules.mddoc1,746 bytes../skf-setup/references/write-config.mddoc5,004 bytes../skf-test-skill/SKILL.mddoc7,586 bytes../skf-test-skill/assets/output-section-formats.mddoc4,039 bytes../skf-test-skill/customize.tomlasset3,174 bytes../skf-test-skill/references/coherence-check.mddoc25,398 bytes../skf-test-skill/references/coverage-check-tiers.mddoc5,478 bytes../skf-test-skill/references/coverage-check.mddoc34,988 bytes../skf-test-skill/references/detect-mode.mddoc2,349 bytes../skf-test-skill/references/external-validators.mddoc13,639 bytes../skf-test-skill/references/health-check.mddoc696 bytes../skf-test-skill/references/init.mddoc31,157 bytes../skf-test-skill/references/invocation-contract.mddoc9,875 bytes../skf-test-skill/references/migration-section-rules.mddoc4,960 bytes../skf-test-skill/references/report.mddoc28,137 bytes../skf-test-skill/references/score.mddoc18,929 bytes../skf-test-skill/references/scoring-rules.mddoc9,783 bytes../skf-test-skill/references/source-access-protocol.mddoc16,341 bytes../skf-test-skill/references/step-hard-gate.mddoc5,507 bytes../skf-test-skill/scripts/aggregate-coherence.pyruns20,728 bytes../skf-test-skill/scripts/build-result-context.pyruns17,334 bytes../skf-test-skill/scripts/check-metadata-coherence.pyruns14,284 bytes../skf-test-skill/scripts/combine-external-scores.pyruns6,797 bytes../skf-test-skill/scripts/compute-score.pyruns32,129 bytes../skf-test-skill/scripts/gap-ledger.pyruns81,713 bytes../skf-test-skill/scripts/hard-gate.pyruns7,212 bytes../skf-test-skill/scripts/load-coverage-inputs.pyruns66,037 bytes../skf-test-skill/scripts/locate-export-segments.pyruns34,810 bytes../skf-test-skill/scripts/reconcile-coverage.pyruns38,646 bytes../skf-test-skill/scripts/score-signatures.pyruns21,579 bytes../skf-test-skill/scripts/stage-helper-payload.pyruns5,304 bytes../skf-test-skill/scripts/validate-inventory.pyruns20,746 bytes../skf-test-skill/scripts/verify-declared-numerator.pyruns10,420 bytes../skf-test-skill/templates/test-report-template.mddoc1,831 bytes../skf-update-skill/SKILL.mddoc9,540 bytes../skf-update-skill/customize.tomlasset2,851 bytes../skf-update-skill/references/detect-changes.mddoc49,192 bytes../skf-update-skill/references/gap-driven.mddoc41,368 bytes../skf-update-skill/references/health-check.mddoc4,409 bytes../skf-update-skill/references/init.mddoc46,768 bytes../skf-update-skill/references/invocation-contract.mddoc3,573 bytes../skf-update-skill/references/manual-section-rules.mddoc1,243 bytes../skf-update-skill/references/merge.mddoc31,348 bytes../skf-update-skill/references/re-extract.mddoc15,128 bytes../skf-update-skill/references/report.mddoc23,442 bytes../skf-update-skill/references/write.mddoc66,042 bytes../skf-update-skill/scripts/skf-new-file-diff.pyruns12,671 bytes../skf-verify-stack/SKILL.mddoc10,692 bytes../skf-verify-stack/assets/feasibility-report-template.mddoc1,929 bytes../skf-verify-stack/customize.tomlasset4,451 bytes../skf-verify-stack/references/coverage-patterns.mddoc2,914 bytes../skf-verify-stack/references/coverage.mddoc14,855 bytes../skf-verify-stack/references/exit-codes.mddoc4,740 bytes../skf-verify-stack/references/health-check.mddoc1,515 bytes../skf-verify-stack/references/init.mddoc17,634 bytes../skf-verify-stack/references/integration-verification-rules.mddoc5,075 bytes../skf-verify-stack/references/integrations.mddoc18,933 bytes../skf-verify-stack/references/report.mddoc11,910 bytes../skf-verify-stack/references/requirements.mddoc8,922 bytes../skf-verify-stack/references/synthesize.mddoc16,626 bytes../skf-verify-stack/scripts/skf-coverage-tally.pyruns21,037 bytes../skf-verify-stack/scripts/skf-previous-report.pyruns13,296 bytes../skf-verify-stack/scripts/skf-report-delta.pyruns28,006 bytes../skf-verify-stack/scripts/skf-verdict-rollup.pyruns20,710 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubskf-audit-skill
When your agent uses it
Drift detection between skill and current source code. Use when the user requests to "audit a skill" or "audit skill" for drift.
What it loads into context
Frontmatter
39 tokensAlways available to the agent
SKILL.md
2,517 tokensWhen the skill is activated
Reference documents
33,856 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Conventions
- Role
- Workflow Rules
- Stages
- Invocation Contract
- On Activation
Scripts executed separately
scripts/render-drift-tables.py
Files
SKILL.mdcore9,944 bytesSKILL.mdcore9,944 bytesSKILL.mdcore9,944 bytesSKILL.mdcore9,944 bytesSKILL.mdcore9,944 bytesSKILL.mdcore9,944 bytesSKILL.mdcore9,944 bytesSKILL.mdcore9,944 bytesSKILL.mdcore9,944 bytesSKILL.mdcore9,944 bytesassets/drift-report-template.mddoc2,307 bytescustomize.tomlasset3,351 bytesreferences/constituent-freshness.mddoc5,404 bytesreferences/doc-drift.mddoc8,545 bytesreferences/headless-contract.mddoc4,762 bytesreferences/health-check.mddoc1,187 bytesreferences/init.mddoc31,836 bytesreferences/re-index.mddoc20,536 bytesreferences/report.mddoc18,037 bytesreferences/semantic-diff.mddoc8,999 bytesreferences/severity-classify.mddoc9,555 bytesreferences/severity-rules.mddoc3,576 bytesreferences/structural-diff.mddoc15,173 bytesreferences/upstream-checkout.mddoc7,164 bytesscripts/render-drift-tables.pyruns32,770 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubskf-brief-skill
When your agent uses it
Design a skill scope through guided discovery. Use when the user requests to "create a skill brief" or "brief a skill".
What it loads into context
Frontmatter
37 tokensAlways available to the agent
SKILL.md
2,732 tokensWhen the skill is activated
Reference documents
48,310 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Conventions
- Role
- Workflow Rules
- Halt Contract
- On Activation
- Stages
- Invocation Contract
Files
SKILL.mdcore11,371 bytesSKILL.mdcore11,371 bytesSKILL.mdcore11,371 bytesSKILL.mdcore11,371 bytesassets/description-voice-examples.mddoc2,184 bytesassets/scope-templates.mddoc7,668 bytesassets/skill-brief-schema.mddoc22,961 bytescustomize.tomlasset3,990 bytesreferences/analyze-target.mddoc28,246 bytesreferences/confirm-brief.mddoc8,404 bytesreferences/draft-checkpoint.mddoc5,735 bytesreferences/gather-intent-ratify.mddoc5,527 bytesreferences/gather-intent.mddoc26,070 bytesreferences/headless-args.mddoc9,508 bytesreferences/health-check.mddoc884 bytesreferences/invocation-contract.mddoc9,200 bytesreferences/portfolio-similarity-check.mddoc3,202 bytesreferences/qmd-collection-registration.mddoc2,714 bytesreferences/scope-definition.mddoc29,816 bytesreferences/step-auto-brief.mddoc8,256 bytesreferences/step-auto-validate.mddoc6,141 bytesreferences/version-resolution.mddoc4,462 bytesreferences/write-brief.mddoc15,773 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubskf-campaign
When your agent uses it
Campaign orchestration — multi-library skill production with dependency tracking, file-based state, and resume. Use when the user asks to "run a campaign" or "orchestrate skills."
What it loads into context
Frontmatter
46 tokensAlways available to the agent
SKILL.md
3,002 tokensWhen the skill is activated
Reference documents
23,181 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Conventions
- Role
- On Activation
- Workflow Rules
- Stages
- Invocation Contract
- Contracts
- Mode Routing
Scripts executed separately
scripts/.gitkeepscripts/campaign-deps.pyscripts/campaign-parse-manifest.pyscripts/campaign-provenance.pyscripts/campaign-quality-gate.pyscripts/campaign-render-batch.pyscripts/campaign-render-kickoff.pyscripts/campaign-report.pyscripts/campaign-state.pyscripts/campaign-status.pyscripts/campaign-validate-pins.pyscripts/campaign-validate-state.py
Files
SKILL.mdcore12,300 bytesSKILL.mdcore12,300 bytesassets/campaign-state-schema.jsonasset6,874 bytescustomize.tomlasset4,873 bytesreferences/campaign-contracts.mddoc9,561 bytesreferences/campaign-directive-spec.mddoc2,444 bytesreferences/health-check.mddoc1,170 bytesreferences/step-01-setup.mddoc9,078 bytesreferences/step-02-strategy.mddoc5,818 bytesreferences/step-03-pins.mddoc3,452 bytesreferences/step-04-provenance.mddoc3,972 bytesreferences/step-05-skill-loop.mddoc15,862 bytesreferences/step-06-batch.mddoc5,658 bytesreferences/step-07-capstone.mddoc5,493 bytesreferences/step-08-verify.mddoc5,305 bytesreferences/step-09-refine.mddoc5,466 bytesreferences/step-10-export.mddoc6,492 bytesreferences/step-11-maintenance.mddoc5,868 bytesreferences/step-resume.mddoc6,783 bytesscripts/.gitkeepruns0 bytesscripts/campaign-deps.pyruns9,223 bytesscripts/campaign-parse-manifest.pyruns18,283 bytesscripts/campaign-provenance.pyruns11,002 bytesscripts/campaign-quality-gate.pyruns25,960 bytesscripts/campaign-render-batch.pyruns16,730 bytesscripts/campaign-render-kickoff.pyruns18,474 bytesscripts/campaign-report.pyruns16,773 bytesscripts/campaign-state.pyruns51,358 bytesscripts/campaign-status.pyruns2,694 bytesscripts/campaign-validate-pins.pyruns5,951 bytesscripts/campaign-validate-state.pyruns7,975 bytestemplates/campaign-brief-template.yamlasset1,088 bytestemplates/campaign-report-template.mddoc1,463 bytestemplates/kickoff-template.mddoc504 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubskf-create-skill
When your agent uses it
Compile a skill from a brief. Supports --batch for multiple briefs. Use when the user requests to "create a skill" or "compile a skill."
What it loads into context
Frontmatter
41 tokensAlways available to the agent
SKILL.md
2,999 tokensWhen the skill is activated
Reference documents
108,714 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Conventions
- Role
- Workflow Rules
- Stages
- Invocation Contract
- On Activation
Scripts executed separately
scripts/scan-doc-rot.py
Files
SKILL.mdcore12,218 bytesSKILL.mdcore12,218 bytesSKILL.mdcore12,218 bytesSKILL.mdcore12,218 bytesSKILL.mdcore12,218 bytesSKILL.mdcore12,218 bytesSKILL.mdcore12,218 bytesSKILL.mdcore12,218 bytesassets/compile-assembly-rules.mddoc27,339 bytesassets/skill-sections.mddoc17,489 bytescustomize.tomlasset2,661 bytesreferences/authoritative-files-protocol.mddoc10,614 bytesreferences/batch-mode.mddoc8,635 bytesreferences/ccc-index-check.mddoc4,988 bytesreferences/compile.mddoc30,504 bytesreferences/component-extraction.mddoc25,344 bytesreferences/enrich.mddoc8,990 bytesreferences/entry-points-by-hand.mddoc5,742 bytesreferences/extract.mddoc44,745 bytesreferences/extraction-patterns-by-hand.mddoc26,193 bytesreferences/extraction-patterns-tracing.mddoc8,048 bytesreferences/extraction-patterns.mddoc34,993 bytesreferences/generate-artifacts.mddoc28,895 bytesreferences/health-check.mddoc1,062 bytesreferences/load-brief.mddoc13,427 bytesreferences/relabel-rule.mddoc2,040 bytesreferences/report.mddoc11,320 bytesreferences/source-resolution-protocols.mddoc14,115 bytesreferences/step-auto-shard.mddoc5,627 bytesreferences/step-doc-rot.mddoc14,355 bytesreferences/step-doc-sources.mddoc11,056 bytesreferences/sub/ccc-discover.mddoc7,863 bytesreferences/sub/fetch-docs.mddoc22,142 bytesreferences/sub/fetch-temporal.mddoc9,865 bytesreferences/tier-degradation-rules.mddoc4,938 bytesreferences/validate.mddoc42,012 bytesscripts/scan-doc-rot.pyruns24,366 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubskf-create-stack-skill
When your agent uses it
Consolidated project stack skill with integration patterns — code-mode (analyzes manifests) or compose-mode (synthesizes from existing skills + architecture doc). Use when the user requests to "create a stack skill", "forge a stack", or "stack this project".
What it loads into context
Frontmatter
66 tokensAlways available to the agent
SKILL.md
2,209 tokensWhen the skill is activated
Reference documents
38,038 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Conventions
- Role
- Workflow Rules
- Workflow state contract
- Stages
- Invocation Contract
- On Activation
Files
SKILL.mdcore9,544 bytesSKILL.mdcore9,544 bytesSKILL.mdcore9,544 bytesSKILL.mdcore9,544 bytesSKILL.mdcore9,544 bytesassets/metadata-contract.mddoc2,009 bytesassets/provenance-map-schema.mddoc5,859 bytesassets/stack-skill-template.mddoc5,916 bytescustomize.tomlasset2,946 bytesreferences/compile-stack.mddoc8,997 bytesreferences/compose-mode-rules.mddoc5,009 bytesreferences/detect-integrations.mddoc20,663 bytesreferences/detect-manifests.mddoc9,245 bytesreferences/generate-output.mddoc21,268 bytesreferences/health-check.mddoc884 bytesreferences/init.mddoc14,076 bytesreferences/integration-patterns.mddoc2,170 bytesreferences/invocation-contract.mddoc5,936 bytesreferences/manifest-patterns.mddoc6,726 bytesreferences/parallel-extract.mddoc17,728 bytesreferences/rank-and-confirm.mddoc9,057 bytesreferences/report.mddoc9,081 bytesreferences/validate.mddoc11,902 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubskf-drop-skill
When your agent uses it
Deprecates or purges a skill version or a whole skill, then rebuilds the platform context files. Use when the user requests to "drop a skill" or "remove a skill".
What it loads into context
Frontmatter
49 tokensAlways available to the agent
SKILL.md
2,471 tokensWhen the skill is activated
Reference documents
15,955 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Conventions
- Role
- Workflow Rules
- Stages
- Invocation Contract
- On Activation
Scripts executed separately
scripts/dir-sizes.pyscripts/drop-roster.py
Files
SKILL.mdcore10,343 bytesSKILL.mdcore10,343 bytesSKILL.mdcore10,343 bytesSKILL.mdcore10,343 bytesSKILL.mdcore10,343 bytescustomize.tomlasset3,903 bytesreferences/execute.mddoc17,449 bytesreferences/health-check.mddoc879 bytesreferences/invocation-contract.mddoc8,721 bytesreferences/report.mddoc7,960 bytesreferences/select.mddoc28,757 bytesscripts/dir-sizes.pyruns5,242 bytesscripts/drop-roster.pyruns14,777 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubskf-export-skill
When your agent uses it
Exports an SKF skill, validating its package, writing its context snippet and updating the managed section in CLAUDE.md, AGENTS.md or .cursorrules. Use when the user requests to "export a skill" or "package a skill."
What it loads into context
Frontmatter
62 tokensAlways available to the agent
SKILL.md
2,533 tokensWhen the skill is activated
Reference documents
28,539 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Conventions
- Role
- Workflow Rules
- Stages
- Invocation Contract
- On Activation
Files
SKILL.mdcore10,241 bytesSKILL.mdcore10,241 bytesSKILL.mdcore10,241 bytesSKILL.mdcore10,241 bytesassets/managed-section-format.mddoc7,227 bytesassets/snippet-format.mddoc4,723 bytescustomize.tomlasset3,898 bytesreferences/generate-snippet.mddoc11,159 bytesreferences/health-check.mddoc1,178 bytesreferences/invocation-contract.mddoc3,068 bytesreferences/load-skill.mddoc20,118 bytesreferences/manifest-rebuild.mddoc3,582 bytesreferences/multi-skill-mode.mddoc3,193 bytesreferences/orphan-context-detection.mddoc6,187 bytesreferences/orphan-row-detection.mddoc7,444 bytesreferences/package.mddoc1,675 bytesreferences/preflight-snippet-root-probe.mddoc7,229 bytesreferences/result-envelope.mddoc5,239 bytesreferences/summary.mddoc11,648 bytesreferences/token-report.mddoc4,611 bytesreferences/update-context.mddoc17,071 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubskf-forger
When your agent uses it
Skill compilation specialist — the forge master. Use when the user asks to "talk to Ferris" or requests the "Skill Forge agent."
What it loads into context
Frontmatter
37 tokensAlways available to the agent
SKILL.md
3,964 tokensWhen the skill is activated
Reference documents
3,120 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Conventions
- Identity & Principles
- Communication Style
- Capabilities
- Critical Actions
- On Activation
- Inline Actions
- Pipeline Mode
Scripts executed separately
scripts/forge-status.pyscripts/parse-pipeline.pyscripts/pipeline-gate.pyscripts/pipeline-journal.py
Files
SKILL.mdcore16,646 bytesSKILL.mdcore16,646 bytesSKILL.mdcore16,646 bytesSKILL.mdcore16,646 bytesSKILL.mdcore16,646 bytesSKILL.mdcore16,646 bytesSKILL.mdcore16,646 bytesSKILL.mdcore16,646 bytesSKILL.mdcore16,646 bytesSKILL.mdcore16,646 bytesbmad-skill-manifest.yamlasset1,475 bytescustomize.tomlasset1,913 bytesreferences/pipeline-mode.mddoc12,187 bytesscripts/forge-status.pyruns13,480 bytesscripts/parse-pipeline.pyruns21,820 bytesscripts/pipeline-gate.pyruns17,967 bytesscripts/pipeline-journal.pyruns49,550 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubskf-quick-skill
When your agent uses it
Fast skill from a package name or GitHub URL — no brief needed. Use when the user requests a "quick skill" or "skill from URL" or "skill from package."
What it loads into context
Frontmatter
48 tokensAlways available to the agent
SKILL.md
2,956 tokensWhen the skill is activated
Reference documents
29,998 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Conventions
- Role
- Workflow Rules
- Stages
- Invocation Contract
- On Activation
Files
SKILL.mdcore11,753 bytesSKILL.mdcore11,753 bytesSKILL.mdcore11,753 bytesSKILL.mdcore11,753 bytesSKILL.mdcore11,753 bytesSKILL.mdcore11,753 bytesassets/skill-template.mddoc3,360 bytescustomize.tomlasset3,909 bytesreferences/batch-mode.mddoc11,627 bytesreferences/compile.mddoc10,560 bytesreferences/ecosystem-check.mddoc2,726 bytesreferences/finalize.mddoc11,002 bytesreferences/halt-contract.mddoc7,912 bytesreferences/health-check.mddoc1,377 bytesreferences/quick-extract.mddoc24,563 bytesreferences/registry-resolution.mddoc1,237 bytesreferences/resolve-target.mddoc24,351 bytesreferences/write-and-validate.mddoc20,686 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubskf-refine-architecture
When your agent uses it
Refines an architecture document against generated skills and a Verify Stack report. Use when the user requests to "refine the architecture against generated skills" or "refine an architecture doc with a VS report."
What it loads into context
Frontmatter
52 tokensAlways available to the agent
SKILL.md
2,522 tokensWhen the skill is activated
Reference documents
23,494 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Conventions
- Role
- Workflow Rules
- Stages
- Invocation Contract
- Result Contract (Headless)
- On Activation
Scripts executed separately
scripts/skf-check-preservation.py
Files
SKILL.mdcore10,104 bytesSKILL.mdcore10,104 bytesSKILL.mdcore10,104 bytesSKILL.mdcore10,104 bytesSKILL.mdcore10,104 bytescustomize.tomlasset4,327 bytesreferences/compile.mddoc18,051 bytesreferences/exit-codes.mddoc5,776 bytesreferences/finding-storage.mddoc3,391 bytesreferences/gap-analysis.mddoc20,283 bytesreferences/health-check.mddoc901 bytesreferences/improvements.mddoc5,378 bytesreferences/init.mddoc18,683 bytesreferences/issue-detection.mddoc8,343 bytesreferences/refinement-rules.mddoc8,277 bytesreferences/report.mddoc9,995 bytesscripts/skf-check-preservation.pyruns75,954 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubskf-rename-skill
When your agent uses it
Rename a skill across all its versions — transactional copy-verify-delete with platform context rebuild. Use when the user requests to "rename a skill."
What it loads into context
Frontmatter
40 tokensAlways available to the agent
SKILL.md
1,714 tokensWhen the skill is activated
Reference documents
21,561 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Conventions
- Role
- Workflow Rules
- Stages
- Invocation Contract
- On Activation
Scripts executed separately
scripts/skf-validate-rename-name.py
Files
SKILL.mdcore7,288 bytesSKILL.mdcore7,288 bytescustomize.tomlasset3,039 bytesreferences/execute.mddoc33,438 bytesreferences/exit-codes.mddoc3,719 bytesreferences/health-check.mddoc897 bytesreferences/invocation-contract.mddoc4,678 bytesreferences/report.mddoc9,365 bytesreferences/select.mddoc32,540 bytesscripts/skf-validate-rename-name.pyruns13,147 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubskf-setup
When your agent uses it
Initialize forge environment, detect tools, and set capability tier (Quick/Forge/Forge+/Deep). Use when the user requests to "set up the forge" or "initialize the forge".
What it loads into context
Frontmatter
47 tokensAlways available to the agent
SKILL.md
2,518 tokensWhen the skill is activated
Reference documents
10,414 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Conventions
- Role
- Workflow Rules
- Stages
- Invocation Contract
- On Activation
Files
SKILL.mdcore10,164 bytesSKILL.mdcore10,164 bytescustomize.tomlasset1,993 bytesreferences/auto-index.mddoc8,030 bytesreferences/ccc-index.mddoc4,286 bytesreferences/detect-and-tier.mddoc8,515 bytesreferences/health-check.mddoc1,562 bytesreferences/invocation-contract.mddoc5,312 bytesreferences/report.mddoc8,399 bytesreferences/tier-rules.mddoc1,746 bytesreferences/write-config.mddoc5,004 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubskf-test-skill
When your agent uses it
Cognitive completeness verification — quality gate before export. Use when the user requests to "test a skill" or "verify skill completeness."
What it loads into context
Frontmatter
36 tokensAlways available to the agent
SKILL.md
1,782 tokensWhen the skill is activated
Reference documents
51,756 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Conventions
- Role
- Workflow Rules
- Stages
- Invocation Contract
- On Activation
Scripts executed separately
scripts/aggregate-coherence.pyscripts/build-result-context.pyscripts/check-metadata-coherence.pyscripts/combine-external-scores.pyscripts/compute-score.pyscripts/gap-ledger.pyscripts/hard-gate.pyscripts/load-coverage-inputs.pyscripts/locate-export-segments.pyscripts/reconcile-coverage.pyscripts/score-signatures.pyscripts/stage-helper-payload.pyscripts/validate-inventory.pyscripts/verify-declared-numerator.py
Files
SKILL.mdcore7,586 bytesSKILL.mdcore7,586 bytesassets/output-section-formats.mddoc4,039 bytescustomize.tomlasset3,174 bytesreferences/coherence-check.mddoc25,398 bytesreferences/coverage-check-tiers.mddoc5,478 bytesreferences/coverage-check.mddoc34,988 bytesreferences/detect-mode.mddoc2,349 bytesreferences/external-validators.mddoc13,639 bytesreferences/health-check.mddoc696 bytesreferences/init.mddoc31,157 bytesreferences/invocation-contract.mddoc9,875 bytesreferences/migration-section-rules.mddoc4,960 bytesreferences/report.mddoc28,137 bytesreferences/score.mddoc18,929 bytesreferences/scoring-rules.mddoc9,783 bytesreferences/source-access-protocol.mddoc16,341 bytesreferences/step-hard-gate.mddoc5,507 bytesscripts/aggregate-coherence.pyruns20,728 bytesscripts/build-result-context.pyruns17,334 bytesscripts/check-metadata-coherence.pyruns14,284 bytesscripts/combine-external-scores.pyruns6,797 bytesscripts/compute-score.pyruns32,129 bytesscripts/gap-ledger.pyruns81,713 bytesscripts/hard-gate.pyruns7,212 bytesscripts/load-coverage-inputs.pyruns66,037 bytesscripts/locate-export-segments.pyruns34,810 bytesscripts/reconcile-coverage.pyruns38,646 bytesscripts/score-signatures.pyruns21,579 bytesscripts/stage-helper-payload.pyruns5,304 bytesscripts/validate-inventory.pyruns20,746 bytesscripts/verify-declared-numerator.pyruns10,420 bytestemplates/test-report-template.mddoc1,831 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubskf-update-skill
When your agent uses it
Smart regeneration preserving [MANUAL] sections after source changes. Use when the user requests to "update a skill" or "regenerate a skill."
What it loads into context
Frontmatter
40 tokensAlways available to the agent
SKILL.md
2,317 tokensWhen the skill is activated
Reference documents
70,787 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Conventions
- Role
- Workflow Rules
- Stages
- Invocation Contract
- On Activation
Scripts executed separately
scripts/skf-new-file-diff.py
Files
SKILL.mdcore9,540 bytesSKILL.mdcore9,540 bytesSKILL.mdcore9,540 bytesSKILL.mdcore9,540 bytesSKILL.mdcore9,540 bytesSKILL.mdcore9,540 bytesSKILL.mdcore9,540 bytesSKILL.mdcore9,540 bytescustomize.tomlasset2,851 bytesreferences/detect-changes.mddoc49,192 bytesreferences/gap-driven.mddoc41,368 bytesreferences/health-check.mddoc4,409 bytesreferences/init.mddoc46,768 bytesreferences/invocation-contract.mddoc3,573 bytesreferences/manual-section-rules.mddoc1,243 bytesreferences/merge.mddoc31,348 bytesreferences/re-extract.mddoc15,128 bytesreferences/report.mddoc23,442 bytesreferences/write.mddoc66,042 bytesscripts/skf-new-file-diff.pyruns12,671 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubskf-verify-stack
When your agent uses it
Pre-code stack feasibility verification against architecture and PRD documents. Use when the user requests to "verify a tech stack" or "verify stack."
What it loads into context
Frontmatter
39 tokensAlways available to the agent
SKILL.md
2,510 tokensWhen the skill is activated
Reference documents
25,031 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Conventions
- Role
- Workflow Rules
- Stages
- Invocation Contract
- Result Contract (Headless)
- On Activation
Scripts executed separately
scripts/skf-coverage-tally.pyscripts/skf-previous-report.pyscripts/skf-report-delta.pyscripts/skf-verdict-rollup.py
Files
SKILL.mdcore10,692 bytesSKILL.mdcore10,692 bytesassets/feasibility-report-template.mddoc1,929 bytescustomize.tomlasset4,451 bytesreferences/coverage-patterns.mddoc2,914 bytesreferences/coverage.mddoc14,855 bytesreferences/exit-codes.mddoc4,740 bytesreferences/health-check.mddoc1,515 bytesreferences/init.mddoc17,634 bytesreferences/integration-verification-rules.mddoc5,075 bytesreferences/integrations.mddoc18,933 bytesreferences/report.mddoc11,910 bytesreferences/requirements.mddoc8,922 bytesreferences/synthesize.mddoc16,626 bytesscripts/skf-coverage-tally.pyruns21,037 bytesscripts/skf-previous-report.pyruns13,296 bytesscripts/skf-report-delta.pyruns28,006 bytesscripts/skf-verdict-rollup.pyruns20,710 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubSkills included
- skf-analyze-source
- skf-audit-skill
- skf-brief-skill
- skf-campaign
- skf-create-skill
- skf-create-stack-skill
- skf-drop-skill
- skf-export-skill
- skf-forger
- skf-quick-skill
- skf-refine-architecture
- skf-rename-skill
- skf-setup
- skf-test-skill
- skf-update-skill
- skf-verify-stack
Repository facts
- License
- No license detected
- Created
- Feb 13, 2026
- Last pushed
- Nov 5, 2026
- Forks
- 11
- Open issues
- 8
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 67 notes
src/skf-analyze-source/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedsrc/skf-analyze-source/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedsrc/skf-analyze-source/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedsrc/skf-analyze-source/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedsrc/skf-analyze-source/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedsrc/skf-analyze-source/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedsrc/skf-forger/bmad-skill-manifest.yaml:1Analysis incomplete: Referenced executable target unavailable; not analyzedsrc/skf-audit-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedsrc/skf-audit-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedsrc/skf-audit-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedsrc/skf-audit-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedsrc/skf-audit-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedsrc/skf-audit-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedsrc/skf-audit-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedsrc/skf-audit-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedsrc/skf-audit-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedsrc/skf-brief-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedsrc/skf-brief-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedsrc/skf-brief-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedsrc/skf-campaign/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 151 dangerous shell commandsin 46 files: src/skf-rename-skill/references/execute.md:118 src/skf-brief-skill/references/gather-intent.md:38 src/skf-rename-skill/references/select.md:75 and 43 more
- 133 network referencesin 28 files: src/skf-brief-skill/references/gather-intent.md:101 skf-campaign/scripts/campaign-parse-manifest.py:33 src/skf-test-skill/scripts/locate-export-segments.py:45 and 25 more
- 3 obfuscation signalsin 2 files: src/skf-test-skill/scripts/build-result-context.py:138 skf-campaign/scripts/campaign-parse-manifest.py:368
- No instruction overrides
- 70 executable scriptsin 41 files: src/skf-audit-skill/scripts/render-drift-tables.py:1 src/skf-create-skill/scripts/scan-doc-rot.py:1 src/skf-drop-skill/scripts/dir-sizes.py:1 and 38 more
- 2 references to secretsin 1 file: src/skf-forger/scripts/pipeline-gate.py:162
- No requests to vote in Hot
Show all 359 signals by file
.claude-plugin/marketplace.json
- Network accessline 6
"description": "Turn code and docs into instructions AI agents can actually follow. Evidence-based skill compilation with progressive capability tiers.", "license": "MIT", "homepage": "https://github.com/armelhbobdad/bmad-module-skill-f - Network accessline 7
"license": "MIT", "homepage": "https://github.com/armelhbobdad/bmad-module-skill-forge", "repository": "https://github.com/armelhbobdad/bmad-module-skill-forge", - Network accessline 8
"homepage": "https://github.com/armelhbobdad/bmad-module-skill-forge", - Network accessline 9
"repository": "https://github.com/armelhbobdad/bmad-module-skill-forge",
src/skf-analyze-source/references/auto-docs-only.md
- Network accessline 33
curl -sI --max-time 5 {url} - Network accessline 43
Name the skill with the helper that names every brief. It names a documentation URL after its host (`https://docs.example.com/guide/intro` gives `docs-example-com`), the name §0c's coexistence check compared: - Dangerous shell operationline 154
Delete the run folder, whose payloads the emitter has read: `rm -rf "{run_dir}"`. Then load, read fully, and execute {nextStepFile} to run the shared workflow health check.
src/skf-analyze-source/references/generate-briefs.md
- Dangerous shell operationline 310
After the briefs are written (or skipped, or none was confirmed), the report updated, the summary presented, the run ended in §9 and the on-complete hook invoked (or skipped per empty `{onCompleteCommand}`), delete the run folder, whose pay
src/skf-analyze-source/references/step-auto-scope.md
- Network accessline 189
The first lists a remote fetch (tree objects only: the blobless clone downloads no file for it), the second a local path inside a git work tree (`git -C "{scan_root}" rev-parse --is-inside-work-tree` prints `true`), the third any other loca - Dangerous shell operationline 454
Then delete the run folder, whose payloads the emitter has read: `rm -rf "{run_dir}"`. Load, read fully, then execute {nextStepFile} to run the shared workflow health check.
src/skf-audit-skill/SKILL.md
- Network accessline 92
Run `uv --version`, and check that `skf-load-provenance.py`, `skf-structural-diff.py`, `skf-severity-classify.py` and `skf-detect-docs.py` each exist in `{project-root}/_bmad/skf/shared/scripts/` or `{project-root}/src/shared/scripts/`. If - Network accessline 92
Run `uv --version`, and check that `skf-load-provenance.py`, `skf-structural-diff.py`, `skf-severity-classify.py` and `skf-detect-docs.py` each exist in `{project-root}/_bmad/skf/shared/scripts/` or `{project-root}/src/shared/scripts/`. If
src/skf-audit-skill/references/re-index.md
src/skf-audit-skill/references/report.md
- Dangerous shell operationline 213
Only when the report has been written, presented, and the result contract saved, delete the run folder, whose decisions, warnings and payloads the run no longer needs: `rm -rf "{run_dir}"`. Then load, read the full file, and execute `{nextS - Dangerous shell operationline 213
Only when the report has been written, presented, and the result contract saved, delete the run folder, whose decisions, warnings and payloads the run no longer needs: `rm -rf "{run_dir}"`. Then load, read the full file, and execute `{nextS
src/skf-audit-skill/references/structural-diff.md
src/skf-audit-skill/scripts/render-drift-tables.py
src/skf-brief-skill/assets/skill-brief-schema.md
- Network accessline 204
# Optional: documentation URLs for T3 content (required when source_type: "docs-only") # doc_urls: # - url: "https://docs.example.com/api" - Network accessline 204
# Optional: documentation URLs for T3 content (required when source_type: "docs-only") # doc_urls: # - url: "https://docs.example.com/api" - Network accessline 205
# doc_urls: # - url: "https://docs.example.com/api" # label: "API Reference" - Network accessline 205
# doc_urls: # - url: "https://docs.example.com/api" # label: "API Reference" - Network accessline 206
# - url: "https://docs.example.com/api" - Network accessline 206
# - url: "https://docs.example.com/api"
src/skf-brief-skill/references/analyze-target.md
- Network accessline 62
uv run {validatePinsHelper} --repo-url "https://github.com/{owner}/{repo}" --pin "{target_version}" --format tag - Network accessline 62
uv run {validatePinsHelper} --repo-url "https://github.com/{owner}/{repo}" --pin "{target_version}" --format tag - Network accessline 97
git clone --depth 1 --branch "{analysis_ref}" "https://github.com/{owner}/{repo}.git" "{run_dir}/clone" - Network accessline 97
git clone --depth 1 --branch "{analysis_ref}" "https://github.com/{owner}/{repo}.git" "{run_dir}/clone" - Dangerous shell operationline 100
Leave `--branch` out when `{analysis_ref}` is `HEAD`. A commit SHA is no `--branch` value: clone it with `git clone --filter=blob:none --no-checkout "https://github.com/{owner}/{repo}.git" "{run_dir}/clone"`, then `git -C "{run_dir}/clone" - Dangerous shell operationline 100
Leave `--branch` out when `{analysis_ref}` is `HEAD`. A commit SHA is no `--branch` value: clone it with `git clone --filter=blob:none --no-checkout "https://github.com/{owner}/{repo}.git" "{run_dir}/clone"`, then `git -C "{run_dir}/clone" - Network accessline 100
Leave `--branch` out when `{analysis_ref}` is `HEAD`. A commit SHA is no `--branch` value: clone it with `git clone --filter=blob:none --no-checkout "https://github.com/{owner}/{repo}.git" "{run_dir}/clone"`, then `git -C "{run_dir}/clone" - Network accessline 100
Leave `--branch` out when `{analysis_ref}` is `HEAD`. A commit SHA is no `--branch` value: clone it with `git clone --filter=blob:none --no-checkout "https://github.com/{owner}/{repo}.git" "{run_dir}/clone"`, then `git -C "{run_dir}/clone"
src/skf-brief-skill/references/confirm-brief.md
- Dangerous shell operationline 160
- IF X: Treat as user-cancellation. Remove the run folder (`case "{run_dir}" in "{project-root}/_bmad-output/.skf-run/skf-brief-skill-"*) rm -rf "{run_dir}" ;; esac`), display `"Cancelled: no brief was written."` and HALT (exit code 6, `hal - Dangerous shell operationline 160
- IF X: Treat as user-cancellation. Remove the run folder (`case "{run_dir}" in "{project-root}/_bmad-output/.skf-run/skf-brief-skill-"*) rm -rf "{run_dir}" ;; esac`), display `"Cancelled: no brief was written."` and HALT (exit code 6, `hal
src/skf-brief-skill/references/gather-intent-ratify.md
- Dangerous shell operationline 52
- **[X]**: remove the run folder (`case "{run_dir}" in "{project-root}/_bmad-output/.skf-run/skf-brief-skill-"*) rm -rf "{run_dir}" ;; esac`), display `"Cancelled: no brief was written."` and HALT (exit code 6, `halt_reason: "user-cancelled - Dangerous shell operationline 52
- **[X]**: remove the run folder (`case "{run_dir}" in "{project-root}/_bmad-output/.skf-run/skf-brief-skill-"*) rm -rf "{run_dir}" ;; esac`), display `"Cancelled: no brief was written."` and HALT (exit code 6, `halt_reason: "user-cancelled
src/skf-brief-skill/references/gather-intent.md
- Dangerous shell operationline 38
mkdir -p "{forge_data_folder}" && printf 'probe' > "{forge_data_folder}/.skf-write-probe" && rm "{forge_data_folder}/.skf-write-probe" && - Dangerous shell operationline 38
mkdir -p "{forge_data_folder}" && printf 'probe' > "{forge_data_folder}/.skf-write-probe" && rm "{forge_data_folder}/.skf-write-probe" && - Dangerous shell operationline 40
rm "{forge_data_folder}/.skf-write-probe" && \ - Dangerous shell operationline 40
rm "{forge_data_folder}/.skf-write-probe" && \ - Network accessline 101
Provide one of: - A **GitHub URL** (e.g., `https://github.com/org/repo`) - A **package name or registry page** (e.g., `zod`, `requests==2.31.0`, `https://www.npmjs.com/package/zod`), which I resolve to its GitHub repository - Network accessline 101
Provide one of: - A **GitHub URL** (e.g., `https://github.com/org/repo`) - A **package name or registry page** (e.g., `zod`, `requests==2.31.0`, `https://www.npmjs.com/package/zod`), which I resolve to its GitHub repository - Network accessline 102
- A **GitHub URL** (e.g., `https://github.com/org/repo`) - A **package name or registry page** (e.g., `zod`, `requests==2.31.0`, `https://www.npmjs.com/package/zod`), which I resolve to its GitHub repository - A **local path** (e.g., `/path - Network accessline 102
- A **GitHub URL** (e.g., `https://github.com/org/repo`) - A **package name or registry page** (e.g., `zod`, `requests==2.31.0`, `https://www.npmjs.com/package/zod`), which I resolve to its GitHub repository - A **local path** (e.g., `/path - Network accessline 103
- A **package name or registry page** (e.g., `zod`, `requests==2.31.0`, `https://www.npmjs.com/package/zod`), which I resolve to its GitHub repository - Network accessline 103
- A **package name or registry page** (e.g., `zod`, `requests==2.31.0`, `https://www.npmjs.com/package/zod`), which I resolve to its GitHub repository - Network accessline 104
- A **local path** (e.g., `/path/to/project`) - **Documentation URLs** for a docs-only skill (e.g., `https://docs.stripe.com/api`) — use this when no source code is available (SaaS, closed-source) - A **path to an existing `skill-brief.yaml - Network accessline 104
- A **local path** (e.g., `/path/to/project`) - **Documentation URLs** for a docs-only skill (e.g., `https://docs.stripe.com/api`) — use this when no source code is available (SaaS, closed-source) - A **path to an existing `skill-brief.yaml - Network accessline 105
- **Documentation URLs** for a docs-only skill (e.g., `https://docs.stripe.com/api`) — use this when no source code is available (SaaS, closed-source) - Network accessline 105
- **Documentation URLs** for a docs-only skill (e.g., `https://docs.stripe.com/api`) — use this when no source code is available (SaaS, closed-source) - Dangerous shell operationline 114
- Empty input, `cancel`, `exit`, `[X]`, `q`, or `:q` → Remove the run folder (`case "{run_dir}" in "{project-root}/_bmad-output/.skf-run/skf-brief-skill-"*) rm -rf "{run_dir}" ;; esac`), display `"Cancelled: no brief was written."` and HALT - Dangerous shell operationline 114
- Empty input, `cancel`, `exit`, `[X]`, `q`, or `:q` → Remove the run folder (`case "{run_dir}" in "{project-root}/_bmad-output/.skf-run/skf-brief-skill-"*) rm -rf "{run_dir}" ;; esac`), display `"Cancelled: no brief was written."` and HALT - Network accessline 153
- Set `source_type: "docs-only"` in the brief data - Collect one or more doc URLs with optional labels - HEAD-check the collected URLs in parallel — do not loop sequentially. Issue all N `curl -sI {url}` (or equivalent) calls in a **single - Network accessline 153
- Set `source_type: "docs-only"` in the brief data - Collect one or more doc URLs with optional labels - HEAD-check the collected URLs in parallel — do not loop sequentially. Issue all N `curl -sI {url}` (or equivalent) calls in a **single - Network accessline 154
- Collect one or more doc URLs with optional labels - HEAD-check the collected URLs in parallel — do not loop sequentially. Issue all N `curl -sI {url}` (or equivalent) calls in a **single message with N parallel Bash calls**, then process - Network accessline 154
- Collect one or more doc URLs with optional labels - HEAD-check the collected URLs in parallel — do not loop sequentially. Issue all N `curl -sI {url}` (or equivalent) calls in a **single message with N parallel Bash calls**, then process - Network accessline 155
- HEAD-check the collected URLs in parallel — do not loop sequentially. Issue all N `curl -sI {url}` (or equivalent) calls in a **single message with N parallel Bash calls**, then process the responses together. Each call must use a 5-secon - Network accessline 155
- HEAD-check the collected URLs in parallel — do not loop sequentially. Issue all N `curl -sI {url}` (or equivalent) calls in a **single message with N parallel Bash calls**, then process the responses together. Each call must use a 5-secon - Dangerous shell operationline 326
- IF X: Treat as user-cancellation. Remove the run folder (`case "{run_dir}" in "{project-root}/_bmad-output/.skf-run/skf-brief-skill-"*) rm -rf "{run_dir}" ;; esac`), display `"Cancelled: no brief was written."` and HALT (exit code 6, `hal - Dangerous shell operationline 326
- IF X: Treat as user-cancellation. Remove the run folder (`case "{run_dir}" in "{project-root}/_bmad-output/.skf-run/skf-brief-skill-"*) rm -rf "{run_dir}" ;; esac`), display `"Cancelled: no brief was written."` and HALT (exit code 6, `hal
src/skf-brief-skill/references/headless-args.md
- Network accessline 69
When `normalized.source_authority` is absent, `source_type` is `source` and `target_repo` is a GitHub URL (`https://github.com/<owner>/<repo>`), probe the operator's login: - Network accessline 69
When `normalized.source_authority` is absent, `source_type` is `source` and `target_repo` is a GitHub URL (`https://github.com/<owner>/<repo>`), probe the operator's login: - Network accessline 81
- **Version:** a `target_version` sets `version` too; without one, step 2 detects the version. - **Doc URLs:** HEAD-check every `doc_urls` entry in parallel, all calls in one message, each `curl -sI --max-time 5 {url}`. Keep a URL that fail - Network accessline 81
- **Version:** a `target_version` sets `version` too; without one, step 2 detects the version. - **Doc URLs:** HEAD-check every `doc_urls` entry in parallel, all calls in one message, each `curl -sI --max-time 5 {url}`. Keep a URL that fail - Network accessline 82
- **Doc URLs:** HEAD-check every `doc_urls` entry in parallel, all calls in one message, each `curl -sI --max-time 5 {url}`. Keep a URL that fails, log `"warn: could not reach {url} ({status or error})"` and add it to `workflow_warnings[]`: - Network accessline 82
- **Doc URLs:** HEAD-check every `doc_urls` entry in parallel, all calls in one message, each `curl -sI --max-time 5 {url}`. Keep a URL that fails, log `"warn: could not reach {url} ({status or error})"` and add it to `workflow_warnings[]`:
src/skf-brief-skill/references/scope-definition.md
- Network accessline 90
HEAD-check the URLs in parallel — issue all N `curl -sI --max-time 5 {url}` calls in a **single message with N parallel Bash calls**, then process the responses together. On a 4xx/5xx, DNS failure, or timeout per URL, warn `"Could not reach - Network accessline 90
HEAD-check the URLs in parallel — issue all N `curl -sI --max-time 5 {url}` calls in a **single message with N parallel Bash calls**, then process the responses together. On a 4xx/5xx, DNS failure, or timeout per URL, warn `"Could not reach - Dangerous shell operationline 224
Once the runner has run, whatever its exit, remove a clone this section made (`rm -rf "{run_dir}/clone"`). - Dangerous shell operationline 224
Once the runner has run, whatever its exit, remove a clone this section made (`rm -rf "{run_dir}/clone"`). - Dangerous shell operationline 225
- **Quick tier, or a runner that cannot trace** (it exits 3 when no ast-grep is installed, 1 or 2 when the scan fails), or a clone that fails (remove what it left, `rm -rf "{run_dir}/clone"`): read the entry barrel step 2 fetched and list i - Dangerous shell operationline 225
- **Quick tier, or a runner that cannot trace** (it exits 3 when no ast-grep is installed, 1 or 2 when the scan fails), or a clone that fails (remove what it left, `rm -rf "{run_dir}/clone"`): read the entry barrel step 2 fetched and list i
src/skf-brief-skill/references/step-auto-validate.md
src/skf-brief-skill/references/write-brief.md
- Dangerous shell operationline 150
**Draft cleanup.** After a successful write, remove `{forge_data_folder}/{skill-name}/.brief-draft.json` if it exists (`rm -f`, silent on absent). The draft was the checkpoint step 1 §8 and step 3 §5c wrote for the in-flight workflow window - Dangerous shell operationline 150
**Draft cleanup.** After a successful write, remove `{forge_data_folder}/{skill-name}/.brief-draft.json` if it exists (`rm -f`, silent on absent). The draft was the checkpoint step 1 §8 and step 3 §5c wrote for the in-flight workflow window - Dangerous shell operationline 224
case "{run_dir}" in "{project-root}/_bmad-output/.skf-run/skf-brief-skill-"*) rm -rf "{run_dir}" ;; esac - Dangerous shell operationline 224
case "{run_dir}" in "{project-root}/_bmad-output/.skf-run/skf-brief-skill-"*) rm -rf "{run_dir}" ;; esac
src/skf-campaign/assets/campaign-state-schema.json
src/skf-campaign/references/step-01-setup.md
- Network accessline 44
Every target goes through `{manifestScript}`, whatever its source, so no target reaches state unchecked. It rejects a malformed target, a `repo_url` that is no GitHub repository (it reads a URL, an SSH URL or `owner/repo`, and writes each a
src/skf-campaign/scripts/.gitkeep
- Executable scriptline 1
Executable file
src/skf-campaign/scripts/campaign-deps.py
- Executable scriptline 1
Executable file
src/skf-campaign/scripts/campaign-parse-manifest.py
- Executable scriptline 1
Executable file - Network accessline 33
Every source, each rule taken from the script of the stage that reads it: - `repo_url` must name a GitHub repository: a URL, an SSH URL or `owner/repo`. targets[] carries it as `https://github.com/<owner>/<repo>`, the one shape - Network accessline 34
- `repo_url` must name a GitHub repository: a URL, an SSH URL or `owner/repo`. targets[] carries it as `https://github.com/<owner>/<repo>`, the one shape the pin stage (skf-validate-pins.py) and every later stage read; another - Network accessline 35
targets[] carries it as `https://github.com/<owner>/<repo>`, the one shape - Network accessline 117
"""(`https://github.com/<owner>/<repo>`, None) for a GitHub repository, else (None, why not). - Network accessline 127
rest = re.sub(r"^https?://", "", url, flags=re.I) if "://" in rest: return None, f"`repo_url` `{repo_url}` is no GitHub URL: use https://github.com/<owner>/<repo>" - Network accessline 128
if "://" in rest: return None, f"`repo_url` `{repo_url}` is no GitHub URL: use https://github.com/<owner>/<repo>" first, _, path = rest.partition("/") - Network accessline 129
return None, f"`repo_url` `{repo_url}` is no GitHub URL: use https://github.com/<owner>/<repo>" - Network accessline 146
if len(parts) < 2 or not all(SEGMENT_RE.match(p) and p.strip(".") for p in parts[:2]): return None, f"`repo_url` `{repo_url}` names no repository (use a GitHub URL or `owner/repo`)" canonical = f"https://github.com/{parts[0]}/{p - Network accessline 147
return None, f"`repo_url` `{repo_url}` names no repository (use a GitHub URL or `owner/repo`)" canonical = f"https://github.com/{parts[0]}/{parts[1]}" if len(parts) > 2: - Network accessline 148
canonical = f"https://github.com/{parts[0]}/{parts[1]}" - Possible obfuscationline 368
text = sys.stdin.buffer.read().decode("utf-8", errors="replace").lstrip("<U+FEFF>")
src/skf-campaign/scripts/campaign-provenance.py
src/skf-campaign/scripts/campaign-quality-gate.py
- Executable scriptline 1
Executable file
src/skf-campaign/scripts/campaign-render-batch.py
- Executable scriptline 1
Executable file
src/skf-campaign/scripts/campaign-render-kickoff.py
- Executable scriptline 1
Executable file
src/skf-campaign/scripts/campaign-report.py
- Executable scriptline 1
Executable file
src/skf-campaign/scripts/campaign-state.py
- Executable scriptline 1
Executable file
src/skf-campaign/scripts/campaign-status.py
- Executable scriptline 1
Executable file
src/skf-campaign/scripts/campaign-validate-pins.py
- Executable scriptline 1
Executable file
src/skf-campaign/scripts/campaign-validate-state.py
- Executable scriptline 1
Executable file
src/skf-create-skill/assets/skill-sections.md
- Network accessline 141
// "assets": [{ "file": "assets/{name}", "purpose": "{description}", "source_file": "{source-path}", "confidence": "T1-low" }], // doc_sources[] — include ONLY when doc detection ran; omit if detection was skipped entirely // "doc_sourc - Network accessline 141
// "assets": [{ "file": "assets/{name}", "purpose": "{description}", "source_file": "{source-path}", "confidence": "T1-low" }], // doc_sources[] — include ONLY when doc detection ran; omit if detection was skipped entirely // "doc_sourc - Network accessline 142
// doc_sources[] — include ONLY when doc detection ran; omit if detection was skipped entirely // "doc_sources": [{ "url": "https://...", "detected_via": "homepageUrl|readme_link|pages_api|docs_folder|readme_always|brief_doc_urls", "conte - Network accessline 142
// doc_sources[] — include ONLY when doc detection ran; omit if detection was skipped entirely // "doc_sources": [{ "url": "https://...", "detected_via": "homepageUrl|readme_link|pages_api|docs_folder|readme_always|brief_doc_urls", "conte - Network accessline 143
// "doc_sources": [{ "url": "https://...", "detected_via": "homepageUrl|readme_link|pages_api|docs_folder|readme_always|brief_doc_urls", "content_hash": "sha256:{hex}|null", "recorded_at": "ISO-8601" }], - Network accessline 143
// "doc_sources": [{ "url": "https://...", "detected_via": "homepageUrl|readme_link|pages_api|docs_folder|readme_always|brief_doc_urls", "content_hash": "sha256:{hex}|null", "recorded_at": "ISO-8601" }],
src/skf-create-skill/references/compile.md
- Dangerous shell operationline 75
rm -rf "{project-root}/_bmad-output/.skf-stage/{skill-name}" && mkdir -p "{project-root}/_bmad-output/.skf-stage/{skill-name}/references" - Dangerous shell operationline 75
rm -rf "{project-root}/_bmad-output/.skf-stage/{skill-name}" && mkdir -p "{project-root}/_bmad-output/.skf-stage/{skill-name}/references" - Dangerous shell operationline 155
rm -f "{stats_json}" - Dangerous shell operationline 155
rm -f "{stats_json}"
src/skf-create-skill/references/component-extraction.md
- Dangerous shell operationline 157
rm -f "{extraction_json}" - Dangerous shell operationline 157
rm -f "{extraction_json}" - Dangerous shell operationline 261
case "{component_scan}" in "{project-root}/_bmad-output/.skf-run/skf-create-skill-3d-"*) rm -rf "{component_scan}" ;; esac - Dangerous shell operationline 261
case "{component_scan}" in "{project-root}/_bmad-output/.skf-run/skf-create-skill-3d-"*) rm -rf "{component_scan}" ;; esac
src/skf-create-skill/references/entry-points-by-hand.md
src/skf-create-skill/references/extract.md
- Dangerous shell operationline 98
**Start clean:** first, for every brief, docs-only included, set `{source_tree}`, `{workspace_clone}` and `{remote_clone_path}` to null and `{resolved-source-path}` to `{source_root}` (null for a docs-only brief), so that in a `--batch` run - Dangerous shell operationline 98
**Start clean:** first, for every brief, docs-only included, set `{source_tree}`, `{workspace_clone}` and `{remote_clone_path}` to null and `{resolved-source-path}` to `{source_root}` (null for a docs-only brief), so that in a `--batch` run - Dangerous shell operationline 208
rm -f "{extraction_json}" - Dangerous shell operationline 208
rm -f "{extraction_json}"
src/skf-create-skill/references/generate-artifacts.md
- Dangerous shell operationline 156
Do not `rm` + `ln -s` the active link by hand. The bare-rm pattern has two failure modes: (1) a concurrent reader sees a missing `active` mid-flip, and (2) a bug or typo that replaces `{skill_group}/active` with a plain directory turns the - Dangerous shell operationline 156
Do not `rm` + `ln -s` the active link by hand. The bare-rm pattern has two failure modes: (1) a concurrent reader sees a missing `active` mid-flip, and (2) a bug or typo that replaces `{skill_group}/active` with a plain directory turns the
src/skf-create-skill/references/report.md
- Dangerous shell operationline 137
**Remove the run folder.** The brief finished, so outside `--batch` delete `{run_dir}` (`rm -rf "{run_dir}"`); under `--batch`, batch-mode.md §3 reads the staged `result-context.json` there and removes the folder itself. A halted brief keep - Dangerous shell operationline 137
**Remove the run folder.** The brief finished, so outside `--batch` delete `{run_dir}` (`rm -rf "{run_dir}"`); under `--batch`, batch-mode.md §3 reads the staged `result-context.json` there and removes the folder itself. A halted brief keep
src/skf-create-skill/references/sub/fetch-docs.md
- Dangerous shell operationline 92
Bind `{docs_staging}` ← `{project-root}/_bmad-output/{skill-name}-docs`, the folder that holds every page this step fetches. Just before the first page this run fetched is saved, create the folder or empty it (`mkdir -p "{docs_staging}" && - Dangerous shell operationline 92
Bind `{docs_staging}` ← `{project-root}/_bmad-output/{skill-name}-docs`, the folder that holds every page this step fetches. Just before the first page this run fetched is saved, create the folder or empty it (`mkdir -p "{docs_staging}" && - Network accessline 121
curl -fsSL --max-time 30 "{url}/sitemap.xml" | uv run {detectDocsHelper} filter-urls --root "{url}" - - Network accessline 121
curl -fsSL --max-time 30 "{url}/sitemap.xml" | uv run {detectDocsHelper} filter-urls --root "{url}" - - Network accessline 134
printf '%s\n' "${subpages[@]}" | awk '{ print NR, $0 }' | xargs -P 4 -L 1 sh -c ' f="{docs_staging}/subpage-{n}-$0.md" curl -fsSL --max-time 30 "$1" -o "$f" || { rm -f "$f"; echo "fetch failed: $1" >&2; } - Network accessline 134
printf '%s\n' "${subpages[@]}" | awk '{ print NR, $0 }' | xargs -P 4 -L 1 sh -c ' f="{docs_staging}/subpage-{n}-$0.md" curl -fsSL --max-time 30 "$1" -o "$f" || { rm -f "$f"; echo "fetch failed: $1" >&2; } - Network accessline 135
f="{docs_staging}/subpage-{n}-$0.md" curl -fsSL --max-time 30 "$1" -o "$f" || { rm -f "$f"; echo "fetch failed: $1" >&2; } ' - Network accessline 135
f="{docs_staging}/subpage-{n}-$0.md" curl -fsSL --max-time 30 "$1" -o "$f" || { rm -f "$f"; echo "fetch failed: $1" >&2; } ' - Dangerous shell operationline 136
curl -fsSL --max-time 30 "$1" -o "$f" || { rm -f "$f"; echo "fetch failed: $1" >&2; } - Dangerous shell operationline 136
curl -fsSL --max-time 30 "$1" -o "$f" || { rm -f "$f"; echo "fetch failed: $1" >&2; } - Network accessline 136
curl -fsSL --max-time 30 "$1" -o "$f" || { rm -f "$f"; echo "fetch failed: $1" >&2; } - Network accessline 136
curl -fsSL --max-time 30 "$1" -o "$f" || { rm -f "$f"; echo "fetch failed: $1" >&2; } - Dangerous shell operationline 239
Once the pages are extracted, and at Deep tier indexed by §5b, remove `{docs_staging}` **only when `source_type` is `"source"` and the brief is not a whole-language reference** (`whole_language_reference` false): `rm -rf {project-root}/_bma - Dangerous shell operationline 239
Once the pages are extracted, and at Deep tier indexed by §5b, remove `{docs_staging}` **only when `source_type` is `"source"` and the brief is not a whole-language reference** (`whole_language_reference` false): `rm -rf {project-root}/_bma
src/skf-create-skill/references/validate.md
- Network accessline 220
(Security scan enabled by default when `--no-security-scan` omitted. The scan uses [Snyk](https://docs.snyk.io/) to check for prompt injection risks, sensitive data exposure, and unsafe tool permissions.) - Network accessline 220
(Security scan enabled by default when `--no-security-scan` omitted. The scan uses [Snyk](https://docs.snyk.io/) to check for prompt injection risks, sensitive data exposure, and unsafe tool permissions.) - Network accessline 226
[Credential-related source omitted] - Network accessline 226
[Credential-related source omitted] - Dangerous shell operationline 313
rm -f "{verify_json}" - Dangerous shell operationline 313
rm -f "{verify_json}"
src/skf-create-skill/scripts/scan-doc-rot.py
src/skf-create-stack-skill/references/compile-stack.md
- Dangerous shell operationline 133
- IF X: HALT (exit 6, `halt_reason: "user-cancelled"`, phase `compile-stack:review`): leave any existing committed stack package untouched, emit the envelope, then delete the run folder (`rm -rf "{run_dir}"`), the draft and the bundle with - Dangerous shell operationline 133
- IF X: HALT (exit 6, `halt_reason: "user-cancelled"`, phase `compile-stack:review`): leave any existing committed stack package untouched, emit the envelope, then delete the run folder (`rm -rf "{run_dir}"`), the draft and the bundle with
src/skf-create-stack-skill/references/detect-manifests.md
- Dangerous shell operationline 126
STOP and wait for the user's response. Option 2 sets `{scan_root}` to the folder the user names (a relative path resolves from `project_root`) and runs the scan call above again, replacing `{manifest_scan}`. Option 3 is a HALT (exit 6, `hal - Dangerous shell operationline 126
STOP and wait for the user's response. Option 2 sets `{scan_root}` to the folder the user names (a relative path resolves from `project_root`) and runs the scan call above again, replacing `{manifest_scan}`. Option 3 is a HALT (exit 6, `hal
src/skf-create-stack-skill/references/generate-output.md
- Dangerous shell operationline 235
On failure, invoke the rollback contract from §1. Then delete the working files no later step reads: `rm -rf "{draftFolder}" "{bundleFile}" "{exportRecordsFile}" "{importCountsFile}" "{pairsFile}" "{stackInventoryFile}" "{composeEntriesFile - Dangerous shell operationline 235
On failure, invoke the rollback contract from §1. Then delete the working files no later step reads: `rm -rf "{draftFolder}" "{bundleFile}" "{exportRecordsFile}" "{importCountsFile}" "{pairsFile}" "{stackInventoryFile}" "{composeEntriesFile
src/skf-create-stack-skill/references/rank-and-confirm.md
- Dangerous shell operationline 119
- IF X: HALT (exit 6, `halt_reason: "user-cancelled"`, phase `rank-and-confirm:scope`): leave any existing committed stack package untouched, emit the envelope, then delete the run folder (`rm -rf "{run_dir}"`) - Dangerous shell operationline 119
- IF X: HALT (exit 6, `halt_reason: "user-cancelled"`, phase `rank-and-confirm:scope`): leave any existing committed stack package untouched, emit the envelope, then delete the run folder (`rm -rf "{run_dir}"`)
src/skf-create-stack-skill/references/report.md
- Dangerous shell operationline 98
After the report sections above are handled, delete the run folder, whose warnings and decisions the envelope and the result files now hold: `rm -rf "{run_dir}"`. Then load, read the full file, and execute `{nextStepFile}`. The health-check - Dangerous shell operationline 98
After the report sections above are handled, delete the run folder, whose warnings and decisions the envelope and the result files now hold: `rm -rf "{run_dir}"`. Then load, read the full file, and execute `{nextStepFile}`. The health-check
src/skf-drop-skill/SKILL.md
- Dangerous shell operationline 94
mkdir -p "{skills_output_folder}" && printf 'probe' > "{skills_output_folder}/.skf-write-probe" && rm "{skills_output_folder}/.skf-write-probe" - Dangerous shell operationline 94
mkdir -p "{skills_output_folder}" && printf 'probe' > "{skills_output_folder}/.skf-write-probe" && rm "{skills_output_folder}/.skf-write-probe" - Dangerous shell operationline 96
rm "{skills_output_folder}/.skf-write-probe" - Dangerous shell operationline 96
rm "{skills_output_folder}/.skf-write-probe"
src/skf-drop-skill/references/execute.md
- Dangerous shell operationline 47
and display the line it prints verbatim. Write the payload as valid JSON: in the halt message and `path`, replace each backslash with / and each double quote with a backtick. The emitter gives every field the site leaves out its default (`n - Dangerous shell operationline 47
and display the line it prints verbatim. Write the payload as valid JSON: in the halt message and `path`, replace each backslash with / and each double quote with a backtick. The emitter gives every field the site leaves out its default (`n - Dangerous shell operationline 152
- **No non-deprecated versions remain** (`resolve.counts.non_deprecated` is `0`, reachable only when dropping the sole surviving version, permitted in step 1 because no other non-deprecated versions existed): remove the now-dangling `active - Dangerous shell operationline 152
- **No non-deprecated versions remain** (`resolve.counts.non_deprecated` is `0`, reachable only when dropping the sole surviving version, permitted in step 1 because no other non-deprecated versions existed): remove the now-dangling `active - Dangerous shell operationline 164
- **`failed`**: at least one path was attempted and none was deleted, so the purge accomplished none of its destructive intent and must NOT report success. HALT (exit code 4, `halt_reason: "delete-failed"`, phase `execute:delete`): "**Purge - Dangerous shell operationline 164
- **`failed`**: at least one path was attempted and none was deleted, so the purge accomplished none of its destructive intent and must NOT report success. HALT (exit code 4, `halt_reason: "delete-failed"`, phase `execute:delete`): "**Purge
src/skf-drop-skill/references/report.md
- Dangerous shell operationline 67
{if delete_failures is non-empty:}- Not deleted: {each delete_failures path with its error} (remove by hand: `rm -rf {path}`) - Dangerous shell operationline 67
{if delete_failures is non-empty:}- Not deleted: {each delete_failures path with its error} (remove by hand: `rm -rf {path}`) - Dangerous shell operationline 136
Whether or not a hook ran, then delete the run folder, whose payload the emitter has read: `rm -rf "{run_dir}"`. - Dangerous shell operationline 136
Whether or not a hook ran, then delete the run folder, whose payload the emitter has read: `rm -rf "{run_dir}"`.
src/skf-drop-skill/references/select.md
- Dangerous shell operationline 43
and display the line it prints verbatim. Write the payload as valid JSON: in the halt message and `path`, replace each backslash with / and each double quote with a backtick. The emitter gives every field the site leaves out its default (`n - Dangerous shell operationline 43
and display the line it prints verbatim. Write the payload as valid JSON: in the halt message and `path`, replace each backslash with / and each double quote with a backtick. The emitter gives every field the site leaves out its default (`n - Dangerous shell operationline 312
A dry run passes no `--result-dir`, so it writes no result file. Then, in either mode, delete the run folder (`rm -rf "{run_dir}"`) and HALT (exit code 0). In a headless run, display the line the emitter printed verbatim (the `message` of i - Dangerous shell operationline 312
A dry run passes no `--result-dir`, so it writes no result file. Then, in either mode, delete the run folder (`rm -rf "{run_dir}"`) and HALT (exit code 0). In a headless run, display the line the emitter printed verbatim (the `message` of i
src/skf-drop-skill/scripts/dir-sizes.py
src/skf-drop-skill/scripts/drop-roster.py
src/skf-export-skill/SKILL.md
- Dangerous shell operationline 98
mkdir -p "{skills_output_folder}" && printf 'probe' > "{skills_output_folder}/.skf-write-probe" && rm "{skills_output_folder}/.skf-write-probe" - Dangerous shell operationline 98
mkdir -p "{skills_output_folder}" && printf 'probe' > "{skills_output_folder}/.skf-write-probe" && rm "{skills_output_folder}/.skf-write-probe" - Dangerous shell operationline 100
rm "{skills_output_folder}/.skf-write-probe" - Dangerous shell operationline 100
rm "{skills_output_folder}/.skf-write-probe"
src/skf-export-skill/references/summary.md
- Network accessline 94
**Rendering rule for the command below — must be obeyed:** substitute `{resolved_skill_package}` with the actual resolved path before printing (do not leave the placeholder for the user to replace). The substituted path must be either absol - Network accessline 94
**Rendering rule for the command below — must be obeyed:** substitute `{resolved_skill_package}` with the actual resolved path before printing (do not leave the placeholder for the user to replace). The substituted path must be either absol - Network accessline 104
For other source formats (registry name, git URL, tarball, etc.), see the **Installation → Source Formats** section at <https://www.npmjs.com/package/skills>. - Network accessline 104
For other source formats (registry name, git URL, tarball, etc.), see the **Installation → Source Formats** section at <https://www.npmjs.com/package/skills>.
src/skf-forger/SKILL.md
- Network accessline 85
- `status` `hard-halt` (`code` `CONFIG_MISSING`, `CONFIG_MALFORMED` or `SIDECAR_UNDEFINED`): HARD HALT with its `error` text. - No JSON object with a `status`: HARD HALT with what the call printed. When `uv` itself is missing, add that S - Network accessline 85
- `status` `hard-halt` (`code` `CONFIG_MISSING`, `CONFIG_MALFORMED` or `SIDECAR_UNDEFINED`): HARD HALT with its `error` text. - No JSON object with a `status`: HARD HALT with what the call printed. When `uv` itself is missing, add that S - Network accessline 86
- No JSON object with a `status`: HARD HALT with what the call printed. When `uv` itself is missing, add that SKF runs its scripts with `uv`, which installs from <https://docs.astral.sh/uv/getting-started/installation/>. - Network accessline 86
- No JSON object with a `status`: HARD HALT with what the call printed. When `uv` itself is missing, add that SKF runs its scripts with `uv`, which installs from <https://docs.astral.sh/uv/getting-started/installation/>.
src/skf-forger/references/pipeline-mode.md
- Network accessline 7
1. **Parse the invocation**: hand the parser the user's whole pipeline invocation, everything typed after `@Ferris` or `/skf-forger`: the codes, or the alias with the arguments after it (for example `forge-auto https://github.com/honojs/hon - Network accessline 7
1. **Parse the invocation**: hand the parser the user's whole pipeline invocation, everything typed after `@Ferris` or `/skf-forger`: the codes, or the alias with the arguments after it (for example `forge-auto https://github.com/honojs/hon
src/skf-forger/scripts/forge-status.py
src/skf-forger/scripts/parse-pipeline.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 40
uv run scripts/parse-pipeline.py 'forge-quick' # exit 3: missing_args [target] uv run scripts/parse-pipeline.py 'QS TS EX' # exit 0: first_input, QS's target uv run scripts/parse-pipeline.py 'forge-auto https://github.com/o - Network accessline 40
uv run scripts/parse-pipeline.py 'forge-quick' # exit 3: missing_args [target] uv run scripts/parse-pipeline.py 'QS TS EX' # exit 0: first_input, QS's target uv run scripts/parse-pipeline.py 'forge-auto https://github.com/o - Network accessline 41
uv run scripts/parse-pipeline.py 'QS TS EX' # exit 0: first_input, QS's target uv run scripts/parse-pipeline.py 'forge-auto https://github.com/o/r --pin 0.2.1' echo 'AN -> CS -> TS -> EX' | uv run scripts/parse-pipeline.py --std - Network accessline 41
uv run scripts/parse-pipeline.py 'QS TS EX' # exit 0: first_input, QS's target uv run scripts/parse-pipeline.py 'forge-auto https://github.com/o/r --pin 0.2.1' echo 'AN -> CS -> TS -> EX' | uv run scripts/parse-pipeline.py --std - Network accessline 42
uv run scripts/parse-pipeline.py 'forge-auto https://github.com/o/r --pin 0.2.1' - Network accessline 42
uv run scripts/parse-pipeline.py 'forge-auto https://github.com/o/r --pin 0.2.1'
src/skf-forger/scripts/pipeline-gate.py
src/skf-forger/scripts/pipeline-journal.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 122
CLI usage (from the skf-forger skill root): uv run scripts/pipeline-journal.py start --run-root <dir> <<'SKF_PIPELINE' forge-auto https://github.com/honojs/hono --pin v4.6.0 - Network accessline 122
CLI usage (from the skf-forger skill root): uv run scripts/pipeline-journal.py start --run-root <dir> <<'SKF_PIPELINE' forge-auto https://github.com/honojs/hono --pin v4.6.0 - Network accessline 123
uv run scripts/pipeline-journal.py start --run-root <dir> <<'SKF_PIPELINE' forge-auto https://github.com/honojs/hono --pin v4.6.0 SKF_PIPELINE - Network accessline 123
uv run scripts/pipeline-journal.py start --run-root <dir> <<'SKF_PIPELINE' forge-auto https://github.com/honojs/hono --pin v4.6.0 SKF_PIPELINE - Network accessline 124
forge-auto https://github.com/honojs/hono --pin v4.6.0 - Network accessline 124
forge-auto https://github.com/honojs/hono --pin v4.6.0
src/skf-quick-skill/SKILL.md
- Network accessline 62
Then check the runtime: every helper this workflow runs, the envelope emitter included, runs through `uv run`, so confirm that `python3` and `uv` are both on `$PATH` (`command -v python3` and `command -v uv`). If either is missing, HARD HAL - Network accessline 62
Then check the runtime: every helper this workflow runs, the envelope emitter included, runs through `uv run`, so confirm that `python3` and `uv` are both on `$PATH` (`command -v python3` and `command -v uv`). If either is missing, HARD HAL
src/skf-quick-skill/references/batch-mode.md
- Network accessline 28
@vercel/og cognee@0.5.0 https://github.com/foo/bar - Network accessline 28
@vercel/og cognee@0.5.0 https://github.com/foo/bar - Network accessline 29
cognee@0.5.0 https://github.com/foo/bar https://github.com/foo/bar@2.1.0-beta - Network accessline 29
cognee@0.5.0 https://github.com/foo/bar https://github.com/foo/bar@2.1.0-beta - Network accessline 30
https://github.com/foo/bar - Network accessline 30
https://github.com/foo/bar - Network accessline 31
https://github.com/foo/bar@2.1.0-beta - Network accessline 31
https://github.com/foo/bar@2.1.0-beta
src/skf-quick-skill/references/finalize.md
- Dangerous shell operationline 32
**Resolve `{atomicWriteHelper}`** from `{atomicWriteProbeOrder}`; first existing path wins. If no candidate exists, skip the flip the same way `--no-active-pointer` does: log "Active pointer: skipped, atomic-write helper unavailable", omit - Dangerous shell operationline 32
**Resolve `{atomicWriteHelper}`** from `{atomicWriteProbeOrder}`; first existing path wins. If no candidate exists, skip the flip the same way `--no-active-pointer` does: log "Active pointer: skipped, atomic-write helper unavailable", omit - Dangerous shell operationline 129
case "{run_dir}" in */.skf-run/skf-quick-skill-*) rm -rf "{run_dir}/src" && rm -f "{run_dir}"/*.json "{run_dir}"/*.jsonl "{run_dir}"/*.txt && rmdir "{run_dir}" ;; esac - Dangerous shell operationline 129
case "{run_dir}" in */.skf-run/skf-quick-skill-*) rm -rf "{run_dir}/src" && rm -f "{run_dir}"/*.json "{run_dir}"/*.jsonl "{run_dir}"/*.txt && rmdir "{run_dir}" ;; esac
src/skf-quick-skill/references/quick-extract.md
- Dangerous shell operationline 44
rm -f "{run_dir}"/extract*.json - Dangerous shell operationline 44
rm -f "{run_dir}"/extract*.json - Network accessline 73
- **library** (default) — README has installation / usage / API content; manifest at root with publishable metadata. Proceed normally. - **awesome-list** — README H1 contains "awesome" (case-insensitive) or `awesome-` is in the repo name; R - Network accessline 73
- **library** (default) — README has installation / usage / API content; manifest at root with publishable metadata. Proceed normally. - **awesome-list** — README H1 contains "awesome" (case-insensitive) or `awesome-` is in the repo name; R - Network accessline 74
- **awesome-list** — README H1 contains "awesome" (case-insensitive) or `awesome-` is in the repo name; README body is dominated by curated bullet links of the form `- [name](url) — desc`; no manifest at root. - **docs-site / website** — RE - Network accessline 74
- **awesome-list** — README H1 contains "awesome" (case-insensitive) or `awesome-` is in the repo name; README body is dominated by curated bullet links of the form `- [name](url) — desc`; no manifest at root. - **docs-site / website** — RE - Network accessline 75
- **docs-site / website** — README is short (under ~50 non-empty lines) and primarily points elsewhere ("See https://… for docs"); root has no manifest, or only a docs-framework manifest (e.g. `docusaurus.config.js`, `astro.config.mjs`, `mk - Network accessline 75
- **docs-site / website** — README is short (under ~50 non-empty lines) and primarily points elsewhere ("See https://… for docs"); root has no manifest, or only a docs-framework manifest (e.g. `docusaurus.config.js`, `astro.config.mjs`, `mk
src/skf-quick-skill/references/resolve-target.md
- Network accessline 46
Examples: `cocoindex`, `@tanstack/react-query`, `requests==2.31.0`, `https://github.com/tursodatabase/limbo`, `cognee@0.5.0` - Network accessline 46
Examples: `cocoindex`, `@tanstack/react-query`, `requests==2.31.0`, `https://github.com/tursodatabase/limbo`, `cognee@0.5.0` - Network accessline 82
"**This input looks like a description, not a package or URL.** Quick Skill needs a package name (e.g. `lodash`, `@vercel/og`, `requests==2.31.0`) or a GitHub URL (e.g. `https://github.com/lodash/lodash`). - Network accessline 82
"**This input looks like a description, not a package or URL.** Quick Skill needs a package name (e.g. `lodash`, `@vercel/og`, `requests==2.31.0`) or a GitHub URL (e.g. `https://github.com/lodash/lodash`).
src/skf-quick-skill/references/write-and-validate.md
- Dangerous shell operationline 71
case "{skill_package}" in */{repo_name}/{version}/{repo_name}) rm -rf "{skill_package}" && mkdir -p "{skill_package}" ;; esac - Dangerous shell operationline 71
case "{skill_package}" in */{repo_name}/{version}/{repo_name}) rm -rf "{skill_package}" && mkdir -p "{skill_package}" ;; esac
src/skf-refine-architecture/SKILL.md
- Dangerous shell operationline 107
mkdir -p "$dir" && printf 'probe' > "$dir/.skf-write-probe" && rm "$dir/.skf-write-probe" - Dangerous shell operationline 107
mkdir -p "$dir" && printf 'probe' > "$dir/.skf-write-probe" && rm "$dir/.skf-write-probe" - Dangerous shell operationline 109
rm "$dir/.skf-write-probe" - Dangerous shell operationline 109
rm "$dir/.skf-write-probe"
src/skf-refine-architecture/references/compile.md
- Dangerous shell operationline 193
- IF cancel / exit / [X] / q / :q: delete the draft (`rm -f "{draftFile}"`), display "Cancelled: refinement not finalized. `{outputFile}` is unchanged." and HALT (exit code 6, `halt_reason: "user-cancelled"`) at phase `compile:review`. Thes - Dangerous shell operationline 193
- IF cancel / exit / [X] / q / :q: delete the draft (`rm -f "{draftFile}"`), display "Cancelled: refinement not finalized. `{outputFile}` is unchanged." and HALT (exit code 6, `halt_reason: "user-cancelled"`) at phase `compile:review`. Thes
src/skf-refine-architecture/references/report.md
- Dangerous shell operationline 120
Then delete the run folder, whose analysis copy, plan and payloads the run no longer needs: `rm -rf "{run_dir}"`. Then load, read the full file, and execute `{nextStepFile}`: the health-check step is the true terminal step of this workflow, - Dangerous shell operationline 120
Then delete the run folder, whose analysis copy, plan and payloads the run no longer needs: `rm -rf "{run_dir}"`. Then load, read the full file, and execute `{nextStepFile}`: the health-check step is the true terminal step of this workflow,
src/skf-refine-architecture/scripts/skf-check-preservation.py
src/skf-rename-skill/references/execute.md
- Dangerous shell operationline 118
**Rollback procedure for this section:** `rm -rf {new_skill_group}`, plus `rm -rf {new_forge_group}` when `{forge_move}` is true (this run created it), each without a trailing `/`. Old skill is untouched. - Dangerous shell operationline 118
**Rollback procedure for this section:** `rm -rf {new_skill_group}`, plus `rm -rf {new_forge_group}` when `{forge_move}` is true (this run created it), each without a trailing `/`. Old skill is untouched. - Dangerous shell operationline 147
- `rm -rf {new_skill_group}`, plus `rm -rf {new_forge_group}` when `{forge_move}` is true (this run created it), each without a trailing `/` - Dangerous shell operationline 147
- `rm -rf {new_skill_group}`, plus `rm -rf {new_forge_group}` when `{forge_move}` is true (this run created it), each without a trailing `/` - Dangerous shell operationline 177
if [ -L "{new_skill_group}/active" ]; then rm -f "{new_skill_group}/active" - Dangerous shell operationline 177
if [ -L "{new_skill_group}/active" ]; then rm -f "{new_skill_group}/active" - Dangerous shell operationline 178
elif [ -e "{new_skill_group}/active" ]; then rm -rf "{new_skill_group}/active" - Dangerous shell operationline 178
elif [ -e "{new_skill_group}/active" ]; then rm -rf "{new_skill_group}/active" - Dangerous shell operationline 194
- `rm -rf {new_skill_group}`, plus `rm -rf {new_forge_group}` when `{forge_move}` is true (this run created it), each without a trailing `/` - Dangerous shell operationline 194
- `rm -rf {new_skill_group}`, plus `rm -rf {new_forge_group}` when `{forge_move}` is true (this run created it), each without a trailing `/` - Dangerous shell operationline 216
- `rm -rf {new_skill_group}`, plus `rm -rf {new_forge_group}` when `{forge_move}` is true (this run created it), each without a trailing `/` - Dangerous shell operationline 216
- `rm -rf {new_skill_group}`, plus `rm -rf {new_forge_group}` when `{forge_move}` is true (this run created it), each without a trailing `/` - Dangerous shell operationline 262
- `rm -rf {new_skill_group}`, plus `rm -rf {new_forge_group}` when `{forge_move}` is true (this run created it), each without a trailing `/` - Dangerous shell operationline 262
- `rm -rf {new_skill_group}`, plus `rm -rf {new_forge_group}` when `{forge_move}` is true (this run created it), each without a trailing `/` - Dangerous shell operationline 339
Report: "**Deleted old directories:** `{old_skill_group}`{if forge_move: ' and `{old_forge_group}`'}. {if deletion_errors is non-empty: 'Errors: {list} — remove manually with `rm -rf {path}`.'}" - Dangerous shell operationline 339
Report: "**Deleted old directories:** `{old_skill_group}`{if forge_move: ' and `{old_forge_group}`'}. {if deletion_errors is non-empty: 'Errors: {list} — remove manually with `rm -rf {path}`.'}"
src/skf-rename-skill/references/report.md
- Dangerous shell operationline 60
- When `deletion_errors` is not empty, each one, with: "The new name is fully committed. Remove the remnants by hand with `rm -rf {path}`." - Dangerous shell operationline 60
- When `deletion_errors` is not empty, each one, with: "The new name is fully committed. Remove the remnants by hand with `rm -rf {path}`." - Dangerous shell operationline 102
rm -f "{run_dir}/result-context.json" "{run_dir}/decision.json" "{run_dir}/headless-decisions.jsonl" "{run_dir}/warnings.jsonl" "{run_dir}/rename-rewrite.json" "{run_dir}/export-manifest.backup.json" && rmdir "{run_dir}" - Dangerous shell operationline 102
rm -f "{run_dir}/result-context.json" "{run_dir}/decision.json" "{run_dir}/headless-decisions.jsonl" "{run_dir}/warnings.jsonl" "{run_dir}/rename-rewrite.json" "{run_dir}/export-manifest.backup.json" && rmdir "{run_dir}"
src/skf-rename-skill/references/select.md
- Dangerous shell operationline 75
{ mkdir -p "$dir" && printf 'probe' > "$dir/.skf-write-probe" && rm "$dir/.skf-write-probe"; } \ - Dangerous shell operationline 75
{ mkdir -p "$dir" && printf 'probe' > "$dir/.skf-write-probe" && rm "$dir/.skf-write-probe"; } \ - Dangerous shell operationline 83
Once the loop passes and `{customization_resolver_unavailable}` is set (SKILL.md On Activation step 3), record the reason in the run sink: write `customization_resolver_unavailable: {customization_resolver_unavailable}` to `{run_dir}/resolv - Dangerous shell operationline 83
Once the loop passes and `{customization_resolver_unavailable}` is set (SKILL.md On Activation step 3), record the reason in the run sink: write `customization_resolver_unavailable: {customization_resolver_unavailable}` to `{run_dir}/resolv - Dangerous shell operationline 167
Two concurrent rename runs against the same `old_name` would corrupt state mid-copy: one would `rm -rf` the other's freshly-staged new directories, or both would race on the manifest re-key. Take the run lock, a file that names the run hold - Dangerous shell operationline 167
Two concurrent rename runs against the same `old_name` would corrupt state mid-copy: one would `rm -rf` the other's freshly-staged new directories, or both would race on the manifest re-key. Take the run lock, a file that names the run hold - Dangerous shell operationline 335
rm -f "{run_dir}/result-context.json" "{run_dir}/decision.json" "{run_dir}/headless-decisions.jsonl" "{run_dir}/warnings.jsonl" && rmdir "{run_dir}" - Dangerous shell operationline 335
rm -f "{run_dir}/result-context.json" "{run_dir}/decision.json" "{run_dir}/headless-decisions.jsonl" "{run_dir}/warnings.jsonl" && rmdir "{run_dir}"
src/skf-rename-skill/scripts/skf-validate-rename-name.py
src/skf-setup/SKILL.md
- Network accessline 59
3. **Probe `uv` runtime.** Run `uv --version`. If `uv` is missing, halt with phase `on-activation:uv-missing`, no `path`, and reason `Setup cannot proceed: uv is not installed. Install it from https://docs.astral.sh/uv/getting-started/insta - Network accessline 59
3. **Probe `uv` runtime.** Run `uv --version`. If `uv` is missing, halt with phase `on-activation:uv-missing`, no `path`, and reason `Setup cannot proceed: uv is not installed. Install it from https://docs.astral.sh/uv/getting-started/insta
src/skf-setup/references/report.md
- Dangerous shell operationline 81
rm -f "{run_dir}/detect-tools.json" "{run_dir}/detect-tools.err" "{run_dir}/ccc-exclusions.json" "{run_dir}/write-tools.err" "{run_dir}/forge-data-dir.err" "{run_dir}/qmd-classify.json" "{run_dir}/qmd-remove.json" "{run_dir}/clean-stale.jso - Dangerous shell operationline 81
rm -f "{run_dir}/detect-tools.json" "{run_dir}/detect-tools.err" "{run_dir}/ccc-exclusions.json" "{run_dir}/write-tools.err" "{run_dir}/forge-data-dir.err" "{run_dir}/qmd-classify.json" "{run_dir}/qmd-remove.json" "{run_dir}/clean-stale.jso
src/skf-test-skill/references/init.md
- Network accessline 74
Every step runs SKF's helpers through `uv run`, which also installs the dependencies each script declares (PEP 723); bare `python3` ignores them, so a helper such as the frontmatter validator fails on its PyYAML import. Confirm that `python - Network accessline 74
Every step runs SKF's helpers through `uv run`, which also installs the dependencies each script declares (PEP 723); bare `python3` ignores them, so a helper such as the frontmatter validator fails on its PyYAML import. Confirm that `python
src/skf-test-skill/references/report.md
- Dangerous shell operationline 312
**`--no-health-check` flag bypass.** If `no_health_check: true` is set in workflow context (from the `--no-health-check` flag, `init.md` §1), §4c already recorded `health_check_dispatched: false` in the report and `healthCheckDispatched: fa - Dangerous shell operationline 312
**`--no-health-check` flag bypass.** If `no_health_check: true` is set in workflow context (from the `--no-health-check` flag, `init.md` §1), §4c already recorded `health_check_dispatched: false` in the report and `healthCheckDispatched: fa - Dangerous shell operationline 323
rm -rf "{project-root}/_bmad-output/.skf-run/skf-test-skill-{run_id}" - Dangerous shell operationline 323
rm -rf "{project-root}/_bmad-output/.skf-run/skf-test-skill-{run_id}"
src/skf-test-skill/scripts/aggregate-coherence.py
src/skf-test-skill/scripts/build-result-context.py
src/skf-test-skill/scripts/check-metadata-coherence.py
src/skf-test-skill/scripts/combine-external-scores.py
src/skf-test-skill/scripts/compute-score.py
src/skf-test-skill/scripts/gap-ledger.py
src/skf-test-skill/scripts/hard-gate.py
src/skf-test-skill/scripts/load-coverage-inputs.py
src/skf-test-skill/scripts/locate-export-segments.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 45
usage-scope). A qualified name (`client.fetch`, `Store::load`) matches only as written, except that a declaration also matches its last part (`def fetch(`): a declaration never carries the qualifier. - Network accessline 45
usage-scope). A qualified name (`client.fetch`, `Store::load`) matches only as written, except that a declaration also matches its last part (`def fetch(`): a declaration never carries the qualifier. - Network accessline 47
(`def fetch(`): a declaration never carries the qualifier. - Network accessline 47
(`def fetch(`): a declaration never carries the qualifier. - Network accessline 589
return True else: expr = i # a grouping `(`: `await (fetch())` - Network accessline 589
return True else: expr = i # a grouping `(`: `await (fetch())` - Network accessline 590
else: expr = i # a grouping `(`: `await (fetch())` close = _matching_close(text, i) - Network accessline 590
else: expr = i # a grouping `(`: `await (fetch())` close = _matching_close(text, i) - Network accessline 591
expr = i # a grouping `(`: `await (fetch())` - Network accessline 591
expr = i # a grouping `(`: `await (fetch())`
src/skf-test-skill/scripts/reconcile-coverage.py
src/skf-test-skill/scripts/score-signatures.py
src/skf-test-skill/scripts/stage-helper-payload.py
src/skf-test-skill/scripts/validate-inventory.py
src/skf-test-skill/scripts/verify-declared-numerator.py
src/skf-update-skill/references/health-check.md
- Dangerous shell operationline 50
1c. **Remove this update's run folder** `{run_dir}` in every mode (`--detect-only` and `--dry-run` included), when `{run_dir}` is bound: from `{project-root}`, run `rm -rf "{run_dir}"`. It holds this run's state, its decision log and warnin - Dangerous shell operationline 50
1c. **Remove this update's run folder** `{run_dir}` in every mode (`--detect-only` and `--dry-run` included), when `{run_dir}` is bound: from `{project-root}`, run `rm -rf "{run_dir}"`. It holds this run's state, its decision log and warnin
src/skf-update-skill/references/write.md
src/skf-update-skill/scripts/skf-new-file-diff.py
src/skf-verify-stack/references/init.md
- Dangerous shell operationline 68
mkdir -p "{outputFolderPath}" && printf 'probe' > "{outputFolderPath}/.skf-write-probe" && rm "{outputFolderPath}/.skf-write-probe" - Dangerous shell operationline 68
mkdir -p "{outputFolderPath}" && printf 'probe' > "{outputFolderPath}/.skf-write-probe" && rm "{outputFolderPath}/.skf-write-probe" - Dangerous shell operationline 70
rm "{outputFolderPath}/.skf-write-probe" - Dangerous shell operationline 70
rm "{outputFolderPath}/.skf-write-probe"
src/skf-verify-stack/references/report.md
- Dangerous shell operationline 156
If `{workflow.on_complete}` is non-empty, execute it now (e.g. route the verdict onward or trigger a downstream step); in headless, log the action. Then delete the run folder, whose inventory, summaries and payloads the run no longer needs: - Dangerous shell operationline 156
If `{workflow.on_complete}` is non-empty, execute it now (e.g. route the verdict onward or trigger a downstream step); in headless, log the action. Then delete the run folder, whose inventory, summaries and payloads the run no longer needs:
src/skf-verify-stack/scripts/skf-coverage-tally.py
src/skf-verify-stack/scripts/skf-previous-report.py
src/skf-verify-stack/scripts/skf-report-delta.py
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 1 fact
- Contacts github.com, which SKILL.md, the README and the plugin manifest do not mentionskf-campaign/scripts/campaign-parse-manifest.py:129High confidence
Signal confidence: 353 facts
- Network access in code of documentationskf-analyze-source/references/auto-docs-only.md:33Low confidence
- Network access in prose of documentationskf-analyze-source/references/auto-docs-only.md:43Low confidence
- Dangerous shell operation in prose of documentationskf-analyze-source/references/auto-docs-only.md:154Low confidence
- Dangerous shell operation in prose of documentationskf-analyze-source/references/generate-briefs.md:310Low confidence
- Network access in prose of documentationskf-analyze-source/references/step-auto-scope.md:189Low confidence
- Dangerous shell operation in prose of documentationskf-analyze-source/references/step-auto-scope.md:454Low confidence
- Network access in prose of the SKILL.mdsrc/skf-audit-skill/SKILL.md:92Low confidence
- Network access in prose of the SKILL.mdskf-audit-skill/SKILL.md:92Low confidence
- Dangerous shell operation in code of documentationsrc/skf-audit-skill/references/re-index.md:100Low confidence
- Dangerous shell operation in code of documentationskf-audit-skill/references/re-index.md:100Low confidence
- Dangerous shell operation in prose of documentationsrc/skf-audit-skill/references/report.md:213Low confidence
- Dangerous shell operation in prose of documentationskf-audit-skill/references/report.md:213Low confidence
- Dangerous shell operation in code of documentationsrc/skf-audit-skill/references/structural-diff.md:87Low confidence
- Dangerous shell operation in code of documentationskf-audit-skill/references/structural-diff.md:87Low confidence
- Executable script in code of a file that runssrc/skf-audit-skill/scripts/render-drift-tables.py:1High confidence
- Executable script in code of a file that runsskf-audit-skill/scripts/render-drift-tables.py:1High confidence
- Network access in code of documentationsrc/skf-brief-skill/assets/skill-brief-schema.md:204Low confidence
- Network access in code of documentationskf-brief-skill/assets/skill-brief-schema.md:204Low confidence
- Network access in code of documentationsrc/skf-brief-skill/assets/skill-brief-schema.md:205Low confidence
- Network access in code of documentationskf-brief-skill/assets/skill-brief-schema.md:205Low confidence
- Network access in code of documentationsrc/skf-brief-skill/assets/skill-brief-schema.md:206Low confidence
- Network access in code of documentationskf-brief-skill/assets/skill-brief-schema.md:206Low confidence
- Network access in code of documentationsrc/skf-brief-skill/references/analyze-target.md:62Low confidence
- Network access in code of documentationskf-brief-skill/references/analyze-target.md:62Low confidence
- Network access in code of documentationsrc/skf-brief-skill/references/analyze-target.md:97Low confidence
- Network access in code of documentationskf-brief-skill/references/analyze-target.md:97Low confidence
- Dangerous shell operation in prose of documentationsrc/skf-brief-skill/references/analyze-target.md:100Low confidence
- Dangerous shell operation in prose of documentationskf-brief-skill/references/analyze-target.md:100Low confidence
- Network access in prose of documentationsrc/skf-brief-skill/references/analyze-target.md:100Low confidence
- Network access in prose of documentationskf-brief-skill/references/analyze-target.md:100Low confidence
- Dangerous shell operation in prose of documentationsrc/skf-brief-skill/references/confirm-brief.md:160Low confidence
- Dangerous shell operation in prose of documentationskf-brief-skill/references/confirm-brief.md:160Low confidence
- Dangerous shell operation in prose of documentationsrc/skf-brief-skill/references/gather-intent-ratify.md:52Low confidence
- Dangerous shell operation in prose of documentationskf-brief-skill/references/gather-intent-ratify.md:52Low confidence
- Dangerous shell operation in code of documentationsrc/skf-brief-skill/references/gather-intent.md:38Low confidence
- Dangerous shell operation in code of documentationskf-brief-skill/references/gather-intent.md:38Low confidence
- Dangerous shell operation in code of documentationsrc/skf-brief-skill/references/gather-intent.md:40Low confidence
- Dangerous shell operation in code of documentationskf-brief-skill/references/gather-intent.md:40Low confidence
- Network access in prose of documentationsrc/skf-brief-skill/references/gather-intent.md:101Low confidence
- Network access in prose of documentationskf-brief-skill/references/gather-intent.md:101Low confidence
- Network access in prose of documentationsrc/skf-brief-skill/references/gather-intent.md:102Low confidence
- Network access in prose of documentationskf-brief-skill/references/gather-intent.md:102Low confidence
- Network access in prose of documentationsrc/skf-brief-skill/references/gather-intent.md:103Low confidence
- Network access in prose of documentationskf-brief-skill/references/gather-intent.md:103Low confidence
- Network access in prose of documentationsrc/skf-brief-skill/references/gather-intent.md:104Low confidence
- Network access in prose of documentationskf-brief-skill/references/gather-intent.md:104Low confidence
- Network access in prose of documentationsrc/skf-brief-skill/references/gather-intent.md:105Low confidence
- Network access in prose of documentationskf-brief-skill/references/gather-intent.md:105Low confidence
- Dangerous shell operation in prose of documentationsrc/skf-brief-skill/references/gather-intent.md:114Low confidence
- Dangerous shell operation in prose of documentationskf-brief-skill/references/gather-intent.md:114Low confidence
and 303 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md src/skf-analyze-source/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md src/skf-analyze-source/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md src/skf-analyze-source/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md src/skf-analyze-source/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md src/skf-analyze-source/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.