agentsclimarketplace

Hookify configure

Skill Poorgramer-Zack/copilot-cli-things/plugins/hookify/skills/hookify-configure

A curated collection of extensions, skills, and plugins for GitHub Copilot CLI.

Install
npx -y skills add Poorgramer-Zack/copilot-cli-things --skill hookify-configure

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Hookify rule toggling — enable/disable existing `.local.md` rules interactively. Triggers on "configure hookify", "enable/disable hookify rules", "toggle hooks", manage rule settings.

SKILL.md

3.0 KB, as published. Nobody here has run it

Configure Hookify Rules

Load writing-rules skill first to understand rule format.

Enable or disable existing hookify rules using an interactive interface.

Steps

1. Find Existing Rules

Use glob tool to find all hookify rule files:

pattern: ".github/hookify.*.local.md"

If no rules found, inform user:

No hookify rules configured yet. Use the `hookify-create` skill to create your first rule.

2. Read Current State

For each rule file:

  • Read the file
  • Extract name and enabled fields from frontmatter
  • Build list of rules with current state

3. Ask User Which Rules to Toggle

Use ask_user to let user select rules:

{
  "questions": [
    {
      "question": "Which rules would you like to enable or disable?",
      "header": "Configure",
      "multiSelect": true,
      "options": [
        {
          "label": "warn-dangerous-rm (currently enabled)",
          "description": "Warns about rm -rf commands"
        },
        {
          "label": "warn-console-log (currently disabled)",
          "description": "Warns about console.log in code"
        },
        {
          "label": "require-tests (currently enabled)",
          "description": "Requires tests before stopping"
        }
      ]
    }
  ]
}

Option format:

  • Label: {rule-name} (currently {enabled|disabled})
  • Description: Brief description from rule's message or pattern

4. Parse User Selection

For each selected rule:

  • Determine current state from label (enabled/disabled)
  • Toggle state: enabled → disabled, disabled → enabled

5. Update Rule Files

For each rule to toggle:

  • Use read tool to read current content
  • Use edit tool to change enabled: true to enabled: false (or vice versa)
  • Handle both with and without quotes

Edit pattern for enabling:

old_string: "enabled: false"
new_string: "enabled: true"

Edit pattern for disabling:

old_string: "enabled: true"
new_string: "enabled: false"

6. Confirm Changes

Show user what was changed:

## Hookify Rules Updated

**Enabled:**
- warn-console-log

**Disabled:**
- warn-dangerous-rm

**Unchanged:**
- require-tests

Changes apply immediately - no restart needed

Important Notes

  • Changes take effect immediately on next tool use
  • You can also manually edit .github/hookify.*.local.md files
  • To permanently remove a rule, delete its .local.md file
  • Use hookify-list skill to see all configured rules

Edge Cases

No rules to configure:

  • Show message about using hookify-create skill to create rules first

User selects no rules:

  • Inform that no changes were made

File read/write errors:

  • Inform user of specific error
  • Suggest manual editing as fallback

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.