Pointer stub. The canonical standard is chwezi-dev-engine/skills/sdlc-meta/skill-writing (canonical on GitHub; local path C:\wamp64\www\chwezi-dev-engine\skills\sdlc-meta\skill-writing\SKILL.md). Load it first; this file keeps a portable minimum and this engine's delta.
Use When
- Creating or normalising a skill for a repeatable business-planning, advisory, finance, pitch or execution workflow.
Do Not Use When
- Use
skill-safety-auditinstead for a read-only safety inspection; use the domain skill when the task is to produce a plan artefact.
Required Inputs
| Artefact | Source/provider | Required? | If absent |
|---|---|---|---|
| Reusable problem, trigger prompts and neighbour descriptions | Requester and live catalogue | Yes | Stop; search the catalogue before drafting. |
| Canonical skill-writing standard | chwezi-dev-engine checkout or GitHub | Yes | Apply the portable minimum and mark canonical-only checks NOT ASSESSED. |
Workflow
- Read the canonical standard, then this engine's delta; inspect the closest neighbours.
- Write the input, output, evidence, capability, degraded-mode and decision contracts before the procedure.
- Run
python -X utf8 scripts/validate_skill_engine.py --baseline docs/quality/skill-quality-baseline.jsonandpython -X utf8 scripts/routing_smoke_test.py, thenpython -X utf8 skills/meta-utility/skill-writing/scripts/quick_validate.py <skill-dir>. - Stop on any finding or routing collision; recover by fixing the named contract and rerun, never by weakening the gate.
Outputs
| Artefact | Consumer | Acceptance condition |
|---|---|---|
| Skill directory and routing fixtures | Maintainer and router | Validators pass and the expected skill ranks in the top three. |
Evidence Produced
| Evidence | Artefact and format | Consumer | Acceptance condition |
|---|---|---|---|
| Validation and routing record | Command output | Release owner | Zero findings; unrun checks marked NOT ASSESSED. |
Quality Standards
- Portable minimum, applied even when the canonical is unreachable: frontmatter uses only approved keys and
namematches the folder. - The description starts
Use when, stays within 350 characters and names a neighbour, with no workflow steps. SKILL.mdstays within 500 lines; deep detail sits in references one level deep, linked directly.- Every new or changed skill gets positive, negative and collision routing fixtures.
- Bundled scripts run through their interpreter, for example
python -X utf8 scripts/<name>.py. - No book extractions or copied third-party text; paraphrase and attribute.
- British English, the imperative mood, and
NOT ASSESSEDfor any check not run.
Engine-Local Delta
- Draft from the dual-compatible skill template and respect the dual-surface migration rules; inventory
skills/andcountry-context/for neighbours. - Verify financial figures, thresholds and accounting treatments, or assign them to professional review under the finance engine; apply
anti-ai-slopwhile writing andai-slop-auditbefore release.
Capability Contract
Read and search are required. Editing files and running validators need explicit permission for the authoring task; publishing, deletion and release changes need separate authorisation.
Degraded Mode
If the canonical standard is unavailable, apply the portable minimum, return the narrowest qualified result, and mark each canonical-only check NOT ASSESSED; never report it as passed.
Decision Rules
| Condition | Action | Failure or risk avoided |
|---|---|---|
| An existing skill owns the trigger and output | Normalise it in place; put branch-only detail in a linked reference | Duplicate routes and oversized entrypoints |
Anti-Patterns
- Copying the canonical body into this engine. Fix: link the canonical and keep only the delta here.
- Writing only positive triggers. Fix: name the neighbour and add a collision fixture.
- Treating an unrun validator as a pass. Fix: record
NOT ASSESSEDwith the reason. - Granting edit rights to a review procedure. Fix: default review and audit to read-only.
- Weakening a baseline to clear a finding. Fix: repair the named contract instead.
Worked Example
Asked for a lender-readiness review skill, first search meta-bankability-scoring, 11-funding-request and meta-accounting-finance-review; update the owner that already scores bankability instead of adding a duplicate reviewer.