refresh
Bring this project's Clawness rules up to date with the framework version it actually runs.
Skill by fullymiddleaged
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/fullymiddleaged-refresh
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/refresh
What's inside
- Skill name
refresh- Description
- Bring this project's Clawness rules up to date with the framework version it actually runs. Establishes what is installed and what the codebase uses, looks up what changed since the rules were verified, and writes version-corrected overrides into .clawness/rules/ — reporting the list and stopping for approval before it writes anything. Run it when the SessionStart version-gap note fires, or whenever a major upgrade lands.
- License
- MIT
- Instructions
- 165 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Refresh rules for a framework version
Clawness rules can carry a version stamp — `applies_to`, `verified`, `sources` —
recording the range they were established against. When a project runs past that
range, a SessionStart note says so once and deliberately does nothing else.
This skill is the **remedy**. The note is only the diagnosis: it fires before you
have said what you came for, so it cannot propose a session's worth of destructive
work. You invoking this skill *is* the consent it couldn't ask for.
**This is the only path permitted to author rule files.** Nothing automatic may
invoke it — not the note, not a hook, not your own initiative mid-task. An earlier
version of this feature let the automatic path write rules and it produced heaps of
them, consuming a session opened for something else.
**Say this before starting.** It takes a while, it writes files into the project,
and the rules it writes will govern every future prompt in this repo. Get an
explicit go-ahead, and tell them nothing is written until they approve the list.
## Argument
`/clawness:refresh <domain>` — one domain (`nextjs`, `react`, `python`, `fastapi`,
…). With no argument, use the detected stack, and if that spans several domains ask
which one. **One domain per run.** Reviewing several at once is how a careful pass
becomes a bulk stamp, which is the failure this whole feature exists to prevent.
## Steps
### 1. Establish what is actually installed
The **lockfile is authoritative; the manifest range is not.** `^17.0.0` in
`package.json` is a permission, not a fact — read `package-lock.json`,
`pnpm-lock.yaml`, `yarn.lock`, `uv.lock`, `poetry.lock`, or `pip freeze` output for
the resolved version. This is `GEN-INSTALLED-VER-001`'s procedure, and it matters
more here than usual: the rule you write will be asserted to future sessions as
fact.
If you cannot resolve an exact version, say so and stop. Do not write a rule
against a version you had to guess.
### 2. Establish what the codebase actually uses
Version alone is not the answer. A Next.js 17 project still on the Pages Router
must not be given App Router rules, and a project that never touches the changed
API needs no rule at all.
Grep for the constructs each candidate rule would govern **before** writing it. A
rule that doesn't apply here is not harmless — it competes for a top-k slot on
every prompt, forever, and displaces one that does apply.
### 3. Look up what changed
Between the stamped range and the installed major. Prefer, in order:
1. The framework's own migration guide / upgrade guide for that major.
2. The official changelog or release notes.
3. The current official docs page for the API in question.
**Not recalled knowledge.** A model's sense of "what's current" lags real releases
by exactly the gap this feature exists to close — using it here would launder a
guess into a stamped, sourced rule, which is worse than the stale rule you started
with. If you cannot reach documentation, report that and stop.
Record the URL you used for each finding. It becomes the rule's `sources`, and it
is what makes a generated stamp auditable rather than asserted.
*(This step is shared with `clawness audit-rules`' review pass — same lookup,
different destination: this writes to one project, that fixes the corpus upstream.)*
### 4. Classify each rule in the domain
Read every rule in the domain, global and project. For each, one verdict:
| Verdict | Action |
| --- | --- |
| **Still true** at the installed version | Nothing. Say so — the honest majority. |
| **Changed** | Override under its **own id** (see below). |
| **Now the framework default** | Override to say so, or drop it — a rule telling you to do what the framework already does is pure noise. |
| **New concept, no rule exists** | New id, new rule. |
| **Can't settle it** | Leave alone, report as unsettled. A gap is truthful; a guess is not. |
### 5. Report the list and stop
Present the classification as a table with the proposed id, verdict, and source URL
for each. **Write nothing until the user approves.**
Cap what you propose at **6 rule files** unless the user asks for more. That number
is a judgment call, not a measurement: it is small enough that the review stays a
review, and a major migration that genuinely needs more is a conversation worth
having rather than a batch to wave through. If more than six rules are affected,
propose the six that matter most and say what you left out.
### 6. Write the approved overrides
Into `<project>/.clawness/rules/<domain>/<ID>.yml`.
**Override a superseded rule under its OWN id.** `NX-ROUTE-001` for v17 replaces
`NX-ROUTE-001` for v14. A new id would leave both in the corpus, one describing 14
and one 17, competing for the same slot — strictly worse than the stale rule alone.
`add_rules` replaces by id, so the project copy wins outright. A genuinely new
concept with no existing rule does get a new id.
Full rule format, plus the stamp:
```yaml
id: NX-ROUTE-001
domain: nextjs
severity: warning
tags: [routing, app-router]
triggers: [route, app router, layout]
when: Defining routes in this project.
rule: <what to do, precisely, at the installed version>
violation: <the v14 shape, if it helps>
correct: <the v17 shape>
applies_to: {"Next.js": "17"}
verified: "<YYYY-MM, this month>"
sources: ["<the URL from step 3>"]
# Generated by /clawness:refresh for Next.js 17 on <YYYY-MM-DD>.
```From fullymiddleaged/Clawness, MIT.
More from fullymiddleaged/Clawness
- 0.619score
bootstrap
fullymiddleaged
Author a starter set of Clawness rules for a project whose stack Clawness ships no corpus for (Ruby, PHP, Elixir, Haskell, C#, Swift, Dart, Scala, Clojure…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
user-docs
fullymiddleaged
Write user documentation for a project by scanning its codebase — its UI screens and its public API/CLI — inferring what someone can actually do with it, and…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
claude-md
fullymiddleaged
Shrink an oversized CLAUDE.md.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
eval-set
fullymiddleaged
Build and run a project-specific retrieval eval so changes to your rules or base prompt are scored, not eyeballed.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
messaging
fullymiddleaged
Write or rewrite the product's customer-facing copy — landing page, hero section, CTAs, onboarding, empty states, pricing, app-store and marketing pages —…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
openclaw-audit
fullymiddleaged
Trim an OpenClaw workspace's base system prompt.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
audit-rules
fullymiddleaged
Review one domain of the Clawness rule corpus for correctness against current official documentation, then record what was established as a version stamp…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
security-audit
fullymiddleaged
Run a stateful red team / blue team security audit on the current project or a specific module.
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
review
fullymiddleaged
Run an adversarial code review on staged changes or a specific file.
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
status
fullymiddleaged
Show the current Clawness configuration: which rules are loaded, which agents are available, and how the hook is configured.
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
add
fullymiddleaged
Create a new Clawness rule from a natural language description.
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
perf
fullymiddleaged
Run a performance audit on the project or a specific module.
SkillAFreshness: A★ 5Claude Code +9
Signals
- Stars
- 5
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 4, 2026 (25 days ago)
- Last release
- Oct 4, 2026 (25 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/fullymiddleaged/Clawness
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from fullymiddleaged
- 0.619score
bootstrap
fullymiddleaged
Author a starter set of Clawness rules for a project whose stack Clawness ships no corpus for (Ruby, PHP, Elixir, Haskell, C#, Swift, Dart, Scala, Clojure…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
claude-md
fullymiddleaged
Shrink an oversized CLAUDE.md.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
eval-set
fullymiddleaged
Build and run a project-specific retrieval eval so changes to your rules or base prompt are scored, not eyeballed.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
messaging
fullymiddleaged
Write or rewrite the product's customer-facing copy — landing page, hero section, CTAs, onboarding, empty states, pricing, app-store and marketing pages —…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
openclaw-audit
fullymiddleaged
Trim an OpenClaw workspace's base system prompt.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
audit-rules
fullymiddleaged
Review one domain of the Clawness rule corpus for correctness against current official documentation, then record what was established as a version stamp…
SkillAFreshness: A★ 5Claude Code +9
Cite this page
refresh skill. Agent Mart. https://agentmart.dev/skills/fullymiddleaged-refresh (last updated 2026-10-24)