Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/sap-samples/hana-developer-cli-tool-example/scripts-directory-developmentgit clone --depth 1 https://github.com/SAP-samples/hana-developer-cli-tool-exampleWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.05632 | $0.05632 |
| Opus 5 | $0.02816 | $0.02816 |
| Sonnet 5 | $0.01126 | $0.01126 |
| Haiku 4.5 | $0.00563 | $0.00563 |
Grade A, and why
hana-developer-cli-tool-example scripts-directory-development.instructions.md scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
import { exec } from 'node:child_process' How it starts
The opening of the file, as written. The whole thing — 917 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Scripts Directory Development Guidelines
Use this guide when creating or modifying scripts in the scripts/ directory.
Scope and Purpose
This guide applies to maintenance and utility scripts in the scripts/ directory that support development, testing, and build processes:
Script Types:
- Postinstall scripts: Run after npm install (
postinstall.js) - Validation scripts: Check project integrity (
validate-i18n.js) - Build utilities: Generate documentation indices (
build-docs-index.js) - Test utilities: Process test output (
run-test-output.js)
Critical Principles
- Shebang: Start with
#!/usr/bin/env nodefor npm script execution - Exit Codes: Use 0 (success), 1 (validation failure), 2 (error)
- CI-Friendly: Detect and adapt to CI/CD environments
- Quiet Mode: Support --quiet flag for minimal output
- Internationalization: Use text bundles for user messages
- Error Aggregation: Collect all errors before failing
- Idempotent: Safe to run multiple times
- Self-Contained: Don't require external setup
File Structure Template
#!/usr/bin/env node
/**
* Script purpose and description
*
* This script [what it does].
*
* Usage: node scripts/script-name.js [--flag] [--option value]
*
* Exit codes:
* 0 = Success
* 1 = Validation failures or warnings
* 2 = Fatal error (file system, parsing, etc.)
*/
import fs from 'fs'
import path from 'path'
// ESM __dirname equivalent (Node 20.11+: import.meta.dirname / import.meta.filename)
const __dirname = import.meta.dirname
// Configuration
const CONFIG = {
rootDir: path.join(__dirname, '..'),
targetDir: path.join(__dirname, '..', 'target'),
// ... other config
}
// Parse arguments
const args = process.argv.slice(2)
const options = {
quiet: args.includes('--quiet'),
fix: args.includes('--fix'),
help: args.includes('--help') || args.includes('-h')
}
// State tracking
let errorCount = 0
let warningCount = 0
const errors = []
const warnings = []
/**
* Log error and track it
* @param {string} message - Error message
*/
function logError(message) {
errorCount++
errors.push(message)
if (!options.quiet) console.error(`❌ ERROR: ${message}`)
}
/**
* Log warning and track it
* @param {string} message - Warning message
*/
function logWarning(message) {
warningCount++
warnings.push(message)
if (!options.quiet) console.warn(`⚠️ WARNING: ${message}`)
}
/**
* Log info message
* @param {string} message - Info message
*/
function logInfo(message) {
if (!options.quiet) console.log(`ℹ️ ${message}`)
}
/**
* Main execution function
*/
async function main() {
try {
if (options.help) {
printHelp()
process.exit(0)
}
logInfo('Starting script...')
// Script logic here
// Report results
if (errorCount > 0 || warningCount > 0) {
console.log(`\n📊 Summary: ${errorCount} errors, ${warningCount} warnings`)
process.exit(errorCount > 0 ? 1 : 0)
}
if (!options.quiet) console.log('✅ All checks passed')
process.exit(0)
} catch (error) {
console.error('❌ Fatal error:', error.message)
console.error(error.stack)
process.exit(2)
}
}
/**
* Print help message
*/
function printHelp() {
console.log(`
Usage: node scripts/script-name.js [options]
Options:
--quiet Minimal output, only errors
--fix Automatically fix issues if possible
--help, -h Show this help message
Exit Codes:
0 = Success
1 = Validation failures found
2 = Fatal error occurred
`)
}
main()
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 917 lines · 5,632 tokens per session scan A 13ac87a405e5
hana-developer-cli-tool-example scripts-directory-development.instructions.md is an instructions file published in the GitHub repository SAP-samples/hana-developer-cli-tool-example (109 stars, last pushed 6d ago), licensed Apache-2.0. It adds 5,632 tokens to every session, about $0.0282 per session on Opus 5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other instructions, from other repositories
rtk CLAUDE.md
Claude Code instructions for rtk-ai/rtk, covering claude.md, project overview, name collision warning, development commands and build & run.
rtk copilot-instructions.md
Copilot instructions for rtk-ai/rtk, covering copilot instructions for rtk, using rtk in this session, instead of: use, build, test & lint and pre-commit gate (must all pass before any pr).
awesome-vscode CLAUDE.md
Instructions for viatsko/awesome-vscode, covering claude.md, what this repo is, adding an entry, themes and linting / ci.
vscode-peacock AGENTS.md
Instructions for johnpapa/vscode-peacock, covering peacock — agent guide, project overview, repository structure, tech stack and build & run.
cs CLAUDE.md
Instructions for boyter/cs, covering claude.md, project overview, build & test commands, architecture and query pipeline (pkg/search/).
docs-mcp-server AGENTS.md
Instructions for arabold/docs-mcp-server, covering agent instructions for docs-mcp-server, repository context, development workflow, key commands and git workflow.