Use when the user asks for a behavior-preserving audit or refactor of a registered Officina node or one of its owned sources. Do not use for feature work, bug fixes, generic code review, or files outside registered node ownership.
Scanned 9/2/2026
Install to Claude Code
npx -y skills add MoeenNehzati/famulus --skill refactor-node --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Refactor Node?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/moeennehzati-refactor-node)More formats (shields.io, HTML) on the badges page.
---
name: refactor-node
description: >-
Use when the user asks for a behavior-preserving audit or refactor of a registered Officina node or one of its owned sources. Do not use for feature work, bug fixes, generic code review, or files outside registered node ownership.
---
<!-- BEGIN BLUEPRINT INTERFACES -->
> Generated from `blueprint.yaml`. Do not edit this block by hand.
Executable Interfaces:
Call `famulus.invoke` with required `caller` (caller skill), `interface`, `version`, and `arguments`; optional `dry_run` defaults to false. Compact uses ordered `positionals` plus an option mapping; ordered raw argv uses `positionals: []` plus every argv token in list `options`. Never mix forms.
- `standards.interface.query-standard` — Query one explicit standard and its complete pinned import closure.
- Caller: `refactor-node`
- Version: 1
- Alternative: `standard-and-options`
Arguments JSON (replace labels with actual values). Omit optional positionals and options that are not needed.
{"options": {"--facts-json": "JSON", "--query-json": "JSON", "--refs-json": "JSON", "--repo-root": "PATH", "--view": "requirements|context|evidence|remedies|full"}, "positionals": ["standard-path"], "stdin": null}
Required options: []; positional arity: 1..1; stdin: forbidden
Instruction Interfaces:
These are LLM-readable instruction surfaces. Read and follow them directly; do not invoke the MCP server for them.
- `refactor-node.source.instruction-refactoring.interface.refactor-instructions@1` — Diagnose and repair an owned instruction source from its applicable standards.
- `refactor-node.source.python-refactoring.interface.refactor-python@1` — Diagnose and, after approval, apply one verified behavior-preserving Python OOD refactoring move at a time.
<!-- END BLUEPRINT INTERFACES -->
# Refactor Node
Use `standards.interface.query-standard` as the sole repository-policy query.
Select the root from the established request scope; the query returns its
complete pinned import closure. Never ask it to infer ownership or reconstruct
a blueprint graph.
## Preflight
Before querying policy, identify the selected component and affected
implementation children. Retain
the dry-run; verify caller, target `standards.interface.query-standard`,
repository root, selected standard path, task facts, view, and refs. Reject
mismatches and inferred targets.
## Standards retrieval
Classify each selected scope by its known node role and gateway family, then
query the corresponding canonical root with `task.kind=refactor` and
`--view requirements`:
| Selected scope | Root standard |
|---|---|
| Python module | `references/node-standards/python-module.standard.yaml` |
| Python behavioral source | `references/node-standards/python-behavioral-source.standard.yaml` |
| Instruction module | `references/node-standards/instruction-module.standard.yaml` |
| Instruction behavioral source | `references/node-standards/instruction-behavioral-source.standard.yaml` |
Select by affected role, not filename. For a typical registered `SKILL.md`,
module identity, discovery, gateway, or export work uses the instruction-module
root; authored instruction work uses the instruction-behavioral-source root.
Query both only when both roles change; a narrow source-owned section uses only
the source root. For other mixed work, query each applicable root separately
and combine the returned requirements. A whole-skill audit queries both
instruction roots plus every declared Python module and source root.
If selected work touches test files or their fixtures or helpers, query
`references/node-standards/code-testing.standard.yaml` as an additional
independent root with `task.kind=refactor`. Set
`task.optimizes-test-performance` true for performance work and false otherwise.
Test artifacts are collected or executed by configured test or validation runner.
Markdown-only means no executable test file, fixture, or helper changes. Test
code that validates Markdown remains test code.
Imported documents arrive in the complete pinned import closure; never query
them separately. Apply `requirements.true`, resolve material
`requirements.unknown` and missing facts. Never silently discard a material
unknown. Then use exact returned document/ref
pairs: `--view context --refs-json JSON` for `context_index`; `--view
evidence` for checks, tests, and assurances, `semantic_reviews`, artifacts,
and limitations; and `--view remedies` for returned `remedied-by`
procedures. Use `--view full` or `--query-json` only through `--help`.
Retain a selected class, function, method, or instruction section as the
caller-owned sub-scope. Read scoped repository instructions and the current
diff, then characterize observable behavior before proposing changes.
## Evidence and preservation
Map affected behavior, ownership, dependencies, authorization, reverse
consumers, and verification. Classify canonical evidence,
supplemental change-relevant evidence with owner and limitations, and affected
refs with no mapped evidence. Perform semantic review and build a preservation
map for observables, route outcomes, fallbacks, approval boundaries, generated
invocations, and removed directives.
## Route
- Invoke `refactor-node.interface.refactor-python` for Python scopes.
- Invoke `refactor-node.interface.refactor-instructions` for Markdown gateway
partitions.
- For mixed work, invoke both routes as needed and combine their proposals
without crossing the established scope boundaries.
## Shared change contract
Preserve behavior; separate features, bug fixes, and public-API redesign. Before
mutation, report scope, preservation map, requirements, unresolved facts,
evidence, and remedy. Require approval, apply one move, inspect the exact diff
against the preservation map, and verify. An unvalidated move is non-final:
fix and rerun within scope or revert and stop.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!