ワンクリックで
bashticle
Create interactive bash articles (bashticles) from markdown blog posts with streaming text, command execution, and user interaction
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Create interactive bash articles (bashticles) from markdown blog posts with streaming text, command execution, and user interaction
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | bashticle |
| description | Create interactive bash articles (bashticles) from markdown blog posts with streaming text, command execution, and user interaction |
Transform markdown blog posts into interactive bash scripts that users can read and execute directly from their terminal.
Use this skill when a user asks to:
Bashticle creation uses a two-phase approach:
The bashticle-generator.sh script does the structural work:
# Run the generator
bashticle-generator.sh article.md
# Or with custom output:
bashticle-generator.sh article.md --output-file custom.sh
What it does:
Standard options included:
--step - Jump to specific section--run-command / -r - Execute commands vs echo--dry-run / -d - Echo only (default: ON)--stream / -s - Enable streaming (default: ON)--verbose / -v - Verbose outputThe AI (via this skill) enhances the bashticle:
parseArger parse to add article-specific options:
parseArger parse bashticle.sh --inplace \
--opt 'ai-provider "AI provider" --short p --default-value "openrouter"' \
--opt 'ai-model "AI model" --short m' \
--opt 'api-key "API key" --short k' \
--opt 'project-name "Project name"' \
--opt 'reasoning "Reasoning tokens" --default-value "4096"'
A .sh file with:
--step support# Step 1: Generate basic structure
bashticle-generator.sh article.md
# Step 2: AI enhances it (via this skill)
# - Adds article-specific options with parseArger parse
# - Fills in section content
# - Converts code blocks to command arrays
Each ## or ### header becomes a bash function:
## Getting Started
Content here...
Generated stub:
show_getting_started() {
print_section "Getting Started"
# TODO: AI fills this in with actual content
prompt_continue
}
AI fills in:
show_getting_started() {
print_section "Getting Started"
stream_text "Content here..."
# Convert code blocks to command arrays
local init_cmd=(npm install)
show_cmd "Install dependencies" npm install
run_cmd "${init_cmd[@]}"
prompt_continue
}
Code blocks are converted to command arrays with variable injection:
```bash
npx task-o-matic@latest init --project-name my-project
AI converts to:
```bash
local init_cmd=(
npx task-o-matic@latest init
--project-name "$_arg_project_name" # Variable injection
)
run_cmd "${init_cmd[@]}"
stream_text "text" [delay] # Typewriter effect (5ms default)
print_section "title" # Cyan section header
print_subsection "title" # Yellow subsection
prompt_continue # Green "Press Enter" prompt
run_cmd arg1 arg2 ... # Execute or echo based on flags
show_cmd "explanation" cmd ... # Display command with description
Variables from CLI arguments (after AI adds them):
$_arg_ai_provider # --ai-provider value (if AI article)
$_arg_ai_model # --ai-model value (if AI article)
$_arg_api_key # --api-key value (if AI article)
$_arg_project_name # --project-name value (if applicable)
$_arg_reasoning # --reasoning value (if AI article)
$_arg_stream # --stream flag
$_arg_run_command # --run-command flag
$_arg_dry_run # --dry-run flag
$_arg_verbose # --verbose flag
$_arg_step # Section to jump to
Generator creates:
show_init() {
print_section "Initialization"
# TODO: AI fills this in
prompt_continue
}
AI converts to:
show_init() {
print_section "Initialization"
stream_text "Let's initialize the project..."
echo ""
show_cmd "Initialize with task-o-matic" \
npx task-o-matic@latest init init \
--project-name "$_arg_project_name" \
--frontend tanstack-router
run_cmd npx task-o-matic@latest init init \
--project-name "$_arg_project_name" \
--frontend tanstack-router
echo ""
stream_text "Project initialized!"
echo ""
prompt_continue
}
# View help
./bashticle.sh --help
# Run full article (dry-run mode - default)
./bashticle.sh
# Jump to specific section
./bashticle.sh init
# Run with actual command execution (use in test directory!)
./bashticle.sh --run-command --ai-provider anthropic
# Disable streaming for faster output
./bashticle.sh --no-stream
## and ### sectionsparseArger parse to add relevant CLI optionsscripts/bashticle-generator.shapps/web/content/blog/Black hole/From ralph to Eric/bashticle.shreferences/helpers.md