agentsclimarketplace

Component patterns

Skill QBall-Inc/the-bulwark/skills/component-patterns

Development workflow enforcement plugin for Claude Code

Install
npx -y skills add QBall-Inc/the-bulwark --skill component-patterns

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

  • 8 stars8 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

Per-component-type verification approaches. Use when generating verification scripts for different component types.

SKILL.md

5.0 KB, as published. Nobody here has run it

Component Patterns

Purpose

Provide verification strategies for different component types. This skill defines how to test real behavior for CLIs, servers, parsers, processes, databases, and external APIs.

When to Use

Load this skill when:

  • Generating verification scripts via bulwark-verify skill
  • Determining how to test a specific component type
  • Implementing test-audit Step 7 rewrites

Component Type Detection

Analyze the code to determine component type based on these indicators:

IndicatorsComponent TypePattern Reference
Imports child_process, has spawn/exec/execSyncProcess Spawnerreferences/pattern-process-spawner.md
Imports http/https/express/fastify/koa, has listen()HTTP Serverreferences/pattern-http-server.md
Imports fs, reads/parses files, has parse functionsFile Parserreferences/pattern-file-parser.md
Has CLI argument parsing (process.argv, yargs, commander, argparse)CLI Commandreferences/pattern-cli-command.md
Imports database driver (pg, mysql, mongoose, sqlite, prisma)Databasereferences/pattern-database.md
Makes outbound HTTP calls (fetch, axios, got, requests)External APIreferences/pattern-external-api.md

Pattern Reference Files

Each pattern reference contains:

  • Strategy: High-level approach for testing the component type
  • Templates: Ready-to-use verification script templates in Bash, Node/Jest, and Python/pytest
  • Placeholders: Variables to substitute with component-specific values

Available Patterns

PatternFileLanguages
CLI Commandreferences/pattern-cli-command.mdBash, Node, Python
HTTP Serverreferences/pattern-http-server.mdBash, Node (supertest), Python
File Parserreferences/pattern-file-parser.mdBash, Node, Python
Process Spawnerreferences/pattern-process-spawner.mdBash, Node
Databasereferences/pattern-database.mdNode, Python, Bash (SQLite)
External APIreferences/pattern-external-api.mdNode (MSW), Python (responses)

Usage Instructions

Step 1: Detect Component Type

Analyze the target component code using the detection table above.

Step 2: Load Pattern Reference

Read the appropriate pattern file from references/:

Read skills/component-patterns/references/pattern-{type}.md

Step 3: Select Template

Choose the template that matches the project language:

  • Node projects (package.json present): Use Node/Jest template
  • Python projects (pyproject.toml or setup.py present): Use Python/pytest template
  • Generic/Other: Use Bash template

Step 4: Substitute Placeholders

Replace all {placeholder} values with component-specific information:

Common PlaceholdersDescription
{component_name}Name of the component being tested
{component_path}Import path to the module
{port}Network port (for servers/processes)
{expected_value}Expected output to verify

Quick Reference: Component to Pattern

Component TypeVerification StrategyKey Assertion
CLI CommandSpawn, capture stdout/stderrExit code + output text
HTTP ServerStart, HTTP request, verify responseStatus code + response body
File ParserCreate input, parse, check structureParsed fields + values
Process SpawnerSpawn, check port/pid, verify behaviorProcess alive + responds
DatabaseSetup DB, execute ops, query stateRecords exist/modified
External APIMSW intercept, real fetch, check resultResponse data matches

Key Principle: Real Verification

All patterns follow the same principle: verify observable output, not mock calls.

Anti-PatternReal Pattern
expect(spawn).toHaveBeenCalled()expect(await checkPort(8080)).toBe(true)
expect(fs.writeFile).toHaveBeenCalled()expect(fs.existsSync(path)).toBe(true)
expect(fetch).toHaveBeenCalledWith(url)const resp = await fetch(url); expect(resp.status).toBe(200)
expect(db.save).toHaveBeenCalled()const found = await db.find(id); expect(found).toBeDefined()

Diagnostic Output

Write diagnostic output to logs/diagnostics/component-patterns-{YYYYMMDD-HHMMSS}.yaml:

skill: component-patterns
timestamp: {ISO-8601}
diagnostics:
  component_type_detected: cli|http|file-parser|process|database|api
  pattern_applied: "CLI Command Verification"
  template_language: bash|node|python
  files_analyzed: 1
  completion_status: success

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.