Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add chan4lk/specclaw --skill bf-architecturegit clone --depth 1 https://github.com/chan4lk/specclawWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/chan4lk/specclaw/bf-architecture)<a href="https://agentmods.dev/skills/chan4lk/specclaw/bf-architecture"><img src="https://agentmods.dev/badge/skills/chan4lk/specclaw/bf-architecture/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/chan4lk/specclaw/bf-architecture"><img src="https://agentmods.dev/badge/skills/chan4lk/specclaw/bf-architecture.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Agent Snooping · line 22 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00139 | $0.00943 |
| Opus 5 | $0.00069 | $0.00472 |
| Sonnet 5 | $0.00028 | $0.00189 |
| Haiku 4.5 | $0.00014 | $0.00094 |
Grade A, and why
bf-architecture scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
specclaw bf-architecture
First, run specclaw-ensure-init .specclaw — idempotently creates .specclaw/ if it doesn't exist (silent if already initialized; auto-inits using the current directory's basename as the project name).
Analyze an existing codebase's architecture and write .specclaw/analysis/architecture.md. Read-only side-command — no specclaw-validate-change call, no <change> involved, matching the analyze/patterns/status pattern.
-
Resolve and collect:
specclaw-bf-analyze-codebase collect .specclaw [path][path]defaults to the repository root when omitted. The script itself validates that[path]exists, resolves inside the repository, and is not.specclawitself or nested inside it, and now also emits adependency_graphfield alongside its existing fields. If it exits non-zero, surface its stderr message to the user verbatim and stop — don't retry, don't guess a different path. This validation already lives insidecollect; do not reimplement it here. -
Archive the prior architecture report, if any, before writing a new one:
mkdir -p .specclaw/analysis/archive mv .specclaw/analysis/architecture.md .specclaw/analysis/archive/$(date +%Y-%m-%d-%H%M%S)-architecture.mdSkip this step if
.specclaw/analysis/architecture.mddoesn't exist yet. This is the same shared archive directoryskills/analyze/SKILL.mduses forcodebase-report.md— both document types land in.specclaw/analysis/archive/, distinguished by filename. -
Spawn the analysis agent:
Agenttool,subagent_type: "bf-architecture-analyst", on the model fromconfig.yamlmodels.review(default:anthropic/claude-sonnet-4-5). Pass as context:- The collected JSON (stdout of Step 1, which now includes
dependency_graph). - The resolved target path.
- Whether
.specclaw/analysis/pending-questions.mdand.specclaw/analysis/clarifications.mdexist (simple[ -f ... ]checks — this command has no dedicated collector to add the fields to, unlikebf-domain) and their resolved paths if so, for the agent's own Ask, Don't Guess de-duplication.
- The collected JSON (stdout of Step 1, which now includes
-
The agent writes
.specclaw/analysis/architecture.mditself, per its own Output section — this skill does not write the file. -
Present a short summary to the user: the path analyzed, which C4 levels were written, and any component the agent flagged "L4 not warranted for this component."
-
Show what comes next:
specclaw-bf-status .specclaw --nextRender its output verbatim, after the summary above — never instead of it. Read-only, writes nothing, costs a second.
Only if this run completed. Step 1 says to surface
collect's stderr and stop; that means stop. A run that did not finish must never print a next step, which would read as though the phase advanced when it did not.Never work the next step out yourself.
specclaw-bf-statusowns the lifecycle ordering for everybf-*command — which phase follows which, which open items are human work, and which command clears them. A next phase decided here would be a second copy of that ordering, diverging the moment either side changes.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 42 lines · 0 tokens per session scan A c6aab6001431
bf-architecture is a skill published in the GitHub repository chan4lk/specclaw (12 stars, last pushed 5d ago), licensed MIT. It adds 139 tokens to every session and 943 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-05.
Other skills, from other repositories
upload-assets
An asset-upload workflow that sends files to a console’s content-delivery network and prepares a review-request payload for a person to submit.
review-spec
A workflow for comparing an existing feature specification with the project's review checklist and implementation. It looks for missing requirements, differences between documented screens and actual screens, and lessons from rejected submissions.
wire-sdk
An SDK integration guide for 앱인토스, a platform for building apps inside Toss. It covers permissions, persistent storage, sharing links, screen controls, safe-area spacing, and secure WebSocket connections.
optimize-seo-geo
A workflow for filling only the SEO and GEO sections of a post's front matter. SEO helps a page appear in search results, while GEO prepares information for answer systems that may quote or cite it.
write-draft
A writing workflow that turns an outline into a full article while following a project’s content guidelines. It emphasizes clear structure, plain language, fact checking, and marked placeholders for unverified claims.
write-spec
A feature-specification workflow that turns a feature request into a Markdown file describing screens, acceptance checks, boundaries, and unanswered questions.