agentleFS
iwesysiwesys/IWE/.claude/skills/extend/SKILL.md

extend

Skill0 starsChanged 24 days agoMITView on GitHub

IWE extensibility catalog: what can be customized, which extension points

2 other projects use a version of this, 1 of them edited.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 2 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If an argument is provided (e.g.

    line 23
  2. Distinctive:

    If no argument is provided → show the full catalog.

    line 24
  3. Very specific:

    Create .claude/skills/<name>/SKILL.md — the Skill will be available as /<name>.

    line 109
  4. Distinctive:

    If the user says "create" or "add" after viewing the catalog:

    line 127
  5. Very specific:

    Create the file in extensions/

    line 129

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

/extend — IWE Extensibility Catalog

Trigger: /extend, "what can I extend?", "how to configure a protocol", "how to add a custom step". Role: R6 Encoder. Single output: a map of what is available + specific instructions.

Algorithm

1. Identify the request scope

If an argument is provided (e.g. /extend day-open) → show only that protocol. If no argument is provided → show the full catalog.

2. Show the current customization state

ls {{WORKSPACE_DIR}}/extensions/*.md 2>/dev/null || echo "(no extensions)"
cat {{WORKSPACE_DIR}}/params.yaml 2>/dev/null

Report:

  • Which extensions are already installed (✅)
  • Which parameters have already been changed from defaults

3. Output the catalog

Extension points (files in extensions/)

ProtocolHookFile to createWhen it runs
protocol-closechecksextensions/protocol-close.checks.mdBEFORE commit+push — pre-commit gate (R4.3, WP-273)
protocol-closeafterextensions/protocol-close.after.mdAfter the checklist, before Verification
day-openbeforeextensions/day-open.before.mdBefore step 1 — morning rituals
day-openafterextensions/day-open.after.mdAfter "Requires attention", before DayPlan
day-closechecksextensions/day-close.checks.mdAfter governance batch, before archiving
day-closeafterextensions/day-close.after.mdAfter day summary, before Verification
week-closebeforeextensions/week-close.before.mdBefore lesson rotation
week-closeafterextensions/week-close.after.mdAfter memory Audit
protocol-openafterextensions/protocol-open.after.mdAfter the alignment ritual
protocol-opensyncextensions/protocol-open.sync.mdOverrides sync behavior at step 3b
day-openchecksextensions/day-open.checks.mdBefore commit, after DayPlan preparation
day-closebeforeextensions/day-close.before.mdBefore the first day-close steps
month-closebeforeextensions/month-close.before.mdBefore the first month-close steps
month-closeafterextensions/month-close.after.mdAfter month summary, before Verification
strategy-sessionbeforeextensions/strategy-session.before.mdBefore the strategy session starts
strategy-sessionafterextensions/strategy-session.after.mdAfter strategy session summary
iwe-updatebeforeextensions/iwe-update.before.mdBefore preview and application of the update
iwe-updatechecksextensions/iwe-update.checks.mdAfter application, before the successful final report
iwe-updateafterextensions/iwe-update.after.mdAfter the update final report
verifybeforeextensions/verify.before.mdBefore type selection and check execution
verifychecksextensions/verify.checks.mdAfter the main check, before the final verdict
verifyafterextensions/verify.after.mdAfter the final verdict is shown
archgatebeforeextensions/archgate.before.mdBefore principles and the start of the architectural Assessment; blocks start on error
archgatechecksextensions/archgate.checks.mdAfter DRR, before the single verdict publication; blocks publication on error
archgateafterextensions/archgate.after.mdAfter publication; warns on errors and never changes the verdict

For archgate.before and archgate.checks, the last instruction must produce ARCHGATE_EXTENSION: PASS or ARCHGATE_EXTENSION: BLOCK — <reason>. BLOCK is a normal content-level block. A loader or execution error is a separate failure. In archgate.after, ARCHGATE_EXTENSION: WARN — <reason> is allowed; the result of this Phase does not change the already-published verdict. An extension must not re-invoke the archgate lifecycle via load-extensions.sh archgate ...: the loader returns BLOCK for before/checks and WARN for after. If a corrupted or recursive file is present among archgate.after files, all other valid files still execute.

Multiple files for the same Hook — loaded in alphabetical order. Example: day-close.after.md + day-close.after.health.md — both will execute.

A file without a Hook name, such as extensions/verify.md, is not an extension point. Use one of the explicitly listed variants: before, checks, or after.

Parameters (params.yaml)

ParameterProtocolDefaultDescription
video_checkDay OpentrueCheck video from the previous day
multiplier_enabledDay ClosetrueCalculate the IWE multiplier (requires WakaTime)
reflection_enabledDay ClosefalseDay reflection via day-close.after.md
lesson_rotationWeek ClosetrueLesson rotation in MEMORY.md
auto_verify_codeQuick ClosetrueAuto-verify code via sub-agent Haiku
verify_quick_closeQuick ClosetrueVerify checklist via sub-agent Haiku
telegram_notificationsAll rolestrueTelegram notifications
extensions_dirAll protocolsextensionsExtensions directory

Day Open (memory/day-rhythm-config.yaml)

ParameterDescription
budget_spread.enabledDistribute the Work Product budget across days
budget_spread.threshold_hMinimum budget for calculation (default: 4h)
budget_spread.roundingdaily_slot rounding step (default: 0.5h)
strategy_dayStrategy day (session-prep instead of day-plan)

Custom Skills (.claude/skills/)

Create .claude/skills/<name>/SKILL.md — the Skill will be available as /<name>. Frontmatter: name, description, user_invocable: true. update.sh does not touch user-defined Skills (they are not in the Manifest).

Preservation. There is no built-in preservation mechanism for custom Skills: the .claude/skills/<name>/ directory is typically not under git (the workspace root is not a Repository), the Day Close (day-close.sh, "Backup" step) copies Memory, instructions, and agent rules — but not Skills. update.sh does not delete a Skill, but does not migrate it either, and /iwe-restore will not restore it. Until the template owner defines a Backup model, keep a copy of your Skills in a git Repository under your own control (for example, in a private {{GOVERNANCE_REPO}}) — otherwise moving to a new machine or reinstalling IWE will silently lose them.

4. Suggest the next step

Based on what is already configured, suggest what to add next.

No extensions at all:

"A good starting point is day reflection. Create extensions/day-close.after.md with 3 questions?"

Extensions exist, no morning ritual:

"Next step — extensions/day-open.before.md for morning preparation."

5. Create an extension (if requested)

If the user says "create" or "add" after viewing the catalog:

  1. Clarify the content (or offer a Template)
  2. Create the file in extensions/
  3. Remind: the extension activates on the next protocol invocation

Sharing — Installing Someone Else's Extension

IWE extensions are plain Markdown files. To install:

cp ~/Downloads/day-close.after.health.md ${IWE_WORKSPACE:-$HOME/IWE}/extensions/

Name conflict (two files for the same Hook): Rename with a suffix: day-close.after.md + day-close.after.health.md. Both load in alphabetical order — no conflict.

Extension bundle format:

my-extension-pack/
  README.md                  # description, author, version
  extensions/
    day-close.after.md        # extension files
  params-defaults.yaml        # recommended parameters (not applied automatically)

Installing a bundle:

cp my-extension-pack/extensions/* ${IWE_WORKSPACE:-$HOME/IWE}/extensions/
# Review params-defaults.yaml and manually add the needed parameters to ${IWE_WORKSPACE:-$HOME/IWE}/params.yaml

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.